diff --git a/doc/thirdParty/.claude/settings.local.json b/doc/thirdParty/.claude/settings.local.json deleted file mode 100644 index c14d84d..0000000 --- a/doc/thirdParty/.claude/settings.local.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "permissions": { - "allow": [ - "Bash(mkdir:*)" - ], - "deny": [], - "ask": [] - } -} diff --git a/doc/thirdParty/.editorconfig b/doc/thirdParty/.editorconfig deleted file mode 100644 index 1104dd5..0000000 --- a/doc/thirdParty/.editorconfig +++ /dev/null @@ -1,24 +0,0 @@ -# 配置项文档:https://editorconfig.org(修改配置后重启编辑器) - -## 告知 EditorConfig 插件,当前即是根文件 -root = true - -## 适用全部文件 -[*] -### 设置字符集 -charset = utf-8 -### 缩进风格 space | tab,建议 space -indent_style = space -### 缩进的空格数 -indent_size = 2 -### 换行符类型 lf | cr | crlf,一般都是设置为 lf -end_of_line = lf -### 是否在文件末尾插入空白行 -insert_final_newline = true -### 是否删除一行中的前后空格 -trim_trailing_whitespace = true - -## 适用 .md 文件 -[*.md] -insert_final_newline = false -trim_trailing_whitespace = false diff --git a/doc/thirdParty/.env b/doc/thirdParty/.env deleted file mode 100644 index e3ceee2..0000000 --- a/doc/thirdParty/.env +++ /dev/null @@ -1,10 +0,0 @@ -# 所有环境的环境变量(命名必须以 VITE_ 开头) - -## 项目标题 -VITE_APP_TITLE = 智柜通 - -## 路由模式 hash 或 html5 -VITE_ROUTER_HISTORY = hash - -## 是否开启 console 调试工具 -VITE_CONSOLE = false diff --git a/doc/thirdParty/.env.development b/doc/thirdParty/.env.development deleted file mode 100644 index 391194a..0000000 --- a/doc/thirdParty/.env.development +++ /dev/null @@ -1,10 +0,0 @@ -# 开发环境的环境变量(命名必须以 VITE_ 开头) - -## 后端接口地址(如果解决跨域问题采用反向代理就只需写相对路径) -VITE_BASE_URL = http://localhost:8090/api - -## 开发环境域名和静态资源公共路径(一般 / 或 ./ 都可以) -VITE_PUBLIC_PATH = / - -# 后端地址 -VITE_APP_BASE_API = '/dev-api' \ No newline at end of file diff --git a/doc/thirdParty/.env.production b/doc/thirdParty/.env.production deleted file mode 100644 index 447265b..0000000 --- a/doc/thirdParty/.env.production +++ /dev/null @@ -1,9 +0,0 @@ -# 生产环境的环境变量(命名必须以 VITE_ 开头) - -## 后端接口地址(如果解决跨域问题采用 CORS 就需要写绝对路径) -VITE_BASE_URL = '/shop-api/api' -## 打包构建静态资源公共路径(例如部署到 https://un-pany.github.io/mobvue/ 域名下就需要填写 /mobvue/) -VITE_PUBLIC_PATH = /shop/ - -# 后端地址 -VITE_APP_BASE_API = '/shop-back-end' \ No newline at end of file diff --git a/doc/thirdParty/.env.staging b/doc/thirdParty/.env.staging deleted file mode 100644 index 6eb62b3..0000000 --- a/doc/thirdParty/.env.staging +++ /dev/null @@ -1,10 +0,0 @@ -# 预发布环境的环境变量(命名必须以 VITE_ 开头) - -## 后端接口地址(如果解决跨域问题采用 CORS 就需要写绝对路径) -VITE_BASE_URL = '/shop-api/api' - -## 打包构建静态资源公共路径(例如部署到 https://un-pany.github.io/ 域名下就需要填写 /) -VITE_PUBLIC_PATH = /shop/ - -# 后端地址 -VITE_APP_BASE_API = '/shop-back-end' \ No newline at end of file diff --git a/doc/thirdParty/.github/FUNDING.yml b/doc/thirdParty/.github/FUNDING.yml deleted file mode 100644 index 64be317..0000000 --- a/doc/thirdParty/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -custom: https://github.com/un-pany/mobvue/issues/1 diff --git a/doc/thirdParty/.github/workflows/deploy.yml b/doc/thirdParty/.github/workflows/deploy.yml deleted file mode 100644 index 8370feb..0000000 --- a/doc/thirdParty/.github/workflows/deploy.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: Build And Deploy MobVue - -on: - push: - branches: - - main - -jobs: - build-and-deploy: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - persist-credentials: false - - - name: Setup Node.js - uses: actions/setup-node@master - with: - node-version: 22.12.0 - - - name: Setup pnpm - uses: pnpm/action-setup@v2 - with: - version: 10.2.0 - - - name: Build - run: pnpm install && pnpm build - - - name: Deploy - uses: JamesIves/github-pages-deploy-action@releases/v3 - with: - ACCESS_TOKEN: ${{ secrets.MOBVUE }} - BRANCH: gh-pages - FOLDER: dist diff --git a/doc/thirdParty/.github/workflows/release.yml b/doc/thirdParty/.github/workflows/release.yml deleted file mode 100644 index e61784d..0000000 --- a/doc/thirdParty/.github/workflows/release.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Release - -permissions: - contents: write - -on: - push: - tags: - - "v*" - -jobs: - release: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set node - uses: actions/setup-node@v4 - with: - registry-url: https://registry.npmjs.org/ - node-version: lts/* - - - run: npx changelogithub - env: - GITHUB_TOKEN: ${{ secrets.MOBVUE }} diff --git a/doc/thirdParty/.gitignore b/doc/thirdParty/.gitignore deleted file mode 100644 index d5d53d3..0000000 --- a/doc/thirdParty/.gitignore +++ /dev/null @@ -1,19 +0,0 @@ -# Common -dist -node_modules -.eslintcache -vite.config.*.timestamp* - -# MacOS -.DS_Store - -# Local env files -*.local - -# Logs -*.log - -# Use the pnpm -package-lock.json -yarn.lock -/.svn diff --git a/doc/thirdParty/.husky/pre-commit b/doc/thirdParty/.husky/pre-commit deleted file mode 100644 index 22d0af8..0000000 --- a/doc/thirdParty/.husky/pre-commit +++ /dev/null @@ -1,4 +0,0 @@ -# 全局 ts 类型检查(此操作会增加 git commit 时长) -# npx vue-tsc -# 执行 lint-staged 中配置的任务 -# npx lint-staged diff --git a/doc/thirdParty/.npmrc b/doc/thirdParty/.npmrc deleted file mode 100644 index 1db20f5..0000000 --- a/doc/thirdParty/.npmrc +++ /dev/null @@ -1,5 +0,0 @@ -# China mirror of npm -registry = https://registry.npmmirror.com - -# 安装依赖时锁定版本号 -save-exact = true diff --git a/doc/thirdParty/LICENSE b/doc/thirdParty/LICENSE deleted file mode 100644 index 22c6b49..0000000 --- a/doc/thirdParty/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2025-present pany - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/doc/thirdParty/README.md b/doc/thirdParty/README.md deleted file mode 100644 index 08f7935..0000000 --- a/doc/thirdParty/README.md +++ /dev/null @@ -1,190 +0,0 @@ -
- logo -

Mobile + Vue = MobVue

-
- -[![github release](https://img.shields.io/github/v/release/un-pany/mobvue?style=flat)](https://github.com/un-pany/mobvue/releases) -[![github stars](https://img.shields.io/github/stars/un-pany/mobvue?style=flat)](https://github.com/un-pany/mobvue/stargazers) -[![gitee stars](https://gitee.com/un-pany/mobvue/badge/star.svg)](https://gitee.com/un-pany/mobvue/stargazers) - -English | 中文 - -## Introduction - -MobVue is a well-crafted mobile web app template, built with popular technologies such as Vue3, Vite, TypeScript, and Vant - -## Notifications - -> [!NOTE] -> Powered by love! All source code is free and open-source. If you find it helpful, feel free to give a star to support! - -> [!TIP] -> Paid services are officially launched! If you don’t want to do it yourself but want to remove TS or other modules, try the lazy package! [Click to check it out](https://github.com/un-pany/mobvue/issues/2) - -## Usage - -
-Recommended Environment - -
- -- Latest version of `Visual Studio Code` -- Install the recommended plugins in the `.vscode/extensions.json` file -- `node` 20.x or 22+ -- `pnpm` 9.x or 10+ - -
- -
-Local Development - -
- -```bash -# Install dependencies -pnpm i - -# Start the development server -pnpm dev -``` - -
- -
-Build - -
- -```bash -# Build for the staging environment -pnpm build:staging - -# Build for the production environment -pnpm build -``` - -
- -
-Local Preview - -
- -```bash -# Execute the build command first to generate the dist directory, then run the preview command -pnpm preview -``` - -
- -
-Code Check - -
- -```bash -# Code linting and formatting -pnpm lint - -# Unit tests -pnpm test -``` - -
- -
-Commit Guidelines - -
- -`feat` New feature - -`fix` Bug fix - -`perf` Performance improvement - -`refactor` Code refactoring - -`docs` Documentation and comments - -`types` Type-related changes - -`test` Unit tests related - -`ci` Continuous integration, workflows - -`revert` Revert changes - -`chore` Chores (update dependencies, modify configurations, etc) - -
- -## Links - -**Online Preview**:[github-pages](https://un-pany.github.io/mobvue) - -**Documentation and Tutorials**:[link](https://juejin.cn/column/7472609448201666599) - -**Chinese Repository**:[gitee](https://gitee.com/un-pany/mobvue) - -**Chat Group**:[check how to join](https://github.com/un-pany/mobvue/issues/3) - -**Donations**:[buy a coffee for the author](https://github.com/un-pany/mobvue/issues/1) - -**Releases & Changelog**:[releases](https://github.com/un-pany/mobvue/releases) - -## Features - -🔥 Latest [Syntax](https://vuejs.org/api/sfc-script-setup.html), [Configuration](./vite.config.ts), [Dependencies](./package.json) - -📍 [Pure Level 1 Route Design](./src/router/index.ts) - Clear and Cache-Friendly - -📱 Mobile Adaptation [px2vw](./postcss.config.ts) - Also Wide-Screen Friendly - -🌐 Browser Compatibility [@vitejs/plugin-legacy](https://github.com/vitejs/vite/tree/main/packages/plugin-legacy) + [autoprefixer](https://github.com/postcss/autoprefixer) + [browserslist](https://github.com/browserslist/browserslist) - Compatible with multiple browsers and lower versions - -🧩 [Layout System](./src/layout) - Configurable - -🔒 Permission Control [Page Level](./src/router/guard.ts), [Button Level](./src/pages/demo/permission.vue) - -🌗 Theme Mode [Dark Mode](./src/common/assets/styles/variables.css) - -🫧 [Embrace Atomic CSS](./uno.config.ts) - -🔧 [Components](https://github.com/unplugin/unplugin-vue-components) and [API](https://github.com/unplugin/unplugin-auto-import) Auto Import on Demand - -🔎 [Husky](./.husky/pre-commit) + [lint-staged](./package.json) + [ESLint](./eslint.config.js) - Code Standardization - -💪🏻 Still [TypeScript](./tsconfig.json) - Strict Mode with No `any` - -👀 More Features - [Route Cache](./src/pinia/stores/keep-alive.ts), [Defensive Watermark](./src/common/composables/useWatermark.ts), [Grayscale and Colorblind Mode](./src/common/composables/useGrayscaleAndColorblind.ts), [SVG Loader](https://github.com/jpkleemans/vite-svg-loader), [VConsole](./src/plugins/console.ts), [White Screen Loading Animation](./public/app-loading.css), [Unit Tests](./tests) - -## Tech Stack - -**Vue3**: Vue3 + script setup with the latest Vue3 Composition API - -**Vant**:A lightweight, customizable Vue UI library for mobile web apps - -**Pinia**: The legendary Vuex5 - -**Vite**: Really fast - -**Vue Router**:The routing system - -**TypeScript**:A superset of JavaScript - -**pnpm**:A faster, disk-space-saving package manager - -**ESlint**:Code linting and formatting - -**Axios**:Sends network requests - -**UnoCSS**:A high-performance, flexible atomic CSS engine - -## Project Preview Image - -![preview](./src/common/assets/images/preview.png) - -## License - -[MIT](./LICENSE) License © 2025-PRESENT [pany](https://github.com/pany-ang) diff --git a/doc/thirdParty/README.zh-CN.md b/doc/thirdParty/README.zh-CN.md deleted file mode 100644 index a39d7ae..0000000 --- a/doc/thirdParty/README.zh-CN.md +++ /dev/null @@ -1,190 +0,0 @@ -
- logo -

Mobile + Vue = MobVue

-
- -[![github release](https://img.shields.io/github/v/release/un-pany/mobvue?style=flat)](https://github.com/un-pany/mobvue/releases) -[![github stars](https://img.shields.io/github/stars/un-pany/mobvue?style=flat)](https://github.com/un-pany/mobvue/stargazers) -[![gitee stars](https://gitee.com/un-pany/mobvue/badge/star.svg)](https://gitee.com/un-pany/mobvue/stargazers) - -English | 中文 - -## 简介 - -MobVue 是一个精心制作的移动端 H5 模板,基于 Vue3、Vite、TypeScript、Vant 等主流技术 - -## 通知 - -> [!NOTE] -> 为爱发电!所有源码均免费开源,如果对你有帮助,欢迎点个 Star 支持一下! - -> [!TIP] -> 正式推出付费服务,如果不想自己动手,但想移除 TS 或其他模块?试试懒人套餐![点击看看](https://github.com/un-pany/mobvue/issues/2) - -## 使用 - -
-推荐环境 - -
- -- 新版 `Visual Studio Code` -- 安装 `.vscode/extensions.json` 文件中推荐的插件 -- `node` 20.x 或 22+ -- `pnpm` 9.x 或 10+ - -
- -
-本地开发 - -
- -```bash -# 安装依赖 -pnpm i - -# 启动服务 -pnpm dev -``` - -
- -
-打包构建 - -
- -```bash -# 打包构建预发布环境 -pnpm build:staging - -# 打包构建生产环境 -pnpm build -``` - -
- -
-本地预览 - -
- -```bash -# 先执行打包构建命令生成 dist 目录后再执行以下预览命令 -pnpm preview -``` - -
- -
-代码检查 - -
- -```bash -# 代码校验与格式化 -pnpm lint - -# 单元测试 -pnpm test -``` - -
- -
-代码提交规范 - -
- -`feat` 新功能 - -`fix` 修复错误 - -`perf` 性能优化 - -`refactor` 重构代码 - -`docs` 文档和注释 - -`types` 类型相关 - -`test` 单测相关 - -`ci` 持续集成、工作流 - -`revert` 撤销更改 - -`chore` 琐事(更新依赖、修改配置等) - -
- -## 链接 - -**在线预览**:[github-pages](https://un-pany.github.io/mobvue) - -**文档教程**:[链接](https://juejin.cn/column/7472609448201666599) - -**国内仓库**:[gitee](https://gitee.com/un-pany/mobvue) - -**交流群**:[查看进群方式](https://github.com/un-pany/mobvue/issues/3) - -**捐赠**:[请作者喝咖啡](https://github.com/un-pany/mobvue/issues/1) - -**发行版 & 更新日志**:[releases](https://github.com/un-pany/mobvue/releases) - -## 特性 - -🔥 最新的 [语法](https://vuejs.org/api/sfc-script-setup.html)、[配置](./vite.config.ts)、[依赖](./package.json) - -📍 [纯一级路由设计](./src/router/index.ts) - 清晰且缓存友好 - -📱 移动端适配 [px2vw](./postcss.config.ts) - 并且宽屏友好 - -🌐 浏览器适配 [@vitejs/plugin-legacy](https://github.com/vitejs/vite/tree/main/packages/plugin-legacy) + [autoprefixer](https://github.com/postcss/autoprefixer) + [browserslist](https://github.com/browserslist/browserslist) - 兼容多种浏览器和低版本浏览器 - -🧩 [布局系统](./src/layout) - 配置化的 - -🔒 权限控制 [页面级](./src/router/guard.ts)、[按钮级](./src/pages/demo/permission.vue) - -🌗 主题模式 [Dark Mode](./src/common/assets/styles/variables.css) - -🫧 [拥抱原子化 CSS](./uno.config.ts) - -🔧 [组件](https://github.com/unplugin/unplugin-vue-components) 和 [API](https://github.com/unplugin/unplugin-auto-import) 自动按需导入 - -🔎 [Husky](./.husky/pre-commit) + [lint-staged](./package.json) + [ESLint](./eslint.config.js) - 规范代码 - -💪🏻 依然 [TypeScript](./tsconfig.json) - 严格模式且无 `any` - -👀 更多功能 - [路由缓存](./src/pinia/stores/keep-alive.ts)、[带防御的水印](./src/common/composables/useWatermark.ts)、[灰色模式, 色弱模式](./src/common/composables/useGrayscaleAndColorblind.ts)、[SVG Loader](https://github.com/jpkleemans/vite-svg-loader)、[VConsole](./src/plugins/console.ts)、[白屏加载动画](./public/app-loading.css)、[单元测试](./tests) - -## 技术栈 - -**Vue3**:采用 Vue3 + script setup 最新的 Vue3 组合式 API - -**Vant**:轻量、可定制的移动端 Vue 组件库 - -**Pinia**: 传说中的 Vuex5 - -**Vite**:真的很快 - -**Vue Router**:路由路由 - -**TypeScript**:JavaScript 语言的超集 - -**pnpm**:更快速的,节省磁盘空间的包管理工具 - -**ESlint**:代码校验与格式化 - -**Axios**:发送网络请求(已封装好) - -**UnoCSS**:具有高性能且极具灵活性的即时原子化 CSS 引擎 - -## 项目预览图 - -![preview](./src/common/assets/images/preview.png) - -## License - -[MIT](./LICENSE) License © 2025-PRESENT [pany](https://github.com/pany-ang) diff --git a/doc/thirdParty/doc/API接口文档.md b/doc/thirdParty/doc/API接口文档.md deleted file mode 100644 index ef84186..0000000 --- a/doc/thirdParty/doc/API接口文档.md +++ /dev/null @@ -1,385 +0,0 @@ -# API 接口文档 - -## 概述 - -本文档详细描述了 MobVue 项目的 API 接口规范和使用方法。 - -## 基础配置 - -### 请求配置 -- **基础 URL**: 通过环境变量 `VITE_BASE_URL` 配置 -- **超时时间**: 10 秒 -- **Content-Type**: `application/json` - -### 响应格式 -```typescript -interface ApiResponse { - code: number; // 业务状态码 - data: T; // 响应数据 - msg?: string; // 响应消息 - message?: string; // 响应消息(兼容字段) -} -``` - -### 状态码说明 -- `0`: 成功 -- `401`: 登录过期 -- `403`: 拒绝访问 -- `500`: 服务器内部错误 - -## 用户认证模块 - -### 微信登录 - -#### 获取 OpenID -```typescript -// 接口: GET /api/v1/wx/getOpenId -interface GetOpenIdParams { - code: string; -} - -interface GetOpenIdResponse { - openid: string; -} -``` - -#### 企业微信登录 -```typescript -// 接口: POST /api/v1/wx/qyLogin -interface QyLoginParams { - corpid: string; - code: string; - state?: string; -} - -interface QyLoginResponse { - userid: string; - openid: string; - isCabinetAdmin: number; - name: string; - qyUserId: number; - ab98User: Ab98UserDTO; -} -``` - -### AB98 用户系统 - -#### Token 登录 -```typescript -// 接口: POST /api/v1/ab98/tokenLogin -interface TokenLoginParams { - token: string; - userid: string; - openid: string; -} - -interface LoginData { - face_img: string; - success: boolean; - sex: string; - name: string; - userid: string; - registered: boolean; - tel: string; -} -``` - -## 商品模块 - -### 商品列表 -```typescript -// 接口: GET /api/v1/product/list -interface ProductListResponse { - products: Product[]; - total: number; -} - -interface Product { - id: number; - name: string; - price: number; - image: string; - description: string; - stock: number; -} -``` - -### 商品详情 -```typescript -// 接口: GET /api/v1/product/{id} -interface ProductDetailResponse extends Product { - specifications: Specification[]; - images: string[]; -} - -interface Specification { - id: number; - name: string; - value: string; -} -``` - -## 订单模块 - -### 创建订单 -```typescript -// 接口: POST /api/v1/order/create -interface CreateOrderParams { - productId: number; - quantity: number; - specifications?: Record; - deliveryInfo?: DeliveryInfo; -} - -interface CreateOrderResponse { - orderId: string; - totalAmount: number; - status: string; -} -``` - -### 订单列表 -```typescript -// 接口: GET /api/v1/order/list -interface OrderListParams { - page?: number; - size?: number; - status?: string; -} - -interface OrderListResponse { - orders: Order[]; - total: number; - page: number; - size: number; -} - -interface Order { - id: string; - productName: string; - totalAmount: number; - status: string; - createTime: string; -} -``` - -### 订单详情 -```typescript -// 接口: GET /api/v1/order/{id} -interface OrderDetailResponse extends Order { - items: OrderItem[]; - deliveryInfo: DeliveryInfo; - paymentInfo: PaymentInfo; -} - -interface OrderItem { - productId: number; - productName: string; - quantity: number; - price: number; -} -``` - -## 柜机管理模块 - -### 柜机列表 -```typescript -// 接口: GET /api/v1/cabinet/list -interface CabinetListResponse { - cabinets: Cabinet[]; -} - -interface Cabinet { - id: number; - name: string; - location: string; - status: string; - capacity: number; - usedCapacity: number; -} -``` - -### 绑定商品 -```typescript -// 接口: POST /api/v1/cabinet/bind -interface BindGoodsParams { - cabinetId: number; - productId: number; - quantity: number; -} - -interface BindGoodsResponse { - success: boolean; - message: string; -} -``` - -## 审批模块 - -### 提交审批 -```typescript -// 接口: POST /api/v1/approval/submit -interface SubmitApprovalParams { - type: string; - content: Record; - attachments?: string[]; -} - -interface SubmitApprovalResponse { - approvalId: string; - status: string; -} -``` - -### 审批列表 -```typescript -// 接口: GET /api/v1/approval/list -interface ApprovalListResponse { - approvals: Approval[]; - total: number; -} - -interface Approval { - id: string; - type: string; - status: string; - submitter: string; - submitTime: string; - content: Record; -} -``` - -### 处理审批 -```typescript -// 接口: POST /api/v1/approval/handle -interface HandleApprovalParams { - approvalId: string; - action: 'approve' | 'reject'; - comment?: string; -} - -interface HandleApprovalResponse { - success: boolean; - message: string; -} -``` - -## 余额管理 - -### 获取余额 -```typescript -// 接口: GET /api/v1/balance -interface GetBalanceParams { - corpid: string; - openid: string; -} - -interface GetBalanceResponse { - balance: number; - useBalance: number; - balanceLimit: number; - userid: string; - corpid: string; - ab98User?: Ab98UserDTO; -} -``` - -### 企业微信用户余额 -```typescript -// 接口: GET /api/v1/balance/qyUser -interface GetBalanceByQyUseridParams { - corpid: string; - userid: string; -} - -interface GetBalanceByQyUseridResponse extends GetBalanceResponse { - // 继承 GetBalanceResponse 的所有字段 -} -``` - -## 数据模型 - -### Ab98UserDTO -```typescript -interface Ab98UserDTO { - faceImg?: string; - sex?: string; - name?: string; - userid?: string; - tel?: string; -} -``` - -### DeliveryInfo -```typescript -interface DeliveryInfo { - recipient: string; - phone: string; - address: string; - deliveryTime?: string; -} -``` - -### PaymentInfo -```typescript -interface PaymentInfo { - paymentMethod: string; - paymentTime?: string; - transactionId?: string; -} -``` - -## 错误处理 - -### 常见错误码 -- `400`: 请求参数错误 -- `401`: 未授权访问 -- `403`: 权限不足 -- `404`: 资源不存在 -- `500`: 服务器内部错误 - -### 错误处理示例 -```typescript -try { - const response = await getDataApi(params); - // 处理成功响应 -} catch (error) { - // 处理错误 - console.error('API 调用失败:', error.message); - // 显示错误提示给用户 -} -``` - -## 使用示例 - -### 调用 API -```typescript -import { getProductListApi } from '@/common/apis/product'; - -// 获取商品列表 -const fetchProducts = async () => { - try { - const response = await getProductListApi({ - page: 1, - size: 20 - }); - if (response.code === 0) { - return response.data.products; - } - } catch (error) { - console.error('获取商品列表失败:', error); - } -}; -``` - -### 状态管理集成 -```typescript -import { useProductStore } from '@/pinia/stores/product'; - -const productStore = useProductStore(); - -// 在组件中使用 -const loadProducts = async () => { - await productStore.fetchProducts(); -}; -``` \ No newline at end of file diff --git a/doc/thirdParty/doc/开发指南.md b/doc/thirdParty/doc/开发指南.md deleted file mode 100644 index 188c8f3..0000000 --- a/doc/thirdParty/doc/开发指南.md +++ /dev/null @@ -1,529 +0,0 @@ -# 开发指南 - -## 开发环境设置 - -### 1. 环境要求 -- **Node.js**: 20.x 或 22+ -- **包管理器**: pnpm 9.x 或 10+ -- **编辑器**: Visual Studio Code (推荐) -- **浏览器**: Chrome 或 Safari (移动端调试) - -### 2. 推荐 VS Code 插件 -- Vue Language Features (Volar) -- TypeScript Vue Plugin (Volar) -- ESLint -- UnoCSS -- Auto Rename Tag -- GitLens - -### 3. 项目初始化 -```bash -# 克隆项目 -git clone - -# 安装依赖 -pnpm i - -# 启动开发服务器 -pnpm dev -``` - -## 项目架构 - -### 目录结构详解 - -``` -src/ -├── common/ # 通用模块 -│ ├── apis/ # API 接口定义 -│ │ ├── users/ # 用户相关接口 -│ │ ├── shop/ # 店铺相关接口 -│ │ ├── cabinet/ # 柜机相关接口 -│ │ ├── approval/ # 审批相关接口 -│ │ └── ab98/ # AB98系统接口 -│ ├── assets/ # 静态资源 -│ │ └── styles/ # 样式文件 -│ ├── composables/ # 组合式函数 -│ │ ├── useDark.ts # 暗黑模式 -│ │ ├── useWatermark.ts # 水印功能 -│ │ └── useGrayscaleAndColorblind.ts # 无障碍模式 -│ ├── components/ # 通用组件 -│ └── utils/ # 工具函数 -│ ├── cache/ # 缓存工具 -│ ├── permission.ts # 权限工具 -│ └── wx.ts # 微信工具 -├── layout/ # 布局组件 -│ ├── index.vue # 主布局 -│ ├── components/ -│ │ ├── NavBar.vue # 导航栏 -│ │ ├── Tabbar.vue # 标签栏 -│ │ └── Footer.vue # 底部 -├── pages/ # 页面组件 -│ ├── product/ # 商品相关页面 -│ ├── order/ # 订单相关页面 -│ ├── cabinet/ # 柜机相关页面 -│ ├── approval/ # 审批相关页面 -│ ├── me/ # 个人中心 -│ └── error/ # 错误页面 -├── pinia/ # 状态管理 -│ ├── index.ts # Pinia 实例 -│ └── stores/ # Store 定义 -│ ├── user.ts # 用户状态 -│ ├── ab98-user.ts # AB98用户状态 -│ ├── wx.ts # 微信状态 -│ ├── product.ts # 商品状态 -│ ├── cart.ts # 购物车状态 -│ ├── order.ts # 订单状态 -│ └── approval.ts # 审批状态 -├── router/ # 路由配置 -│ ├── index.ts # 路由定义 -│ ├── guard.ts # 路由守卫 -│ └── whitelist.ts # 白名单 -├── http/ # HTTP 请求 -│ └── axios.ts # Axios 配置 -└── plugins/ # 插件配置 - ├── index.ts # 插件安装 - ├── permission-directive.ts # 权限指令 - └── console.ts # 控制台工具 -``` - -## 开发规范 - -### 1. 代码风格 - -#### TypeScript 规范 -- 使用严格模式,避免 `any` 类型 -- 为所有函数和变量提供明确的类型定义 -- 使用接口定义复杂的数据结构 - -```typescript -// ✅ 推荐 -interface UserInfo { - id: number; - name: string; - email: string; -} - -const getUserInfo = async (id: number): Promise => { - // ... -} - -// ❌ 避免 -const getUserInfo = async (id: any): Promise => { - // ... -} -``` - -#### Vue 组件规范 -- 使用 script setup 语法 -- 组件名使用 PascalCase -- Props 和 Emits 使用 TypeScript 定义 - -```vue - - - -``` - -### 2. 状态管理规范 - -#### Store 定义 -- Store 名使用 camelCase -- 使用组合式 API 风格 -- 提供清晰的类型定义 - -```typescript -import { pinia } from "@/pinia"; - -export const useProductStore = defineStore("product", () => { - // State - const products = ref([]); - const loading = ref(false); - - // Getters - const availableProducts = computed(() => - products.value.filter(p => p.stock > 0) - ); - - // Actions - const fetchProducts = async () => { - loading.value = true; - try { - const response = await getProductListApi(); - if (response.code === 0) { - products.value = response.data.products; - } - } finally { - loading.value = false; - } - }; - - return { - products, - loading, - availableProducts, - fetchProducts - }; -}); -``` - -### 3. API 开发规范 - -#### API 文件结构 -```typescript -// src/common/apis/product/index.ts -import { request } from "@/http/axios"; -import type { ProductListResponse, ProductDetailResponse } from "./type"; - -export const getProductListApi = (params?: { page?: number; size?: number }) => { - return request({ - url: "/api/v1/product/list", - method: "GET", - params - }); -}; - -export const getProductDetailApi = (id: number) => { - return request({ - url: `/api/v1/product/${id}`, - method: "GET" - }); -}; -``` - -#### 类型定义文件 -```typescript -// src/common/apis/product/type.ts -export interface Product { - id: number; - name: string; - price: number; - image: string; - description: string; - stock: number; - category: string; -} - -export interface ProductListResponse { - products: Product[]; - total: number; - page: number; - size: number; -} - -export interface ProductDetailResponse extends Product { - specifications: Specification[]; - images: string[]; - details: string; -} -``` - -### 4. 路由配置规范 - -#### 路由定义 -```typescript -// src/router/index.ts -export const routes: RouteRecordRaw[] = [ - { - path: "/product/:id", - component: () => import("@/pages/product/ProductDetail.vue"), - name: "ProductDetail", - meta: { - title: "商品详情", - keepAlive: true, - layout: { - navBar: { - showNavBar: true, - showLeftArrow: true - }, - tabbar: { - showTabbar: false - } - }, - requiresAuth: true - } - } -]; -``` - -### 5. 样式开发规范 - -#### UnoCSS 使用 -- 优先使用预设的原子类 -- 自定义规则在 `uno.config.ts` 中定义 -- 使用属性化模式(un-前缀) - -```vue - -``` - -#### CSS 变量 -在 `src/common/assets/styles/variables.css` 中定义主题变量: - -```css -:root { - --mobvue-primary-color: #1989fa; - --mobvue-bg-color: #ffffff; - --mobvue-text-color: #323233; -} - -html.dark { - --mobvue-primary-color: #2d8cf0; - --mobvue-bg-color: #1a1a1a; - --mobvue-text-color: #e5e5e5; -} -``` - -## 功能开发指南 - -### 1. 添加新页面 - -#### 步骤 1: 创建页面组件 -```vue - - - - - - -``` - -#### 步骤 2: 配置路由 -```typescript -// src/router/index.ts -export const routes: RouteRecordRaw[] = [ - { - path: "/example", - component: () => import("@/pages/example/ExamplePage.vue"), - name: "ExamplePage", - meta: { - title: "示例页面", - layout: { - navBar: { - showNavBar: true, - showLeftArrow: true - } - } - } - } -]; -``` - -### 2. 添加新 Store - -```typescript -// src/pinia/stores/example.ts -import { pinia } from "@/pinia"; - -export const useExampleStore = defineStore("example", () => { - const data = ref([]); - const loading = ref(false); - - const fetchData = async () => { - loading.value = true; - try { - // API 调用... - } finally { - loading.value = false; - } - }; - - return { - data, - loading, - fetchData - }; -}); -``` - -### 3. 添加新 API - -```typescript -// src/common/apis/example/index.ts -import { request } from "@/http/axios"; -import type { ExampleResponse } from "./type"; - -export const getExampleDataApi = () => { - return request({ - url: "/api/v1/example/data", - method: "GET" - }); -}; - -// src/common/apis/example/type.ts -export interface ExampleResponse { - data: string[]; -} -``` - -## 调试技巧 - -### 1. 移动端调试 -- 使用 Chrome DevTools 的设备模拟 -- 启用移动端触摸模拟 -- 测试不同屏幕尺寸 - -### 2. 微信调试 -- 使用微信开发者工具 -- 配置正确的回调域名 -- 检查 openid 获取逻辑 - -### 3. 状态调试 -- 使用 Vue DevTools -- 查看 Pinia Store 状态 -- 监控组件生命周期 - -## 性能优化 - -### 1. 代码分割 -- 路由级别的懒加载 -- 组件按需导入 -- 第三方库独立打包 - -### 2. 图片优化 -- 使用 WebP 格式 -- 实现懒加载 -- 压缩图片大小 - -### 3. 缓存策略 -- 合理使用浏览器缓存 -- API 响应缓存 -- 组件 keep-alive - -## 测试指南 - -### 1. 单元测试 -```typescript -// tests/example.test.ts -import { describe, it, expect } from "vitest"; -import { mount } from "@vue/test-utils"; -import ExampleComponent from "@/components/ExampleComponent.vue"; - -describe("ExampleComponent", () => { - it("renders correctly", () => { - const wrapper = mount(ExampleComponent, { - props: { - title: "Test Title" - } - }); - - expect(wrapper.text()).toContain("Test Title"); - }); -}); -``` - -### 2. E2E 测试 -- 使用 Playwright 或 Cypress -- 模拟用户操作流程 -- 测试关键业务路径 - -## 部署指南 - -### 1. 环境变量配置 -```env -# .env.production -VITE_BASE_URL=https://api.example.com -VITE_PUBLIC_PATH=/ -VITE_ROUTER_HISTORY=hash -``` - -### 2. 构建优化 -```bash -# 生产环境构建 -pnpm build - -# 预发布环境构建 -pnpm build:staging -``` - -### 3. 部署检查清单 -- [ ] 环境变量配置正确 -- [ ] 静态资源路径正确 -- [ ] API 接口可访问 -- [ ] 路由配置正确 -- [ ] 移动端适配正常 - -## 常见问题解决 - -### 1. 微信认证失败 -- 检查回调域名配置 -- 验证 corpid 和 secret -- 查看网络请求日志 - -### 2. 路由跳转问题 -- 检查路由守卫逻辑 -- 验证权限配置 -- 查看路由历史模式 - -### 3. 样式显示异常 -- 检查 UnoCSS 配置 -- 验证 CSS 变量定义 -- 测试不同主题模式 - -## 贡献指南 - -### 1. 代码提交 -- 遵循提交信息规范 -- 一个功能一个提交 -- 提供清晰的提交描述 - -### 2. 代码审查 -- 检查代码规范 -- 验证功能完整性 -- 测试边界情况 - -### 3. 文档更新 -- 更新相关文档 -- 添加使用示例 -- 记录变更内容 \ No newline at end of file diff --git a/doc/thirdParty/doc/微信集成文档.md b/doc/thirdParty/doc/微信集成文档.md deleted file mode 100644 index 3cc3b33..0000000 --- a/doc/thirdParty/doc/微信集成文档.md +++ /dev/null @@ -1,646 +0,0 @@ -# 微信集成文档 - -## 概述 - -本文档详细描述了 MobVue 项目中微信和企业微信的集成方案,包括认证流程、API 调用、状态管理等。 - -## 微信认证流程 - -### 1. 微信公众号认证 - -#### 认证流程图 -``` -用户访问应用 - ↓ -检查是否已认证 - ↓ -未认证 → 跳转微信授权页面 - ↓ -用户授权 - ↓ -微信回调携带 code - ↓ -使用 code 换取 openid - ↓ -获取用户信息 - ↓ -完成认证 -``` - -#### 代码实现 -```typescript -// src/App.vue - 微信回调处理 -onMounted(() => { - const urlParams = new URLSearchParams(window.location.search); - const code = urlParams.get('code'); - const state = urlParams.get('state'); - - if (code) { - wxStore.handleWxCallback({ code, state }); - } -}); -``` - -### 2. 企业微信认证 - -#### 认证流程图 -``` -用户访问应用 - ↓ -检查企业微信环境 - ↓ -跳转企业微信授权 - ↓ -用户授权 - ↓ -企业微信回调携带 code - ↓ -使用 code 换取用户信息 - ↓ -获取企业微信用户详情 - ↓ -关联 AB98 用户系统 - ↓ -完成认证 -``` - -#### 代码实现 -```typescript -// src/pinia/stores/wx.ts - 企业微信登录 -const qyLogin = async ({ corpid, code, state }: QyLoginParams) => { - const res = await qyLoginApi({ corpid, code, state }); - if (res && res.code == 0) { - userid.value = res.data.userid; - openid.value = res.data.openid; - isCabinetAdmin.value = res.data.isCabinetAdmin === 1; - name.value = res.data.name; - qyUserId.value = res.data.qyUserId; - setAb98User(res.data.ab98User); - } -}; -``` - -## 状态管理 - -### 微信状态 Store (src/pinia/stores/wx.ts) - -#### 状态定义 -```typescript -export const useWxStore = defineStore("wx", () => { - // 微信授权 code - const code = ref(""); - - // 防止 CSRF 攻击的 state 参数 - const state = ref(""); - - // 用户 openid - const openid = ref(""); - - // 用户 userid - const userid = ref(""); - - // 企业 ID - const corpid = ref(""); - - // 是否企业微信登录 - const corpidLogin = ref(false); - - // 是否是柜子管理员 - const isCabinetAdmin = ref(false); - - // 企业微信用户姓名 - const name = ref(""); - - // 企业微信用户 ID - const qyUserId = ref(0); - - // 汇邦云用户信息 - const ab98User = ref(null); - - // 余额信息 - const balance = ref(0); - const useBalance = ref(0); - const balanceLimit = ref(0); - - // 处理状态 - const isHandleWxCallbackComplete = ref(false); -}); -``` - -#### 核心方法 -```typescript -// 处理微信回调 -const handleWxCallback = async (params: { - corpid?: string; - code?: string; - state?: string; -}) => { - isHandleWxCallbackComplete.value = false; - - if (params.code) { - code.value = params.code; - state.value = params.state || state.value; - corpid.value = params.corpid || corpid.value; - corpidLogin.value = !!corpid.value; - - try { - if (!corpid.value) { - // 微信公众号登录 - const res = await getOpenIdApi({ code: params.code }); - if (res && res.code == 0) { - openid.value = res.data; - } - } else { - // 企业微信登录 - await qyLogin({ - corpid: corpid.value, - code: params.code, - state: params.state - }); - } - - // 获取余额信息 - if (openid.value) { - await refreshBalance(); - } - } finally { - isHandleWxCallbackComplete.value = true; - } - } else { - isHandleWxCallbackComplete.value = true; - } -}; - -// 刷新余额 -const refreshBalance = async () => { - if (corpid.value && userid.value) { - const res = await getBalanceByQyUserid(corpid.value, userid.value); - if (res && res.code == 0) { - balance.value = res.data.balance; - useBalance.value = res.data.useBalance; - balanceLimit.value = res.data.balanceLimit; - - if (res.data.ab98User) { - setAb98User(res.data.ab98User); - } - } - } -}; -``` - -### AB98 用户状态 Store (src/pinia/stores/ab98-user.ts) - -#### 状态定义 -```typescript -export const useAb98UserStore = defineStore("ab98User", () => { - // 用户基本信息 - const face_img = ref(''); - const sex = ref(''); - const name = ref(''); - const userid = ref(""); - const registered = ref(false); - const tel = ref(""); - const token = ref(""); - - // 登录状态 - const isLogin = ref(false); - const tokenLogin = ref(""); - const loginCode = '1'; // 默认验证码 -}); -``` - -#### 核心方法 -```typescript -// 设置用户信息 -const setUserInfo = (data: LoginData) => { - face_img.value = data.face_img; - localStorage.setItem(STORAGE_KEYS.FACE, encodeURIComponent(data.face_img)); - sex.value = data.sex; - localStorage.setItem(STORAGE_KEYS.SEX, encodeURIComponent(data.sex)); - name.value = data.name; - localStorage.setItem(STORAGE_KEYS.NAME, encodeURIComponent(data.name)); - userid.value = data.userid; - localStorage.setItem(STORAGE_KEYS.USERID, encodeURIComponent(data.userid)); - registered.value = data.registered; - localStorage.setItem(STORAGE_KEYS.REGISTERED, JSON.stringify(data.registered)); - tel.value = data.tel; - localStorage.setItem(STORAGE_KEYS.TEL, encodeURIComponent(data.tel)); - localStorage.setItem(STORAGE_KEYS.LOGIN_CODE, encodeURIComponent(loginCode)); -}; - -// Token 登录 -const tokenLogin = async (token: string, userid: string, openid: string) => { - const res = await tokenLoginApi({ token, userid, openid }); - if (res?.code === 0 && res.data?.success) { - setTel(res.data.tel); - setUserInfo(res.data); - if (!isLogin.value) { - setIsLogin(true); - } - } -}; -``` - -## API 接口 - -### 微信相关接口 (src/common/apis/shop/) - -#### 获取 OpenID -```typescript -// 接口: GET /api/v1/wx/getOpenId -export const getOpenIdApi = (params: { code: string }) => { - return request({ - url: "/api/v1/wx/getOpenId", - method: "GET", - params - }); -}; -``` - -#### 企业微信登录 -```typescript -// 接口: POST /api/v1/wx/qyLogin -export const qyLogin = (params: { - corpid: string; - code: string; - state?: string; -}) => { - return request({ - url: "/api/v1/wx/qyLogin", - method: "POST", - data: params - }); -}; -``` - -#### 获取余额 -```typescript -// 接口: GET /api/v1/balance -export const getBalanceApi = (corpid: string, openid: string) => { - return request({ - url: "/api/v1/balance", - method: "GET", - params: { corpid, openid } - }); -}; - -// 企业微信用户余额 -// 接口: GET /api/v1/balance/qyUser -export const getBalanceByQyUserid = (corpid: string, userid: string) => { - return request({ - url: "/api/v1/balance/qyUser", - method: "GET", - params: { corpid, userid } - }); -}; -``` - -### AB98 系统接口 (src/common/apis/ab98/) - -#### Token 登录 -```typescript -// 接口: POST /api/v1/ab98/tokenLogin -export const tokenLogin = (params: { - token: string; - userid: string; - openid: string; -}) => { - return request({ - url: "/api/v1/ab98/tokenLogin", - method: "POST", - data: params - }); -}; -``` - -## 配置说明 - -### 微信配置 - -#### 公众号配置 -```typescript -// 微信公众号配置 -const wxConfig = { - appId: 'YOUR_APP_ID', - redirectUri: encodeURIComponent('https://your-domain.com/callback'), - scope: 'snsapi_userinfo', // 或 snsapi_base - state: 'STATE_PARAM' -}; - -// 生成授权 URL -const authUrl = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${wxConfig.appId}&redirect_uri=${wxConfig.redirectUri}&response_type=code&scope=${wxConfig.scope}&state=${wxConfig.state}#wechat_redirect`; -``` - -#### 企业微信配置 -```typescript -// 企业微信配置 -const qywxConfig = { - corpid: 'YOUR_CORP_ID', - agentId: 'YOUR_AGENT_ID', - redirectUri: encodeURIComponent('https://your-domain.com/qy-callback'), - state: 'STATE_PARAM' -}; - -// 生成企业微信授权 URL -const qyAuthUrl = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${qywxConfig.corpid}&redirect_uri=${qywxConfig.redirectUri}&response_type=code&scope=snsapi_base&state=${qywxConfig.state}#wechat_redirect`; -``` - -### 环境变量配置 - -#### 开发环境 (.env.development) -```env -# 微信配置 -VITE_WX_APP_ID=your_dev_app_id -VITE_WX_CORP_ID=your_dev_corp_id - -# API 基础地址 -VITE_BASE_URL=https://apifoxmock.com/m1/2930465-2145633-default -``` - -#### 生产环境 (.env.production) -```env -# 微信配置 -VITE_WX_APP_ID=your_prod_app_id -VITE_WX_CORP_ID=your_prod_corp_id - -# API 基础地址 -VITE_BASE_URL=https://api.example.com -``` - -## 使用示例 - -### 1. 页面中使用微信状态 - -```vue - - - -``` - -### 2. 等待微信回调完成 - -```vue - - - -``` - -## 常见问题 - -### 1. 微信认证失败 - -#### 可能原因 -- 回调域名未配置 -- AppID 或 Secret 错误 -- 网络问题导致 API 调用失败 - -#### 解决方案 -```typescript -// 检查回调域名 -const checkCallbackDomain = () => { - const currentDomain = window.location.hostname; - // 确保当前域名在微信白名单中 -}; - -// 重试机制 -const retryWxAuth = async (maxRetries = 3) => { - for (let i = 0; i < maxRetries; i++) { - try { - await wxStore.handleWxCallback(params); - if (wxStore.isHandleWxCallbackComplete) { - break; - } - } catch (error) { - console.error(`微信认证重试 ${i + 1} 失败:`, error); - if (i === maxRetries - 1) { - throw error; - } - await new Promise(resolve => setTimeout(resolve, 1000)); - } - } -}; -``` - -### 2. OpenID 获取失败 - -#### 调试方法 -```typescript -// 检查网络请求 -const debugWxAuth = async () => { - console.log('当前 URL 参数:', window.location.search); - - const urlParams = new URLSearchParams(window.location.search); - const code = urlParams.get('code'); - - if (!code) { - console.error('未获取到微信 code'); - return; - } - - console.log('获取到 code:', code); - - // 手动调用获取 OpenID - try { - const response = await getOpenIdApi({ code }); - console.log('OpenID 响应:', response); - } catch (error) { - console.error('获取 OpenID 失败:', error); - } -}; -``` - -### 3. 余额信息不更新 - -#### 刷新策略 -```typescript -// 定期刷新余额 -const startBalanceRefresh = () => { - // 每 30 秒刷新一次余额 - setInterval(() => { - if (wxStore.corpid && wxStore.userid) { - wxStore.refreshBalance(); - } - }, 30000); -}; - -// 在关键操作后刷新余额 -const afterOrderCreate = async () => { - // 创建订单后刷新余额 - await wxStore.refreshBalance(); -}; -``` - -## 安全考虑 - -### 1. Token 安全 - -#### 存储安全 -```typescript -// 敏感信息加密存储 -const encryptToken = (token: string) => { - return btoa(encodeURIComponent(token)); -}; - -const decryptToken = (encrypted: string) => { - return decodeURIComponent(atob(encrypted)); -}; -``` - -### 2. 防 CSRF 攻击 - -#### State 参数验证 -```typescript -// 生成随机的 state 参数 -const generateState = () => { - return Math.random().toString(36).substring(2, 15); -}; - -// 验证 state 参数 -const validateState = (receivedState: string, expectedState: string) => { - return receivedState === expectedState; -}; -``` - -## 性能优化 - -### 1. 减少不必要的 API 调用 - -```typescript -// 缓存用户信息 -const cachedUserInfo = ref(null); - -const getUserInfo = async (forceRefresh = false) => { - if (cachedUserInfo.value && !forceRefresh) { - return cachedUserInfo.value; - } - - // 调用 API 获取用户信息 - const userInfo = await fetchUserInfo(); - cachedUserInfo.value = userInfo; - return userInfo; -}; -``` - -### 2. 并行请求优化 - -```typescript -// 并行获取用户信息和余额 -const loadUserData = async () => { - const [userInfo, balanceInfo] = await Promise.all([ - getUserInfo(), - getBalanceInfo() - ]); - - return { userInfo, balanceInfo }; -}; -``` - -## 测试指南 - -### 1. 单元测试 - -```typescript -// tests/stores/wx.test.ts -import { describe, it, expect } from "vitest"; -import { setActivePinia, createPinia } from "pinia"; -import { useWxStore } from "@/pinia/stores/wx"; - -describe("Wx Store", () => { - beforeEach(() => { - setActivePinia(createPinia()); - }); - - it("should handle wx callback", async () => { - const wxStore = useWxStore(); - - await wxStore.handleWxCallback({ - code: "test_code", - state: "test_state" - }); - - expect(wxStore.code).toBe("test_code"); - expect(wxStore.state).toBe("test_state"); - }); -}); -``` - -### 2. 集成测试 - -```typescript -// tests/integration/wx-auth.test.ts -import { describe, it, expect } from "vitest"; - -describe("微信认证集成测试", () => { - it("应该完成完整的微信认证流程", async () => { - // 模拟微信回调 - // 验证状态更新 - // 检查用户信息 - }); -}); -``` - -通过本文档,您可以全面了解 MobVue 项目中微信集成的各个方面,包括认证流程、状态管理、API 接口、配置说明和常见问题解决方案。 \ No newline at end of file diff --git a/doc/thirdParty/doc/系统架构文档.md b/doc/thirdParty/doc/系统架构文档.md deleted file mode 100644 index 36d57ea..0000000 --- a/doc/thirdParty/doc/系统架构文档.md +++ /dev/null @@ -1,586 +0,0 @@ -# 系统架构文档 - -## 架构概述 - -MobVue 是一个基于 Vue3 的移动端 H5 应用,采用现代化的前端技术栈,具备清晰的模块化设计和可扩展的架构。 - -## 技术架构 - -### 前端技术栈 - -``` -┌─────────────────────────────────────────────────────────────┐ -│ MobVue 应用 │ -├─────────────────────────────────────────────────────────────┤ -│ Vue 3 + Composition API + TypeScript + Vant UI │ -├─────────────────────────────────────────────────────────────┤ -│ Pinia (状态管理) │ Vue Router (路由) │ UnoCSS (样式) │ -├─────────────────────────────────────────────────────────────┤ -│ Vite (构建工具) │ Axios (HTTP客户端) │ ESLint (代码规范) │ -└─────────────────────────────────────────────────────────────┘ -``` - -### 核心依赖关系 - -``` -App.vue - ├── Layout (布局系统) - │ ├── NavBar (导航栏) - │ ├── Tabbar (标签栏) - │ └── RouterView (页面渲染) - ├── Pinia Stores (状态管理) - │ ├── User Store (用户状态) - │ ├── Wx Store (微信状态) - │ ├── Product Store (商品状态) - │ └── Cart Store (购物车状态) - └── Router (路由系统) - ├── Route Guards (路由守卫) - └── Route Configuration (路由配置) -``` - -## 模块架构 - -### 1. 核心模块 - -#### 应用入口 (src/main.ts) -```typescript -// 应用初始化流程 -1. 创建 Vue 应用实例 -2. 安装插件系统 -3. 配置状态管理 (Pinia) -4. 配置路由系统 (Vue Router) -5. 挂载应用到 DOM -``` - -#### 应用根组件 (src/App.vue) -```typescript -// 主要职责 -1. 全局配置提供器 (ConfigProvider) -2. 主题模式管理 (暗黑/亮色) -3. 微信回调处理 -4. 用户认证状态管理 -5. 布局系统容器 -``` - -### 2. 布局系统 (src/layout/) - -#### 布局组件结构 -``` -Layout (主布局) -├── NavBar (导航栏) -│ ├── 标题显示 -│ ├── 返回按钮 -│ └── 操作按钮 -├── Tabbar (标签栏) -│ ├── 首页 -│ ├── 商品列表 -│ ├── 审批中心 -│ └── 个人中心 -└── RouterView (页面内容) -``` - -#### 布局配置 -```typescript -interface LayoutConfig { - navBar: { - showNavBar: boolean; // 是否显示导航栏 - showLeftArrow: boolean; // 是否显示返回箭头 - title?: string; // 导航栏标题 - }; - tabbar: { - showTabbar: boolean; // 是否显示标签栏 - icon?: string; // 标签图标 - }; -} -``` - -### 3. 状态管理架构 (src/pinia/) - -#### Store 设计模式 -```typescript -// Store 通用结构 -export const useXxxStore = defineStore("xxx", () => { - // 1. State (状态) - const state = ref(initialValue); - - // 2. Getters (计算属性) - const computedState = computed(() => { - return state.value.filter(...); - }); - - // 3. Actions (操作) - const fetchData = async () => { - // 异步操作 - }; - - // 4. 返回暴露的属性和方法 - return { state, computedState, fetchData }; -}); -``` - -#### Store 依赖关系 -``` -User Store - ├── 用户认证状态 - ├── 用户权限信息 - └── 用户基本信息 - -Wx Store - ├── 微信认证状态 - ├── 用户 OpenID - ├── 企业微信信息 - └── 余额信息 - -Product Store - ├── 商品列表 - ├── 商品详情 - └── 商品分类 - -Cart Store - ├── 购物车商品 - ├── 选中状态 - └── 结算信息 - -Order Store - ├── 订单列表 - ├── 订单详情 - └── 订单状态 -``` - -### 4. 路由架构 (src/router/) - -#### 路由分层设计 -```typescript -// 系统路由 (错误页面等) -export const systemRoutes: RouteRecordRaw[] = [ - { path: "/403", component: Error403 }, - { path: "/404", component: Error404 } -]; - -// 业务路由 (主要功能页面) -export const routes: RouteRecordRaw[] = [ - { path: "/", component: ProductList }, - { path: "/me", component: UserCenter }, - { path: "/order/:id", component: OrderDetail } -]; -``` - -#### 路由守卫流程 -```typescript -// 路由导航守卫流程 -1. 检查白名单 (无需认证的页面) -2. 验证用户认证状态 -3. 检查页面访问权限 -4. 设置页面标题 -5. 处理布局配置 -6. 执行路由跳转 -``` - -### 5. API 架构 (src/common/apis/) - -#### API 模块化组织 -``` -apis/ -├── users/ # 用户相关接口 -│ ├── index.ts # 接口方法 -│ └── type.ts # 类型定义 -├── shop/ # 店铺相关接口 -├── cabinet/ # 柜机相关接口 -├── approval/ # 审批相关接口 -└── ab98/ # AB98系统接口 -``` - -#### HTTP 客户端架构 -```typescript -// Axios 配置层次 -1. 创建实例配置 -2. 请求拦截器 (添加 Token 等) -3. 响应拦截器 (统一错误处理) -4. 业务状态码处理 -5. 全局错误处理 -``` - -### 6. 工具函数架构 (src/common/utils/) - -#### 工具模块分类 -``` -utils/ -├── cache/ # 缓存工具 -│ ├── cookies.ts # Cookie 操作 -│ └── local-storage.ts # 本地存储 -├── permission.ts # 权限工具 -├── wx.ts # 微信工具 -├── validate.ts # 验证工具 -└── datetime.ts # 日期时间工具 -``` - -### 7. 组合式函数架构 (src/common/composables/) - -#### 可复用逻辑 -```typescript -// 组合式函数设计模式 -export function useXxx() { - // 1. 响应式状态 - const state = ref(initialValue); - - // 2. 操作方法 - const action = () => { - // 业务逻辑 - }; - - // 3. 生命周期 - onMounted(() => { - // 初始化逻辑 - }); - - // 4. 返回暴露的 API - return { state, action }; -} -``` - -## 数据流架构 - -### 1. 组件间通信 - -#### Props/Emits (父子组件) -```vue - - - - - -``` - -#### Provide/Inject (跨层级组件) -```typescript -// 祖先组件 -const theme = ref('light'); -provide('theme', theme); - -// 后代组件 -const theme = inject>('theme'); -``` - -#### Pinia Store (全局状态) -```typescript -// 在任何组件中使用 -const userStore = useUserStore(); -const { token, username } = storeToRefs(userStore); -``` - -### 2. API 数据流 - -#### 数据获取流程 -```typescript -// 1. 组件触发 Action -const productStore = useProductStore(); - -// 2. Store 调用 API -const fetchProducts = async () => { - loading.value = true; - try { - const response = await getProductListApi(); - if (response.code === 0) { - products.value = response.data.products; - } - } finally { - loading.value = false; - } -}; - -// 3. 组件监听状态变化 -watchEffect(() => { - if (productStore.products.length > 0) { - // 更新 UI - } -}); -``` - -### 3. 用户交互流程 - -#### 典型用户操作流程 -``` -用户打开应用 - ↓ -微信认证处理 - ↓ -获取用户信息 - ↓ -显示商品列表 - ↓ -用户选择商品 - ↓ -加入购物车 - ↓ -创建订单 - ↓ -支付结算 - ↓ -订单完成 -``` - -## 安全架构 - -### 1. 认证机制 - -#### 微信 OAuth2.0 认证流程 -```typescript -// 微信认证流程 -1. 重定向到微信授权页面 -2. 用户授权后返回 code -3. 使用 code 换取 access_token -4. 获取用户 OpenID -5. 验证用户权限 -6. 生成应用内 Token -``` - -#### Token 管理 -```typescript -// Token 存储策略 -1. HTTP Only Cookie 存储 -2. 自动续期机制 -3. 安全退出清理 -4. 跨域请求携带 -``` - -### 2. 权限控制 - -#### 路由级权限 -```typescript -// 路由守卫权限检查 -const hasPermission = (route: RouteLocationNormalized) => { - if (route.meta?.requiresAuth && !isAuthenticated) { - return false; - } - if (route.meta?.roles && !hasRole(route.meta.roles)) { - return false; - } - return true; -}; -``` - -#### 组件级权限 -```vue - - -``` - -### 3. 数据安全 - -#### 敏感信息保护 -```typescript -// 本地存储加密 -const encryptData = (data: string) => { - return btoa(encodeURIComponent(data)); -}; - -const decryptData = (encrypted: string) => { - return decodeURIComponent(atob(encrypted)); -}; -``` - -## 性能架构 - -### 1. 代码分割 - -#### 路由级懒加载 -```typescript -// 动态导入组件 -const ProductList = () => import('@/pages/product/ProductList.vue'); -``` - -#### 第三方库分割 -```typescript -// Vite 配置手动分块 -manualChunks: { - vue: ['vue', 'vue-router', 'pinia'] -} -``` - -### 2. 缓存策略 - -#### 组件缓存 -```vue - - - - - - -``` - -#### API 响应缓存 -```typescript -// 接口数据缓存 -const cache = new Map(); - -const getCachedData = async (key: string, fetcher: () => Promise) => { - if (cache.has(key)) { - return cache.get(key); - } - const data = await fetcher(); - cache.set(key, data); - return data; -}; -``` - -### 3. 资源优化 - -#### 图片优化 -```vue - - -``` - -#### CSS 优化 -```css -/* UnoCSS 原子化类名 */ -.un-p-4 { padding: 1rem; } -.un-bg-white { background-color: white; } -.un-rounded-lg { border-radius: 0.5rem; } -``` - -## 扩展性设计 - -### 1. 插件系统 - -#### 插件注册机制 -```typescript -// 插件安装函数 -export const installPlugins = (app: App) => { - // 注册全局组件 - app.component('CustomComponent', CustomComponent); - - // 注册自定义指令 - app.directive('permission', permissionDirective); - - // 注册全局属性 - app.config.globalProperties.$utils = utils; -}; -``` - -### 2. 配置系统 - -#### 环境配置 -```typescript -// 多环境配置支持 -const config = { - development: { - baseURL: 'http://localhost:3000', - debug: true - }, - production: { - baseURL: 'https://api.example.com', - debug: false - } -}; -``` - -### 3. 主题系统 - -#### 动态主题切换 -```typescript -// 主题管理 -const useTheme = () => { - const isDark = ref(false); - - const toggleTheme = () => { - isDark.value = !isDark.value; - document.documentElement.classList.toggle('dark', isDark.value); - }; - - return { isDark, toggleTheme }; -}; -``` - -## 监控和调试 - -### 1. 开发工具 - -#### Vue DevTools 集成 -```typescript -// 开发环境启用 -if (import.meta.env.DEV) { - // 启用 Vue DevTools -} -``` - -#### 控制台调试 -```typescript -// VConsole 移动端调试 -import VConsole from 'vconsole'; - -if (import.meta.env.DEV) { - new VConsole(); -} -``` - -### 2. 错误监控 - -#### 全局错误处理 -```typescript -// Vue 错误处理 -app.config.errorHandler = (err, instance, info) => { - console.error('Vue 错误:', err, info); - // 发送错误报告 -}; - -// 未处理 Promise 拒绝 -window.addEventListener('unhandledrejection', (event) => { - console.error('未处理的 Promise 拒绝:', event.reason); -}); -``` - -## 部署架构 - -### 1. 构建优化 - -#### 生产环境构建 -```typescript -// Vite 生产配置 -build: { - rollupOptions: { - output: { - manualChunks: { - vue: ['vue', 'vue-router', 'pinia'] - } - } - }, - reportCompressedSize: false, - chunkSizeWarningLimit: 2048 -} -``` - -### 2. CDN 部署 - -#### 静态资源优化 -```typescript -// 静态资源 CDN 配置 -base: process.env.NODE_ENV === 'production' - ? 'https://cdn.example.com/mobvue/' - : '/' -``` - -## 总结 - -MobVue 采用现代化的前端架构设计,具备以下特点: - -1. **模块化设计**: 清晰的模块边界和职责分离 -2. **类型安全**: 全面的 TypeScript 支持 -3. **状态管理**: 集中式的状态管理方案 -4. **性能优化**: 多层次的性能优化策略 -5. **安全可靠**: 完善的安全机制和错误处理 -6. **可扩展性**: 灵活的插件和配置系统 -7. **开发体验**: 优秀的开发工具和调试支持 - -这种架构设计确保了项目的可维护性、可扩展性和高性能,为移动端 H5 应用开发提供了坚实的基础。 \ No newline at end of file diff --git a/doc/thirdParty/doc/部署指南.md b/doc/thirdParty/doc/部署指南.md deleted file mode 100644 index fc37edd..0000000 --- a/doc/thirdParty/doc/部署指南.md +++ /dev/null @@ -1,397 +0,0 @@ -# 部署指南 - -## 部署概述 - -本文档详细描述了 MobVue 项目的部署流程和配置说明,涵盖开发环境、预发布环境和生产环境的部署步骤。 - -## 环境要求 - -### 服务器要求 -- **操作系统**: Linux (推荐 Ubuntu 20.04+ 或 CentOS 7+) -- **Node.js**: 20.x 或 22+ -- **Web 服务器**: Nginx 或 Apache -- **内存**: 至少 1GB RAM -- **存储**: 至少 10GB 可用空间 - -### 网络要求 -- **域名**: 配置正确的域名和 SSL 证书 -- **防火墙**: 开放 80 (HTTP) 和 443 (HTTPS) 端口 -- **CDN**: 推荐使用 CDN 加速静态资源 - -## 环境配置 - -### 1. 环境变量 - -#### 开发环境 (.env.development) -```env -# 开发环境配置 -VITE_BASE_URL=https://apifoxmock.com/m1/2930465-2145633-default -VITE_PUBLIC_PATH=/ -VITE_ROUTER_HISTORY=hash -``` - -#### 预发布环境 (.env.staging) -```env -# 预发布环境配置 -VITE_BASE_URL=https://staging-api.example.com -VITE_PUBLIC_PATH=/ -VITE_ROUTER_HISTORY=hash -``` - -#### 生产环境 (.env.production) -```env -# 生产环境配置 -VITE_BASE_URL=https://api.example.com -VITE_PUBLIC_PATH=/ -VITE_ROUTER_HISTORY=hash -``` - -### 2. 微信配置 - -#### 微信公众号配置 -- **AppID**: 微信公众号应用 ID -- **AppSecret**: 微信公众号应用密钥 -- **回调域名**: 配置为部署的域名 - -#### 企业微信配置 -- **CorpID**: 企业微信企业 ID -- **AgentID**: 企业微信应用 ID -- **Secret**: 企业微信应用密钥 -- **回调域名**: 配置为部署的域名 - -## 构建流程 - -### 1. 开发环境构建 -```bash -# 安装依赖 -pnpm i - -# 启动开发服务器 -pnpm dev -``` - -### 2. 预发布环境构建 -```bash -# 构建预发布版本 -pnpm build:staging - -# 构建输出目录: dist/ -``` - -### 3. 生产环境构建 -```bash -# 构建生产版本 -pnpm build - -# 构建输出目录: dist/ -``` - -### 构建优化 -- **代码分割**: Vue 相关库独立打包 -- **压缩优化**: 移除 console 和 debugger -- **浏览器兼容**: 传统浏览器支持 -- **资源优化**: 图片和字体文件压缩 - -## 部署方式 - -### 1. 静态文件部署 - -#### Nginx 配置示例 -```nginx -server { - listen 80; - server_name your-domain.com; - - # 重定向到 HTTPS - return 301 https://$server_name$request_uri; -} - -server { - listen 443 ssl http2; - server_name your-domain.com; - - # SSL 配置 - ssl_certificate /path/to/certificate.crt; - ssl_certificate_key /path/to/private.key; - ssl_protocols TLSv1.2 TLSv1.3; - ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384; - - # 静态文件服务 - root /var/www/mobvue/dist; - index index.html; - - # Gzip 压缩 - gzip on; - gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; - - # 缓存配置 - location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { - expires 1y; - add_header Cache-Control "public, immutable"; - } - - # SPA 路由支持 - location / { - try_files $uri $uri/ /index.html; - } - - # API 代理 - location /api/ { - proxy_pass https://api.example.com; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - } -} -``` - -#### Apache 配置示例 -```apache - - ServerName your-domain.com - DocumentRoot /var/www/mobvue/dist - - # 重定向到 HTTPS - Redirect permanent / https://your-domain.com/ - - - - ServerName your-domain.com - DocumentRoot /var/www/mobvue/dist - - # SSL 配置 - SSLEngine on - SSLCertificateFile /path/to/certificate.crt - SSLCertificateKeyFile /path/to/private.key - - # SPA 路由支持 - RewriteEngine On - RewriteCond %{REQUEST_FILENAME} !-f - RewriteCond %{REQUEST_FILENAME} !-d - RewriteRule . /index.html [L] - - # 缓存配置 - - ExpiresActive On - ExpiresDefault "access plus 1 year" - Header append Cache-Control "public, immutable" - - -``` - -### 2. Docker 部署 - -#### Dockerfile -```dockerfile -# 构建阶段 -FROM node:20-alpine AS builder - -WORKDIR /app - -# 复制 package.json 和 lock 文件 -COPY package.json pnpm-lock.yaml ./ - -# 安装依赖 -RUN npm install -g pnpm && pnpm i - -# 复制源代码 -COPY . . - -# 构建应用 -RUN pnpm build - -# 生产阶段 -FROM nginx:alpine - -# 复制构建结果 -COPY --from=builder /app/dist /usr/share/nginx/html - -# 复制 Nginx 配置 -COPY nginx.conf /etc/nginx/conf.d/default.conf - -# 暴露端口 -EXPOSE 80 - -CMD ["nginx", "-g", "daemon off;"] -``` - -#### docker-compose.yml -```yaml -version: '3.8' - -services: - mobvue: - build: . - ports: - - "80:80" - environment: - - NODE_ENV=production - restart: unless-stopped - - # 可选:添加反向代理 - nginx-proxy: - image: nginx:alpine - ports: - - "443:443" - volumes: - - ./nginx-proxy.conf:/etc/nginx/conf.d/default.conf - - ./ssl:/etc/nginx/ssl - depends_on: - - mobvue - restart: unless-stopped -``` - -### 3. 云平台部署 - -#### Vercel 部署 -1. 连接 GitHub 仓库 -2. 配置环境变量 -3. 自动部署 - -#### Netlify 部署 -1. 连接 Git 仓库 -2. 构建命令: `pnpm build` -3. 发布目录: `dist` -4. 配置重定向规则 - -#### 阿里云/腾讯云部署 -1. 上传构建文件到对象存储 -2. 配置 CDN 加速 -3. 配置域名和 SSL - -## 部署检查清单 - -### 构建前检查 -- [ ] 环境变量配置正确 -- [ ] 依赖安装完成 -- [ ] 代码 lint 通过 -- [ ] 单元测试通过 - -### 部署前检查 -- [ ] 构建产物完整 -- [ ] 静态资源路径正确 -- [ ] API 接口可访问 -- [ ] 路由配置正确 - -### 部署后验证 -- [ ] 首页可正常访问 -- [ ] 路由跳转正常 -- [ ] API 调用正常 -- [ ] 移动端适配正常 -- [ ] 微信登录正常 -- [ ] 图片资源加载正常 - -## 监控和维护 - -### 1. 性能监控 -- **Web Vitals**: 监控核心性能指标 -- **错误监控**: 使用 Sentry 或类似工具 -- **用户行为分析**: 使用 Google Analytics - -### 2. 日志管理 -- **访问日志**: Nginx 访问日志 -- **错误日志**: 应用错误日志 -- **API 日志**: 后端接口调用日志 - -### 3. 备份策略 -- **代码备份**: Git 仓库备份 -- **数据库备份**: 定期备份数据库 -- **配置文件备份**: 环境配置备份 - -## 故障排除 - -### 常见问题 - -#### 1. 白屏问题 -- 检查静态资源路径 -- 验证路由配置 -- 查看浏览器控制台错误 - -#### 2. API 调用失败 -- 检查网络连接 -- 验证 API 地址配置 -- 查看跨域配置 - -#### 3. 微信登录失败 -- 检查回调域名配置 -- 验证 AppID 和 Secret -- 查看微信授权日志 - -#### 4. 移动端适配问题 -- 测试不同设备尺寸 -- 检查 viewport 配置 -- 验证 CSS 媒体查询 - -### 调试工具 -- **浏览器 DevTools**: 调试前端代码 -- **网络监控**: 检查 API 请求 -- **移动端模拟**: 测试移动端体验 -- **性能分析**: 分析页面性能 - -## 安全考虑 - -### 1. 网络安全 -- 使用 HTTPS 加密传输 -- 配置 CSP 安全策略 -- 启用 HSTS 强制 HTTPS - -### 2. 应用安全 -- 输入验证和过滤 -- XSS 防护 -- CSRF 防护 - -### 3. 数据安全 -- 敏感信息加密存储 -- 定期安全扫描 -- 访问权限控制 - -## 版本管理 - -### 1. 版本号规范 -- 遵循语义化版本规范 (SemVer) -- 主版本号.次版本号.修订版本号 -- 预发布版本使用标签 (如: 1.0.0-beta.1) - -### 2. 发布流程 -1. 功能开发和测试 -2. 预发布环境验证 -3. 生产环境部署 -4. 监控和反馈 - -### 3. 回滚策略 -- 保留历史版本构建 -- 快速回滚到稳定版本 -- 数据库版本兼容性检查 - -## 附录 - -### 常用命令 -```bash -# 开发 -pnpm dev - -# 构建 -pnpm build -pnpm build:staging - -# 代码检查 -pnpm lint -pnpm test - -# 依赖管理 -pnpm i -pnpm update -``` - -### 配置文件说明 -- `vite.config.ts`: Vite 构建配置 -- `uno.config.ts`: UnoCSS 配置 -- `tsconfig.json`: TypeScript 配置 -- `eslint.config.js`: ESLint 配置 - -### 相关文档 -- [Vue 3 官方文档](https://vuejs.org/) -- [Vite 官方文档](https://vitejs.dev/) -- [Vant 官方文档](https://vant-ui.github.io/vant/) -- [UnoCSS 官方文档](https://unocss.dev/) \ No newline at end of file diff --git a/doc/thirdParty/doc/项目概述.md b/doc/thirdParty/doc/项目概述.md deleted file mode 100644 index aaf0a61..0000000 --- a/doc/thirdParty/doc/项目概述.md +++ /dev/null @@ -1,204 +0,0 @@ -# MobVue 项目文档 - -## 项目概述 - -MobVue 是一个精心制作的移动端 H5 应用模板,基于 Vue3、Vite、TypeScript、Vant 等主流技术栈开发。本项目是一个电商/柜机管理系统,支持微信和企业微信登录,具备完整的用户认证、商品管理、订单处理、审批流程等功能。 - -## 项目特性 - -### 🔥 技术特性 -- **Vue3**: 采用最新的 Composition API 和 script setup 语法 -- **TypeScript**: 严格模式,无 `any` 类型 -- **Vite**: 极速的开发体验和构建性能 -- **Vant**: 轻量、可定制的移动端 Vue 组件库 -- **Pinia**: 现代化的状态管理 -- **UnoCSS**: 高性能的原子化 CSS 引擎 - -### 📱 移动端适配 -- **Px2Vw**: 自动将 px 转换为 vw 单位 -- **宽屏友好**: 适配各种屏幕尺寸 -- **浏览器兼容**: 支持多种浏览器和低版本 - -### 🔒 安全与权限 -- **页面级权限**: 路由守卫控制页面访问 -- **按钮级权限**: 细粒度的操作权限控制 -- **微信认证**: 支持微信和企业微信登录 -- **防御水印**: 防止敏感信息泄露 - -### 🧩 业务功能 -- **商品管理**: 商品列表、详情展示 -- **订单系统**: 订单创建、结算、详情查看 -- **柜机管理**: 智能柜机绑定和管理 -- **审批流程**: 审批申请、处理、核销 -- **用户中心**: 个人信息、余额管理 - -## 目录结构 - -``` -src/ -├── common/ # 通用模块 -│ ├── apis/ # API 接口 -│ ├── assets/ # 静态资源 -│ ├── composables/ # 组合式函数 -│ ├── components/ # 通用组件 -│ └── utils/ # 工具函数 -├── layout/ # 布局组件 -├── pages/ # 页面组件 -├── pinia/ # 状态管理 -├── router/ # 路由配置 -├── http/ # HTTP 请求 -└── plugins/ # 插件配置 -``` - -## 快速开始 - -### 环境要求 -- Node.js 20.x 或 22+ -- pnpm 9.x 或 10+ -- 最新版 Visual Studio Code - -### 安装依赖 -```bash -pnpm i -``` - -### 开发环境 -```bash -pnpm dev -``` - -### 构建项目 -```bash -# 预发布环境 -pnpm build:staging - -# 生产环境 -pnpm build -``` - -### 代码检查 -```bash -# 代码校验与格式化 -pnpm lint - -# 单元测试 -pnpm test -``` - -## 核心模块说明 - -### 1. 路由系统 (src/router/) -- **一级路由设计**: 清晰且缓存友好 -- **权限守卫**: 页面访问权限控制 -- **布局配置**: 可配置的导航栏和标签栏 - -### 2. 状态管理 (src/pinia/) -- **用户状态**: 用户信息、登录状态 -- **微信状态**: 微信认证相关状态 -- **购物车**: 商品选择和结算 -- **订单状态**: 订单处理流程 - -### 3. API 管理 (src/common/apis/) -- **用户接口**: 登录、用户信息 -- **商品接口**: 商品列表、详情 -- **订单接口**: 订单创建、查询 -- **柜机接口**: 柜机管理 -- **审批接口**: 审批流程 - -### 4. 布局系统 (src/layout/) -- **导航栏**: 自定义标题和返回按钮 -- **标签栏**: 底部导航切换 -- **响应式**: 适配不同页面需求 - -## 开发指南 - -### 添加新页面 -1. 在 `src/pages/` 下创建 Vue 组件 -2. 在 `src/router/index.ts` 中添加路由配置 -3. 配置页面元信息 (meta) - -### 状态管理 -使用 Pinia 进行状态管理,遵循组合式 API 规范: - -```typescript -export const useMyStore = defineStore("myStore", () => { - const state = ref(initialValue) - - const action = () => { - // 业务逻辑 - } - - return { state, action } -}) -``` - -### API 开发 -API 接口统一在 `src/common/apis/` 目录下管理: - -```typescript -export const getDataApi = (params: ParamsType) => { - return request({ - url: "/api/data", - method: "GET", - params - }) -} -``` - -### 样式规范 -- 使用 UnoCSS 原子化类名 -- 优先使用预设的快捷方式 -- 自定义样式在 CSS 变量中定义 - -## 部署说明 - -### 环境变量 -项目支持多环境配置,通过 `.env` 文件管理: - -```env -VITE_BASE_URL=接口基础地址 -VITE_PUBLIC_PATH=公共路径 -VITE_ROUTER_HISTORY=路由模式 -``` - -### 构建优化 -- 代码分割:Vue 相关库独立打包 -- 压缩优化:移除 console 和 debugger -- 浏览器兼容:传统浏览器支持 - -## 常见问题 - -### 微信认证问题 -- 确保微信回调地址配置正确 -- 检查企业微信 corpid 配置 -- 验证 openid 获取逻辑 - -### 权限控制 -- 页面权限在路由守卫中控制 -- 按钮权限使用自定义指令 -- 角色权限在用户信息中配置 - -### 移动端适配 -- 使用 vw 单位进行响应式设计 -- 测试不同屏幕尺寸的显示效果 -- 确保触摸交互的流畅性 - -## 贡献指南 - -### 代码提交规范 -- `feat`: 新功能 -- `fix`: 修复错误 -- `perf`: 性能优化 -- `refactor`: 重构代码 -- `docs`: 文档和注释 -- `test`: 单元测试相关 - -### 开发流程 -1. Fork 项目 -2. 创建功能分支 -3. 提交代码变更 -4. 创建 Pull Request - -## 许可证 - -[MIT License](./LICENSE) © 2025-PRESENT [pany](https://github.com/pany-ang) \ No newline at end of file diff --git a/doc/thirdParty/eslint.config.js b/doc/thirdParty/eslint.config.js deleted file mode 100644 index db38303..0000000 --- a/doc/thirdParty/eslint.config.js +++ /dev/null @@ -1,42 +0,0 @@ -import antfu from "@antfu/eslint-config" - -// 更多自定义配置可查阅仓库:https://github.com/antfu/eslint-config -export default antfu( - { - // 使用外部格式化程序格式化 css、html、markdown 等文件 - formatters: true, - // 启用样式规则 - stylistic: { - // 缩进级别 - indent: 2, - // 引号风格 'single' | 'double' - quotes: "double", - // 是否启用分号 - semi: false - }, - // 忽略文件 - ignores: [] - }, - { - // 对所有文件都生效的规则 - rules: { - // vue - "vue/block-order": ["error", { order: ["script", "template", "style"] }], - "vue/attributes-order": "off", - // ts - "ts/no-use-before-define": "off", - // node - "node/prefer-global/process": "off", - // style - "style/comma-dangle": ["error", "never"], - "style/brace-style": ["error", "1tbs"], - // regexp - "regexp/no-unused-capturing-group": "off", - // other - "no-console": "off", - "no-debugger": "off", - "symbol-description": "off", - "antfu/if-newline": "off" - } - } -) diff --git a/doc/thirdParty/index.html b/doc/thirdParty/index.html deleted file mode 100644 index 98f26c3..0000000 --- a/doc/thirdParty/index.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - %VITE_APP_TITLE% - - -
-
-
- - - diff --git a/doc/thirdParty/package.json b/doc/thirdParty/package.json deleted file mode 100644 index 9b7bc7f..0000000 --- a/doc/thirdParty/package.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "name": "mobvue", - "type": "module", - "version": "0.6.1", - "description": "A crafted mobile template, built with Vue3, Vite, TypeScript, Vant, and more", - "author": "pany <939630029@qq.com> (https://github.com/pany-ang)", - "repository": "https://github.com/un-pany/mobvue", - "scripts": { - "dev": "vite", - "build:staging": "vue-tsc && vite build --mode staging", - "build": "vue-tsc && vite build", - "preview": "vite preview", - "lint": "eslint . --fix", - "prepare": "husky", - "test": "vitest" - }, - "dependencies": { - "@vant/touch-emulator": "1.4.0", - "axios": "1.7.9", - "compressorjs": "1.2.1", - "dayjs": "1.11.13", - "js-cookie": "3.0.5", - "lodash-es": "4.17.21", - "normalize.css": "8.0.1", - "pinia": "3.0.1", - "unocss": "66.0.0", - "vant": "4.9.17", - "vconsole": "3.15.1", - "vue": "3.5.13", - "vue-router": "4.5.0" - }, - "devDependencies": { - "@antfu/eslint-config": "4.3.0", - "@types/js-cookie": "3.0.6", - "@types/lodash-es": "4.17.12", - "@types/node": "22.13.5", - "@types/nprogress": "0.2.3", - "@unocss/preset-rem-to-px": "66.0.0", - "@vant/auto-import-resolver": "1.2.1", - "@vitejs/plugin-legacy": "6.0.1", - "@vitejs/plugin-vue": "5.2.1", - "@vue/test-utils": "2.4.6", - "autoprefixer": "10.4.20", - "eslint": "9.21.0", - "eslint-plugin-format": "1.0.1", - "happy-dom": "17.1.2", - "husky": "9.1.7", - "lint-staged": "15.4.3", - "nprogress": "0.2.0", - "postcss-mobile-forever": "4.4.0", - "typescript": "5.7.3", - "unplugin-auto-import": "19.1.0", - "unplugin-vue-components": "28.4.0", - "vite": "6.1.1", - "vite-svg-loader": "5.1.0", - "vitest": "3.0.6", - "vue-tsc": "2.2.2" - }, - "lint-staged": { - "*": "eslint --fix" - }, - "browserslist": [ - "defaults" - ] -} diff --git a/doc/thirdParty/pnpm-lock.yaml b/doc/thirdParty/pnpm-lock.yaml deleted file mode 100644 index 836ac3e..0000000 --- a/doc/thirdParty/pnpm-lock.yaml +++ /dev/null @@ -1,7753 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - dependencies: - '@vant/touch-emulator': - specifier: 1.4.0 - version: 1.4.0 - axios: - specifier: 1.7.9 - version: 1.7.9 - compressorjs: - specifier: 1.2.1 - version: 1.2.1 - dayjs: - specifier: 1.11.13 - version: 1.11.13 - js-cookie: - specifier: 3.0.5 - version: 3.0.5 - lodash-es: - specifier: 4.17.21 - version: 4.17.21 - normalize.css: - specifier: 8.0.1 - version: 8.0.1 - pinia: - specifier: 3.0.1 - version: 3.0.1(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)) - unocss: - specifier: 66.0.0 - version: 66.0.0(postcss@8.5.3)(vite@6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) - vant: - specifier: 4.9.17 - version: 4.9.17(vue@3.5.13(typescript@5.7.3)) - vconsole: - specifier: 3.15.1 - version: 3.15.1 - vue: - specifier: 3.5.13 - version: 3.5.13(typescript@5.7.3) - vue-router: - specifier: 4.5.0 - version: 4.5.0(vue@3.5.13(typescript@5.7.3)) - devDependencies: - '@antfu/eslint-config': - specifier: 4.3.0 - version: 4.3.0(@typescript-eslint/utils@8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3))(@unocss/eslint-plugin@65.4.3(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3))(@vue/compiler-sfc@3.5.13)(eslint-plugin-format@1.0.1(eslint@9.21.0(jiti@2.4.2)))(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)(vitest@3.0.6(@types/debug@4.1.12)(@types/node@22.13.5)(happy-dom@17.1.2)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0)) - '@types/js-cookie': - specifier: 3.0.6 - version: 3.0.6 - '@types/lodash-es': - specifier: 4.17.12 - version: 4.17.12 - '@types/node': - specifier: 22.13.5 - version: 22.13.5 - '@types/nprogress': - specifier: 0.2.3 - version: 0.2.3 - '@unocss/preset-rem-to-px': - specifier: 66.0.0 - version: 66.0.0 - '@vant/auto-import-resolver': - specifier: 1.2.1 - version: 1.2.1 - '@vitejs/plugin-legacy': - specifier: 6.0.1 - version: 6.0.1(terser@5.39.0)(vite@6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0)) - '@vitejs/plugin-vue': - specifier: 5.2.1 - version: 5.2.1(vite@6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) - '@vue/test-utils': - specifier: 2.4.6 - version: 2.4.6 - autoprefixer: - specifier: 10.4.20 - version: 10.4.20(postcss@8.5.3) - eslint: - specifier: 9.21.0 - version: 9.21.0(jiti@2.4.2) - eslint-plugin-format: - specifier: 1.0.1 - version: 1.0.1(eslint@9.21.0(jiti@2.4.2)) - happy-dom: - specifier: 17.1.2 - version: 17.1.2 - husky: - specifier: 9.1.7 - version: 9.1.7 - lint-staged: - specifier: 15.4.3 - version: 15.4.3 - nprogress: - specifier: 0.2.0 - version: 0.2.0 - postcss-mobile-forever: - specifier: 4.4.0 - version: 4.4.0(postcss@8.5.3) - typescript: - specifier: 5.7.3 - version: 5.7.3 - unplugin-auto-import: - specifier: 19.1.0 - version: 19.1.0 - unplugin-vue-components: - specifier: 28.4.0 - version: 28.4.0(@babel/parser@7.26.9)(vue@3.5.13(typescript@5.7.3)) - vite: - specifier: 6.1.1 - version: 6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0) - vite-svg-loader: - specifier: 5.1.0 - version: 5.1.0(vue@3.5.13(typescript@5.7.3)) - vitest: - specifier: 3.0.6 - version: 3.0.6(@types/debug@4.1.12)(@types/node@22.13.5)(happy-dom@17.1.2)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0) - vue-tsc: - specifier: 2.2.2 - version: 2.2.2(typescript@5.7.3) - -packages: - - '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - - '@antfu/eslint-config@4.3.0': - resolution: {integrity: sha512-x6jcUSkscXb63xEM8JekZlDALtsVETxSc19pu+DuEZjx4iv0J8gThRDMPsIolceTeSnyh9bfW4dlAGcfu2NLzg==} - hasBin: true - peerDependencies: - '@eslint-react/eslint-plugin': ^1.19.0 - '@prettier/plugin-xml': ^3.4.1 - '@unocss/eslint-plugin': '>=0.50.0' - astro-eslint-parser: ^1.0.2 - eslint: ^9.10.0 - eslint-plugin-astro: ^1.2.0 - eslint-plugin-format: '>=0.1.0' - eslint-plugin-react-hooks: ^5.0.0 - eslint-plugin-react-refresh: ^0.4.4 - eslint-plugin-solid: ^0.14.3 - eslint-plugin-svelte: '>=2.35.1' - prettier-plugin-astro: ^0.14.0 - prettier-plugin-slidev: ^1.0.5 - svelte-eslint-parser: '>=0.37.0' - peerDependenciesMeta: - '@eslint-react/eslint-plugin': - optional: true - '@prettier/plugin-xml': - optional: true - '@unocss/eslint-plugin': - optional: true - astro-eslint-parser: - optional: true - eslint-plugin-astro: - optional: true - eslint-plugin-format: - optional: true - eslint-plugin-react-hooks: - optional: true - eslint-plugin-react-refresh: - optional: true - eslint-plugin-solid: - optional: true - eslint-plugin-svelte: - optional: true - prettier-plugin-astro: - optional: true - prettier-plugin-slidev: - optional: true - svelte-eslint-parser: - optional: true - - '@antfu/install-pkg@1.0.0': - resolution: {integrity: sha512-xvX6P/lo1B3ej0OsaErAjqgFYzYVcJpamjLAFLYh9vRJngBrMoUG7aVnrGTeqM7yxbyTD5p3F2+0/QUEh8Vzhw==} - - '@antfu/utils@8.1.1': - resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} - - '@babel/code-frame@7.26.2': - resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.26.8': - resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.26.9': - resolution: {integrity: sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.26.9': - resolution: {integrity: sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-annotate-as-pure@7.25.9': - resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.26.5': - resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-create-class-features-plugin@7.26.9': - resolution: {integrity: sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-create-regexp-features-plugin@7.26.3': - resolution: {integrity: sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-define-polyfill-provider@0.6.3': - resolution: {integrity: sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - '@babel/helper-member-expression-to-functions@7.25.9': - resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-imports@7.25.9': - resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-transforms@7.26.0': - resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-optimise-call-expression@7.25.9': - resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-plugin-utils@7.26.5': - resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-remap-async-to-generator@7.25.9': - resolution: {integrity: sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-replace-supers@7.26.5': - resolution: {integrity: sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-skip-transparent-expression-wrappers@7.25.9': - resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.25.9': - resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.25.9': - resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-option@7.25.9': - resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-wrap-function@7.25.9': - resolution: {integrity: sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.26.9': - resolution: {integrity: sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.26.9': - resolution: {integrity: sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9': - resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9': - resolution: {integrity: sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9': - resolution: {integrity: sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9': - resolution: {integrity: sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9': - resolution: {integrity: sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': - resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-assertions@7.26.0': - resolution: {integrity: sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-attributes@7.26.0': - resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6': - resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-arrow-functions@7.25.9': - resolution: {integrity: sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-async-generator-functions@7.26.8': - resolution: {integrity: sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-async-to-generator@7.25.9': - resolution: {integrity: sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-block-scoped-functions@7.26.5': - resolution: {integrity: sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-block-scoping@7.25.9': - resolution: {integrity: sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-class-properties@7.25.9': - resolution: {integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-class-static-block@7.26.0': - resolution: {integrity: sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 - - '@babel/plugin-transform-classes@7.25.9': - resolution: {integrity: sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-computed-properties@7.25.9': - resolution: {integrity: sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-destructuring@7.25.9': - resolution: {integrity: sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-dotall-regex@7.25.9': - resolution: {integrity: sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-duplicate-keys@7.25.9': - resolution: {integrity: sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9': - resolution: {integrity: sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-dynamic-import@7.25.9': - resolution: {integrity: sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-exponentiation-operator@7.26.3': - resolution: {integrity: sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-export-namespace-from@7.25.9': - resolution: {integrity: sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-for-of@7.26.9': - resolution: {integrity: sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-function-name@7.25.9': - resolution: {integrity: sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-json-strings@7.25.9': - resolution: {integrity: sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-literals@7.25.9': - resolution: {integrity: sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-logical-assignment-operators@7.25.9': - resolution: {integrity: sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-member-expression-literals@7.25.9': - resolution: {integrity: sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-amd@7.25.9': - resolution: {integrity: sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-commonjs@7.26.3': - resolution: {integrity: sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-systemjs@7.25.9': - resolution: {integrity: sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-umd@7.25.9': - resolution: {integrity: sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-named-capturing-groups-regex@7.25.9': - resolution: {integrity: sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-new-target@7.25.9': - resolution: {integrity: sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-nullish-coalescing-operator@7.26.6': - resolution: {integrity: sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-numeric-separator@7.25.9': - resolution: {integrity: sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-object-rest-spread@7.25.9': - resolution: {integrity: sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-object-super@7.25.9': - resolution: {integrity: sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-optional-catch-binding@7.25.9': - resolution: {integrity: sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-optional-chaining@7.25.9': - resolution: {integrity: sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-parameters@7.25.9': - resolution: {integrity: sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-private-methods@7.25.9': - resolution: {integrity: sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-private-property-in-object@7.25.9': - resolution: {integrity: sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-property-literals@7.25.9': - resolution: {integrity: sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-regenerator@7.25.9': - resolution: {integrity: sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-regexp-modifiers@7.26.0': - resolution: {integrity: sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-reserved-words@7.25.9': - resolution: {integrity: sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-shorthand-properties@7.25.9': - resolution: {integrity: sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-spread@7.25.9': - resolution: {integrity: sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-sticky-regex@7.25.9': - resolution: {integrity: sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-template-literals@7.26.8': - resolution: {integrity: sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-typeof-symbol@7.26.7': - resolution: {integrity: sha512-jfoTXXZTgGg36BmhqT3cAYK5qkmqvJpvNrPhaK/52Vgjhw4Rq29s9UqpWWV0D6yuRmgiFH/BUVlkl96zJWqnaw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-escapes@7.25.9': - resolution: {integrity: sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-property-regex@7.25.9': - resolution: {integrity: sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-regex@7.25.9': - resolution: {integrity: sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-sets-regex@7.25.9': - resolution: {integrity: sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/preset-env@7.26.9': - resolution: {integrity: sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/preset-modules@0.1.6-no-external-plugins': - resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} - peerDependencies: - '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - - '@babel/runtime@7.26.9': - resolution: {integrity: sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==} - engines: {node: '>=6.9.0'} - - '@babel/template@7.26.9': - resolution: {integrity: sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.26.9': - resolution: {integrity: sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.26.9': - resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==} - engines: {node: '>=6.9.0'} - - '@clack/core@0.4.1': - resolution: {integrity: sha512-Pxhij4UXg8KSr7rPek6Zowm+5M22rbd2g1nfojHJkxp5YkFqiZ2+YLEM/XGVIzvGOcM0nqjIFxrpDwWRZYWYjA==} - - '@clack/prompts@0.10.0': - resolution: {integrity: sha512-H3rCl6CwW1NdQt9rE3n373t7o5cthPv7yUoxF2ytZvyvlJv89C5RYMJu83Hed8ODgys5vpBU0GKxIRG83jd8NQ==} - - '@dprint/formatter@0.3.0': - resolution: {integrity: sha512-N9fxCxbaBOrDkteSOzaCqwWjso5iAe+WJPsHC021JfHNj2ThInPNEF13ORDKta3llq5D1TlclODCvOvipH7bWQ==} - - '@dprint/markdown@0.17.8': - resolution: {integrity: sha512-ukHFOg+RpG284aPdIg7iPrCYmMs3Dqy43S1ejybnwlJoFiW02b+6Bbr5cfZKFRYNP3dKGM86BqHEnMzBOyLvvA==} - - '@dprint/toml@0.6.4': - resolution: {integrity: sha512-bZXIUjxr0LIuHWshZr/5mtUkOrnh0NKVZEF6ACojW5z7zkJu7s9sV2mMXm8XQDqN4cJzdHYUYzUyEGdfciaLJA==} - - '@es-joy/jsdoccomment@0.49.0': - resolution: {integrity: sha512-xjZTSFgECpb9Ohuk5yMX5RhUEbfeQcuOp8IF60e+wyzWEF0M5xeSgqsfLtvPEX8BIyOX9saZqzuGPmZ8oWc+5Q==} - engines: {node: '>=16'} - - '@es-joy/jsdoccomment@0.50.0': - resolution: {integrity: sha512-+zZymuVLH6zVwXPtCAtC+bDymxmEwEqDftdAK+f407IF1bnX49anIxvBhCA1AqUIfD6egj1jM1vUnSuijjNyYg==} - engines: {node: '>=18'} - - '@esbuild/aix-ppc64@0.23.1': - resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/aix-ppc64@0.24.2': - resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/aix-ppc64@0.25.0': - resolution: {integrity: sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/android-arm64@0.23.1': - resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.24.2': - resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.25.0': - resolution: {integrity: sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm@0.23.1': - resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.24.2': - resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.25.0': - resolution: {integrity: sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-x64@0.23.1': - resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.24.2': - resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.25.0': - resolution: {integrity: sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/darwin-arm64@0.23.1': - resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.24.2': - resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.25.0': - resolution: {integrity: sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-x64@0.23.1': - resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.24.2': - resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.25.0': - resolution: {integrity: sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - - '@esbuild/freebsd-arm64@0.23.1': - resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.24.2': - resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.25.0': - resolution: {integrity: sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.23.1': - resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.24.2': - resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.25.0': - resolution: {integrity: sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - - '@esbuild/linux-arm64@0.23.1': - resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.24.2': - resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.25.0': - resolution: {integrity: sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm@0.23.1': - resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.24.2': - resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.25.0': - resolution: {integrity: sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-ia32@0.23.1': - resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.24.2': - resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.25.0': - resolution: {integrity: sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-loong64@0.23.1': - resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-loong64@0.24.2': - resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-loong64@0.25.0': - resolution: {integrity: sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-mips64el@0.23.1': - resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.24.2': - resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.25.0': - resolution: {integrity: sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-ppc64@0.23.1': - resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.24.2': - resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.25.0': - resolution: {integrity: sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-riscv64@0.23.1': - resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.24.2': - resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.25.0': - resolution: {integrity: sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-s390x@0.23.1': - resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.24.2': - resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.25.0': - resolution: {integrity: sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-x64@0.23.1': - resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.24.2': - resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.25.0': - resolution: {integrity: sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/netbsd-arm64@0.24.2': - resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-arm64@0.25.0': - resolution: {integrity: sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.23.1': - resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.24.2': - resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.25.0': - resolution: {integrity: sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/openbsd-arm64@0.23.1': - resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-arm64@0.24.2': - resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-arm64@0.25.0': - resolution: {integrity: sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.23.1': - resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.24.2': - resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.25.0': - resolution: {integrity: sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/sunos-x64@0.23.1': - resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.24.2': - resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.25.0': - resolution: {integrity: sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/win32-arm64@0.23.1': - resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.24.2': - resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.25.0': - resolution: {integrity: sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-ia32@0.23.1': - resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.24.2': - resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.25.0': - resolution: {integrity: sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-x64@0.23.1': - resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.24.2': - resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.25.0': - resolution: {integrity: sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@eslint-community/eslint-plugin-eslint-comments@4.4.1': - resolution: {integrity: sha512-lb/Z/MzbTf7CaVYM9WCFNQZ4L1yi3ev2fsFPF99h31ljhSEyUoyEsKsNWiU+qD1glbYTDJdqgyaLKtyTkkqtuQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 - - '@eslint-community/eslint-utils@4.4.1': - resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - - '@eslint-community/regexpp@4.12.1': - resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - - '@eslint/compat@1.2.7': - resolution: {integrity: sha512-xvv7hJE32yhegJ8xNAnb62ggiAwTYHBpUCWhRxEj/ksvgDJuSXfoDkBcRYaYNFiJ+jH0IE3K16hd+xXzhBgNbg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^9.10.0 - peerDependenciesMeta: - eslint: - optional: true - - '@eslint/config-array@0.19.2': - resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/core@0.10.0': - resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/core@0.12.0': - resolution: {integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/eslintrc@3.3.0': - resolution: {integrity: sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/js@9.21.0': - resolution: {integrity: sha512-BqStZ3HX8Yz6LvsF5ByXYrtigrV5AXADWLAGc7PH/1SxOb7/FIYYMszZZWiUou/GB9P2lXWk2SV4d+Z8h0nknw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/markdown@6.2.2': - resolution: {integrity: sha512-U0/KgzI9BVUuHDQ9M2fuVgB0QZ1fSyzwm8jKmHr1dlsLHGHYzoeIA9yqLMdTbV3ivZfp6rTdt6zqre3TfNExUQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/object-schema@2.1.6': - resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/plugin-kit@0.2.7': - resolution: {integrity: sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@humanfs/core@0.19.1': - resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} - engines: {node: '>=18.18.0'} - - '@humanfs/node@0.16.6': - resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} - engines: {node: '>=18.18.0'} - - '@humanwhocodes/module-importer@1.0.1': - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - - '@humanwhocodes/retry@0.3.1': - resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} - engines: {node: '>=18.18'} - - '@humanwhocodes/retry@0.4.2': - resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} - engines: {node: '>=18.18'} - - '@iconify/types@2.0.0': - resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - - '@iconify/utils@2.3.0': - resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} - - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} - - '@jridgewell/gen-mapping@0.3.8': - resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} - engines: {node: '>=6.0.0'} - - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - - '@jridgewell/set-array@1.2.1': - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - - '@jridgewell/source-map@0.3.6': - resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} - - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - - '@jridgewell/trace-mapping@0.3.25': - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - - '@one-ini/wasm@0.1.1': - resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} - - '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - - '@pkgr/core@0.1.1': - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - - '@polka/url@1.0.0-next.28': - resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} - - '@rollup/rollup-android-arm-eabi@4.34.8': - resolution: {integrity: sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm64@4.34.8': - resolution: {integrity: sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-darwin-arm64@4.34.8': - resolution: {integrity: sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.34.8': - resolution: {integrity: sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-freebsd-arm64@4.34.8': - resolution: {integrity: sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==} - cpu: [arm64] - os: [freebsd] - - '@rollup/rollup-freebsd-x64@4.34.8': - resolution: {integrity: sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==} - cpu: [x64] - os: [freebsd] - - '@rollup/rollup-linux-arm-gnueabihf@4.34.8': - resolution: {integrity: sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==} - cpu: [arm] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-arm-musleabihf@4.34.8': - resolution: {integrity: sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==} - cpu: [arm] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-arm64-gnu@4.34.8': - resolution: {integrity: sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-arm64-musl@4.34.8': - resolution: {integrity: sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-loongarch64-gnu@4.34.8': - resolution: {integrity: sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==} - cpu: [loong64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-powerpc64le-gnu@4.34.8': - resolution: {integrity: sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-riscv64-gnu@4.34.8': - resolution: {integrity: sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-s390x-gnu@4.34.8': - resolution: {integrity: sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==} - cpu: [s390x] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-x64-gnu@4.34.8': - resolution: {integrity: sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-x64-musl@4.34.8': - resolution: {integrity: sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==} - cpu: [x64] - os: [linux] - libc: [musl] - - '@rollup/rollup-win32-arm64-msvc@4.34.8': - resolution: {integrity: sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-ia32-msvc@4.34.8': - resolution: {integrity: sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.34.8': - resolution: {integrity: sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==} - cpu: [x64] - os: [win32] - - '@stylistic/eslint-plugin@4.0.1': - resolution: {integrity: sha512-RwKkRKiDrF4ptiur54ckDhOByQYKYZ1dEmI5K8BJCmuGpauFJXzVL1UQYTA2zq702CqMFdYiJcVFJWfokIgFxw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: '>=9.0.0' - - '@trysound/sax@0.2.0': - resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} - engines: {node: '>=10.13.0'} - - '@types/debug@4.1.12': - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - - '@types/doctrine@0.0.9': - resolution: {integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==} - - '@types/eslint@9.6.1': - resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} - - '@types/estree@1.0.6': - resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} - - '@types/js-cookie@3.0.6': - resolution: {integrity: sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==} - - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - - '@types/lodash-es@4.17.12': - resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} - - '@types/lodash@4.17.15': - resolution: {integrity: sha512-w/P33JFeySuhN6JLkysYUK2gEmy9kHHFN7E8ro0tkfmlDOgxBDzWEZ/J8cWA+fHqFevpswDTFZnDx+R9lbL6xw==} - - '@types/mdast@4.0.4': - resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} - - '@types/ms@2.1.0': - resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - - '@types/node@22.13.5': - resolution: {integrity: sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==} - - '@types/normalize-package-data@2.4.4': - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - - '@types/nprogress@0.2.3': - resolution: {integrity: sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==} - - '@types/unist@3.0.3': - resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - - '@typescript-eslint/eslint-plugin@8.24.1': - resolution: {integrity: sha512-ll1StnKtBigWIGqvYDVuDmXJHVH4zLVot1yQ4fJtLpL7qacwkxJc1T0bptqw+miBQ/QfUbhl1TcQ4accW5KUyA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' - - '@typescript-eslint/parser@8.24.1': - resolution: {integrity: sha512-Tqoa05bu+t5s8CTZFaGpCH2ub3QeT9YDkXbPd3uQ4SfsLoh1/vv2GEYAioPoxCWJJNsenXlC88tRjwoHNts1oQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' - - '@typescript-eslint/scope-manager@8.24.1': - resolution: {integrity: sha512-OdQr6BNBzwRjNEXMQyaGyZzgg7wzjYKfX2ZBV3E04hUCBDv3GQCHiz9RpqdUIiVrMgJGkXm3tcEh4vFSHreS2Q==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/type-utils@8.24.1': - resolution: {integrity: sha512-/Do9fmNgCsQ+K4rCz0STI7lYB4phTtEXqqCAs3gZW0pnK7lWNkvWd5iW545GSmApm4AzmQXmSqXPO565B4WVrw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' - - '@typescript-eslint/types@8.24.1': - resolution: {integrity: sha512-9kqJ+2DkUXiuhoiYIUvIYjGcwle8pcPpdlfkemGvTObzgmYfJ5d0Qm6jwb4NBXP9W1I5tss0VIAnWFumz3mC5A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/typescript-estree@8.24.1': - resolution: {integrity: sha512-UPyy4MJ/0RE648DSKQe9g0VDSehPINiejjA6ElqnFaFIhI6ZEiZAkUI0D5MCk0bQcTf/LVqZStvQ6K4lPn/BRg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.8.0' - - '@typescript-eslint/utils@8.24.1': - resolution: {integrity: sha512-OOcg3PMMQx9EXspId5iktsI3eMaXVwlhC8BvNnX6B5w9a4dVgpkQZuU8Hy67TolKcl+iFWq0XX+jbDGN4xWxjQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' - - '@typescript-eslint/visitor-keys@8.24.1': - resolution: {integrity: sha512-EwVHlp5l+2vp8CoqJm9KikPZgi3gbdZAtabKT9KPShGeOcJhsv4Zdo3oc8T8I0uKEmYoU4ItyxbptjF08enaxg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@unocss/astro@66.0.0': - resolution: {integrity: sha512-GBhXT6JPqXjDXoJZTXhySk83NgOt0UigChqrUUdG4x7Z+DVYkDBION8vZUJjw0OdIaxNQ4euGWu4GDsMF6gQQg==} - peerDependencies: - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 - peerDependenciesMeta: - vite: - optional: true - - '@unocss/cli@66.0.0': - resolution: {integrity: sha512-KVQiskoOjVkLVpNaG6WpLa4grPplrZROYZJVIUYSTqZyZRFNSvjttHcsCwpoWUEUdEombPtVZl8FrXePjY5IiQ==} - engines: {node: '>=14'} - hasBin: true - - '@unocss/config@65.4.3': - resolution: {integrity: sha512-Z3tnQ10UjM09Y1yVqfCYfZEh2pXFQlUQ1g188mMWxjXWEIXeei3f9dIApRBgC+xcPE6prqdu3fDC5emU+sqyxw==} - engines: {node: '>=14'} - - '@unocss/config@66.0.0': - resolution: {integrity: sha512-nFRGop/guBa4jLkrgXjaRDm5JPz4x3YpP10m5IQkHpHwlnHUVn1L9smyPl04ohYWhYn9ZcAHgR28Ih2jwta8hw==} - engines: {node: '>=14'} - - '@unocss/core@65.4.3': - resolution: {integrity: sha512-luFgdcchSlNrYSaDvU2176T2PPQZdxqfREVbxEXNXlFEgyEFrx5hOSUXoJtJSZjRhAcE6zkWyLDf/JkQJ5Eeyw==} - - '@unocss/core@66.0.0': - resolution: {integrity: sha512-PdVbSMHNDDkr++9nkqzsZRAkaU84gxMTEgYbqI7dt2p1DXp/5tomVtmMsr2/whXGYKRiUc0xZ3p4Pzraz8TcXA==} - - '@unocss/eslint-plugin@65.4.3': - resolution: {integrity: sha512-uK6WpZPy/zJxunw4lh51KjIO370SRAIFlvg/Knh4Kl5214xiJDezKp7F7NATVBx+JqSf7iHYn2qUdB8Z8I7sXg==} - engines: {node: '>=14'} - - '@unocss/extractor-arbitrary-variants@66.0.0': - resolution: {integrity: sha512-vlkOIOuwBfaFBJcN6o7+obXjigjOlzVFN/jT6pG1WXbQDTRZ021jeF3i9INdb9D/0cQHSeDvNgi1TJ5oUxfiow==} - - '@unocss/inspector@66.0.0': - resolution: {integrity: sha512-mkIxieVm0kMOKw+E4ABpIerihYMdjgq9A92RD5h2+W/ebpxTEw5lTTK1xcMLiAlmOrVYMQKjpgPeu3vQmDyGZQ==} - - '@unocss/postcss@66.0.0': - resolution: {integrity: sha512-6bi+ujzh8I1PJwtmHX71LH8z/H9+vPxeYD4XgFihyU1k4Y6MVhjr7giGjLX4yP27IP+NsVyotD22V7by/dBVEA==} - engines: {node: '>=14'} - peerDependencies: - postcss: ^8.4.21 - - '@unocss/preset-attributify@66.0.0': - resolution: {integrity: sha512-eYsOgmcDoiIgGAepIwRX+DKGYxc/wm0r4JnDuZdz29AB+A6oY/FGHS1BVt4rq9ny4B5PofP4p6Rty+vwD9rigw==} - - '@unocss/preset-icons@66.0.0': - resolution: {integrity: sha512-6ObwTvEGuPBbKWRoMMiDioHtwwQTFI5oojFLJ32Y8tW6TdXvBLkO88d7qpgQxEjgVt4nJrqF1WEfR4niRgBm0Q==} - - '@unocss/preset-mini@66.0.0': - resolution: {integrity: sha512-d62eACnuKtR0dwCFOQXgvw5VLh5YSyK56xCzpHkh0j0GstgfDLfKTys0T/XVAAvdSvAy/8A8vhSNJ4PlIc9V2A==} - - '@unocss/preset-rem-to-px@66.0.0': - resolution: {integrity: sha512-rfeH89rtdgVakDsdKksq7AW9lUp4Gdz7KNnrQ6wYkCSUmroAF7vwkKqA6SZbhklLMRNY2ps/O1j75B6FFR8lrA==} - - '@unocss/preset-tagify@66.0.0': - resolution: {integrity: sha512-GGYGyWxaevh0jN0NoATVO1Qe7DFXM3ykLxchlXmG6/zy963pZxItg/njrKnxE9la4seCdxpFH7wQBa68imwwdA==} - - '@unocss/preset-typography@66.0.0': - resolution: {integrity: sha512-apjckP5nPU5mtaHTCzz5u/dK9KJWwJ2kOFCVk0+a/KhUWmnqnzmjRYZlEuWxxr5QxTdCW+9cIoRDSA0lYZS5tg==} - - '@unocss/preset-uno@66.0.0': - resolution: {integrity: sha512-qgoZ/hzTI32bQvcyjcwvv1X/dbPlmQNehzgjUaL7QFT0q0/CN/SRpysfzoQ8DLl2se9T+YCOS9POx3KrpIiYSQ==} - - '@unocss/preset-web-fonts@66.0.0': - resolution: {integrity: sha512-9MzfDc6AJILN4Kq7Z91FfFbizBOYgw3lJd2UwqIs3PDYWG5iH5Zv5zhx6jelZVqEW5uWcIARYEEg2m4stZO1ZA==} - - '@unocss/preset-wind3@66.0.0': - resolution: {integrity: sha512-WAGRmpi1sb2skvYn9DBQUvhfqrJ+VmQmn5ZGsT2ewvsk7HFCvVLAMzZeKrrTQepeNBRhg6HzFDDi8yg6yB5c9g==} - - '@unocss/preset-wind@66.0.0': - resolution: {integrity: sha512-FtvGpHnGC7FiyKJavPnn5y9lsaoWRhXlujCqlT5Bw63kKhMNr0ogKySBpenUhJOhWhVM0OQXn2nZ3GZRxW2qpw==} - - '@unocss/reset@66.0.0': - resolution: {integrity: sha512-YLFz/5yT7mFJC8JSmIUA5+bS3CBCJbtztOw+8rWzjQr/BEVSGuihWUUpI2Df6VVxXIXxKanZR6mIl59yvf+GEA==} - - '@unocss/rule-utils@65.4.3': - resolution: {integrity: sha512-bzRRdb9mb82IvgOt3KiRyUh/njRfJC3hoV84lMyUPryT8YTEP/hl6kt2KQ2l1K3WDz7ZPQXVi2eqUbqc+AUpwg==} - engines: {node: '>=14'} - - '@unocss/rule-utils@66.0.0': - resolution: {integrity: sha512-UJ51YHbwxYTGyj35ugsPlOT4gaa7tCbXdywZ3m5Nn0JgywwIqGmBFyiN9ZjHBHfJuDxmmPd6lxojoBscih/WMQ==} - engines: {node: '>=14'} - - '@unocss/transformer-attributify-jsx@66.0.0': - resolution: {integrity: sha512-jS7szFXXC6RjTv9wo0NACskf618w981bkbyQ5izRO7Ha47sNpHhHDpaltnG7SR9qV4cCtGalOw4onVMHsRKwRg==} - - '@unocss/transformer-compile-class@66.0.0': - resolution: {integrity: sha512-ytUIE0nAcHRMACuTXkHp8auZ483DXrOZw99jk3FJ+aFjpD/pVSFmX14AWJ7bqPFObxb4SLFs6KhQma30ESC22A==} - - '@unocss/transformer-directives@66.0.0': - resolution: {integrity: sha512-utcg7m2Foi7uHrU5WHadNuJ0a3qWG8tZNkQMi+m0DQpX6KWfuDtDn0zDZ1X+z5lmiB3WGSJERRrsvZbj1q50Mw==} - - '@unocss/transformer-variant-group@66.0.0': - resolution: {integrity: sha512-1BLjNWtAnR1JAcQGw0TS+nGrVoB9aznzvVZRoTx23dtRr3btvgKPHb8LrD48eD/p8Dtw9j3WfuxMDKXKegKDLg==} - - '@unocss/vite@66.0.0': - resolution: {integrity: sha512-IVcPX8xL+2edyXKt4tp9yu5A6gcbPVCsspfcL0XgziCr01kS+4qSoZ90F3IUs3hXc/AyO5eCpRtGFMPLpOjXQg==} - peerDependencies: - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 - - '@vant/auto-import-resolver@1.2.1': - resolution: {integrity: sha512-czGWW4UolNITkF3qQSQlpHDHAsI3/GHVKbRMmEEpry7NWdnU4p5a5jBi0VApbaLa5g80Hy10XVs3IB+UozoSUw==} - - '@vant/popperjs@1.3.0': - resolution: {integrity: sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw==} - - '@vant/touch-emulator@1.4.0': - resolution: {integrity: sha512-Zt+zISV0+wpOew2S1siOJ3G22y+hapHAKmXM+FhpvWzsRc4qahaYXatCAITuuXt0EcDp7WvEeTO4F7p9AtX/pw==} - - '@vant/use@1.6.0': - resolution: {integrity: sha512-PHHxeAASgiOpSmMjceweIrv2AxDZIkWXyaczksMoWvKV2YAYEhoizRuk/xFnKF+emUIi46TsQ+rvlm/t2BBCfA==} - peerDependencies: - vue: ^3.0.0 - - '@vitejs/plugin-legacy@6.0.1': - resolution: {integrity: sha512-rMAUn0qXwCemlky7ZmaeP8va5Woz/6yVohDaTu7Wd+Jydi/Z/VmTDBlSOUbYFmfhDaVpV4ppWLiaUOPWqo9H6w==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - peerDependencies: - terser: ^5.16.0 - vite: ^6.0.0 - - '@vitejs/plugin-vue@5.2.1': - resolution: {integrity: sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==} - engines: {node: ^18.0.0 || >=20.0.0} - peerDependencies: - vite: ^5.0.0 || ^6.0.0 - vue: ^3.2.25 - - '@vitest/eslint-plugin@1.1.31': - resolution: {integrity: sha512-xlsLr+e+AXZ/00eVZCtNmMeCJoJaRCoLDiAgLcxgQjSS1EertieB2MUHf8xIqPKs9lECc/UpL+y1xDcpvi02hw==} - peerDependencies: - '@typescript-eslint/utils': '>= 8.0' - eslint: '>= 8.57.0' - typescript: '>= 5.0.0' - vitest: '*' - peerDependenciesMeta: - typescript: - optional: true - vitest: - optional: true - - '@vitest/expect@3.0.6': - resolution: {integrity: sha512-zBduHf/ja7/QRX4HdP1DSq5XrPgdN+jzLOwaTq/0qZjYfgETNFCKf9nOAp2j3hmom3oTbczuUzrzg9Hafh7hNg==} - - '@vitest/mocker@3.0.6': - resolution: {integrity: sha512-KPztr4/tn7qDGZfqlSPQoF2VgJcKxnDNhmfR3VgZ6Fy1bO8T9Fc1stUiTXtqz0yG24VpD00pZP5f8EOFknjNuQ==} - peerDependencies: - msw: ^2.4.9 - vite: ^5.0.0 || ^6.0.0 - peerDependenciesMeta: - msw: - optional: true - vite: - optional: true - - '@vitest/pretty-format@3.0.6': - resolution: {integrity: sha512-Zyctv3dbNL+67qtHfRnUE/k8qxduOamRfAL1BurEIQSyOEFffoMvx2pnDSSbKAAVxY0Ej2J/GH2dQKI0W2JyVg==} - - '@vitest/runner@3.0.6': - resolution: {integrity: sha512-JopP4m/jGoaG1+CBqubV/5VMbi7L+NQCJTu1J1Pf6YaUbk7bZtaq5CX7p+8sY64Sjn1UQ1XJparHfcvTTdu9cA==} - - '@vitest/snapshot@3.0.6': - resolution: {integrity: sha512-qKSmxNQwT60kNwwJHMVwavvZsMGXWmngD023OHSgn873pV0lylK7dwBTfYP7e4URy5NiBCHHiQGA9DHkYkqRqg==} - - '@vitest/spy@3.0.6': - resolution: {integrity: sha512-HfOGx/bXtjy24fDlTOpgiAEJbRfFxoX3zIGagCqACkFKKZ/TTOE6gYMKXlqecvxEndKFuNHcHqP081ggZ2yM0Q==} - - '@vitest/utils@3.0.6': - resolution: {integrity: sha512-18ktZpf4GQFTbf9jK543uspU03Q2qya7ZGya5yiZ0Gx0nnnalBvd5ZBislbl2EhLjM8A8rt4OilqKG7QwcGkvQ==} - - '@volar/language-core@2.4.11': - resolution: {integrity: sha512-lN2C1+ByfW9/JRPpqScuZt/4OrUUse57GLI6TbLgTIqBVemdl1wNcZ1qYGEo2+Gw8coYLgCy7SuKqn6IrQcQgg==} - - '@volar/source-map@2.4.11': - resolution: {integrity: sha512-ZQpmafIGvaZMn/8iuvCFGrW3smeqkq/IIh9F1SdSx9aUl0J4Iurzd6/FhmjNO5g2ejF3rT45dKskgXWiofqlZQ==} - - '@volar/typescript@2.4.11': - resolution: {integrity: sha512-2DT+Tdh88Spp5PyPbqhyoYavYCPDsqbHLFwcUI9K1NlY1YgUJvujGdrqUp0zWxnW7KWNTr3xSpMuv2WnaTKDAw==} - - '@vue/compiler-core@3.5.13': - resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} - - '@vue/compiler-dom@3.5.13': - resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} - - '@vue/compiler-sfc@3.5.13': - resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==} - - '@vue/compiler-ssr@3.5.13': - resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==} - - '@vue/compiler-vue2@2.7.16': - resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} - - '@vue/devtools-api@6.6.4': - resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} - - '@vue/devtools-api@7.7.2': - resolution: {integrity: sha512-1syn558KhyN+chO5SjlZIwJ8bV/bQ1nOVTG66t2RbG66ZGekyiYNmRO7X9BJCXQqPsFHlnksqvPhce2qpzxFnA==} - - '@vue/devtools-kit@7.7.2': - resolution: {integrity: sha512-CY0I1JH3Z8PECbn6k3TqM1Bk9ASWxeMtTCvZr7vb+CHi+X/QwQm5F1/fPagraamKMAHVfuuCbdcnNg1A4CYVWQ==} - - '@vue/devtools-shared@7.7.2': - resolution: {integrity: sha512-uBFxnp8gwW2vD6FrJB8JZLUzVb6PNRG0B0jBnHsOH8uKyva2qINY8PTF5Te4QlTbMDqU5K6qtJDr6cNsKWhbOA==} - - '@vue/language-core@2.2.2': - resolution: {integrity: sha512-QotO41kurE5PLf3vrNgGTk3QswO2PdUFjBwNiOi7zMmGhwb25PSTh9hD1MCgKC06AVv+8sZQvlL3Do4TTVHSiQ==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@vue/reactivity@3.5.13': - resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==} - - '@vue/runtime-core@3.5.13': - resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==} - - '@vue/runtime-dom@3.5.13': - resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==} - - '@vue/server-renderer@3.5.13': - resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==} - peerDependencies: - vue: 3.5.13 - - '@vue/shared@3.5.13': - resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} - - '@vue/test-utils@2.4.6': - resolution: {integrity: sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==} - - abbrev@3.0.0: - resolution: {integrity: sha512-+/kfrslGQ7TNV2ecmQwMJj/B65g5KVq1/L3SGVZ3tCYGqlzFuFCGBZJtMP99wH3NpEUyAjn0zPdPUg0D+DwrOA==} - engines: {node: ^18.17.0 || >=20.5.0} - - acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - - acorn@8.14.0: - resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} - engines: {node: '>=0.4.0'} - hasBin: true - - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - - alien-signals@1.0.4: - resolution: {integrity: sha512-DJqqQD3XcsaQcQ1s+iE2jDUZmmQpXwHiR6fCAim/w87luaW+vmLY8fMlrdkmRwzaFXhkxf3rqPCR59tKVv1MDw==} - - ansi-escapes@7.0.0: - resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} - engines: {node: '>=18'} - - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} - engines: {node: '>=12'} - - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - - ansis@3.16.0: - resolution: {integrity: sha512-sU7d/tfZiYrsIAXbdL/CNZld5bCkruzwT5KmqmadCJYxuLxHAOBjidxD5+iLmN/6xEfjcQq1l7OpsiCBlc4LzA==} - engines: {node: '>=14'} - - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - - are-docs-informative@0.0.2: - resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} - engines: {node: '>=14'} - - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - - assertion-error@2.0.1: - resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} - engines: {node: '>=12'} - - asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - - autoprefixer@10.4.20: - resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} - engines: {node: ^10 || ^12 || >=14} - hasBin: true - peerDependencies: - postcss: ^8.1.0 - - axios@1.7.9: - resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} - - babel-plugin-polyfill-corejs2@0.4.12: - resolution: {integrity: sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-corejs3@0.11.1: - resolution: {integrity: sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-regenerator@0.6.3: - resolution: {integrity: sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - - birpc@0.2.19: - resolution: {integrity: sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==} - - blueimp-canvas-to-blob@3.29.0: - resolution: {integrity: sha512-0pcSSGxC0QxT+yVkivxIqW0Y4VlO2XSDPofBAqoJ1qJxgH9eiUDLv50Rixij2cDuEfx4M6DpD9UGZpRhT5Q8qg==} - - boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} - - browserslist-to-esbuild@2.1.1: - resolution: {integrity: sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==} - engines: {node: '>=18'} - hasBin: true - peerDependencies: - browserslist: '*' - - browserslist@4.24.4: - resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - - builtin-modules@4.0.0: - resolution: {integrity: sha512-p1n8zyCkt1BVrKNFymOHjcDSAl7oq/gUvfgULv2EblgpPVQlQr9yHnWjg9IJ2MhfwPqiYqMMrr01OY7yQoK2yA==} - engines: {node: '>=18.20'} - - bundle-require@5.1.0: - resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - peerDependencies: - esbuild: '>=0.18' - - cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - - call-bind-apply-helpers@1.0.2: - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} - engines: {node: '>= 0.4'} - - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - - caniuse-lite@1.0.30001700: - resolution: {integrity: sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==} - - ccount@2.0.1: - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - - chai@5.2.0: - resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} - engines: {node: '>=12'} - - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - - chalk@5.4.1: - resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - - character-entities@2.0.2: - resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - - check-error@2.1.1: - resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} - engines: {node: '>= 16'} - - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - - ci-info@4.1.0: - resolution: {integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==} - engines: {node: '>=8'} - - clean-regexp@1.0.0: - resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} - engines: {node: '>=4'} - - cli-cursor@5.0.0: - resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} - engines: {node: '>=18'} - - cli-truncate@4.0.0: - resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} - engines: {node: '>=18'} - - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - - combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - - commander@10.0.1: - resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} - engines: {node: '>=14'} - - commander@13.1.0: - resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} - engines: {node: '>=18'} - - commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - - commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} - - comment-parser@1.4.1: - resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} - engines: {node: '>= 12.0.0'} - - compressorjs@1.2.1: - resolution: {integrity: sha512-+geIjeRnPhQ+LLvvA7wxBQE5ddeLU7pJ3FsKFWirDw6veY3s9iLxAQEw7lXGHnhCJvBujEQWuNnGzZcvCvdkLQ==} - - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - - confbox@0.1.8: - resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} - - config-chain@1.1.13: - resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} - - consola@3.4.0: - resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==} - engines: {node: ^14.18.0 || >=16.10.0} - - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - - copy-anything@3.0.5: - resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} - engines: {node: '>=12.13'} - - copy-text-to-clipboard@3.2.0: - resolution: {integrity: sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==} - engines: {node: '>=12'} - - core-js-compat@3.40.0: - resolution: {integrity: sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==} - - core-js@3.40.0: - resolution: {integrity: sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==} - - cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} - - css-select@5.1.0: - resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} - - css-tree@2.2.1: - resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - - css-tree@2.3.1: - resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - - css-tree@3.1.0: - resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - - css-what@6.1.0: - resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} - engines: {node: '>= 6'} - - cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true - - csso@5.0.5: - resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - - csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - - dayjs@1.11.13: - resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} - - de-indent@1.0.2: - resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} - - debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@4.4.0: - resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - decode-named-character-reference@1.0.2: - resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} - - deep-eql@5.0.2: - resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} - engines: {node: '>=6'} - - deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - - defu@6.1.4: - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - - delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - - dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} - - destr@2.0.3: - resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} - - devlop@1.1.0: - resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - - dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - - domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - - domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} - - domutils@3.2.2: - resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} - - dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} - - duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - - editorconfig@1.0.4: - resolution: {integrity: sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==} - engines: {node: '>=14'} - hasBin: true - - electron-to-chromium@1.5.103: - resolution: {integrity: sha512-P6+XzIkfndgsrjROJWfSvVEgNHtPgbhVyTkwLjUM2HU/h7pZRORgaTlHqfAikqxKmdJMLW8fftrdGWbd/Ds0FA==} - - emoji-regex@10.4.0: - resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} - - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - - enhanced-resolve@5.18.1: - resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} - engines: {node: '>=10.13.0'} - - entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - - environment@1.1.0: - resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} - engines: {node: '>=18'} - - es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} - engines: {node: '>= 0.4'} - - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - - es-module-lexer@1.6.0: - resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} - - es-object-atoms@1.1.1: - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} - engines: {node: '>= 0.4'} - - es-set-tostringtag@2.1.0: - resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} - engines: {node: '>= 0.4'} - - esbuild@0.23.1: - resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} - engines: {node: '>=18'} - hasBin: true - - esbuild@0.24.2: - resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} - engines: {node: '>=18'} - hasBin: true - - esbuild@0.25.0: - resolution: {integrity: sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==} - engines: {node: '>=18'} - hasBin: true - - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} - - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - - escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - - escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} - - eslint-compat-utils@0.5.1: - resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==} - engines: {node: '>=12'} - peerDependencies: - eslint: '>=6.0.0' - - eslint-compat-utils@0.6.4: - resolution: {integrity: sha512-/u+GQt8NMfXO8w17QendT4gvO5acfxQsAKirAt0LVxDnr2N8YLCVbregaNc/Yhp7NM128DwCaRvr8PLDfeNkQw==} - engines: {node: '>=12'} - peerDependencies: - eslint: '>=6.0.0' - - eslint-config-flat-gitignore@2.1.0: - resolution: {integrity: sha512-cJzNJ7L+psWp5mXM7jBX+fjHtBvvh06RBlcweMhKD8jWqQw0G78hOW5tpVALGHGFPsBV+ot2H+pdDGJy6CV8pA==} - peerDependencies: - eslint: ^9.5.0 - - eslint-flat-config-utils@2.0.1: - resolution: {integrity: sha512-brf0eAgQ6JlKj3bKfOTuuI7VcCZvi8ZCD1MMTVoEvS/d38j8cByZViLFALH/36+eqB17ukmfmKq3bWzGvizejA==} - - eslint-formatting-reporter@0.0.0: - resolution: {integrity: sha512-k9RdyTqxqN/wNYVaTk/ds5B5rA8lgoAmvceYN7bcZMBwU7TuXx5ntewJv81eF3pIL/CiJE+pJZm36llG8yhyyw==} - peerDependencies: - eslint: '>=8.40.0' - - eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - - eslint-json-compat-utils@0.2.1: - resolution: {integrity: sha512-YzEodbDyW8DX8bImKhAcCeu/L31Dd/70Bidx2Qex9OFUtgzXLqtfWL4Hr5fM/aCCB8QUZLuJur0S9k6UfgFkfg==} - engines: {node: '>=12'} - peerDependencies: - '@eslint/json': '*' - eslint: '*' - jsonc-eslint-parser: ^2.4.0 - peerDependenciesMeta: - '@eslint/json': - optional: true - - eslint-merge-processors@2.0.0: - resolution: {integrity: sha512-sUuhSf3IrJdGooquEUB5TNpGNpBoQccbnaLHsb1XkBLUPPqCNivCpY05ZcpCOiV9uHwO2yxXEWVczVclzMxYlA==} - peerDependencies: - eslint: '*' - - eslint-parser-plain@0.1.1: - resolution: {integrity: sha512-KRgd6wuxH4U8kczqPp+Oyk4irThIhHWxgFgLDtpgjUGVIS3wGrJntvZW/p6hHq1T4FOwnOtCNkvAI4Kr+mQ/Hw==} - - eslint-plugin-antfu@3.1.0: - resolution: {integrity: sha512-BKlJcpIG8OGyU5JwQCdyTGaLuRgItheEYinhNroCx3bcuz2bCSYK0eNzJvPy2TY8yyz0uSSRxr5KHuQ1WOdOKg==} - peerDependencies: - eslint: '*' - - eslint-plugin-command@3.1.0: - resolution: {integrity: sha512-KLgxB8NMQ0iL7iwehyeqWVE7MaqRPwLTGW4d2CXYOj5tt4j6yU/hiNxQ/35FLq4SnMhv+tpE6FCvYbV4VS+BLw==} - peerDependencies: - eslint: '*' - - eslint-plugin-es-x@7.8.0: - resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - eslint: '>=8' - - eslint-plugin-format@1.0.1: - resolution: {integrity: sha512-Tdns+CDjS+m7QrM85wwRi2yLae88XiWVdIOXjp9mDII0pmTBQlczPCmjpKnjiUIY3yPZNLqb5Ms/A/JXcBF2Dw==} - peerDependencies: - eslint: ^8.40.0 || ^9.0.0 - - eslint-plugin-import-x@4.6.1: - resolution: {integrity: sha512-wluSUifMIb7UfwWXqx7Yx0lE/SGCcGXECLx/9bCmbY2nneLwvAZ4vkd1IXDjPKFvdcdUgr1BaRnaRpx3k2+Pfw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - - eslint-plugin-jsdoc@50.6.3: - resolution: {integrity: sha512-NxbJyt1M5zffPcYZ8Nb53/8nnbIScmiLAMdoe0/FAszwb7lcSiX3iYBTsuF7RV84dZZJC8r3NghomrUXsmWvxQ==} - engines: {node: '>=18'} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - - eslint-plugin-jsonc@2.19.1: - resolution: {integrity: sha512-MmlAOaZK1+Lg7YoCZPGRjb88ZjT+ct/KTsvcsbZdBm+w8WMzGx+XEmexk0m40P1WV9G2rFV7X3klyRGRpFXEjA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0' - - eslint-plugin-n@17.15.1: - resolution: {integrity: sha512-KFw7x02hZZkBdbZEFQduRGH4VkIH4MW97ClsbAM4Y4E6KguBJWGfWG1P4HEIpZk2bkoWf0bojpnjNAhYQP8beA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: '>=8.23.0' - - eslint-plugin-no-only-tests@3.3.0: - resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==} - engines: {node: '>=5.0.0'} - - eslint-plugin-perfectionist@4.9.0: - resolution: {integrity: sha512-76lDfJnonOcXGW3bEXuqhEGId0LrOlvIE1yLHvK/eKMMPOc0b43KchAIR2Bdbqlg+LPXU5/Q+UzuzkO+cWHT6w==} - engines: {node: ^18.0.0 || >=20.0.0} - peerDependencies: - eslint: '>=8.0.0' - - eslint-plugin-regexp@2.7.0: - resolution: {integrity: sha512-U8oZI77SBtH8U3ulZ05iu0qEzIizyEDXd+BWHvyVxTOjGwcDcvy/kEpgFG4DYca2ByRLiVPFZ2GeH7j1pdvZTA==} - engines: {node: ^18 || >=20} - peerDependencies: - eslint: '>=8.44.0' - - eslint-plugin-toml@0.12.0: - resolution: {integrity: sha512-+/wVObA9DVhwZB1nG83D2OAQRrcQZXy+drqUnFJKymqnmbnbfg/UPmEMCKrJNcEboUGxUjYrJlgy+/Y930mURQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0' - - eslint-plugin-unicorn@57.0.0: - resolution: {integrity: sha512-zUYYa6zfNdTeG9BISWDlcLmz16c+2Ck2o5ZDHh0UzXJz3DEP7xjmlVDTzbyV0W+XksgZ0q37WEWzN2D2Ze+g9Q==} - engines: {node: '>=18.18'} - peerDependencies: - eslint: '>=9.20.0' - - eslint-plugin-unused-imports@4.1.4: - resolution: {integrity: sha512-YptD6IzQjDardkl0POxnnRBhU1OEePMV0nd6siHaRBbd+lyh6NAhFEobiznKU7kTsSsDeSD62Pe7kAM1b7dAZQ==} - peerDependencies: - '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0 - eslint: ^9.0.0 || ^8.0.0 - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - - eslint-plugin-vue@9.32.0: - resolution: {integrity: sha512-b/Y05HYmnB/32wqVcjxjHZzNpwxj1onBOvqW89W+V+XNG1dRuaFbNd3vT9CLbr2LXjEoq+3vn8DanWf7XU22Ug==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 - - eslint-plugin-yml@1.17.0: - resolution: {integrity: sha512-Q3LXFRnNpGYAK/PM0BY1Xs0IY1xTLfM0kC986nNQkx1l8tOGz+YS50N6wXkAJkrBpeUN9OxEMB7QJ+9MTDAqIQ==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0' - - eslint-processor-vue-blocks@2.0.0: - resolution: {integrity: sha512-u4W0CJwGoWY3bjXAuFpc/b6eK3NQEI8MoeW7ritKj3G3z/WtHrKjkqf+wk8mPEy5rlMGS+k6AZYOw2XBoN/02Q==} - peerDependencies: - '@vue/compiler-sfc': ^3.3.0 - eslint: '>=9.0.0' - - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint-scope@8.2.0: - resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint-visitor-keys@4.2.0: - resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - eslint@9.21.0: - resolution: {integrity: sha512-KjeihdFqTPhOMXTt7StsDxriV4n66ueuF/jfPNC3j/lduHwr/ijDwJMsF+wyMJethgiKi5wniIE243vi07d3pg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - hasBin: true - peerDependencies: - jiti: '*' - peerDependenciesMeta: - jiti: - optional: true - - espree@10.3.0: - resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} - engines: {node: '>=0.10'} - - esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - - estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - - estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - - estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - - esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - - eventemitter3@5.0.1: - resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} - - execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - - expect-type@1.1.0: - resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} - engines: {node: '>=12.0.0'} - - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - - fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} - - fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - - fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - - fastq@1.19.0: - resolution: {integrity: sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==} - - fdir@6.4.3: - resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - - file-entry-cache@8.0.0: - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} - engines: {node: '>=16.0.0'} - - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} - - find-up-simple@1.0.0: - resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} - engines: {node: '>=18'} - - find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - - flat-cache@4.0.1: - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} - engines: {node: '>=16'} - - flatted@3.3.3: - resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} - - follow-redirects@1.15.9: - resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - - foreground-child@3.3.0: - resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} - engines: {node: '>=14'} - - form-data@4.0.2: - resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} - engines: {node: '>= 6'} - - fraction.js@4.3.7: - resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - - get-east-asian-width@1.3.0: - resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} - engines: {node: '>=18'} - - get-intrinsic@1.2.7: - resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==} - engines: {node: '>= 0.4'} - - get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} - engines: {node: '>= 0.4'} - - get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - - get-tsconfig@4.10.0: - resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} - - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - - glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - - glob@10.4.5: - resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} - hasBin: true - - globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - - globals@14.0.0: - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} - engines: {node: '>=18'} - - globals@15.15.0: - resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} - engines: {node: '>=18'} - - gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} - - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - - gzip-size@6.0.0: - resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} - engines: {node: '>=10'} - - happy-dom@17.1.2: - resolution: {integrity: sha512-5E8yneWaJwliTPlN1gGVKrmwRRfAg54yiChOjR3vjdTr0+b8mdbZsqPh8MRRvZfQHqaBJmrJvjmoAXFcL4LXLQ==} - engines: {node: '>=18.0.0'} - - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} - - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} - - he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - - hookable@5.5.3: - resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} - - hosted-git-info@7.0.2: - resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} - engines: {node: ^16.14.0 || >=18.0.0} - - human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - - husky@9.1.7: - resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} - engines: {node: '>=18'} - hasBin: true - - ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} - engines: {node: '>= 4'} - - immutable@4.3.7: - resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} - - import-fresh@3.3.1: - resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} - engines: {node: '>=6'} - - importx@0.5.2: - resolution: {integrity: sha512-YEwlK86Ml5WiTxN/ECUYC5U7jd1CisAVw7ya4i9ZppBoHfFkT2+hChhr3PE2fYxUKLkNyivxEQpa5Ruil1LJBQ==} - - imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - - indent-string@5.0.0: - resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} - engines: {node: '>=12'} - - index-to-position@0.1.2: - resolution: {integrity: sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==} - engines: {node: '>=18'} - - ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - - is-blob@2.1.0: - resolution: {integrity: sha512-SZ/fTft5eUhQM6oF/ZaASFDEdbFVe89Imltn9uZr03wdKMcWNVYSMjQPFtg05QuNkt5l5c135ElvXEQG0rk4tw==} - engines: {node: '>=6'} - - is-builtin-module@4.0.0: - resolution: {integrity: sha512-rWP3AMAalQSesXO8gleROyL2iKU73SX5Er66losQn9rWOWL4Gef0a/xOEOVqjWGMuR2vHG3FJ8UUmT700O8oFg==} - engines: {node: '>=18.20'} - - is-core-module@2.16.1: - resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} - engines: {node: '>= 0.4'} - - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - - is-fullwidth-code-point@5.0.0: - resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} - engines: {node: '>=18'} - - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - is-what@4.1.16: - resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} - engines: {node: '>=12.13'} - - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - - jiti@2.4.2: - resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} - hasBin: true - - js-beautify@1.15.3: - resolution: {integrity: sha512-rKKGuyTxGNlyN4EQKWzNndzXpi0bOl8Gl8YQAW1as/oMz0XhD6sHJO1hTvoBDOSzKuJb9WkwoAb34FfdkKMv2A==} - engines: {node: '>=14'} - hasBin: true - - js-cookie@3.0.5: - resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==} - engines: {node: '>=14'} - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - js-tokens@9.0.1: - resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} - - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - - jsdoc-type-pratt-parser@4.1.0: - resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} - engines: {node: '>=12.0.0'} - - jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} - hasBin: true - - jsesc@3.1.0: - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} - engines: {node: '>=6'} - hasBin: true - - json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - - json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - - jsonc-eslint-parser@2.4.0: - resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - - kolorist@1.8.0: - resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - - levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - - lilconfig@3.1.3: - resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} - engines: {node: '>=14'} - - lint-staged@15.4.3: - resolution: {integrity: sha512-FoH1vOeouNh1pw+90S+cnuoFwRfUD9ijY2GKy5h7HS3OR7JVir2N2xrsa0+Twc1B7cW72L+88geG5cW4wIhn7g==} - engines: {node: '>=18.12.0'} - hasBin: true - - listr2@8.2.5: - resolution: {integrity: sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==} - engines: {node: '>=18.0.0'} - - load-tsconfig@0.2.5: - resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - local-pkg@1.0.0: - resolution: {integrity: sha512-bbgPw/wmroJsil/GgL4qjDzs5YLTBMQ99weRsok1XCDccQeehbHA/I1oRvk2NPtr7KGZgT/Y5tPRnAtMqeG2Kg==} - engines: {node: '>=14'} - - locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - - lodash-es@4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - - lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - - log-update@6.1.0: - resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} - engines: {node: '>=18'} - - longest-streak@3.1.0: - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - - loupe@3.1.3: - resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} - - lru-cache@10.4.3: - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - - magic-string@0.30.17: - resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} - - markdown-table@3.0.4: - resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - - math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} - - mdast-util-find-and-replace@3.0.2: - resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} - - mdast-util-from-markdown@2.0.2: - resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} - - mdast-util-gfm-autolink-literal@2.0.1: - resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} - - mdast-util-gfm-footnote@2.1.0: - resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} - - mdast-util-gfm-strikethrough@2.0.0: - resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} - - mdast-util-gfm-table@2.0.0: - resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} - - mdast-util-gfm-task-list-item@2.0.0: - resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} - - mdast-util-gfm@3.1.0: - resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} - - mdast-util-phrasing@4.1.0: - resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} - - mdast-util-to-markdown@2.1.2: - resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} - - mdast-util-to-string@4.0.0: - resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} - - mdn-data@2.0.28: - resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} - - mdn-data@2.0.30: - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - - mdn-data@2.12.2: - resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} - - meow@13.2.0: - resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} - engines: {node: '>=18'} - - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - micromark-core-commonmark@2.0.2: - resolution: {integrity: sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==} - - micromark-extension-gfm-autolink-literal@2.1.0: - resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} - - micromark-extension-gfm-footnote@2.1.0: - resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} - - micromark-extension-gfm-strikethrough@2.1.0: - resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} - - micromark-extension-gfm-table@2.1.1: - resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} - - micromark-extension-gfm-tagfilter@2.0.0: - resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} - - micromark-extension-gfm-task-list-item@2.1.0: - resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} - - micromark-extension-gfm@3.0.0: - resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} - - micromark-factory-destination@2.0.1: - resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} - - micromark-factory-label@2.0.1: - resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} - - micromark-factory-space@2.0.1: - resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} - - micromark-factory-title@2.0.1: - resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} - - micromark-factory-whitespace@2.0.1: - resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} - - micromark-util-character@2.1.1: - resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} - - micromark-util-chunked@2.0.1: - resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} - - micromark-util-classify-character@2.0.1: - resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} - - micromark-util-combine-extensions@2.0.1: - resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} - - micromark-util-decode-numeric-character-reference@2.0.2: - resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} - - micromark-util-decode-string@2.0.1: - resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} - - micromark-util-encode@2.0.1: - resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} - - micromark-util-html-tag-name@2.0.1: - resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} - - micromark-util-normalize-identifier@2.0.1: - resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} - - micromark-util-resolve-all@2.0.1: - resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} - - micromark-util-sanitize-uri@2.0.1: - resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} - - micromark-util-subtokenize@2.0.4: - resolution: {integrity: sha512-N6hXjrin2GTJDe3MVjf5FuXpm12PGm80BrUAeub9XFXca8JZbP+oIwY4LJSVwFUCL1IPm/WwSVUN7goFHmSGGQ==} - - micromark-util-symbol@2.0.1: - resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - - micromark-util-types@2.0.1: - resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==} - - micromark@4.0.1: - resolution: {integrity: sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==} - - micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} - - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - - mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - - mimic-function@5.0.1: - resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} - engines: {node: '>=18'} - - min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - - minimatch@9.0.1: - resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} - engines: {node: '>=16 || 14 >=14.17'} - - minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} - engines: {node: '>=16 || 14 >=14.17'} - - minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} - engines: {node: '>=16 || 14 >=14.17'} - - mitt@3.0.1: - resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - - mlly@1.7.4: - resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} - - mrmime@2.0.1: - resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} - engines: {node: '>=10'} - - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - - muggle-string@0.4.1: - resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} - - mutation-observer@1.0.3: - resolution: {integrity: sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA==} - - nanoid@3.3.8: - resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - - natural-orderby@5.0.0: - resolution: {integrity: sha512-kKHJhxwpR/Okycz4HhQKKlhWe4ASEfPgkSWNmKFHd7+ezuQlxkA5cM3+XkBPvm1gmHen3w53qsYAv+8GwRrBlg==} - engines: {node: '>=18'} - - node-fetch-native@1.6.6: - resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==} - - node-releases@2.0.19: - resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - - nopt@8.1.0: - resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==} - engines: {node: ^18.17.0 || >=20.5.0} - hasBin: true - - normalize-package-data@6.0.2: - resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} - engines: {node: ^16.14.0 || >=18.0.0} - - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - normalize-range@0.1.2: - resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} - engines: {node: '>=0.10.0'} - - normalize.css@8.0.1: - resolution: {integrity: sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==} - - npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - nprogress@0.2.0: - resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} - - nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - - ofetch@1.4.1: - resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} - - onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - - onetime@7.0.0: - resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} - engines: {node: '>=18'} - - optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} - engines: {node: '>= 0.8.0'} - - p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - - p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - - package-json-from-dist@1.0.1: - resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - - package-manager-detector@0.2.9: - resolution: {integrity: sha512-+vYvA/Y31l8Zk8dwxHhL3JfTuHPm6tlxM2A3GeQyl7ovYnSp1+mzAxClxaOr0qO1TtPxbQxetI7v5XqKLJZk7Q==} - - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - - parse-gitignore@2.0.0: - resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} - engines: {node: '>=14'} - - parse-imports@2.2.1: - resolution: {integrity: sha512-OL/zLggRp8mFhKL0rNORUTR4yBYujK/uU+xZL+/0Rgm2QE4nLO9v8PzEweSJEbMGKmDRjJE4R3IMJlL2di4JeQ==} - engines: {node: '>= 18'} - - parse-json@8.1.0: - resolution: {integrity: sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==} - engines: {node: '>=18'} - - path-browserify@1.0.1: - resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} - - path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - - path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} - - pathe@2.0.3: - resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - - pathval@2.0.0: - resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} - engines: {node: '>= 14.16'} - - perfect-debounce@1.0.0: - resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} - - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - picomatch@4.0.2: - resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} - engines: {node: '>=12'} - - pidtree@0.6.0: - resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} - engines: {node: '>=0.10'} - hasBin: true - - pinia@3.0.1: - resolution: {integrity: sha512-WXglsDzztOTH6IfcJ99ltYZin2mY8XZCXujkYWVIJlBjqsP6ST7zw+Aarh63E1cDVYeyUcPCxPHzJpEOmzB6Wg==} - peerDependencies: - typescript: '>=4.4.4' - vue: ^2.7.0 || ^3.5.11 - peerDependenciesMeta: - typescript: - optional: true - - pkg-types@1.3.1: - resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - - pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} - - postcss-mobile-forever@4.4.0: - resolution: {integrity: sha512-uv+GJL9QwaUhGYDSDWEcGFZ9HNylts+0yYFYzTOTetBNJBi9jEBEqygP2Q2vX1SHPRuXA6pOlN0RMYI5AWWKKQ==} - peerDependencies: - postcss: ^8.0.0 - - postcss-selector-parser@6.1.2: - resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} - engines: {node: '>=4'} - - postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - - postcss@8.5.3: - resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} - engines: {node: ^10 || ^12 || >=14} - - prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - - prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} - - prettier@3.5.2: - resolution: {integrity: sha512-lc6npv5PH7hVqozBR7lkBNOGXV9vMwROAPlumdBkX0wTbbzPu/U1hk5yL8p2pt4Xoc+2mkT8t/sow2YrV/M5qg==} - engines: {node: '>=14'} - hasBin: true - - proto-list@1.2.4: - resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} - - proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - - punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - read-package-up@11.0.0: - resolution: {integrity: sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==} - engines: {node: '>=18'} - - read-pkg@9.0.1: - resolution: {integrity: sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==} - engines: {node: '>=18'} - - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - - refa@0.12.1: - resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - - regenerate-unicode-properties@10.2.0: - resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} - engines: {node: '>=4'} - - regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - - regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - - regenerator-transform@0.15.2: - resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} - - regexp-ast-analysis@0.7.1: - resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - - regexp-tree@0.1.27: - resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} - hasBin: true - - regexpu-core@6.2.0: - resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==} - engines: {node: '>=4'} - - regjsgen@0.8.0: - resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - - regjsparser@0.12.0: - resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} - hasBin: true - - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - - resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - - resolve@1.22.10: - resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} - engines: {node: '>= 0.4'} - hasBin: true - - restore-cursor@5.1.0: - resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} - engines: {node: '>=18'} - - reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - rfdc@1.4.1: - resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - - rollup@4.34.8: - resolution: {integrity: sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - - sass@1.78.0: - resolution: {integrity: sha512-AaIqGSrjo5lA2Yg7RvFZrlXDBCp3nV4XP73GrLGvdRWWwk+8H3l0SDvq/5bA4eF+0RFPLuWUk3E+P1U/YqnpsQ==} - engines: {node: '>=14.0.0'} - hasBin: true - - scslre@0.3.0: - resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==} - engines: {node: ^14.0.0 || >=16.0.0} - - scule@1.3.0: - resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} - - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - semver@7.7.1: - resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} - engines: {node: '>=10'} - hasBin: true - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - - signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - - sirv@3.0.1: - resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==} - engines: {node: '>=18'} - - sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - - slashes@3.0.12: - resolution: {integrity: sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==} - - slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} - - slice-ansi@7.1.0: - resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} - engines: {node: '>=18'} - - source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} - - source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - - spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - - spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - - spdx-expression-parse@4.0.0: - resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} - - spdx-license-ids@3.0.21: - resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} - - speakingurl@14.0.1: - resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} - engines: {node: '>=0.10.0'} - - stable-hash@0.0.4: - resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} - - stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - - std-env@3.8.0: - resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} - - string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - - string-width@7.2.0: - resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} - engines: {node: '>=18'} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - - strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - - strip-indent@4.0.0: - resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} - engines: {node: '>=12'} - - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - strip-literal@3.0.0: - resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} - - superjson@2.2.2: - resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==} - engines: {node: '>=16'} - - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - svgo@3.3.2: - resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==} - engines: {node: '>=14.0.0'} - hasBin: true - - synckit@0.6.2: - resolution: {integrity: sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==} - engines: {node: '>=12.20'} - - synckit@0.9.2: - resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} - engines: {node: ^14.18.0 || >=16.0.0} - - systemjs@6.15.1: - resolution: {integrity: sha512-Nk8c4lXvMB98MtbmjX7JwJRgJOL8fluecYCfCeYBznwmpOs8Bf15hLM6z4z71EDAhQVrQrI+wt1aLWSXZq+hXA==} - - tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - - terser@5.39.0: - resolution: {integrity: sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==} - engines: {node: '>=10'} - hasBin: true - - tinybench@2.9.0: - resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - - tinyexec@0.3.2: - resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - - tinyglobby@0.2.12: - resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} - engines: {node: '>=12.0.0'} - - tinypool@1.0.2: - resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} - engines: {node: ^18.0.0 || >=20.0.0} - - tinyrainbow@2.0.0: - resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} - engines: {node: '>=14.0.0'} - - tinyspy@3.0.2: - resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} - engines: {node: '>=14.0.0'} - - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - toml-eslint-parser@0.10.0: - resolution: {integrity: sha512-khrZo4buq4qVmsGzS5yQjKe/WsFvV8fGfOjDQN0q4iy9FjRfPWRgTFrU8u1R2iu/SfWLhY9WnCi4Jhdrcbtg+g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - totalist@3.0.1: - resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} - engines: {node: '>=6'} - - ts-api-utils@2.0.1: - resolution: {integrity: sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==} - engines: {node: '>=18.12'} - peerDependencies: - typescript: '>=4.8.4' - - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - - tsx@4.19.2: - resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==} - engines: {node: '>=18.0.0'} - hasBin: true - - type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - - type-fest@4.35.0: - resolution: {integrity: sha512-2/AwEFQDFEy30iOLjrvHDIH7e4HEWH+f1Yl1bI5XMqzuoCUqwYCdxachgsgv0og/JdVZUhbfjcJAoHj5L1753A==} - engines: {node: '>=16'} - - typescript@5.7.3: - resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} - engines: {node: '>=14.17'} - hasBin: true - - ufo@1.5.4: - resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} - - unconfig@0.6.1: - resolution: {integrity: sha512-cVU+/sPloZqOyJEAfNwnQSFCzFrZm85vcVkryH7lnlB/PiTycUkAjt5Ds79cfIshGOZ+M5v3PBDnKgpmlE5DtA==} - - unconfig@7.0.0: - resolution: {integrity: sha512-G5CJSoG6ZTxgzCJblEfgpdRK2tos9+UdD2WtecDUVfImzQ0hFjwpH5RVvGMhP4pRpC9ML7NrC4qBsBl0Ttj35A==} - - undici-types@6.20.0: - resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} - - unicode-canonical-property-names-ecmascript@2.0.1: - resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} - engines: {node: '>=4'} - - unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} - - unicode-match-property-value-ecmascript@2.2.0: - resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} - engines: {node: '>=4'} - - unicode-property-aliases-ecmascript@2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} - engines: {node: '>=4'} - - unicorn-magic@0.1.0: - resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} - engines: {node: '>=18'} - - unimport@4.1.2: - resolution: {integrity: sha512-oVUL7PSlyVV3QRhsdcyYEMaDX8HJyS/CnUonEJTYA3//bWO+o/4gG8F7auGWWWkrrxBQBYOO8DKe+C53ktpRXw==} - engines: {node: '>=18.12.0'} - - unist-util-is@6.0.0: - resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} - - unist-util-stringify-position@4.0.0: - resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - - unist-util-visit-parents@6.0.1: - resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} - - unist-util-visit@5.0.0: - resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} - - unocss@66.0.0: - resolution: {integrity: sha512-SHstiv1s7zGPSjzOsADzlwRhQM+6817+OqQE3Fv+N/nn2QLNx1bi3WXybFfz5tWkzBtyTZlwdPmeecsIs1yOCA==} - engines: {node: '>=14'} - peerDependencies: - '@unocss/webpack': 66.0.0 - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 - peerDependenciesMeta: - '@unocss/webpack': - optional: true - vite: - optional: true - - unplugin-auto-import@19.1.0: - resolution: {integrity: sha512-B+TGBEBHqY9aR+7YfShfLujETOHstzpV+yaqgy5PkfV0QG7Py+TYMX7vJ9W4SrysHR+UzR+gzcx/nuZjmPeclA==} - engines: {node: '>=14'} - peerDependencies: - '@nuxt/kit': ^3.2.2 - '@vueuse/core': '*' - peerDependenciesMeta: - '@nuxt/kit': - optional: true - '@vueuse/core': - optional: true - - unplugin-utils@0.2.4: - resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==} - engines: {node: '>=18.12.0'} - - unplugin-vue-components@28.4.0: - resolution: {integrity: sha512-fnamX2RiKM30nPK4tihEas+bHnbLICo6MmOiP4jGg7fAlgNEuaLvN9yx96JwZDOYfLQcrNzikDdPhZ8k6pkhMg==} - engines: {node: '>=14'} - peerDependencies: - '@babel/parser': ^7.15.8 - '@nuxt/kit': ^3.2.2 - vue: 2 || 3 - peerDependenciesMeta: - '@babel/parser': - optional: true - '@nuxt/kit': - optional: true - - unplugin@2.2.0: - resolution: {integrity: sha512-m1ekpSwuOT5hxkJeZGRxO7gXbXT3gF26NjQ7GdVHoLoF8/nopLcd/QfPigpCy7i51oFHiRJg/CyHhj4vs2+KGw==} - engines: {node: '>=18.12.0'} - - update-browserslist-db@1.1.2: - resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - - vant@4.9.17: - resolution: {integrity: sha512-so/plH9G4au9rUrqy7yLB1slmZqY2Ub3Gq8ckMSQXbUEwTzmViVjEDqh/hNck/XELxwL+gIy2hLXiSgVcf2EBQ==} - peerDependencies: - vue: ^3.0.0 - - vconsole@3.15.1: - resolution: {integrity: sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==} - - vite-node@3.0.6: - resolution: {integrity: sha512-s51RzrTkXKJrhNbUzQRsarjmAae7VmMPAsRT7lppVpIg6mK3zGthP9Hgz0YQQKuNcF+Ii7DfYk3Fxz40jRmePw==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - - vite-svg-loader@5.1.0: - resolution: {integrity: sha512-M/wqwtOEjgb956/+m5ZrYT/Iq6Hax0OakWbokj8+9PXOnB7b/4AxESHieEtnNEy7ZpjsjYW1/5nK8fATQMmRxw==} - peerDependencies: - vue: '>=3.2.13' - - vite@6.1.1: - resolution: {integrity: sha512-4GgM54XrwRfrOp297aIYspIti66k56v16ZnqHvrIM7mG+HjDlAwS7p+Srr7J6fGvEdOJ5JcQ/D9T7HhtdXDTzA==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - jiti: '>=1.21.0' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - sass-embedded: '*' - stylus: '*' - sugarss: '*' - terser: ^5.16.0 - tsx: ^4.8.1 - yaml: ^2.4.2 - peerDependenciesMeta: - '@types/node': - optional: true - jiti: - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - tsx: - optional: true - yaml: - optional: true - - vitest@3.0.6: - resolution: {integrity: sha512-/iL1Sc5VeDZKPDe58oGK4HUFLhw6b5XdY1MYawjuSaDA4sEfYlY9HnS6aCEG26fX+MgUi7MwlduTBHHAI/OvMA==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/debug': ^4.1.12 - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.0.6 - '@vitest/ui': 3.0.6 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/debug': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - - vscode-uri@3.1.0: - resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} - - vue-component-type-helpers@2.2.2: - resolution: {integrity: sha512-6lLY+n2xz2kCYshl59mL6gy8OUUTmkscmDFMO8i7Lj+QKwgnIFUZmM1i/iTYObtrczZVdw7UakPqDTGwVSGaRg==} - - vue-eslint-parser@9.4.3: - resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0' - - vue-flow-layout@0.1.1: - resolution: {integrity: sha512-JdgRRUVrN0Y2GosA0M68DEbKlXMqJ7FQgsK8CjQD2vxvNSqAU6PZEpi4cfcTVtfM2GVOMjHo7GKKLbXxOBqDqA==} - peerDependencies: - vue: ^3.4.37 - - vue-router@4.5.0: - resolution: {integrity: sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==} - peerDependencies: - vue: ^3.2.0 - - vue-tsc@2.2.2: - resolution: {integrity: sha512-1icPKkxAA5KTAaSwg0wVWdE48EdsH8fgvcbAiqojP4jXKl6LEM3soiW1aG/zrWrFt8Mw1ncG2vG1PvpZpVfehA==} - hasBin: true - peerDependencies: - typescript: '>=5.0.0' - - vue@3.5.13: - resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - webidl-conversions@7.0.0: - resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} - engines: {node: '>=12'} - - webpack-virtual-modules@0.6.2: - resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - - whatwg-mimetype@3.0.0: - resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} - engines: {node: '>=12'} - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - why-is-node-running@2.3.0: - resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} - engines: {node: '>=8'} - hasBin: true - - word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} - - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - - wrap-ansi@9.0.0: - resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} - engines: {node: '>=18'} - - xml-name-validator@4.0.0: - resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} - engines: {node: '>=12'} - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yaml-eslint-parser@1.2.3: - resolution: {integrity: sha512-4wZWvE398hCP7O8n3nXKu/vdq1HcH01ixYlCREaJL5NUMwQ0g3MaGFUBNSlmBtKmhbtVG/Cm6lyYmSVTEVil8A==} - engines: {node: ^14.17.0 || >=16.0.0} - - yaml@2.7.0: - resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} - engines: {node: '>= 14'} - hasBin: true - - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - - zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - -snapshots: - - '@ampproject/remapping@2.3.0': - dependencies: - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - - '@antfu/eslint-config@4.3.0(@typescript-eslint/utils@8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3))(@unocss/eslint-plugin@65.4.3(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3))(@vue/compiler-sfc@3.5.13)(eslint-plugin-format@1.0.1(eslint@9.21.0(jiti@2.4.2)))(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)(vitest@3.0.6(@types/debug@4.1.12)(@types/node@22.13.5)(happy-dom@17.1.2)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0))': - dependencies: - '@antfu/install-pkg': 1.0.0 - '@clack/prompts': 0.10.0 - '@eslint-community/eslint-plugin-eslint-comments': 4.4.1(eslint@9.21.0(jiti@2.4.2)) - '@eslint/markdown': 6.2.2 - '@stylistic/eslint-plugin': 4.0.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/eslint-plugin': 8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/parser': 8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3) - '@vitest/eslint-plugin': 1.1.31(@typescript-eslint/utils@8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)(vitest@3.0.6(@types/debug@4.1.12)(@types/node@22.13.5)(happy-dom@17.1.2)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0)) - ansis: 3.16.0 - cac: 6.7.14 - eslint: 9.21.0(jiti@2.4.2) - eslint-config-flat-gitignore: 2.1.0(eslint@9.21.0(jiti@2.4.2)) - eslint-flat-config-utils: 2.0.1 - eslint-merge-processors: 2.0.0(eslint@9.21.0(jiti@2.4.2)) - eslint-plugin-antfu: 3.1.0(eslint@9.21.0(jiti@2.4.2)) - eslint-plugin-command: 3.1.0(eslint@9.21.0(jiti@2.4.2)) - eslint-plugin-import-x: 4.6.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3) - eslint-plugin-jsdoc: 50.6.3(eslint@9.21.0(jiti@2.4.2)) - eslint-plugin-jsonc: 2.19.1(eslint@9.21.0(jiti@2.4.2)) - eslint-plugin-n: 17.15.1(eslint@9.21.0(jiti@2.4.2)) - eslint-plugin-no-only-tests: 3.3.0 - eslint-plugin-perfectionist: 4.9.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3) - eslint-plugin-regexp: 2.7.0(eslint@9.21.0(jiti@2.4.2)) - eslint-plugin-toml: 0.12.0(eslint@9.21.0(jiti@2.4.2)) - eslint-plugin-unicorn: 57.0.0(eslint@9.21.0(jiti@2.4.2)) - eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.21.0(jiti@2.4.2)) - eslint-plugin-vue: 9.32.0(eslint@9.21.0(jiti@2.4.2)) - eslint-plugin-yml: 1.17.0(eslint@9.21.0(jiti@2.4.2)) - eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.13)(eslint@9.21.0(jiti@2.4.2)) - globals: 15.15.0 - jsonc-eslint-parser: 2.4.0 - local-pkg: 1.0.0 - parse-gitignore: 2.0.0 - toml-eslint-parser: 0.10.0 - vue-eslint-parser: 9.4.3(eslint@9.21.0(jiti@2.4.2)) - yaml-eslint-parser: 1.2.3 - optionalDependencies: - '@unocss/eslint-plugin': 65.4.3(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3) - eslint-plugin-format: 1.0.1(eslint@9.21.0(jiti@2.4.2)) - transitivePeerDependencies: - - '@eslint/json' - - '@typescript-eslint/utils' - - '@vue/compiler-sfc' - - supports-color - - typescript - - vitest - - '@antfu/install-pkg@1.0.0': - dependencies: - package-manager-detector: 0.2.9 - tinyexec: 0.3.2 - - '@antfu/utils@8.1.1': {} - - '@babel/code-frame@7.26.2': - dependencies: - '@babel/helper-validator-identifier': 7.25.9 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/compat-data@7.26.8': {} - - '@babel/core@7.26.9': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.9 - '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9) - '@babel/helpers': 7.26.9 - '@babel/parser': 7.26.9 - '@babel/template': 7.26.9 - '@babel/traverse': 7.26.9 - '@babel/types': 7.26.9 - convert-source-map: 2.0.0 - debug: 4.4.0 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.26.9': - dependencies: - '@babel/parser': 7.26.9 - '@babel/types': 7.26.9 - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 3.1.0 - - '@babel/helper-annotate-as-pure@7.25.9': - dependencies: - '@babel/types': 7.26.9 - - '@babel/helper-compilation-targets@7.26.5': - dependencies: - '@babel/compat-data': 7.26.8 - '@babel/helper-validator-option': 7.25.9 - browserslist: 4.24.4 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-create-class-features-plugin@7.26.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-member-expression-to-functions': 7.25.9 - '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.9) - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/traverse': 7.26.9 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/helper-create-regexp-features-plugin@7.26.3(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-annotate-as-pure': 7.25.9 - regexpu-core: 6.2.0 - semver: 6.3.1 - - '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-plugin-utils': 7.26.5 - debug: 4.4.0 - lodash.debounce: 4.0.8 - resolve: 1.22.10 - transitivePeerDependencies: - - supports-color - - '@babel/helper-member-expression-to-functions@7.25.9': - dependencies: - '@babel/traverse': 7.26.9 - '@babel/types': 7.26.9 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.25.9': - dependencies: - '@babel/traverse': 7.26.9 - '@babel/types': 7.26.9 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.9 - transitivePeerDependencies: - - supports-color - - '@babel/helper-optimise-call-expression@7.25.9': - dependencies: - '@babel/types': 7.26.9 - - '@babel/helper-plugin-utils@7.26.5': {} - - '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-wrap-function': 7.25.9 - '@babel/traverse': 7.26.9 - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.26.5(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-member-expression-to-functions': 7.25.9 - '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/traverse': 7.26.9 - transitivePeerDependencies: - - supports-color - - '@babel/helper-skip-transparent-expression-wrappers@7.25.9': - dependencies: - '@babel/traverse': 7.26.9 - '@babel/types': 7.26.9 - transitivePeerDependencies: - - supports-color - - '@babel/helper-string-parser@7.25.9': {} - - '@babel/helper-validator-identifier@7.25.9': {} - - '@babel/helper-validator-option@7.25.9': {} - - '@babel/helper-wrap-function@7.25.9': - dependencies: - '@babel/template': 7.26.9 - '@babel/traverse': 7.26.9 - '@babel/types': 7.26.9 - transitivePeerDependencies: - - supports-color - - '@babel/helpers@7.26.9': - dependencies: - '@babel/template': 7.26.9 - '@babel/types': 7.26.9 - - '@babel/parser@7.26.9': - dependencies: - '@babel/types': 7.26.9 - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/traverse': 7.26.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.9) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/traverse': 7.26.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - - '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-async-generator-functions@7.26.8(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.9) - '@babel/traverse': 7.26.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.9) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-block-scoped-functions@7.26.5(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9) - '@babel/helper-plugin-utils': 7.26.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9) - '@babel/helper-plugin-utils': 7.26.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.9) - '@babel/traverse': 7.26.9 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/template': 7.26.9 - - '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-for-of@7.26.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/traverse': 7.26.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9) - '@babel/helper-plugin-utils': 7.26.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9) - '@babel/helper-plugin-utils': 7.26.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9) - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9) - '@babel/helper-plugin-utils': 7.26.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-nullish-coalescing-operator@7.26.6(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.9) - - '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.9) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9) - '@babel/helper-plugin-utils': 7.26.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9) - '@babel/helper-plugin-utils': 7.26.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - regenerator-transform: 0.15.2 - - '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-template-literals@7.26.8(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-typeof-symbol@7.26.7(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9) - '@babel/helper-plugin-utils': 7.26.5 - - '@babel/preset-env@7.26.9(@babel/core@7.26.9)': - dependencies: - '@babel/compat-data': 7.26.8 - '@babel/core': 7.26.9 - '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-validator-option': 7.25.9 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.9) - '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.9) - '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.9) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.9) - '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-async-generator-functions': 7.26.8(@babel/core@7.26.9) - '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-block-scoped-functions': 7.26.5(@babel/core@7.26.9) - '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.9) - '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-exponentiation-operator': 7.26.3(@babel/core@7.26.9) - '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-for-of': 7.26.9(@babel/core@7.26.9) - '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.9) - '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-nullish-coalescing-operator': 7.26.6(@babel/core@7.26.9) - '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.9) - '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-template-literals': 7.26.8(@babel/core@7.26.9) - '@babel/plugin-transform-typeof-symbol': 7.26.7(@babel/core@7.26.9) - '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.9) - '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.9) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.9) - babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.9) - babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.26.9) - babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.9) - core-js-compat: 3.40.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.9)': - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/types': 7.26.9 - esutils: 2.0.3 - - '@babel/runtime@7.26.9': - dependencies: - regenerator-runtime: 0.14.1 - - '@babel/template@7.26.9': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.9 - '@babel/types': 7.26.9 - - '@babel/traverse@7.26.9': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.9 - '@babel/parser': 7.26.9 - '@babel/template': 7.26.9 - '@babel/types': 7.26.9 - debug: 4.4.0 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/types@7.26.9': - dependencies: - '@babel/helper-string-parser': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - - '@clack/core@0.4.1': - dependencies: - picocolors: 1.1.1 - sisteransi: 1.0.5 - - '@clack/prompts@0.10.0': - dependencies: - '@clack/core': 0.4.1 - picocolors: 1.1.1 - sisteransi: 1.0.5 - - '@dprint/formatter@0.3.0': {} - - '@dprint/markdown@0.17.8': {} - - '@dprint/toml@0.6.4': {} - - '@es-joy/jsdoccomment@0.49.0': - dependencies: - comment-parser: 1.4.1 - esquery: 1.6.0 - jsdoc-type-pratt-parser: 4.1.0 - - '@es-joy/jsdoccomment@0.50.0': - dependencies: - '@types/eslint': 9.6.1 - '@types/estree': 1.0.6 - '@typescript-eslint/types': 8.24.1 - comment-parser: 1.4.1 - esquery: 1.6.0 - jsdoc-type-pratt-parser: 4.1.0 - - '@esbuild/aix-ppc64@0.23.1': - optional: true - - '@esbuild/aix-ppc64@0.24.2': - optional: true - - '@esbuild/aix-ppc64@0.25.0': - optional: true - - '@esbuild/android-arm64@0.23.1': - optional: true - - '@esbuild/android-arm64@0.24.2': - optional: true - - '@esbuild/android-arm64@0.25.0': - optional: true - - '@esbuild/android-arm@0.23.1': - optional: true - - '@esbuild/android-arm@0.24.2': - optional: true - - '@esbuild/android-arm@0.25.0': - optional: true - - '@esbuild/android-x64@0.23.1': - optional: true - - '@esbuild/android-x64@0.24.2': - optional: true - - '@esbuild/android-x64@0.25.0': - optional: true - - '@esbuild/darwin-arm64@0.23.1': - optional: true - - '@esbuild/darwin-arm64@0.24.2': - optional: true - - '@esbuild/darwin-arm64@0.25.0': - optional: true - - '@esbuild/darwin-x64@0.23.1': - optional: true - - '@esbuild/darwin-x64@0.24.2': - optional: true - - '@esbuild/darwin-x64@0.25.0': - optional: true - - '@esbuild/freebsd-arm64@0.23.1': - optional: true - - '@esbuild/freebsd-arm64@0.24.2': - optional: true - - '@esbuild/freebsd-arm64@0.25.0': - optional: true - - '@esbuild/freebsd-x64@0.23.1': - optional: true - - '@esbuild/freebsd-x64@0.24.2': - optional: true - - '@esbuild/freebsd-x64@0.25.0': - optional: true - - '@esbuild/linux-arm64@0.23.1': - optional: true - - '@esbuild/linux-arm64@0.24.2': - optional: true - - '@esbuild/linux-arm64@0.25.0': - optional: true - - '@esbuild/linux-arm@0.23.1': - optional: true - - '@esbuild/linux-arm@0.24.2': - optional: true - - '@esbuild/linux-arm@0.25.0': - optional: true - - '@esbuild/linux-ia32@0.23.1': - optional: true - - '@esbuild/linux-ia32@0.24.2': - optional: true - - '@esbuild/linux-ia32@0.25.0': - optional: true - - '@esbuild/linux-loong64@0.23.1': - optional: true - - '@esbuild/linux-loong64@0.24.2': - optional: true - - '@esbuild/linux-loong64@0.25.0': - optional: true - - '@esbuild/linux-mips64el@0.23.1': - optional: true - - '@esbuild/linux-mips64el@0.24.2': - optional: true - - '@esbuild/linux-mips64el@0.25.0': - optional: true - - '@esbuild/linux-ppc64@0.23.1': - optional: true - - '@esbuild/linux-ppc64@0.24.2': - optional: true - - '@esbuild/linux-ppc64@0.25.0': - optional: true - - '@esbuild/linux-riscv64@0.23.1': - optional: true - - '@esbuild/linux-riscv64@0.24.2': - optional: true - - '@esbuild/linux-riscv64@0.25.0': - optional: true - - '@esbuild/linux-s390x@0.23.1': - optional: true - - '@esbuild/linux-s390x@0.24.2': - optional: true - - '@esbuild/linux-s390x@0.25.0': - optional: true - - '@esbuild/linux-x64@0.23.1': - optional: true - - '@esbuild/linux-x64@0.24.2': - optional: true - - '@esbuild/linux-x64@0.25.0': - optional: true - - '@esbuild/netbsd-arm64@0.24.2': - optional: true - - '@esbuild/netbsd-arm64@0.25.0': - optional: true - - '@esbuild/netbsd-x64@0.23.1': - optional: true - - '@esbuild/netbsd-x64@0.24.2': - optional: true - - '@esbuild/netbsd-x64@0.25.0': - optional: true - - '@esbuild/openbsd-arm64@0.23.1': - optional: true - - '@esbuild/openbsd-arm64@0.24.2': - optional: true - - '@esbuild/openbsd-arm64@0.25.0': - optional: true - - '@esbuild/openbsd-x64@0.23.1': - optional: true - - '@esbuild/openbsd-x64@0.24.2': - optional: true - - '@esbuild/openbsd-x64@0.25.0': - optional: true - - '@esbuild/sunos-x64@0.23.1': - optional: true - - '@esbuild/sunos-x64@0.24.2': - optional: true - - '@esbuild/sunos-x64@0.25.0': - optional: true - - '@esbuild/win32-arm64@0.23.1': - optional: true - - '@esbuild/win32-arm64@0.24.2': - optional: true - - '@esbuild/win32-arm64@0.25.0': - optional: true - - '@esbuild/win32-ia32@0.23.1': - optional: true - - '@esbuild/win32-ia32@0.24.2': - optional: true - - '@esbuild/win32-ia32@0.25.0': - optional: true - - '@esbuild/win32-x64@0.23.1': - optional: true - - '@esbuild/win32-x64@0.24.2': - optional: true - - '@esbuild/win32-x64@0.25.0': - optional: true - - '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.21.0(jiti@2.4.2))': - dependencies: - escape-string-regexp: 4.0.0 - eslint: 9.21.0(jiti@2.4.2) - ignore: 5.3.2 - - '@eslint-community/eslint-utils@4.4.1(eslint@9.21.0(jiti@2.4.2))': - dependencies: - eslint: 9.21.0(jiti@2.4.2) - eslint-visitor-keys: 3.4.3 - - '@eslint-community/regexpp@4.12.1': {} - - '@eslint/compat@1.2.7(eslint@9.21.0(jiti@2.4.2))': - optionalDependencies: - eslint: 9.21.0(jiti@2.4.2) - - '@eslint/config-array@0.19.2': - dependencies: - '@eslint/object-schema': 2.1.6 - debug: 4.4.0 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - - '@eslint/core@0.10.0': - dependencies: - '@types/json-schema': 7.0.15 - - '@eslint/core@0.12.0': - dependencies: - '@types/json-schema': 7.0.15 - - '@eslint/eslintrc@3.3.0': - dependencies: - ajv: 6.12.6 - debug: 4.4.0 - espree: 10.3.0 - globals: 14.0.0 - ignore: 5.3.2 - import-fresh: 3.3.1 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - - '@eslint/js@9.21.0': {} - - '@eslint/markdown@6.2.2': - dependencies: - '@eslint/core': 0.10.0 - '@eslint/plugin-kit': 0.2.7 - mdast-util-from-markdown: 2.0.2 - mdast-util-gfm: 3.1.0 - micromark-extension-gfm: 3.0.0 - transitivePeerDependencies: - - supports-color - - '@eslint/object-schema@2.1.6': {} - - '@eslint/plugin-kit@0.2.7': - dependencies: - '@eslint/core': 0.12.0 - levn: 0.4.1 - - '@humanfs/core@0.19.1': {} - - '@humanfs/node@0.16.6': - dependencies: - '@humanfs/core': 0.19.1 - '@humanwhocodes/retry': 0.3.1 - - '@humanwhocodes/module-importer@1.0.1': {} - - '@humanwhocodes/retry@0.3.1': {} - - '@humanwhocodes/retry@0.4.2': {} - - '@iconify/types@2.0.0': {} - - '@iconify/utils@2.3.0': - dependencies: - '@antfu/install-pkg': 1.0.0 - '@antfu/utils': 8.1.1 - '@iconify/types': 2.0.0 - debug: 4.4.0 - globals: 15.15.0 - kolorist: 1.8.0 - local-pkg: 1.0.0 - mlly: 1.7.4 - transitivePeerDependencies: - - supports-color - - '@isaacs/cliui@8.0.2': - dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 - - '@jridgewell/gen-mapping@0.3.8': - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.5.0 - '@jridgewell/trace-mapping': 0.3.25 - - '@jridgewell/resolve-uri@3.1.2': {} - - '@jridgewell/set-array@1.2.1': {} - - '@jridgewell/source-map@0.3.6': - dependencies: - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - - '@jridgewell/sourcemap-codec@1.5.0': {} - - '@jridgewell/trace-mapping@0.3.25': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 - - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - '@nodelib/fs.stat@2.0.5': {} - - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.19.0 - - '@one-ini/wasm@0.1.1': {} - - '@pkgjs/parseargs@0.11.0': - optional: true - - '@pkgr/core@0.1.1': {} - - '@polka/url@1.0.0-next.28': {} - - '@rollup/rollup-android-arm-eabi@4.34.8': - optional: true - - '@rollup/rollup-android-arm64@4.34.8': - optional: true - - '@rollup/rollup-darwin-arm64@4.34.8': - optional: true - - '@rollup/rollup-darwin-x64@4.34.8': - optional: true - - '@rollup/rollup-freebsd-arm64@4.34.8': - optional: true - - '@rollup/rollup-freebsd-x64@4.34.8': - optional: true - - '@rollup/rollup-linux-arm-gnueabihf@4.34.8': - optional: true - - '@rollup/rollup-linux-arm-musleabihf@4.34.8': - optional: true - - '@rollup/rollup-linux-arm64-gnu@4.34.8': - optional: true - - '@rollup/rollup-linux-arm64-musl@4.34.8': - optional: true - - '@rollup/rollup-linux-loongarch64-gnu@4.34.8': - optional: true - - '@rollup/rollup-linux-powerpc64le-gnu@4.34.8': - optional: true - - '@rollup/rollup-linux-riscv64-gnu@4.34.8': - optional: true - - '@rollup/rollup-linux-s390x-gnu@4.34.8': - optional: true - - '@rollup/rollup-linux-x64-gnu@4.34.8': - optional: true - - '@rollup/rollup-linux-x64-musl@4.34.8': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.34.8': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.34.8': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.34.8': - optional: true - - '@stylistic/eslint-plugin@4.0.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)': - dependencies: - '@typescript-eslint/utils': 8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3) - eslint: 9.21.0(jiti@2.4.2) - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 - estraverse: 5.3.0 - picomatch: 4.0.2 - transitivePeerDependencies: - - supports-color - - typescript - - '@trysound/sax@0.2.0': {} - - '@types/debug@4.1.12': - dependencies: - '@types/ms': 2.1.0 - - '@types/doctrine@0.0.9': {} - - '@types/eslint@9.6.1': - dependencies: - '@types/estree': 1.0.6 - '@types/json-schema': 7.0.15 - - '@types/estree@1.0.6': {} - - '@types/js-cookie@3.0.6': {} - - '@types/json-schema@7.0.15': {} - - '@types/lodash-es@4.17.12': - dependencies: - '@types/lodash': 4.17.15 - - '@types/lodash@4.17.15': {} - - '@types/mdast@4.0.4': - dependencies: - '@types/unist': 3.0.3 - - '@types/ms@2.1.0': {} - - '@types/node@22.13.5': - dependencies: - undici-types: 6.20.0 - - '@types/normalize-package-data@2.4.4': {} - - '@types/nprogress@0.2.3': {} - - '@types/unist@3.0.3': {} - - '@typescript-eslint/eslint-plugin@8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)': - dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/scope-manager': 8.24.1 - '@typescript-eslint/type-utils': 8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/utils': 8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3) - '@typescript-eslint/visitor-keys': 8.24.1 - eslint: 9.21.0(jiti@2.4.2) - graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare: 1.4.0 - ts-api-utils: 2.0.1(typescript@5.7.3) - typescript: 5.7.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)': - dependencies: - '@typescript-eslint/scope-manager': 8.24.1 - '@typescript-eslint/types': 8.24.1 - '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.7.3) - '@typescript-eslint/visitor-keys': 8.24.1 - debug: 4.4.0 - eslint: 9.21.0(jiti@2.4.2) - typescript: 5.7.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/scope-manager@8.24.1': - dependencies: - '@typescript-eslint/types': 8.24.1 - '@typescript-eslint/visitor-keys': 8.24.1 - - '@typescript-eslint/type-utils@8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)': - dependencies: - '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.7.3) - '@typescript-eslint/utils': 8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3) - debug: 4.4.0 - eslint: 9.21.0(jiti@2.4.2) - ts-api-utils: 2.0.1(typescript@5.7.3) - typescript: 5.7.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/types@8.24.1': {} - - '@typescript-eslint/typescript-estree@8.24.1(typescript@5.7.3)': - dependencies: - '@typescript-eslint/types': 8.24.1 - '@typescript-eslint/visitor-keys': 8.24.1 - debug: 4.4.0 - fast-glob: 3.3.3 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.7.1 - ts-api-utils: 2.0.1(typescript@5.7.3) - typescript: 5.7.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)': - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2)) - '@typescript-eslint/scope-manager': 8.24.1 - '@typescript-eslint/types': 8.24.1 - '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.7.3) - eslint: 9.21.0(jiti@2.4.2) - typescript: 5.7.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/visitor-keys@8.24.1': - dependencies: - '@typescript-eslint/types': 8.24.1 - eslint-visitor-keys: 4.2.0 - - '@unocss/astro@66.0.0(vite@6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))': - dependencies: - '@unocss/core': 66.0.0 - '@unocss/reset': 66.0.0 - '@unocss/vite': 66.0.0(vite@6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) - optionalDependencies: - vite: 6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0) - transitivePeerDependencies: - - vue - - '@unocss/cli@66.0.0': - dependencies: - '@ampproject/remapping': 2.3.0 - '@unocss/config': 66.0.0 - '@unocss/core': 66.0.0 - '@unocss/preset-uno': 66.0.0 - cac: 6.7.14 - chokidar: 3.6.0 - colorette: 2.0.20 - consola: 3.4.0 - magic-string: 0.30.17 - pathe: 2.0.3 - perfect-debounce: 1.0.0 - tinyglobby: 0.2.12 - unplugin-utils: 0.2.4 - - '@unocss/config@65.4.3': - dependencies: - '@unocss/core': 65.4.3 - unconfig: 0.6.1 - transitivePeerDependencies: - - supports-color - optional: true - - '@unocss/config@66.0.0': - dependencies: - '@unocss/core': 66.0.0 - unconfig: 7.0.0 - - '@unocss/core@65.4.3': - optional: true - - '@unocss/core@66.0.0': {} - - '@unocss/eslint-plugin@65.4.3(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)': - dependencies: - '@typescript-eslint/utils': 8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3) - '@unocss/config': 65.4.3 - '@unocss/core': 65.4.3 - '@unocss/rule-utils': 65.4.3 - magic-string: 0.30.17 - synckit: 0.9.2 - transitivePeerDependencies: - - eslint - - supports-color - - typescript - optional: true - - '@unocss/extractor-arbitrary-variants@66.0.0': - dependencies: - '@unocss/core': 66.0.0 - - '@unocss/inspector@66.0.0(vue@3.5.13(typescript@5.7.3))': - dependencies: - '@unocss/core': 66.0.0 - '@unocss/rule-utils': 66.0.0 - colorette: 2.0.20 - gzip-size: 6.0.0 - sirv: 3.0.1 - vue-flow-layout: 0.1.1(vue@3.5.13(typescript@5.7.3)) - transitivePeerDependencies: - - vue - - '@unocss/postcss@66.0.0(postcss@8.5.3)': - dependencies: - '@unocss/config': 66.0.0 - '@unocss/core': 66.0.0 - '@unocss/rule-utils': 66.0.0 - css-tree: 3.1.0 - postcss: 8.5.3 - tinyglobby: 0.2.12 - - '@unocss/preset-attributify@66.0.0': - dependencies: - '@unocss/core': 66.0.0 - - '@unocss/preset-icons@66.0.0': - dependencies: - '@iconify/utils': 2.3.0 - '@unocss/core': 66.0.0 - ofetch: 1.4.1 - transitivePeerDependencies: - - supports-color - - '@unocss/preset-mini@66.0.0': - dependencies: - '@unocss/core': 66.0.0 - '@unocss/extractor-arbitrary-variants': 66.0.0 - '@unocss/rule-utils': 66.0.0 - - '@unocss/preset-rem-to-px@66.0.0': - dependencies: - '@unocss/core': 66.0.0 - - '@unocss/preset-tagify@66.0.0': - dependencies: - '@unocss/core': 66.0.0 - - '@unocss/preset-typography@66.0.0': - dependencies: - '@unocss/core': 66.0.0 - '@unocss/preset-mini': 66.0.0 - '@unocss/rule-utils': 66.0.0 - - '@unocss/preset-uno@66.0.0': - dependencies: - '@unocss/core': 66.0.0 - '@unocss/preset-wind3': 66.0.0 - - '@unocss/preset-web-fonts@66.0.0': - dependencies: - '@unocss/core': 66.0.0 - ofetch: 1.4.1 - - '@unocss/preset-wind3@66.0.0': - dependencies: - '@unocss/core': 66.0.0 - '@unocss/preset-mini': 66.0.0 - '@unocss/rule-utils': 66.0.0 - - '@unocss/preset-wind@66.0.0': - dependencies: - '@unocss/core': 66.0.0 - '@unocss/preset-wind3': 66.0.0 - - '@unocss/reset@66.0.0': {} - - '@unocss/rule-utils@65.4.3': - dependencies: - '@unocss/core': 65.4.3 - magic-string: 0.30.17 - optional: true - - '@unocss/rule-utils@66.0.0': - dependencies: - '@unocss/core': 66.0.0 - magic-string: 0.30.17 - - '@unocss/transformer-attributify-jsx@66.0.0': - dependencies: - '@unocss/core': 66.0.0 - - '@unocss/transformer-compile-class@66.0.0': - dependencies: - '@unocss/core': 66.0.0 - - '@unocss/transformer-directives@66.0.0': - dependencies: - '@unocss/core': 66.0.0 - '@unocss/rule-utils': 66.0.0 - css-tree: 3.1.0 - - '@unocss/transformer-variant-group@66.0.0': - dependencies: - '@unocss/core': 66.0.0 - - '@unocss/vite@66.0.0(vite@6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))': - dependencies: - '@ampproject/remapping': 2.3.0 - '@unocss/config': 66.0.0 - '@unocss/core': 66.0.0 - '@unocss/inspector': 66.0.0(vue@3.5.13(typescript@5.7.3)) - chokidar: 3.6.0 - magic-string: 0.30.17 - tinyglobby: 0.2.12 - unplugin-utils: 0.2.4 - vite: 6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0) - transitivePeerDependencies: - - vue - - '@vant/auto-import-resolver@1.2.1': {} - - '@vant/popperjs@1.3.0': {} - - '@vant/touch-emulator@1.4.0': {} - - '@vant/use@1.6.0(vue@3.5.13(typescript@5.7.3))': - dependencies: - vue: 3.5.13(typescript@5.7.3) - - '@vitejs/plugin-legacy@6.0.1(terser@5.39.0)(vite@6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0))': - dependencies: - '@babel/core': 7.26.9 - '@babel/preset-env': 7.26.9(@babel/core@7.26.9) - browserslist: 4.24.4 - browserslist-to-esbuild: 2.1.1(browserslist@4.24.4) - core-js: 3.40.0 - magic-string: 0.30.17 - regenerator-runtime: 0.14.1 - systemjs: 6.15.1 - terser: 5.39.0 - vite: 6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0) - transitivePeerDependencies: - - supports-color - - '@vitejs/plugin-vue@5.2.1(vite@6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))': - dependencies: - vite: 6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0) - vue: 3.5.13(typescript@5.7.3) - - '@vitest/eslint-plugin@1.1.31(@typescript-eslint/utils@8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)(vitest@3.0.6(@types/debug@4.1.12)(@types/node@22.13.5)(happy-dom@17.1.2)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0))': - dependencies: - '@typescript-eslint/utils': 8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3) - eslint: 9.21.0(jiti@2.4.2) - optionalDependencies: - typescript: 5.7.3 - vitest: 3.0.6(@types/debug@4.1.12)(@types/node@22.13.5)(happy-dom@17.1.2)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0) - - '@vitest/expect@3.0.6': - dependencies: - '@vitest/spy': 3.0.6 - '@vitest/utils': 3.0.6 - chai: 5.2.0 - tinyrainbow: 2.0.0 - - '@vitest/mocker@3.0.6(vite@6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0))': - dependencies: - '@vitest/spy': 3.0.6 - estree-walker: 3.0.3 - magic-string: 0.30.17 - optionalDependencies: - vite: 6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0) - - '@vitest/pretty-format@3.0.6': - dependencies: - tinyrainbow: 2.0.0 - - '@vitest/runner@3.0.6': - dependencies: - '@vitest/utils': 3.0.6 - pathe: 2.0.3 - - '@vitest/snapshot@3.0.6': - dependencies: - '@vitest/pretty-format': 3.0.6 - magic-string: 0.30.17 - pathe: 2.0.3 - - '@vitest/spy@3.0.6': - dependencies: - tinyspy: 3.0.2 - - '@vitest/utils@3.0.6': - dependencies: - '@vitest/pretty-format': 3.0.6 - loupe: 3.1.3 - tinyrainbow: 2.0.0 - - '@volar/language-core@2.4.11': - dependencies: - '@volar/source-map': 2.4.11 - - '@volar/source-map@2.4.11': {} - - '@volar/typescript@2.4.11': - dependencies: - '@volar/language-core': 2.4.11 - path-browserify: 1.0.1 - vscode-uri: 3.1.0 - - '@vue/compiler-core@3.5.13': - dependencies: - '@babel/parser': 7.26.9 - '@vue/shared': 3.5.13 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.2.1 - - '@vue/compiler-dom@3.5.13': - dependencies: - '@vue/compiler-core': 3.5.13 - '@vue/shared': 3.5.13 - - '@vue/compiler-sfc@3.5.13': - dependencies: - '@babel/parser': 7.26.9 - '@vue/compiler-core': 3.5.13 - '@vue/compiler-dom': 3.5.13 - '@vue/compiler-ssr': 3.5.13 - '@vue/shared': 3.5.13 - estree-walker: 2.0.2 - magic-string: 0.30.17 - postcss: 8.5.3 - source-map-js: 1.2.1 - - '@vue/compiler-ssr@3.5.13': - dependencies: - '@vue/compiler-dom': 3.5.13 - '@vue/shared': 3.5.13 - - '@vue/compiler-vue2@2.7.16': - dependencies: - de-indent: 1.0.2 - he: 1.2.0 - - '@vue/devtools-api@6.6.4': {} - - '@vue/devtools-api@7.7.2': - dependencies: - '@vue/devtools-kit': 7.7.2 - - '@vue/devtools-kit@7.7.2': - dependencies: - '@vue/devtools-shared': 7.7.2 - birpc: 0.2.19 - hookable: 5.5.3 - mitt: 3.0.1 - perfect-debounce: 1.0.0 - speakingurl: 14.0.1 - superjson: 2.2.2 - - '@vue/devtools-shared@7.7.2': - dependencies: - rfdc: 1.4.1 - - '@vue/language-core@2.2.2(typescript@5.7.3)': - dependencies: - '@volar/language-core': 2.4.11 - '@vue/compiler-dom': 3.5.13 - '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.5.13 - alien-signals: 1.0.4 - minimatch: 9.0.5 - muggle-string: 0.4.1 - path-browserify: 1.0.1 - optionalDependencies: - typescript: 5.7.3 - - '@vue/reactivity@3.5.13': - dependencies: - '@vue/shared': 3.5.13 - - '@vue/runtime-core@3.5.13': - dependencies: - '@vue/reactivity': 3.5.13 - '@vue/shared': 3.5.13 - - '@vue/runtime-dom@3.5.13': - dependencies: - '@vue/reactivity': 3.5.13 - '@vue/runtime-core': 3.5.13 - '@vue/shared': 3.5.13 - csstype: 3.1.3 - - '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.7.3))': - dependencies: - '@vue/compiler-ssr': 3.5.13 - '@vue/shared': 3.5.13 - vue: 3.5.13(typescript@5.7.3) - - '@vue/shared@3.5.13': {} - - '@vue/test-utils@2.4.6': - dependencies: - js-beautify: 1.15.3 - vue-component-type-helpers: 2.2.2 - - abbrev@3.0.0: {} - - acorn-jsx@5.3.2(acorn@8.14.0): - dependencies: - acorn: 8.14.0 - - acorn@8.14.0: {} - - ajv@6.12.6: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - - alien-signals@1.0.4: {} - - ansi-escapes@7.0.0: - dependencies: - environment: 1.1.0 - - ansi-regex@5.0.1: {} - - ansi-regex@6.1.0: {} - - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - - ansi-styles@6.2.1: {} - - ansis@3.16.0: {} - - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - - are-docs-informative@0.0.2: {} - - argparse@2.0.1: {} - - assertion-error@2.0.1: {} - - asynckit@0.4.0: {} - - autoprefixer@10.4.20(postcss@8.5.3): - dependencies: - browserslist: 4.24.4 - caniuse-lite: 1.0.30001700 - fraction.js: 4.3.7 - normalize-range: 0.1.2 - picocolors: 1.1.1 - postcss: 8.5.3 - postcss-value-parser: 4.2.0 - - axios@1.7.9: - dependencies: - follow-redirects: 1.15.9 - form-data: 4.0.2 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - - babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.9): - dependencies: - '@babel/compat-data': 7.26.8 - '@babel/core': 7.26.9 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.9) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.11.1(@babel/core@7.26.9): - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.9) - core-js-compat: 3.40.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-regenerator@0.6.3(@babel/core@7.26.9): - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.9) - transitivePeerDependencies: - - supports-color - - balanced-match@1.0.2: {} - - binary-extensions@2.3.0: {} - - birpc@0.2.19: {} - - blueimp-canvas-to-blob@3.29.0: {} - - boolbase@1.0.0: {} - - brace-expansion@1.1.11: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - brace-expansion@2.0.1: - dependencies: - balanced-match: 1.0.2 - - braces@3.0.3: - dependencies: - fill-range: 7.1.1 - - browserslist-to-esbuild@2.1.1(browserslist@4.24.4): - dependencies: - browserslist: 4.24.4 - meow: 13.2.0 - - browserslist@4.24.4: - dependencies: - caniuse-lite: 1.0.30001700 - electron-to-chromium: 1.5.103 - node-releases: 2.0.19 - update-browserslist-db: 1.1.2(browserslist@4.24.4) - - buffer-from@1.1.2: {} - - builtin-modules@4.0.0: {} - - bundle-require@5.1.0(esbuild@0.25.0): - dependencies: - esbuild: 0.25.0 - load-tsconfig: 0.2.5 - optional: true - - cac@6.7.14: {} - - call-bind-apply-helpers@1.0.2: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - - callsites@3.1.0: {} - - caniuse-lite@1.0.30001700: {} - - ccount@2.0.1: {} - - chai@5.2.0: - dependencies: - assertion-error: 2.0.1 - check-error: 2.1.1 - deep-eql: 5.0.2 - loupe: 3.1.3 - pathval: 2.0.0 - - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - chalk@5.4.1: {} - - character-entities@2.0.2: {} - - check-error@2.1.1: {} - - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - 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 - - ci-info@4.1.0: {} - - clean-regexp@1.0.0: - dependencies: - escape-string-regexp: 1.0.5 - - cli-cursor@5.0.0: - dependencies: - restore-cursor: 5.1.0 - - cli-truncate@4.0.0: - dependencies: - slice-ansi: 5.0.0 - string-width: 7.2.0 - - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.4: {} - - colorette@2.0.20: {} - - combined-stream@1.0.8: - dependencies: - delayed-stream: 1.0.0 - - commander@10.0.1: {} - - commander@13.1.0: {} - - commander@2.20.3: {} - - commander@7.2.0: {} - - comment-parser@1.4.1: {} - - compressorjs@1.2.1: - dependencies: - blueimp-canvas-to-blob: 3.29.0 - is-blob: 2.1.0 - - concat-map@0.0.1: {} - - confbox@0.1.8: {} - - config-chain@1.1.13: - dependencies: - ini: 1.3.8 - proto-list: 1.2.4 - - consola@3.4.0: {} - - convert-source-map@2.0.0: {} - - copy-anything@3.0.5: - dependencies: - is-what: 4.1.16 - - copy-text-to-clipboard@3.2.0: {} - - core-js-compat@3.40.0: - dependencies: - browserslist: 4.24.4 - - core-js@3.40.0: {} - - cross-spawn@7.0.6: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - css-select@5.1.0: - dependencies: - boolbase: 1.0.0 - css-what: 6.1.0 - domhandler: 5.0.3 - domutils: 3.2.2 - nth-check: 2.1.1 - - css-tree@2.2.1: - dependencies: - mdn-data: 2.0.28 - source-map-js: 1.2.1 - - css-tree@2.3.1: - dependencies: - mdn-data: 2.0.30 - source-map-js: 1.2.1 - - css-tree@3.1.0: - dependencies: - mdn-data: 2.12.2 - source-map-js: 1.2.1 - - css-what@6.1.0: {} - - cssesc@3.0.0: {} - - csso@5.0.5: - dependencies: - css-tree: 2.2.1 - - csstype@3.1.3: {} - - dayjs@1.11.13: {} - - de-indent@1.0.2: {} - - debug@3.2.7: - dependencies: - ms: 2.1.3 - - debug@4.4.0: - dependencies: - ms: 2.1.3 - - decode-named-character-reference@1.0.2: - dependencies: - character-entities: 2.0.2 - - deep-eql@5.0.2: {} - - deep-is@0.1.4: {} - - defu@6.1.4: {} - - delayed-stream@1.0.0: {} - - dequal@2.0.3: {} - - destr@2.0.3: {} - - devlop@1.1.0: - dependencies: - dequal: 2.0.3 - - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - - dom-serializer@2.0.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.5.0 - - domelementtype@2.3.0: {} - - domhandler@5.0.3: - dependencies: - domelementtype: 2.3.0 - - domutils@3.2.2: - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - - dunder-proto@1.0.1: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-errors: 1.3.0 - gopd: 1.2.0 - - duplexer@0.1.2: {} - - eastasianwidth@0.2.0: {} - - editorconfig@1.0.4: - dependencies: - '@one-ini/wasm': 0.1.1 - commander: 10.0.1 - minimatch: 9.0.1 - semver: 7.7.1 - - electron-to-chromium@1.5.103: {} - - emoji-regex@10.4.0: {} - - emoji-regex@8.0.0: {} - - emoji-regex@9.2.2: {} - - enhanced-resolve@5.18.1: - dependencies: - graceful-fs: 4.2.11 - tapable: 2.2.1 - - entities@4.5.0: {} - - environment@1.1.0: {} - - es-define-property@1.0.1: {} - - es-errors@1.3.0: {} - - es-module-lexer@1.6.0: {} - - es-object-atoms@1.1.1: - dependencies: - es-errors: 1.3.0 - - es-set-tostringtag@2.1.0: - dependencies: - es-errors: 1.3.0 - get-intrinsic: 1.2.7 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - - esbuild@0.23.1: - optionalDependencies: - '@esbuild/aix-ppc64': 0.23.1 - '@esbuild/android-arm': 0.23.1 - '@esbuild/android-arm64': 0.23.1 - '@esbuild/android-x64': 0.23.1 - '@esbuild/darwin-arm64': 0.23.1 - '@esbuild/darwin-x64': 0.23.1 - '@esbuild/freebsd-arm64': 0.23.1 - '@esbuild/freebsd-x64': 0.23.1 - '@esbuild/linux-arm': 0.23.1 - '@esbuild/linux-arm64': 0.23.1 - '@esbuild/linux-ia32': 0.23.1 - '@esbuild/linux-loong64': 0.23.1 - '@esbuild/linux-mips64el': 0.23.1 - '@esbuild/linux-ppc64': 0.23.1 - '@esbuild/linux-riscv64': 0.23.1 - '@esbuild/linux-s390x': 0.23.1 - '@esbuild/linux-x64': 0.23.1 - '@esbuild/netbsd-x64': 0.23.1 - '@esbuild/openbsd-arm64': 0.23.1 - '@esbuild/openbsd-x64': 0.23.1 - '@esbuild/sunos-x64': 0.23.1 - '@esbuild/win32-arm64': 0.23.1 - '@esbuild/win32-ia32': 0.23.1 - '@esbuild/win32-x64': 0.23.1 - optional: true - - esbuild@0.24.2: - optionalDependencies: - '@esbuild/aix-ppc64': 0.24.2 - '@esbuild/android-arm': 0.24.2 - '@esbuild/android-arm64': 0.24.2 - '@esbuild/android-x64': 0.24.2 - '@esbuild/darwin-arm64': 0.24.2 - '@esbuild/darwin-x64': 0.24.2 - '@esbuild/freebsd-arm64': 0.24.2 - '@esbuild/freebsd-x64': 0.24.2 - '@esbuild/linux-arm': 0.24.2 - '@esbuild/linux-arm64': 0.24.2 - '@esbuild/linux-ia32': 0.24.2 - '@esbuild/linux-loong64': 0.24.2 - '@esbuild/linux-mips64el': 0.24.2 - '@esbuild/linux-ppc64': 0.24.2 - '@esbuild/linux-riscv64': 0.24.2 - '@esbuild/linux-s390x': 0.24.2 - '@esbuild/linux-x64': 0.24.2 - '@esbuild/netbsd-arm64': 0.24.2 - '@esbuild/netbsd-x64': 0.24.2 - '@esbuild/openbsd-arm64': 0.24.2 - '@esbuild/openbsd-x64': 0.24.2 - '@esbuild/sunos-x64': 0.24.2 - '@esbuild/win32-arm64': 0.24.2 - '@esbuild/win32-ia32': 0.24.2 - '@esbuild/win32-x64': 0.24.2 - - esbuild@0.25.0: - optionalDependencies: - '@esbuild/aix-ppc64': 0.25.0 - '@esbuild/android-arm': 0.25.0 - '@esbuild/android-arm64': 0.25.0 - '@esbuild/android-x64': 0.25.0 - '@esbuild/darwin-arm64': 0.25.0 - '@esbuild/darwin-x64': 0.25.0 - '@esbuild/freebsd-arm64': 0.25.0 - '@esbuild/freebsd-x64': 0.25.0 - '@esbuild/linux-arm': 0.25.0 - '@esbuild/linux-arm64': 0.25.0 - '@esbuild/linux-ia32': 0.25.0 - '@esbuild/linux-loong64': 0.25.0 - '@esbuild/linux-mips64el': 0.25.0 - '@esbuild/linux-ppc64': 0.25.0 - '@esbuild/linux-riscv64': 0.25.0 - '@esbuild/linux-s390x': 0.25.0 - '@esbuild/linux-x64': 0.25.0 - '@esbuild/netbsd-arm64': 0.25.0 - '@esbuild/netbsd-x64': 0.25.0 - '@esbuild/openbsd-arm64': 0.25.0 - '@esbuild/openbsd-x64': 0.25.0 - '@esbuild/sunos-x64': 0.25.0 - '@esbuild/win32-arm64': 0.25.0 - '@esbuild/win32-ia32': 0.25.0 - '@esbuild/win32-x64': 0.25.0 - optional: true - - escalade@3.2.0: {} - - escape-string-regexp@1.0.5: {} - - escape-string-regexp@4.0.0: {} - - escape-string-regexp@5.0.0: {} - - eslint-compat-utils@0.5.1(eslint@9.21.0(jiti@2.4.2)): - dependencies: - eslint: 9.21.0(jiti@2.4.2) - semver: 7.7.1 - - eslint-compat-utils@0.6.4(eslint@9.21.0(jiti@2.4.2)): - dependencies: - eslint: 9.21.0(jiti@2.4.2) - semver: 7.7.1 - - eslint-config-flat-gitignore@2.1.0(eslint@9.21.0(jiti@2.4.2)): - dependencies: - '@eslint/compat': 1.2.7(eslint@9.21.0(jiti@2.4.2)) - eslint: 9.21.0(jiti@2.4.2) - - eslint-flat-config-utils@2.0.1: - dependencies: - pathe: 2.0.3 - - eslint-formatting-reporter@0.0.0(eslint@9.21.0(jiti@2.4.2)): - dependencies: - eslint: 9.21.0(jiti@2.4.2) - prettier-linter-helpers: 1.0.0 - - eslint-import-resolver-node@0.3.9: - dependencies: - debug: 3.2.7 - is-core-module: 2.16.1 - resolve: 1.22.10 - transitivePeerDependencies: - - supports-color - - eslint-json-compat-utils@0.2.1(eslint@9.21.0(jiti@2.4.2))(jsonc-eslint-parser@2.4.0): - dependencies: - eslint: 9.21.0(jiti@2.4.2) - esquery: 1.6.0 - jsonc-eslint-parser: 2.4.0 - - eslint-merge-processors@2.0.0(eslint@9.21.0(jiti@2.4.2)): - dependencies: - eslint: 9.21.0(jiti@2.4.2) - - eslint-parser-plain@0.1.1: {} - - eslint-plugin-antfu@3.1.0(eslint@9.21.0(jiti@2.4.2)): - dependencies: - eslint: 9.21.0(jiti@2.4.2) - - eslint-plugin-command@3.1.0(eslint@9.21.0(jiti@2.4.2)): - dependencies: - '@es-joy/jsdoccomment': 0.50.0 - eslint: 9.21.0(jiti@2.4.2) - - eslint-plugin-es-x@7.8.0(eslint@9.21.0(jiti@2.4.2)): - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2)) - '@eslint-community/regexpp': 4.12.1 - eslint: 9.21.0(jiti@2.4.2) - eslint-compat-utils: 0.5.1(eslint@9.21.0(jiti@2.4.2)) - - eslint-plugin-format@1.0.1(eslint@9.21.0(jiti@2.4.2)): - dependencies: - '@dprint/formatter': 0.3.0 - '@dprint/markdown': 0.17.8 - '@dprint/toml': 0.6.4 - eslint: 9.21.0(jiti@2.4.2) - eslint-formatting-reporter: 0.0.0(eslint@9.21.0(jiti@2.4.2)) - eslint-parser-plain: 0.1.1 - prettier: 3.5.2 - synckit: 0.9.2 - - eslint-plugin-import-x@4.6.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3): - dependencies: - '@types/doctrine': 0.0.9 - '@typescript-eslint/scope-manager': 8.24.1 - '@typescript-eslint/utils': 8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3) - debug: 4.4.0 - doctrine: 3.0.0 - enhanced-resolve: 5.18.1 - eslint: 9.21.0(jiti@2.4.2) - eslint-import-resolver-node: 0.3.9 - get-tsconfig: 4.10.0 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.7.1 - stable-hash: 0.0.4 - tslib: 2.8.1 - transitivePeerDependencies: - - supports-color - - typescript - - eslint-plugin-jsdoc@50.6.3(eslint@9.21.0(jiti@2.4.2)): - dependencies: - '@es-joy/jsdoccomment': 0.49.0 - are-docs-informative: 0.0.2 - comment-parser: 1.4.1 - debug: 4.4.0 - escape-string-regexp: 4.0.0 - eslint: 9.21.0(jiti@2.4.2) - espree: 10.3.0 - esquery: 1.6.0 - parse-imports: 2.2.1 - semver: 7.7.1 - spdx-expression-parse: 4.0.0 - synckit: 0.9.2 - transitivePeerDependencies: - - supports-color - - eslint-plugin-jsonc@2.19.1(eslint@9.21.0(jiti@2.4.2)): - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2)) - eslint: 9.21.0(jiti@2.4.2) - eslint-compat-utils: 0.6.4(eslint@9.21.0(jiti@2.4.2)) - eslint-json-compat-utils: 0.2.1(eslint@9.21.0(jiti@2.4.2))(jsonc-eslint-parser@2.4.0) - espree: 9.6.1 - graphemer: 1.4.0 - jsonc-eslint-parser: 2.4.0 - natural-compare: 1.4.0 - synckit: 0.6.2 - transitivePeerDependencies: - - '@eslint/json' - - eslint-plugin-n@17.15.1(eslint@9.21.0(jiti@2.4.2)): - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2)) - enhanced-resolve: 5.18.1 - eslint: 9.21.0(jiti@2.4.2) - eslint-plugin-es-x: 7.8.0(eslint@9.21.0(jiti@2.4.2)) - get-tsconfig: 4.10.0 - globals: 15.15.0 - ignore: 5.3.2 - minimatch: 9.0.5 - semver: 7.7.1 - - eslint-plugin-no-only-tests@3.3.0: {} - - eslint-plugin-perfectionist@4.9.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3): - dependencies: - '@typescript-eslint/types': 8.24.1 - '@typescript-eslint/utils': 8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3) - eslint: 9.21.0(jiti@2.4.2) - natural-orderby: 5.0.0 - transitivePeerDependencies: - - supports-color - - typescript - - eslint-plugin-regexp@2.7.0(eslint@9.21.0(jiti@2.4.2)): - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2)) - '@eslint-community/regexpp': 4.12.1 - comment-parser: 1.4.1 - eslint: 9.21.0(jiti@2.4.2) - jsdoc-type-pratt-parser: 4.1.0 - refa: 0.12.1 - regexp-ast-analysis: 0.7.1 - scslre: 0.3.0 - - eslint-plugin-toml@0.12.0(eslint@9.21.0(jiti@2.4.2)): - dependencies: - debug: 4.4.0 - eslint: 9.21.0(jiti@2.4.2) - eslint-compat-utils: 0.6.4(eslint@9.21.0(jiti@2.4.2)) - lodash: 4.17.21 - toml-eslint-parser: 0.10.0 - transitivePeerDependencies: - - supports-color - - eslint-plugin-unicorn@57.0.0(eslint@9.21.0(jiti@2.4.2)): - dependencies: - '@babel/helper-validator-identifier': 7.25.9 - '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2)) - ci-info: 4.1.0 - clean-regexp: 1.0.0 - core-js-compat: 3.40.0 - eslint: 9.21.0(jiti@2.4.2) - esquery: 1.6.0 - globals: 15.15.0 - indent-string: 5.0.0 - is-builtin-module: 4.0.0 - jsesc: 3.1.0 - pluralize: 8.0.0 - read-package-up: 11.0.0 - regexp-tree: 0.1.27 - regjsparser: 0.12.0 - semver: 7.7.1 - strip-indent: 4.0.0 - - eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.21.0(jiti@2.4.2)): - dependencies: - eslint: 9.21.0(jiti@2.4.2) - optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3) - - eslint-plugin-vue@9.32.0(eslint@9.21.0(jiti@2.4.2)): - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2)) - eslint: 9.21.0(jiti@2.4.2) - globals: 13.24.0 - natural-compare: 1.4.0 - nth-check: 2.1.1 - postcss-selector-parser: 6.1.2 - semver: 7.7.1 - vue-eslint-parser: 9.4.3(eslint@9.21.0(jiti@2.4.2)) - xml-name-validator: 4.0.0 - transitivePeerDependencies: - - supports-color - - eslint-plugin-yml@1.17.0(eslint@9.21.0(jiti@2.4.2)): - dependencies: - debug: 4.4.0 - escape-string-regexp: 4.0.0 - eslint: 9.21.0(jiti@2.4.2) - eslint-compat-utils: 0.6.4(eslint@9.21.0(jiti@2.4.2)) - natural-compare: 1.4.0 - yaml-eslint-parser: 1.2.3 - transitivePeerDependencies: - - supports-color - - eslint-processor-vue-blocks@2.0.0(@vue/compiler-sfc@3.5.13)(eslint@9.21.0(jiti@2.4.2)): - dependencies: - '@vue/compiler-sfc': 3.5.13 - eslint: 9.21.0(jiti@2.4.2) - - eslint-scope@7.2.2: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - - eslint-scope@8.2.0: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - - eslint-visitor-keys@3.4.3: {} - - eslint-visitor-keys@4.2.0: {} - - eslint@9.21.0(jiti@2.4.2): - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2)) - '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.19.2 - '@eslint/core': 0.12.0 - '@eslint/eslintrc': 3.3.0 - '@eslint/js': 9.21.0 - '@eslint/plugin-kit': 0.2.7 - '@humanfs/node': 0.16.6 - '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.2 - '@types/estree': 1.0.6 - '@types/json-schema': 7.0.15 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.6 - debug: 4.4.0 - escape-string-regexp: 4.0.0 - eslint-scope: 8.2.0 - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 - esquery: 1.6.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 8.0.0 - find-up: 5.0.0 - glob-parent: 6.0.2 - ignore: 5.3.2 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - json-stable-stringify-without-jsonify: 1.0.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.4 - optionalDependencies: - jiti: 2.4.2 - transitivePeerDependencies: - - supports-color - - espree@10.3.0: - dependencies: - acorn: 8.14.0 - acorn-jsx: 5.3.2(acorn@8.14.0) - eslint-visitor-keys: 4.2.0 - - espree@9.6.1: - dependencies: - acorn: 8.14.0 - acorn-jsx: 5.3.2(acorn@8.14.0) - eslint-visitor-keys: 3.4.3 - - esquery@1.6.0: - dependencies: - estraverse: 5.3.0 - - esrecurse@4.3.0: - dependencies: - estraverse: 5.3.0 - - estraverse@5.3.0: {} - - estree-walker@2.0.2: {} - - estree-walker@3.0.3: - dependencies: - '@types/estree': 1.0.6 - - esutils@2.0.3: {} - - eventemitter3@5.0.1: {} - - execa@8.0.1: - dependencies: - cross-spawn: 7.0.6 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - - expect-type@1.1.0: {} - - fast-deep-equal@3.1.3: {} - - fast-diff@1.3.0: {} - - fast-glob@3.3.3: - 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.8 - - fast-json-stable-stringify@2.1.0: {} - - fast-levenshtein@2.0.6: {} - - fastq@1.19.0: - dependencies: - reusify: 1.0.4 - - fdir@6.4.3(picomatch@4.0.2): - optionalDependencies: - picomatch: 4.0.2 - - file-entry-cache@8.0.0: - dependencies: - flat-cache: 4.0.1 - - fill-range@7.1.1: - dependencies: - to-regex-range: 5.0.1 - - find-up-simple@1.0.0: {} - - find-up@5.0.0: - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - - flat-cache@4.0.1: - dependencies: - flatted: 3.3.3 - keyv: 4.5.4 - - flatted@3.3.3: {} - - follow-redirects@1.15.9: {} - - foreground-child@3.3.0: - dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 - - form-data@4.0.2: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - es-set-tostringtag: 2.1.0 - mime-types: 2.1.35 - - fraction.js@4.3.7: {} - - fsevents@2.3.3: - optional: true - - function-bind@1.1.2: {} - - gensync@1.0.0-beta.2: {} - - get-east-asian-width@1.3.0: {} - - get-intrinsic@1.2.7: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - function-bind: 1.1.2 - get-proto: 1.0.1 - gopd: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - math-intrinsics: 1.1.0 - - get-proto@1.0.1: - dependencies: - dunder-proto: 1.0.1 - es-object-atoms: 1.1.1 - - get-stream@8.0.1: {} - - get-tsconfig@4.10.0: - dependencies: - resolve-pkg-maps: 1.0.0 - - glob-parent@5.1.2: - dependencies: - is-glob: 4.0.3 - - glob-parent@6.0.2: - dependencies: - is-glob: 4.0.3 - - glob@10.4.5: - dependencies: - foreground-child: 3.3.0 - jackspeak: 3.4.3 - minimatch: 9.0.5 - minipass: 7.1.2 - package-json-from-dist: 1.0.1 - path-scurry: 1.11.1 - - globals@11.12.0: {} - - globals@13.24.0: - dependencies: - type-fest: 0.20.2 - - globals@14.0.0: {} - - globals@15.15.0: {} - - gopd@1.2.0: {} - - graceful-fs@4.2.11: {} - - graphemer@1.4.0: {} - - gzip-size@6.0.0: - dependencies: - duplexer: 0.1.2 - - happy-dom@17.1.2: - dependencies: - webidl-conversions: 7.0.0 - whatwg-mimetype: 3.0.0 - - has-flag@4.0.0: {} - - has-symbols@1.1.0: {} - - has-tostringtag@1.0.2: - dependencies: - has-symbols: 1.1.0 - - hasown@2.0.2: - dependencies: - function-bind: 1.1.2 - - he@1.2.0: {} - - hookable@5.5.3: {} - - hosted-git-info@7.0.2: - dependencies: - lru-cache: 10.4.3 - - human-signals@5.0.0: {} - - husky@9.1.7: {} - - ignore@5.3.2: {} - - immutable@4.3.7: - optional: true - - import-fresh@3.3.1: - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - - importx@0.5.2: - dependencies: - bundle-require: 5.1.0(esbuild@0.25.0) - debug: 4.4.0 - esbuild: 0.25.0 - jiti: 2.4.2 - pathe: 2.0.3 - tsx: 4.19.2 - transitivePeerDependencies: - - supports-color - optional: true - - imurmurhash@0.1.4: {} - - indent-string@5.0.0: {} - - index-to-position@0.1.2: {} - - ini@1.3.8: {} - - is-binary-path@2.1.0: - dependencies: - binary-extensions: 2.3.0 - - is-blob@2.1.0: {} - - is-builtin-module@4.0.0: - dependencies: - builtin-modules: 4.0.0 - - is-core-module@2.16.1: - dependencies: - hasown: 2.0.2 - - is-extglob@2.1.1: {} - - is-fullwidth-code-point@3.0.0: {} - - is-fullwidth-code-point@4.0.0: {} - - is-fullwidth-code-point@5.0.0: - dependencies: - get-east-asian-width: 1.3.0 - - is-glob@4.0.3: - dependencies: - is-extglob: 2.1.1 - - is-number@7.0.0: {} - - is-stream@3.0.0: {} - - is-what@4.1.16: {} - - isexe@2.0.0: {} - - jackspeak@3.4.3: - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - - jiti@2.4.2: {} - - js-beautify@1.15.3: - dependencies: - config-chain: 1.1.13 - editorconfig: 1.0.4 - glob: 10.4.5 - js-cookie: 3.0.5 - nopt: 8.1.0 - - js-cookie@3.0.5: {} - - js-tokens@4.0.0: {} - - js-tokens@9.0.1: {} - - js-yaml@4.1.0: - dependencies: - argparse: 2.0.1 - - jsdoc-type-pratt-parser@4.1.0: {} - - jsesc@3.0.2: {} - - jsesc@3.1.0: {} - - json-buffer@3.0.1: {} - - json-schema-traverse@0.4.1: {} - - json-stable-stringify-without-jsonify@1.0.1: {} - - json5@2.2.3: {} - - jsonc-eslint-parser@2.4.0: - dependencies: - acorn: 8.14.0 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - semver: 7.7.1 - - keyv@4.5.4: - dependencies: - json-buffer: 3.0.1 - - kolorist@1.8.0: {} - - levn@0.4.1: - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - - lilconfig@3.1.3: {} - - lint-staged@15.4.3: - dependencies: - chalk: 5.4.1 - commander: 13.1.0 - debug: 4.4.0 - execa: 8.0.1 - lilconfig: 3.1.3 - listr2: 8.2.5 - micromatch: 4.0.8 - pidtree: 0.6.0 - string-argv: 0.3.2 - yaml: 2.7.0 - transitivePeerDependencies: - - supports-color - - listr2@8.2.5: - dependencies: - cli-truncate: 4.0.0 - colorette: 2.0.20 - eventemitter3: 5.0.1 - log-update: 6.1.0 - rfdc: 1.4.1 - wrap-ansi: 9.0.0 - - load-tsconfig@0.2.5: - optional: true - - local-pkg@1.0.0: - dependencies: - mlly: 1.7.4 - pkg-types: 1.3.1 - - locate-path@6.0.0: - dependencies: - p-locate: 5.0.0 - - lodash-es@4.17.21: {} - - lodash.debounce@4.0.8: {} - - lodash.merge@4.6.2: {} - - lodash@4.17.21: {} - - log-update@6.1.0: - dependencies: - ansi-escapes: 7.0.0 - cli-cursor: 5.0.0 - slice-ansi: 7.1.0 - strip-ansi: 7.1.0 - wrap-ansi: 9.0.0 - - longest-streak@3.1.0: {} - - loupe@3.1.3: {} - - lru-cache@10.4.3: {} - - lru-cache@5.1.1: - dependencies: - yallist: 3.1.1 - - magic-string@0.30.17: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - - markdown-table@3.0.4: {} - - math-intrinsics@1.1.0: {} - - mdast-util-find-and-replace@3.0.2: - dependencies: - '@types/mdast': 4.0.4 - escape-string-regexp: 5.0.0 - unist-util-is: 6.0.0 - unist-util-visit-parents: 6.0.1 - - mdast-util-from-markdown@2.0.2: - dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - decode-named-character-reference: 1.0.2 - devlop: 1.1.0 - mdast-util-to-string: 4.0.0 - micromark: 4.0.1 - micromark-util-decode-numeric-character-reference: 2.0.2 - micromark-util-decode-string: 2.0.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 - unist-util-stringify-position: 4.0.0 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm-autolink-literal@2.0.1: - dependencies: - '@types/mdast': 4.0.4 - ccount: 2.0.1 - devlop: 1.1.0 - mdast-util-find-and-replace: 3.0.2 - micromark-util-character: 2.1.1 - - mdast-util-gfm-footnote@2.1.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - micromark-util-normalize-identifier: 2.0.1 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm-strikethrough@2.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm-table@2.0.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - markdown-table: 3.0.4 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm-task-list-item@2.0.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm@3.1.0: - dependencies: - mdast-util-from-markdown: 2.0.2 - mdast-util-gfm-autolink-literal: 2.0.1 - mdast-util-gfm-footnote: 2.1.0 - mdast-util-gfm-strikethrough: 2.0.0 - mdast-util-gfm-table: 2.0.0 - mdast-util-gfm-task-list-item: 2.0.0 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color - - mdast-util-phrasing@4.1.0: - dependencies: - '@types/mdast': 4.0.4 - unist-util-is: 6.0.0 - - mdast-util-to-markdown@2.1.2: - dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - longest-streak: 3.1.0 - mdast-util-phrasing: 4.1.0 - mdast-util-to-string: 4.0.0 - micromark-util-classify-character: 2.0.1 - micromark-util-decode-string: 2.0.1 - unist-util-visit: 5.0.0 - zwitch: 2.0.4 - - mdast-util-to-string@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - - mdn-data@2.0.28: {} - - mdn-data@2.0.30: {} - - mdn-data@2.12.2: {} - - meow@13.2.0: {} - - merge-stream@2.0.0: {} - - merge2@1.4.1: {} - - micromark-core-commonmark@2.0.2: - dependencies: - decode-named-character-reference: 1.0.2 - devlop: 1.1.0 - micromark-factory-destination: 2.0.1 - micromark-factory-label: 2.0.1 - micromark-factory-space: 2.0.1 - micromark-factory-title: 2.0.1 - micromark-factory-whitespace: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-chunked: 2.0.1 - micromark-util-classify-character: 2.0.1 - micromark-util-html-tag-name: 2.0.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-resolve-all: 2.0.1 - micromark-util-subtokenize: 2.0.4 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 - - micromark-extension-gfm-autolink-literal@2.1.0: - dependencies: - micromark-util-character: 2.1.1 - micromark-util-sanitize-uri: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 - - micromark-extension-gfm-footnote@2.1.0: - dependencies: - devlop: 1.1.0 - micromark-core-commonmark: 2.0.2 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-sanitize-uri: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 - - micromark-extension-gfm-strikethrough@2.1.0: - dependencies: - devlop: 1.1.0 - micromark-util-chunked: 2.0.1 - micromark-util-classify-character: 2.0.1 - micromark-util-resolve-all: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 - - micromark-extension-gfm-table@2.1.1: - dependencies: - devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 - - micromark-extension-gfm-tagfilter@2.0.0: - dependencies: - micromark-util-types: 2.0.1 - - micromark-extension-gfm-task-list-item@2.1.0: - dependencies: - devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 - - micromark-extension-gfm@3.0.0: - dependencies: - micromark-extension-gfm-autolink-literal: 2.1.0 - micromark-extension-gfm-footnote: 2.1.0 - micromark-extension-gfm-strikethrough: 2.1.0 - micromark-extension-gfm-table: 2.1.1 - micromark-extension-gfm-tagfilter: 2.0.0 - micromark-extension-gfm-task-list-item: 2.1.0 - micromark-util-combine-extensions: 2.0.1 - micromark-util-types: 2.0.1 - - micromark-factory-destination@2.0.1: - dependencies: - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 - - micromark-factory-label@2.0.1: - dependencies: - devlop: 1.1.0 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 - - micromark-factory-space@2.0.1: - dependencies: - micromark-util-character: 2.1.1 - micromark-util-types: 2.0.1 - - micromark-factory-title@2.0.1: - dependencies: - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 - - micromark-factory-whitespace@2.0.1: - dependencies: - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 - - micromark-util-character@2.1.1: - dependencies: - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 - - micromark-util-chunked@2.0.1: - dependencies: - micromark-util-symbol: 2.0.1 - - micromark-util-classify-character@2.0.1: - dependencies: - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 - - micromark-util-combine-extensions@2.0.1: - dependencies: - micromark-util-chunked: 2.0.1 - micromark-util-types: 2.0.1 - - micromark-util-decode-numeric-character-reference@2.0.2: - dependencies: - micromark-util-symbol: 2.0.1 - - micromark-util-decode-string@2.0.1: - dependencies: - decode-named-character-reference: 1.0.2 - micromark-util-character: 2.1.1 - micromark-util-decode-numeric-character-reference: 2.0.2 - micromark-util-symbol: 2.0.1 - - micromark-util-encode@2.0.1: {} - - micromark-util-html-tag-name@2.0.1: {} - - micromark-util-normalize-identifier@2.0.1: - dependencies: - micromark-util-symbol: 2.0.1 - - micromark-util-resolve-all@2.0.1: - dependencies: - micromark-util-types: 2.0.1 - - micromark-util-sanitize-uri@2.0.1: - dependencies: - micromark-util-character: 2.1.1 - micromark-util-encode: 2.0.1 - micromark-util-symbol: 2.0.1 - - micromark-util-subtokenize@2.0.4: - dependencies: - devlop: 1.1.0 - micromark-util-chunked: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 - - micromark-util-symbol@2.0.1: {} - - micromark-util-types@2.0.1: {} - - micromark@4.0.1: - dependencies: - '@types/debug': 4.1.12 - debug: 4.4.0 - decode-named-character-reference: 1.0.2 - devlop: 1.1.0 - micromark-core-commonmark: 2.0.2 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-chunked: 2.0.1 - micromark-util-combine-extensions: 2.0.1 - micromark-util-decode-numeric-character-reference: 2.0.2 - micromark-util-encode: 2.0.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-resolve-all: 2.0.1 - micromark-util-sanitize-uri: 2.0.1 - micromark-util-subtokenize: 2.0.4 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 - transitivePeerDependencies: - - supports-color - - micromatch@4.0.8: - dependencies: - braces: 3.0.3 - picomatch: 2.3.1 - - mime-db@1.52.0: {} - - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 - - mimic-fn@4.0.0: {} - - mimic-function@5.0.1: {} - - min-indent@1.0.1: {} - - minimatch@3.1.2: - dependencies: - brace-expansion: 1.1.11 - - minimatch@9.0.1: - dependencies: - brace-expansion: 2.0.1 - - minimatch@9.0.5: - dependencies: - brace-expansion: 2.0.1 - - minipass@7.1.2: {} - - mitt@3.0.1: {} - - mlly@1.7.4: - dependencies: - acorn: 8.14.0 - pathe: 2.0.3 - pkg-types: 1.3.1 - ufo: 1.5.4 - - mrmime@2.0.1: {} - - ms@2.1.3: {} - - muggle-string@0.4.1: {} - - mutation-observer@1.0.3: {} - - nanoid@3.3.8: {} - - natural-compare@1.4.0: {} - - natural-orderby@5.0.0: {} - - node-fetch-native@1.6.6: {} - - node-releases@2.0.19: {} - - nopt@8.1.0: - dependencies: - abbrev: 3.0.0 - - normalize-package-data@6.0.2: - dependencies: - hosted-git-info: 7.0.2 - semver: 7.7.1 - validate-npm-package-license: 3.0.4 - - normalize-path@3.0.0: {} - - normalize-range@0.1.2: {} - - normalize.css@8.0.1: {} - - npm-run-path@5.3.0: - dependencies: - path-key: 4.0.0 - - nprogress@0.2.0: {} - - nth-check@2.1.1: - dependencies: - boolbase: 1.0.0 - - ofetch@1.4.1: - dependencies: - destr: 2.0.3 - node-fetch-native: 1.6.6 - ufo: 1.5.4 - - onetime@6.0.0: - dependencies: - mimic-fn: 4.0.0 - - onetime@7.0.0: - dependencies: - mimic-function: 5.0.1 - - optionator@0.9.4: - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - word-wrap: 1.2.5 - - p-limit@3.1.0: - dependencies: - yocto-queue: 0.1.0 - - p-locate@5.0.0: - dependencies: - p-limit: 3.1.0 - - package-json-from-dist@1.0.1: {} - - package-manager-detector@0.2.9: {} - - parent-module@1.0.1: - dependencies: - callsites: 3.1.0 - - parse-gitignore@2.0.0: {} - - parse-imports@2.2.1: - dependencies: - es-module-lexer: 1.6.0 - slashes: 3.0.12 - - parse-json@8.1.0: - dependencies: - '@babel/code-frame': 7.26.2 - index-to-position: 0.1.2 - type-fest: 4.35.0 - - path-browserify@1.0.1: {} - - path-exists@4.0.0: {} - - path-key@3.1.1: {} - - path-key@4.0.0: {} - - path-parse@1.0.7: {} - - path-scurry@1.11.1: - dependencies: - lru-cache: 10.4.3 - minipass: 7.1.2 - - pathe@2.0.3: {} - - pathval@2.0.0: {} - - perfect-debounce@1.0.0: {} - - picocolors@1.1.1: {} - - picomatch@2.3.1: {} - - picomatch@4.0.2: {} - - pidtree@0.6.0: {} - - pinia@3.0.1(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)): - dependencies: - '@vue/devtools-api': 7.7.2 - vue: 3.5.13(typescript@5.7.3) - optionalDependencies: - typescript: 5.7.3 - - pkg-types@1.3.1: - dependencies: - confbox: 0.1.8 - mlly: 1.7.4 - pathe: 2.0.3 - - pluralize@8.0.0: {} - - postcss-mobile-forever@4.4.0(postcss@8.5.3): - dependencies: - postcss: 8.5.3 - - postcss-selector-parser@6.1.2: - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - - postcss-value-parser@4.2.0: {} - - postcss@8.5.3: - dependencies: - nanoid: 3.3.8 - picocolors: 1.1.1 - source-map-js: 1.2.1 - - prelude-ls@1.2.1: {} - - prettier-linter-helpers@1.0.0: - dependencies: - fast-diff: 1.3.0 - - prettier@3.5.2: {} - - proto-list@1.2.4: {} - - proxy-from-env@1.1.0: {} - - punycode@2.3.1: {} - - queue-microtask@1.2.3: {} - - read-package-up@11.0.0: - dependencies: - find-up-simple: 1.0.0 - read-pkg: 9.0.1 - type-fest: 4.35.0 - - read-pkg@9.0.1: - dependencies: - '@types/normalize-package-data': 2.4.4 - normalize-package-data: 6.0.2 - parse-json: 8.1.0 - type-fest: 4.35.0 - unicorn-magic: 0.1.0 - - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 - - refa@0.12.1: - dependencies: - '@eslint-community/regexpp': 4.12.1 - - regenerate-unicode-properties@10.2.0: - dependencies: - regenerate: 1.4.2 - - regenerate@1.4.2: {} - - regenerator-runtime@0.14.1: {} - - regenerator-transform@0.15.2: - dependencies: - '@babel/runtime': 7.26.9 - - regexp-ast-analysis@0.7.1: - dependencies: - '@eslint-community/regexpp': 4.12.1 - refa: 0.12.1 - - regexp-tree@0.1.27: {} - - regexpu-core@6.2.0: - dependencies: - regenerate: 1.4.2 - regenerate-unicode-properties: 10.2.0 - regjsgen: 0.8.0 - regjsparser: 0.12.0 - unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.2.0 - - regjsgen@0.8.0: {} - - regjsparser@0.12.0: - dependencies: - jsesc: 3.0.2 - - resolve-from@4.0.0: {} - - resolve-pkg-maps@1.0.0: {} - - resolve@1.22.10: - dependencies: - is-core-module: 2.16.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - - restore-cursor@5.1.0: - dependencies: - onetime: 7.0.0 - signal-exit: 4.1.0 - - reusify@1.0.4: {} - - rfdc@1.4.1: {} - - rollup@4.34.8: - dependencies: - '@types/estree': 1.0.6 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.34.8 - '@rollup/rollup-android-arm64': 4.34.8 - '@rollup/rollup-darwin-arm64': 4.34.8 - '@rollup/rollup-darwin-x64': 4.34.8 - '@rollup/rollup-freebsd-arm64': 4.34.8 - '@rollup/rollup-freebsd-x64': 4.34.8 - '@rollup/rollup-linux-arm-gnueabihf': 4.34.8 - '@rollup/rollup-linux-arm-musleabihf': 4.34.8 - '@rollup/rollup-linux-arm64-gnu': 4.34.8 - '@rollup/rollup-linux-arm64-musl': 4.34.8 - '@rollup/rollup-linux-loongarch64-gnu': 4.34.8 - '@rollup/rollup-linux-powerpc64le-gnu': 4.34.8 - '@rollup/rollup-linux-riscv64-gnu': 4.34.8 - '@rollup/rollup-linux-s390x-gnu': 4.34.8 - '@rollup/rollup-linux-x64-gnu': 4.34.8 - '@rollup/rollup-linux-x64-musl': 4.34.8 - '@rollup/rollup-win32-arm64-msvc': 4.34.8 - '@rollup/rollup-win32-ia32-msvc': 4.34.8 - '@rollup/rollup-win32-x64-msvc': 4.34.8 - fsevents: 2.3.3 - - run-parallel@1.2.0: - dependencies: - queue-microtask: 1.2.3 - - sass@1.78.0: - dependencies: - chokidar: 3.6.0 - immutable: 4.3.7 - source-map-js: 1.2.1 - optional: true - - scslre@0.3.0: - dependencies: - '@eslint-community/regexpp': 4.12.1 - refa: 0.12.1 - regexp-ast-analysis: 0.7.1 - - scule@1.3.0: {} - - semver@6.3.1: {} - - semver@7.7.1: {} - - shebang-command@2.0.0: - dependencies: - shebang-regex: 3.0.0 - - shebang-regex@3.0.0: {} - - siginfo@2.0.0: {} - - signal-exit@4.1.0: {} - - sirv@3.0.1: - dependencies: - '@polka/url': 1.0.0-next.28 - mrmime: 2.0.1 - totalist: 3.0.1 - - sisteransi@1.0.5: {} - - slashes@3.0.12: {} - - slice-ansi@5.0.0: - dependencies: - ansi-styles: 6.2.1 - is-fullwidth-code-point: 4.0.0 - - slice-ansi@7.1.0: - dependencies: - ansi-styles: 6.2.1 - is-fullwidth-code-point: 5.0.0 - - source-map-js@1.2.1: {} - - source-map-support@0.5.21: - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - - source-map@0.6.1: {} - - spdx-correct@3.2.0: - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.21 - - spdx-exceptions@2.5.0: {} - - spdx-expression-parse@3.0.1: - dependencies: - spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.21 - - spdx-expression-parse@4.0.0: - dependencies: - spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.21 - - spdx-license-ids@3.0.21: {} - - speakingurl@14.0.1: {} - - stable-hash@0.0.4: {} - - stackback@0.0.2: {} - - std-env@3.8.0: {} - - string-argv@0.3.2: {} - - string-width@4.2.3: - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - - string-width@5.1.2: - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - - string-width@7.2.0: - dependencies: - emoji-regex: 10.4.0 - get-east-asian-width: 1.3.0 - strip-ansi: 7.1.0 - - strip-ansi@6.0.1: - dependencies: - ansi-regex: 5.0.1 - - strip-ansi@7.1.0: - dependencies: - ansi-regex: 6.1.0 - - strip-final-newline@3.0.0: {} - - strip-indent@4.0.0: - dependencies: - min-indent: 1.0.1 - - strip-json-comments@3.1.1: {} - - strip-literal@3.0.0: - dependencies: - js-tokens: 9.0.1 - - superjson@2.2.2: - dependencies: - copy-anything: 3.0.5 - - supports-color@7.2.0: - dependencies: - has-flag: 4.0.0 - - supports-preserve-symlinks-flag@1.0.0: {} - - svgo@3.3.2: - dependencies: - '@trysound/sax': 0.2.0 - commander: 7.2.0 - css-select: 5.1.0 - css-tree: 2.3.1 - css-what: 6.1.0 - csso: 5.0.5 - picocolors: 1.1.1 - - synckit@0.6.2: - dependencies: - tslib: 2.8.1 - - synckit@0.9.2: - dependencies: - '@pkgr/core': 0.1.1 - tslib: 2.8.1 - - systemjs@6.15.1: {} - - tapable@2.2.1: {} - - terser@5.39.0: - dependencies: - '@jridgewell/source-map': 0.3.6 - acorn: 8.14.0 - commander: 2.20.3 - source-map-support: 0.5.21 - - tinybench@2.9.0: {} - - tinyexec@0.3.2: {} - - tinyglobby@0.2.12: - dependencies: - fdir: 6.4.3(picomatch@4.0.2) - picomatch: 4.0.2 - - tinypool@1.0.2: {} - - tinyrainbow@2.0.0: {} - - tinyspy@3.0.2: {} - - to-regex-range@5.0.1: - dependencies: - is-number: 7.0.0 - - toml-eslint-parser@0.10.0: - dependencies: - eslint-visitor-keys: 3.4.3 - - totalist@3.0.1: {} - - ts-api-utils@2.0.1(typescript@5.7.3): - dependencies: - typescript: 5.7.3 - - tslib@2.8.1: {} - - tsx@4.19.2: - dependencies: - esbuild: 0.23.1 - get-tsconfig: 4.10.0 - optionalDependencies: - fsevents: 2.3.3 - optional: true - - type-check@0.4.0: - dependencies: - prelude-ls: 1.2.1 - - type-fest@0.20.2: {} - - type-fest@4.35.0: {} - - typescript@5.7.3: {} - - ufo@1.5.4: {} - - unconfig@0.6.1: - dependencies: - '@antfu/utils': 8.1.1 - defu: 6.1.4 - importx: 0.5.2 - transitivePeerDependencies: - - supports-color - optional: true - - unconfig@7.0.0: - dependencies: - '@antfu/utils': 8.1.1 - defu: 6.1.4 - jiti: 2.4.2 - - undici-types@6.20.0: {} - - unicode-canonical-property-names-ecmascript@2.0.1: {} - - unicode-match-property-ecmascript@2.0.0: - dependencies: - unicode-canonical-property-names-ecmascript: 2.0.1 - unicode-property-aliases-ecmascript: 2.1.0 - - unicode-match-property-value-ecmascript@2.2.0: {} - - unicode-property-aliases-ecmascript@2.1.0: {} - - unicorn-magic@0.1.0: {} - - unimport@4.1.2: - dependencies: - acorn: 8.14.0 - escape-string-regexp: 5.0.0 - estree-walker: 3.0.3 - local-pkg: 1.0.0 - magic-string: 0.30.17 - mlly: 1.7.4 - pathe: 2.0.3 - picomatch: 4.0.2 - pkg-types: 1.3.1 - scule: 1.3.0 - strip-literal: 3.0.0 - tinyglobby: 0.2.12 - unplugin: 2.2.0 - unplugin-utils: 0.2.4 - - unist-util-is@6.0.0: - dependencies: - '@types/unist': 3.0.3 - - unist-util-stringify-position@4.0.0: - dependencies: - '@types/unist': 3.0.3 - - unist-util-visit-parents@6.0.1: - dependencies: - '@types/unist': 3.0.3 - unist-util-is: 6.0.0 - - unist-util-visit@5.0.0: - dependencies: - '@types/unist': 3.0.3 - unist-util-is: 6.0.0 - unist-util-visit-parents: 6.0.1 - - unocss@66.0.0(postcss@8.5.3)(vite@6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)): - dependencies: - '@unocss/astro': 66.0.0(vite@6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) - '@unocss/cli': 66.0.0 - '@unocss/core': 66.0.0 - '@unocss/postcss': 66.0.0(postcss@8.5.3) - '@unocss/preset-attributify': 66.0.0 - '@unocss/preset-icons': 66.0.0 - '@unocss/preset-mini': 66.0.0 - '@unocss/preset-tagify': 66.0.0 - '@unocss/preset-typography': 66.0.0 - '@unocss/preset-uno': 66.0.0 - '@unocss/preset-web-fonts': 66.0.0 - '@unocss/preset-wind': 66.0.0 - '@unocss/preset-wind3': 66.0.0 - '@unocss/transformer-attributify-jsx': 66.0.0 - '@unocss/transformer-compile-class': 66.0.0 - '@unocss/transformer-directives': 66.0.0 - '@unocss/transformer-variant-group': 66.0.0 - '@unocss/vite': 66.0.0(vite@6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) - optionalDependencies: - vite: 6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0) - transitivePeerDependencies: - - postcss - - supports-color - - vue - - unplugin-auto-import@19.1.0: - dependencies: - local-pkg: 1.0.0 - magic-string: 0.30.17 - picomatch: 4.0.2 - unimport: 4.1.2 - unplugin: 2.2.0 - unplugin-utils: 0.2.4 - - unplugin-utils@0.2.4: - dependencies: - pathe: 2.0.3 - picomatch: 4.0.2 - - unplugin-vue-components@28.4.0(@babel/parser@7.26.9)(vue@3.5.13(typescript@5.7.3)): - dependencies: - chokidar: 3.6.0 - debug: 4.4.0 - local-pkg: 1.0.0 - magic-string: 0.30.17 - mlly: 1.7.4 - tinyglobby: 0.2.12 - unplugin: 2.2.0 - unplugin-utils: 0.2.4 - vue: 3.5.13(typescript@5.7.3) - optionalDependencies: - '@babel/parser': 7.26.9 - transitivePeerDependencies: - - supports-color - - unplugin@2.2.0: - dependencies: - acorn: 8.14.0 - webpack-virtual-modules: 0.6.2 - - update-browserslist-db@1.1.2(browserslist@4.24.4): - dependencies: - browserslist: 4.24.4 - escalade: 3.2.0 - picocolors: 1.1.1 - - uri-js@4.4.1: - dependencies: - punycode: 2.3.1 - - util-deprecate@1.0.2: {} - - validate-npm-package-license@3.0.4: - dependencies: - spdx-correct: 3.2.0 - spdx-expression-parse: 3.0.1 - - vant@4.9.17(vue@3.5.13(typescript@5.7.3)): - dependencies: - '@vant/popperjs': 1.3.0 - '@vant/use': 1.6.0(vue@3.5.13(typescript@5.7.3)) - '@vue/shared': 3.5.13 - vue: 3.5.13(typescript@5.7.3) - - vconsole@3.15.1: - dependencies: - '@babel/runtime': 7.26.9 - copy-text-to-clipboard: 3.2.0 - core-js: 3.40.0 - mutation-observer: 1.0.3 - - vite-node@3.0.6(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0): - dependencies: - cac: 6.7.14 - debug: 4.4.0 - es-module-lexer: 1.6.0 - pathe: 2.0.3 - vite: 6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0) - transitivePeerDependencies: - - '@types/node' - - jiti - - less - - lightningcss - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - - vite-svg-loader@5.1.0(vue@3.5.13(typescript@5.7.3)): - dependencies: - svgo: 3.3.2 - vue: 3.5.13(typescript@5.7.3) - - vite@6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0): - dependencies: - esbuild: 0.24.2 - postcss: 8.5.3 - rollup: 4.34.8 - optionalDependencies: - '@types/node': 22.13.5 - fsevents: 2.3.3 - jiti: 2.4.2 - sass: 1.78.0 - terser: 5.39.0 - tsx: 4.19.2 - yaml: 2.7.0 - - vitest@3.0.6(@types/debug@4.1.12)(@types/node@22.13.5)(happy-dom@17.1.2)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0): - dependencies: - '@vitest/expect': 3.0.6 - '@vitest/mocker': 3.0.6(vite@6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0)) - '@vitest/pretty-format': 3.0.6 - '@vitest/runner': 3.0.6 - '@vitest/snapshot': 3.0.6 - '@vitest/spy': 3.0.6 - '@vitest/utils': 3.0.6 - chai: 5.2.0 - debug: 4.4.0 - expect-type: 1.1.0 - magic-string: 0.30.17 - pathe: 2.0.3 - std-env: 3.8.0 - tinybench: 2.9.0 - tinyexec: 0.3.2 - tinypool: 1.0.2 - tinyrainbow: 2.0.0 - vite: 6.1.1(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0) - vite-node: 3.0.6(@types/node@22.13.5)(jiti@2.4.2)(sass@1.78.0)(terser@5.39.0)(tsx@4.19.2)(yaml@2.7.0) - why-is-node-running: 2.3.0 - optionalDependencies: - '@types/debug': 4.1.12 - '@types/node': 22.13.5 - happy-dom: 17.1.2 - transitivePeerDependencies: - - jiti - - less - - lightningcss - - msw - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - - vscode-uri@3.1.0: {} - - vue-component-type-helpers@2.2.2: {} - - vue-eslint-parser@9.4.3(eslint@9.21.0(jiti@2.4.2)): - dependencies: - debug: 4.4.0 - eslint: 9.21.0(jiti@2.4.2) - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.6.0 - lodash: 4.17.21 - semver: 7.7.1 - transitivePeerDependencies: - - supports-color - - vue-flow-layout@0.1.1(vue@3.5.13(typescript@5.7.3)): - dependencies: - vue: 3.5.13(typescript@5.7.3) - - vue-router@4.5.0(vue@3.5.13(typescript@5.7.3)): - dependencies: - '@vue/devtools-api': 6.6.4 - vue: 3.5.13(typescript@5.7.3) - - vue-tsc@2.2.2(typescript@5.7.3): - dependencies: - '@volar/typescript': 2.4.11 - '@vue/language-core': 2.2.2(typescript@5.7.3) - typescript: 5.7.3 - - vue@3.5.13(typescript@5.7.3): - dependencies: - '@vue/compiler-dom': 3.5.13 - '@vue/compiler-sfc': 3.5.13 - '@vue/runtime-dom': 3.5.13 - '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.7.3)) - '@vue/shared': 3.5.13 - optionalDependencies: - typescript: 5.7.3 - - webidl-conversions@7.0.0: {} - - webpack-virtual-modules@0.6.2: {} - - whatwg-mimetype@3.0.0: {} - - which@2.0.2: - dependencies: - isexe: 2.0.0 - - why-is-node-running@2.3.0: - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - - word-wrap@1.2.5: {} - - wrap-ansi@7.0.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - - wrap-ansi@8.1.0: - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - - wrap-ansi@9.0.0: - dependencies: - ansi-styles: 6.2.1 - string-width: 7.2.0 - strip-ansi: 7.1.0 - - xml-name-validator@4.0.0: {} - - yallist@3.1.1: {} - - yaml-eslint-parser@1.2.3: - dependencies: - eslint-visitor-keys: 3.4.3 - lodash: 4.17.21 - yaml: 2.7.0 - - yaml@2.7.0: {} - - yocto-queue@0.1.0: {} - - zwitch@2.0.4: {} diff --git a/doc/thirdParty/postcss.config.ts b/doc/thirdParty/postcss.config.ts deleted file mode 100644 index ffe0dcb..0000000 --- a/doc/thirdParty/postcss.config.ts +++ /dev/null @@ -1,36 +0,0 @@ -// 修改配置后重启服务生效 -export default { - plugins: { - // 自动添加浏览器前缀 - "autoprefixer": {}, - // 移动端适配插件 - "postcss-mobile-forever": { - // UI 设计稿宽度 - viewportWidth: (file: string) => file.includes("vant") ? 375 : 375, - // 限制视图的最大宽度 - maxDisplayWidth: 750, - // 页面最外层选择器 - appSelector: "#app", - // 是否对「页面最外层选择器」对应的元素进行描边 - border: true, - // 转换单位后保留的小数点位数 - unitPrecision: 3, - // 转换后的单位 - mobileUnit: "vw", - // 需要转换的属性 - propList: ["*"], - // 忽略的选择器 - selectorBlackList: [".ignore", "keep-px"], - // 忽略的属性 - propertyBlackList: { - ".van-icon": "font" - }, - // 忽略的属性值 - valueBlackList: ["1px"], - // 忽略的目录或文件 - exclude: [], - // 包含块是根元素的选择器列表 - rootContainingBlockSelectorList: ["van-tabbar", "van-popup"] - } - } -} diff --git a/doc/thirdParty/project.config.json b/doc/thirdParty/project.config.json deleted file mode 100644 index 4aad380..0000000 --- a/doc/thirdParty/project.config.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "appid": "wxa9f934a1036c971d", - "compileType": "miniprogram", - "libVersion": "3.7.8", - "packOptions": { - "ignore": [], - "include": [] - }, - "setting": { - "coverView": true, - "es6": true, - "postcss": true, - "minified": true, - "enhance": true, - "showShadowRootInWxmlPanel": true, - "packNpmRelationList": [], - "babelSetting": { - "ignore": [], - "disablePlugins": [], - "outputPath": "" - } - }, - "condition": {}, - "editorSetting": { - "tabIndent": "insertSpaces", - "tabSize": 2 - } -} diff --git a/doc/thirdParty/project.private.config.json b/doc/thirdParty/project.private.config.json deleted file mode 100644 index b63c523..0000000 --- a/doc/thirdParty/project.private.config.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", - "projectname": "mobvue", - "setting": { - "compileHotReLoad": true - } -} diff --git a/doc/thirdParty/public/app-loading.css b/doc/thirdParty/public/app-loading.css deleted file mode 100644 index a3511d5..0000000 --- a/doc/thirdParty/public/app-loading.css +++ /dev/null @@ -1,45 +0,0 @@ -/* 白屏阶段会执行的 CSS 加载动画 */ - -#app-loading { - position: relative; - top: 45vh; - margin: 0 auto; - color: var(--mobvue-primary-color); - font-size: 12px; -} - -#app-loading, -#app-loading::before, -#app-loading::after { - width: 2em; - height: 2em; - border-radius: 50%; - animation: 2s ease-in-out infinite app-loading-animation; -} - -#app-loading::before, -#app-loading::after { - content: ""; - position: absolute; -} - -#app-loading::before { - left: -4em; - animation-delay: -0.2s; -} - -#app-loading::after { - left: 4em; - animation-delay: 0.2s; -} - -@keyframes app-loading-animation { - 0%, - 80%, - 100% { - box-shadow: 0 2em 0 -2em; - } - 40% { - box-shadow: 0 2em 0 0; - } -} diff --git a/doc/thirdParty/public/cover.png b/doc/thirdParty/public/cover.png deleted file mode 100644 index 6fb365c..0000000 Binary files a/doc/thirdParty/public/cover.png and /dev/null differ diff --git a/doc/thirdParty/public/favicon.ico b/doc/thirdParty/public/favicon.ico deleted file mode 100644 index 729b0c7..0000000 Binary files a/doc/thirdParty/public/favicon.ico and /dev/null differ diff --git a/doc/thirdParty/public/img/1.jpg b/doc/thirdParty/public/img/1.jpg deleted file mode 100644 index 7894a83..0000000 Binary files a/doc/thirdParty/public/img/1.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/10.jpg b/doc/thirdParty/public/img/10.jpg deleted file mode 100644 index 8e6994c..0000000 Binary files a/doc/thirdParty/public/img/10.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/11.jpg b/doc/thirdParty/public/img/11.jpg deleted file mode 100644 index 23b4ec2..0000000 Binary files a/doc/thirdParty/public/img/11.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/12.jpg b/doc/thirdParty/public/img/12.jpg deleted file mode 100644 index 0ced86d..0000000 Binary files a/doc/thirdParty/public/img/12.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/13.jpg b/doc/thirdParty/public/img/13.jpg deleted file mode 100644 index 6b8a003..0000000 Binary files a/doc/thirdParty/public/img/13.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/14.jpg b/doc/thirdParty/public/img/14.jpg deleted file mode 100644 index 208d8c4..0000000 Binary files a/doc/thirdParty/public/img/14.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/15.jpg b/doc/thirdParty/public/img/15.jpg deleted file mode 100644 index 60ee2f1..0000000 Binary files a/doc/thirdParty/public/img/15.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/16.jpg b/doc/thirdParty/public/img/16.jpg deleted file mode 100644 index a91dd47..0000000 Binary files a/doc/thirdParty/public/img/16.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/17.jpg b/doc/thirdParty/public/img/17.jpg deleted file mode 100644 index c83855a..0000000 Binary files a/doc/thirdParty/public/img/17.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/18.jpg b/doc/thirdParty/public/img/18.jpg deleted file mode 100644 index d74c3dd..0000000 Binary files a/doc/thirdParty/public/img/18.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/19.jpg b/doc/thirdParty/public/img/19.jpg deleted file mode 100644 index 6275728..0000000 Binary files a/doc/thirdParty/public/img/19.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/2.jpg b/doc/thirdParty/public/img/2.jpg deleted file mode 100644 index 29eea4f..0000000 Binary files a/doc/thirdParty/public/img/2.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/20.jpg b/doc/thirdParty/public/img/20.jpg deleted file mode 100644 index 1873bf4..0000000 Binary files a/doc/thirdParty/public/img/20.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/21.jpg b/doc/thirdParty/public/img/21.jpg deleted file mode 100644 index 729e13b..0000000 Binary files a/doc/thirdParty/public/img/21.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/22.jpg b/doc/thirdParty/public/img/22.jpg deleted file mode 100644 index fa3c07a..0000000 Binary files a/doc/thirdParty/public/img/22.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/23.jpg b/doc/thirdParty/public/img/23.jpg deleted file mode 100644 index 9f17d23..0000000 Binary files a/doc/thirdParty/public/img/23.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/24.jpg b/doc/thirdParty/public/img/24.jpg deleted file mode 100644 index b9cdd3b..0000000 Binary files a/doc/thirdParty/public/img/24.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/25.jpg b/doc/thirdParty/public/img/25.jpg deleted file mode 100644 index 8bbc438..0000000 Binary files a/doc/thirdParty/public/img/25.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/26.jpg b/doc/thirdParty/public/img/26.jpg deleted file mode 100644 index 0fbca81..0000000 Binary files a/doc/thirdParty/public/img/26.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/27.jpg b/doc/thirdParty/public/img/27.jpg deleted file mode 100644 index fe3bf3f..0000000 Binary files a/doc/thirdParty/public/img/27.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/28.jpg b/doc/thirdParty/public/img/28.jpg deleted file mode 100644 index 95a2e25..0000000 Binary files a/doc/thirdParty/public/img/28.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/29.jpg b/doc/thirdParty/public/img/29.jpg deleted file mode 100644 index 42fbe79..0000000 Binary files a/doc/thirdParty/public/img/29.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/3.jpg b/doc/thirdParty/public/img/3.jpg deleted file mode 100644 index a9a7aed..0000000 Binary files a/doc/thirdParty/public/img/3.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/30.jpg b/doc/thirdParty/public/img/30.jpg deleted file mode 100644 index 872dd18..0000000 Binary files a/doc/thirdParty/public/img/30.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/4.jpg b/doc/thirdParty/public/img/4.jpg deleted file mode 100644 index 5789bba..0000000 Binary files a/doc/thirdParty/public/img/4.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/5.jpg b/doc/thirdParty/public/img/5.jpg deleted file mode 100644 index e77e710..0000000 Binary files a/doc/thirdParty/public/img/5.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/6.jpg b/doc/thirdParty/public/img/6.jpg deleted file mode 100644 index 9270be0..0000000 Binary files a/doc/thirdParty/public/img/6.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/7.jpg b/doc/thirdParty/public/img/7.jpg deleted file mode 100644 index 6275728..0000000 Binary files a/doc/thirdParty/public/img/7.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/8.jpg b/doc/thirdParty/public/img/8.jpg deleted file mode 100644 index 8a7b576..0000000 Binary files a/doc/thirdParty/public/img/8.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/9.jpg b/doc/thirdParty/public/img/9.jpg deleted file mode 100644 index 1fb56d8..0000000 Binary files a/doc/thirdParty/public/img/9.jpg and /dev/null differ diff --git a/doc/thirdParty/public/img/product-image.png b/doc/thirdParty/public/img/product-image.png deleted file mode 100644 index e553a04..0000000 Binary files a/doc/thirdParty/public/img/product-image.png and /dev/null differ diff --git a/doc/thirdParty/public/img/product-image.svg b/doc/thirdParty/public/img/product-image.svg deleted file mode 100644 index f12a898..0000000 --- a/doc/thirdParty/public/img/product-image.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - 空闲 - \ No newline at end of file diff --git a/doc/thirdParty/src/App.vue b/doc/thirdParty/src/App.vue deleted file mode 100644 index 00aba70..0000000 --- a/doc/thirdParty/src/App.vue +++ /dev/null @@ -1,84 +0,0 @@ - - - diff --git a/doc/thirdParty/src/common/apis/ab98/index.ts b/doc/thirdParty/src/common/apis/ab98/index.ts deleted file mode 100644 index e7a91d6..0000000 --- a/doc/thirdParty/src/common/apis/ab98/index.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { request } from '@/http/axios' -import { - BindQyUserCommand, - GetTokenParams, - LoginData, - LogoutResponse, - SmsSendResponse, - TokenResponse, - VerifySmsParams, - WechatQrCodeParams -} from './type' -import { ab98UserDTO } from '../shop/type' - -/** 获取临时令牌 */ -export function getTokenApi(appName: string) { - return request>({ - url: '/wx/login/getToken', - method: 'get', - params: { appName } - }) -} - -/** 获取微信登录二维码 */ -export function getWechatQrCodeApi(token: string) { - return request>({ - url: '/wx/login/wechat/qrcode', - method: 'get', - params: { token } - }) -} - -/** 发送短信验证码 */ -export function sendSmsApi(token: string, tel: string) { - return request>({ - url: '/wx/login/sendSms', - method: 'post', - params: { token, tel } - }) -} - -/** 验证短信验证码 */ -export function verifySmsApi(params: VerifySmsParams) { - return request>({ - url: '/wx/login/verifySms', - method: 'post', - params - }) -} - -/** 用户退出登录 */ -export function logoutApi(token: string) { - return request>({ - url: '/wx/login/logout', - method: 'post', - params: { token } - }) -} - -/** ab98Token登录 */ -export function tokenLogin(token: string, userid: string, openid: string) { - return request>({ - url: '/wx/login/tokenLogin', - method: 'get', - params: { token, userid, openid } - }) -} - -export function bindQyUserApi(data: BindQyUserCommand) { - return request>({ - url: '/wx/login/bindQyUser', - method: 'post', - data - }) -} \ No newline at end of file diff --git a/doc/thirdParty/src/common/apis/ab98/type.ts b/doc/thirdParty/src/common/apis/ab98/type.ts deleted file mode 100644 index c27e65b..0000000 --- a/doc/thirdParty/src/common/apis/ab98/type.ts +++ /dev/null @@ -1,67 +0,0 @@ -/** 令牌响应 */ -export interface TokenResponse { - /** 认证令牌 */ - token: string -} - -/** 退出登录响应 */ -export interface LogoutResponse { - /** 是否成功 */ - success: boolean -} - -/** 短信发送响应 */ -export interface SmsSendResponse { - /** 发送状态 */ - success: boolean - /** 错误信息 */ - errMsg?: string -} - -/** 登录数据 */ -export interface LoginData { - /** 用户头像 */ - face_img: string - /** 登录状态 */ - success: boolean - /** 用户性别 */ - sex: string - /** 用户姓名 */ - name: string - /** 用户ID */ - userid: string - /** 是否已注册 */ - registered: boolean - /** 联系电话 */ - tel: string -} - -/** 获取令牌参数 */ -export type GetTokenParams = { - /** 应用名称 */ - appName: string -} - -/** 微信二维码参数 */ -export type WechatQrCodeParams = { - /** 认证令牌 */ - token: string -} - -/** 短信验证参数 */ -export type VerifySmsParams = { - /** 认证令牌 */ - token: string - /** 手机号码 */ - tel: string - /** 验证码 */ - vcode: string - userid: string - openid: string -} - -export interface BindQyUserCommand { - qyUserId: number; - name: string; - idNum: string; -} \ No newline at end of file diff --git a/doc/thirdParty/src/common/apis/approval/index.ts b/doc/thirdParty/src/common/apis/approval/index.ts deleted file mode 100644 index 3271ef1..0000000 --- a/doc/thirdParty/src/common/apis/approval/index.ts +++ /dev/null @@ -1,104 +0,0 @@ -import { request } from '@/http/axios' -import { SubmitApprovalRequestData, SubmitApprovalResponseData, SearchApiReturnApprovalQuery, ApiResponsePageData, ReturnApprovalEntity, HandleApprovalRequestData, SearchReturnApprovalAssetQuery, ReturnApprovalAssetDTO, HandleApprovalAssetRequestData, ApprovalGoodsCellEntity, ReturnApprovalDetailDTO } from './type' -import { OpenCabinetApiData, ShopOrderGoodsEntity } from '../shop/type' - -export const getApprovalListApi = (params: SearchApiReturnApprovalQuery) => { - return request>({ - url: 'approval/list', - method: 'get', - params - }) -} - -export const getApprovalAssetListApi = (params: SearchReturnApprovalAssetQuery) => { - return request>({ - url: 'approval/list/asset', - method: 'get', - params - }) -} - -export const checkApprovalCodeApi = (params: { - corpid: string, - approvalType: number, - code: string -}) => { - return request>( - { - url: 'approval/checkCode', - method: 'post', - params - } - ) -} - - -export const submitApprovalApi = (data: SubmitApprovalRequestData) => { - return request({ - url: 'approval/submit', - method: 'post', - data - }) -} - -export const handleApprovalApi = (data: HandleApprovalRequestData) => { - return request>({ - url: 'approval/handle', - method: 'post', - data - }) -} - - -export const handleApprovalAssetApi = (data: HandleApprovalRequestData) => { - return request>({ - url: 'approval/handle/asset', - method: 'post', - data - }) -} - -export const allocateApprovalGoods = (data: HandleApprovalAssetRequestData) => { - return request>({ - url: 'approval/handle/allocateApprovalGoods', - method: 'post', - data - }) -} - -export const getApprovalOrderGoodsApi = (approvalId: number) => { - return request>({ - url: 'approval/getApprovalOrderGoods', - method: 'get', - params: { approvalId } - }) -} - -export const getApprovalGoodsCellApi = (approvalId: number) => { - return request>( - { - url: 'approval/getApprovalGoodsCell', - method: 'get', - params: { approvalId } - } - ) -} - -export const getApprovalDetailAssetApi = (approvalId: number) => { - return request>( - { - url: 'approval/detail/asset', - method: 'get', - params: { approval_id: approvalId } - } - ) -} - -/** 打开储物柜接口 */ -export function openCabinetApi(approvalGoodsCellId: number, data: OpenCabinetApiData) { - return request>({ - url: `approval/openCabinet/${approvalGoodsCellId}`, - method: "post", - data - }) -} \ No newline at end of file diff --git a/doc/thirdParty/src/common/apis/approval/type.ts b/doc/thirdParty/src/common/apis/approval/type.ts deleted file mode 100644 index 05aa962..0000000 --- a/doc/thirdParty/src/common/apis/approval/type.ts +++ /dev/null @@ -1,187 +0,0 @@ -export interface SubmitApprovalRequestData { - orderGoodsId: number - returnQuantity: number - returnImages: string - returnRemark: string - corpid: string - applyUserid: string -} - -export interface HandleApprovalRequestData { - /** 审批ID */ - approvalId: number - /** 审批状态 */ - status: number - returnAmount: number - auditImages: string - auditRemark: string - userid: string - corpid: string - auditUserid: string -} - -export interface HandleApprovalAssetRequestData extends HandleApprovalRequestData { - /** 审批商品ID */ - approvalGoodsList: ApprovalGoodsEntity[] -} - -export interface SearchApiReturnApprovalQuery { - pageNum: number - pageSize: number - approvalId?: number - orderId?: number - goodsId?: number - status?: number - startTime?: string - endTime?: string - approvalType?: number - corpid?: string - handleStatus?: number; - searchStr?: string; -} - -export interface ApiResponsePageData { - code: number - msg: string - data: { - total: number - rows: T[] - } -} - -export interface ReturnApprovalEntity { - /** 审批编号 */ - approvalId: number - /** 关联订单ID */ - orderId: number - /** 关联商品ID */ - goodsId: number - /** 关联订单商品ID */ - orderGoodsId: number - /** 外部归属类型的商品ID */ - externalGoodsId?: number - /** 外部归属类型的审批ID */ - externalApprovalId?: number - /** 审批码 */ - code?: string - /** 审批码校验状态(0未核销 1已核销) */ - codeCheck?: number - /** 企业微信id */ - corpid?: string - /** 申请人企业UserID */ - applyUserid?: string - /** 申请人姓名 */ - applyUserName?: string - /** 审批人企业UserID */ - auditUserid?: string - /** 申请数量 */ - applyQuantity?: number - /** 审批类型(0为借还柜 1为固资通) */ - approvalType?: number - /** 申请说明 */ - applyRemark?: string - /** 归还数量 */ - returnQuantity: number - /** 商品单价 */ - goodsPrice: number - /** 退还金额 */ - returnAmount: number - /** 归还图片路径数组 */ - returnImages: string - /** 审核图片路径数组 */ - auditImages: string - /** 归还说明 */ - returnRemark: string - /** 审核说明 */ - auditRemark: string - /** 审批人姓名 */ - auditName: string - /** 审批状态(1待审核 2已通过 3已驳回 4开柜中) */ - status: number - /** 审批时间 */ - approvalTime?: string - createTime: string - updateTime: string - /** 商品名称 */ - goodsName: string - /** 封面图URL */ - coverImg: string - /** 手机号码 */ - mobile: string - /** 企业微信用户ID或汇邦云用户ID */ - userid: string - /** 用户姓名 */ - name: string - /** 是否内部用户(0否 1汇邦云用户 2企业微信用户) */ - isInternal: number - /** 支付方式 */ - paymentMethod?: string -} - -export interface ApprovalGoodsEntity { - approvalGoodsId: number; - approvalId: number; - goodsName: string; - goodsId: number; - externalGoodsId?: number; - corpid?: string; - belongType: number; - price: number; - applyQuantity: number; - approvalQuantity?: number; - coverImg?: string; -} - -export interface ReturnApprovalAssetDTO extends ReturnApprovalEntity { - goodsList?: ApprovalGoodsEntity[]; -} - -export interface ReturnApprovalDetailDTO extends ReturnApprovalAssetDTO { - statusStr: string; - approvalGoodsCellList?: ApprovalGoodsCellEntity[]; -} - -export interface SearchReturnApprovalAssetQuery { - pageNum: number; - pageSize: number; - approvalId?: number; - orderId?: number; - goodsId?: number; - status?: number; - startTime?: string; - endTime?: string; - approvalType?: number; - corpid?: string; - code?: string; - codeCheck?: number; - handleStatus?: number; - searchStr?: string; -} - -export interface ApprovalGoodsCellEntity { - /** 主键ID */ - approvalGoodsCellId: number; - /** 审批ID */ - approvalId: number; - /** 申请领用商品ID */ - approvalGoodsId: number; - /** 商店ID */ - shopId: number; - /** 柜机ID */ - cabinetId: number; - /** 格口ID */ - cellId: number; - /** 分配数量 */ - allocateQuantity: number; - /** 商店名称 */ - shopName: string; - /** 柜机名称 */ - cabinetName: string; - /** 格口号 */ - cellNo: number; -} - -export type SubmitApprovalResponseData = ApiResponseMsgData<{ - approvalId: number - status: number -}> \ No newline at end of file diff --git a/doc/thirdParty/src/common/apis/cabinet/index.ts b/doc/thirdParty/src/common/apis/cabinet/index.ts deleted file mode 100644 index c9de720..0000000 --- a/doc/thirdParty/src/common/apis/cabinet/index.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { request } from '@/http/axios' -import type { CabinetDetailResponse, RentingCabinetDetailDTO } from './type' -import { OpenCabinetApiData } from '../shop/type' - -/** 获取智能柜详情接口 */ -export function getCabinetDetailApi(shopId: number) { - return request({ - url: 'cabinet/detail', - method: 'get', - params: { - shopId - } - }) -} - -/** 获取出租中的智能柜详情接口 */ -export function getRentingCabinetDetailApi(shopId: number) { - return request>({ - url: 'cabinet/detail/renting', - method: 'get', - params: { - shopId - } - }) -} - -/** 获取自己租用中的智能柜详情接口 */ -export function getUserRentedCabinetListApi(corpid:string, ab98UserId: number) { - return request>({ - url: 'cabinet/detail/user', - method: 'get', - params: { - corpid, - ab98UserId - } - }) -} - -export function openCabinet(cabinetId: number, pinNo: number, data: OpenCabinetApiData) { - return request>({ - url: `cabinet/openCabinet/${cabinetId}/${pinNo}`, - method: 'post', - data - }) -} - -export const configureGoodsCellsStock = (cellId: number, goodsId: number, stock: number) => { - return request>({ - url: `/cabinet/configureGoodsCellsStock/${cellId}/${goodsId}/${stock}`, - method: 'put' - }); -}; - -export const changeGoodsCellsStock = (cellId: number, stock: number) => { - return request>({ - url: `/cabinet/changeGoodsCellsStock/${cellId}/${stock}`, - method: 'put' - }); -}; - -export const clearGoodsCells = (cellId: number) => { - return request>({ - url: `/cabinet/clearGoodsCells/${cellId}`, - method: 'put' - }); -}; - diff --git a/doc/thirdParty/src/common/apis/cabinet/type.ts b/doc/thirdParty/src/common/apis/cabinet/type.ts deleted file mode 100644 index 20a3842..0000000 --- a/doc/thirdParty/src/common/apis/cabinet/type.ts +++ /dev/null @@ -1,68 +0,0 @@ -export interface CabinetDetailDTO { - cabinetId: number - cabinetName: string - lockControlNo: number - cells: CellInfoDTO[] -} - -/** 租用中的智能柜详情DTO */ -export interface RentingCabinetDetailDTO { - /** 柜机ID */ - cabinetId: number - /** 柜机名称 */ - cabinetName: string - /** 锁控编号 */ - lockControlNo: number - /** 柜格列表 */ - cells: RetingCellEntity[] -} - -export interface RetingCellEntity extends CabinetCellEntity { - orderId: number; - orderGoodsId: number; -} - -/** 智能柜格口实体类 */ -export interface CabinetCellEntity { - /** 格口唯一ID */ - cellId: number - /** 关联柜机ID */ - cabinetId: number - /** 主板ID */ - mainboardId?: number - /** 格口号 */ - cellNo: number - /** 针脚序号 */ - pinNo: number - /** 库存数量 */ - stock: number - /** 格口价格 */ - cellPrice?: number - /** 是否已租用:0-未租用,1-已租用 */ - isRented: number - /** 格口类型(1小格 2中格 3大格 4超大格) */ - cellType: number - /** 使用状态:1空闲 2已占用 */ - usageStatus: number - /** 可用状态:1正常 2故障 */ - availableStatus: number - /** 商品ID */ - goodsId?: number -} - -export interface CellInfoDTO { - cellId: number - cellNo: number - pinNo: number - stock: number - product?: ProductInfoDTO -} - -export interface ProductInfoDTO { - goodsId: number - goodsName: string - price: number - coverImg: string -} - -export type CabinetDetailResponse = ApiResponseData \ No newline at end of file diff --git a/doc/thirdParty/src/common/apis/manage/goods.ts b/doc/thirdParty/src/common/apis/manage/goods.ts deleted file mode 100644 index 2bd908a..0000000 --- a/doc/thirdParty/src/common/apis/manage/goods.ts +++ /dev/null @@ -1,96 +0,0 @@ -import { request } from "@/http/axios" -import { PageDTO, ResponseData, BasePageQuery } from "../type" - -export interface ShopGoodsDTO { - goodsId?: number - goodsName?: string - categoryId?: number - categoryName?: string - price?: number - stock?: number - status?: number - autoApproval?: number - coverImg?: string - creatorId?: number - creatorName?: string - createTime?: string - remark?: string - cabinetName?: string - cellNo?: number - cellNoStr?: string - totalStock?: number - usageInstruction?: string -} - -export interface SearchShopGoodsQuery extends BasePageQuery { - goodsName?: string - categoryId?: number - status?: number - autoApproval?: number - minPrice?: number - maxPrice?: number -} - -/** 获取商品列表 */ -export function getGoodsList(query: SearchShopGoodsQuery) { - return request>>({ - url: "manage/goods/list", - method: "get", - params: query - }) -} - -/** 新增商品 */ -export function addGoods(data: { - goodsName: string - categoryId: number - price: number - stock: number - status: number - autoApproval: number - coverImg: string - goodsDetail?: string - usageInstruction?: string -}) { - return request>({ - url: "manage/goods", - method: "post", - data - }) -} - -/** 删除商品 */ -export function deleteGoods(goodsIds: number[]) { - return request>({ - url: `manage/goods/${goodsIds.join(',')}`, - method: "delete" - }) -} - -/** 修改商品 */ -export function updateGoods(goodsId: number, data: { - goodsName?: string - categoryId?: number - price?: number - stock?: number - status?: number - autoApproval?: number - coverImg?: string - goodsDetail?: string - usageInstruction?: string -}) { - return request>({ - url: `manage/goods/${goodsId}`, - method: "put", - data - }) -} - -/** 获取单个商品信息 */ -export function getGoodsInfo(goodsId: number) { - return request>({ - url: "manage/goods/getGoodsInfo", - method: "get", - params: { goodsId } - }) -} \ No newline at end of file diff --git a/doc/thirdParty/src/common/apis/shop/index.ts b/doc/thirdParty/src/common/apis/shop/index.ts deleted file mode 100644 index 5a31e4f..0000000 --- a/doc/thirdParty/src/common/apis/shop/index.ts +++ /dev/null @@ -1,114 +0,0 @@ -import { request } from "@/http/axios" -import { GetBalanceResponse, GetOrdersByOpenIdDTO, OpenCabinetApiData, QyLoginDTO, QyLoginRequestParams, SearchGoodsDO, ShopEntity, ShopGoodsEntity, ShopGoodsResponseData, SubmitOrderRequestData, SubmitOrderResponseData } from './type' -import { GetOpenIdRequestParams } from './type' - - - -/** 获取商品列表 */ -export function getShopGoodsListApi(corpid: string, belongType: number) { - return request>({ - url: "shop/goods/list", - method: "get", - params: { corpid, belongType } - }); -} - -export function getShopGoodsApi(shopId: number|null) { - return request({ - url: "shop/goods", - method: "get", - params: { - shopId: shopId ? shopId : undefined - } - }) -} - -/** 提交订单接口 */ -export function submitOrderApi(data: SubmitOrderRequestData) { - return request({ - url: "order/submit", - method: "post", - data - }) -} - -/** 获取微信openid */ -export function getOpenIdApi(params: GetOpenIdRequestParams) { - return request>({ - url: "payment/getOpenId", - method: "get", - params - }) -} -/** 企业微信登录 */ -export function qyLogin(params: QyLoginRequestParams) { - return request>({ - url: "payment/login/qy", - method: "get", - params - }) -} -export function fakeQyLoginApi(params: {corpid: string, userid: string}) { - return request>({ - url: "payment/login/qy/fake", - method: "get", - params - }) -} - -/** 根据openid获取用户订单信息 */ -export function getOrdersByOpenIdApi(corpid: string, openid: string, hasReturn: number) { - return request>({ - url: `order/user/${openid}`, - method: "get", - params: { corpid, hasReturn } - }) -} - -/** 根据openid获取用户订单信息 */ -export function getOrdersByQyUserIdApi(qyUserId: number, hasReturn: number) { - return request>({ - url: `order/user/qy/${qyUserId}`, - method: "get", - params: { hasReturn } - }) -} - -/** 打开储物柜接口 */ -export function openCabinetApi(orderId: number, orderGoodsId: number, data: OpenCabinetApiData) { - return request>({ - url: `order/openCabinet/${orderId}/${orderGoodsId}`, - method: "post", - data - }) -} - -/** 获取用户余额接口 */ -export function getBalanceApi(corpid: string, openid: string) { - return request>({ - url: "payment/getBalance", - method: "get", - params: { corpid, openid } - }) -} -export function getBalanceByQyUserid(corpid: string, userid: string) { - return request>({ - url: "payment/getBalanceByQyUserid", - method: "get", - params: { corpid, userid } - }) -} - -export function getShopListApi(corpid: string, mode?: number) { - const params: any = { - corpid - }; - if (typeof mode !== 'undefined') { - params.mode = mode; - } - return request>({ - url: "shop/list", - method: "get", - params - }) -} \ No newline at end of file diff --git a/doc/thirdParty/src/common/apis/shop/type.ts b/doc/thirdParty/src/common/apis/shop/type.ts deleted file mode 100644 index da2b66f..0000000 --- a/doc/thirdParty/src/common/apis/shop/type.ts +++ /dev/null @@ -1,252 +0,0 @@ -export type Goods = { - goodsId: number, - goodsName: string, - categoryId: number, - price: number, - stock: number, - status: number, - coverImg: string, - goodsDetail: string, - usageInstruction: string, - cellId: number, - belongType: number -} - -export interface ShopGoodsEntity { - /** 商品唯一ID */ - goodsId: number; - /** 商品名称 */ - goodsName: string; - /** 商品分类ID */ - categoryId: number; - /** 外部归属类型的商品ID */ - externalGoodsId?: number; - /** 企业微信id */ - corpid?: string; - /** 每人每月限购数量 */ - monthlyPurchaseLimit?: number; - /** 销售价格 */ - price: number; - /** 库存数量 */ - stock: number; - /** 商品状态(1上架 2下架) */ - status: number; - /** 免审批(0否 1是) */ - autoApproval?: number; - /** 封面图URL */ - coverImg?: string; - /** 商品详情(支持2000汉字+10个图片链接) */ - goodsDetail?: string; - /** 备注 */ - remark?: string; - /** 商品使用说明 */ - usageInstruction?: string; - /** 归属类型(0-借还柜 1-固资通) */ - belongType?: number; -} - -export type category = { - categoryId: number, - categoryName: string, - sort: number -} - -export interface SubmitOrderRequestData { - /** 微信用户唯一标识 */ - openid: string; - /** 系统用户ID */ - userid: string; - /** 企业ID */ - corpid: string; - /** 支付类型 wechat:微信 balance:余额 */ - paymentType: 'wechat' | 'balance' | "approval"; - /** 联系电话 */ - mobile: string; - /** 用户姓名 */ - name: string; - /** 企业微信用户ID或汇邦云用户ID */ - qyUserid: string; - /** 是否内部订单 0否 1汇邦云用户 2企业微信用户 */ - isInternal: number; - applyRemark: string; - /** 运行模式(0-支付模式 1-审批模式 2-借还模式 3-会员模式 4-耗材模式) */ - mode: number; - /** 订单商品明细列表 */ - goodsList: Array<{ - goodsId?: number - quantity: number - cellId: number - /** 运行模式(0-支付模式 1-审批模式 2-借还模式 3-会员模式 4-耗材模式) */ - mode: number; - }> -} - -export type SubmitOrderResponseData = ApiResponseMsgData<{ - orderId: number - totalAmount: number - newBalance: number - paymentInfo: WxJsApiPreCreateResponse -}> - -export type ShopGoodsResponseData = ApiResponseMsgData<{ - goodsList: Goods[], - categoryList: category[] -}> - -export interface WxJsApiPreCreateResponse { - appId: string - timeStamp: string - nonceStr: string - package: string - signType: string - paySign: string -} - -export interface GetOpenIdRequestParams { - code: string -} -export interface QyLoginRequestParams { - corpid: string - code: string - state?: string -} - -export interface ShopOrderEntity { - orderId: number - openid: string - totalAmount: number - status: number - payStatus: number - paymentMethod: string - payTime: string -} - -export interface ShopOrderGoodsEntity { - /** 订单商品唯一ID */ - orderGoodsId: number - /** 关联订单ID */ - orderId: number - /** 审批ID */ - approvalId: number - /** 关联商品ID */ - goodsId: number - /** 关联格口ID */ - cellId: number - /** 购买数量 */ - quantity: number - /** 购买时单价 */ - price: number - /** 商品总金额 */ - totalAmount: number - /** 商品名称 */ - goodsName: string - /** 封面图URL */ - coverImg: string - /** 商品状态(1正常 2已退货 3已换货 4已完成 5审核中 6退货未通过) */ - status: number - /** 企业微信id */ - corpid: string -} - -export interface GetOrdersByOpenIdDTO { - orders: ShopOrderEntity[] - orderGoods: ShopOrderGoodsEntity[] - goods: Goods[] -} - -export interface GetBalanceResponse { - userid: string - corpid: string - /** 剩余借呗 */ - balance: number - /** 已用借呗 */ - useBalance: number - /** 借呗总额 */ - balanceLimit: number - ab98User: ab98UserDTO; -} - -export interface QyLoginDTO { - userid: string; - openid: string; - isCabinetAdmin: number; - qyUserId: number; - name: string; - ab98User: ab98UserDTO; -} - -export interface ab98UserDTO { - /** 主键ID */ - ab98UserId?: number; - /** openid */ - openid?: string; - /** 汇邦云用户唯一ID */ - userid?: string; - /** 真实姓名 */ - name?: string; - /** 手机号码 */ - tel?: string; - /** 身份证号码 */ - idnum?: string; - /** 性别(男 女) */ - sex?: string; - /** 人脸照片地址 */ - faceImg?: string; - /** 身份证正面地址 */ - idcardFront?: string; - /** 身份证背面地址 */ - idcardBack?: string; - /** 身份证登记地址 */ - address?: string; - /** 是否已注册(0未注册 1已注册) */ - registered?: boolean; - /** 借呗余额 单位分 */ - ab98Balance?: number; -} - -export interface OpenCabinetApiData { - // 格口ID - cellId?: number - // 用户ID - userid: string - // 是否内部用户(0否 1汇邦云用户 2企业微信用户) - isInternal: number - // 姓名 - name: string - // 联系电话 - mobile: string - // 操作类型(1用户 2管理员) - operationType: number -} - -export interface ShopEntity { - /** 主键ID */ - shopId: number; - /** 商店名称 */ - shopName: string; - /** 企业微信id */ - corpid: string; - /** 运行模式(0-支付模式 1-审批模式 2-借还模式 3-会员模式 4-耗材模式) */ - mode?: number; - /** 借呗支付(1-正常使用 0-禁止使用) */ - balanceEnable?: number; - /** 封面图URL */ - coverImg?: string; -} - -export interface SearchGoodsDO extends ShopGoodsEntity { - /** 分类名称 */ - categoryName?: string; - /** 柜子ID */ - cabinetId?: number; - /** 柜子名称 */ - cabinetName?: string; - /** 商店名称字符串 */ - shopNameStr?: string; - /** 格口编号 */ - cellNo?: number; - /** 格口编号字符串 */ - cellNoStr?: string; - /** 已分配库存 */ - totalStock?: number; -} \ No newline at end of file diff --git a/doc/thirdParty/src/common/apis/type.ts b/doc/thirdParty/src/common/apis/type.ts deleted file mode 100644 index cde7738..0000000 --- a/doc/thirdParty/src/common/apis/type.ts +++ /dev/null @@ -1,24 +0,0 @@ - -export type ResponseData = { - code: number; - msg: string; - data: T; -}; - -export type PageDTO = { - total: number; - rows: Array; -}; - -export interface BasePageQuery extends BaseQuery { - pageNum?: number; - pageSize?: number; -} - -export interface BaseQuery { - beginTime?: string; - endTime?: string; - orderColumn?: string; - orderDirection?: string; - timeRangeColumn?: string; -} \ No newline at end of file diff --git a/doc/thirdParty/src/common/apis/users/index.ts b/doc/thirdParty/src/common/apis/users/index.ts deleted file mode 100644 index ccd9f72..0000000 --- a/doc/thirdParty/src/common/apis/users/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type * as Users from "./type" -import { request } from "@/http/axios" - -/** 获取当前登录用户详情 */ -export function getCurrentUserApi() { - return request({ - url: "users/me", - method: "get" - }) -} diff --git a/doc/thirdParty/src/common/apis/users/type.ts b/doc/thirdParty/src/common/apis/users/type.ts deleted file mode 100644 index 6423d98..0000000 --- a/doc/thirdParty/src/common/apis/users/type.ts +++ /dev/null @@ -1 +0,0 @@ -export type CurrentUserResponseData = ApiResponseData<{ username: string, roles: string[] }> diff --git a/doc/thirdParty/src/common/assets/images/preview.png b/doc/thirdParty/src/common/assets/images/preview.png deleted file mode 100644 index dcc209d..0000000 Binary files a/doc/thirdParty/src/common/assets/images/preview.png and /dev/null differ diff --git a/doc/thirdParty/src/common/assets/styles/index.css b/doc/thirdParty/src/common/assets/styles/index.css deleted file mode 100644 index fb894c0..0000000 --- a/doc/thirdParty/src/common/assets/styles/index.css +++ /dev/null @@ -1,56 +0,0 @@ -/* 全局 CSS 变量 */ -@import url("./variables.css"); -/* View Transition */ -@import url("./view-transition.css"); - -html { - height: 100%; -} - -/* 灰色模式 */ -html.grayscale-mode { - filter: grayscale(1); -} - -/* 色弱模式 */ -html.colorblind-mode { - filter: invert(0.8); -} - -body { - height: 100%; - color: var(--mobvue-body-text-color); - background-color: var(--mobvue-body-bg-color); - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - font-family: var(--van-base-font); - /* 禁止 iOS 和 macOS 系统默认的橡皮筋效果 */ - overflow: hidden; -} - -#app { - height: 100% !important; -} - -/* 隐藏滚动条样式 */ -*::-webkit-scrollbar { - display: none; -} - -*, -*::before, -*::after { - box-sizing: border-box; -} - -a, -a:focus, -a:hover { - color: inherit; - outline: none; - text-decoration: none; -} - -div:focus { - outline: none; -} diff --git a/doc/thirdParty/src/common/assets/styles/variables.css b/doc/thirdParty/src/common/assets/styles/variables.css deleted file mode 100644 index 1f306da..0000000 --- a/doc/thirdParty/src/common/assets/styles/variables.css +++ /dev/null @@ -1,23 +0,0 @@ -/* 全局 CSS 变量,这种变量不仅可以在 CSS 中使用,还可以导入到 JS 中使用 */ - -/* Light Mode */ -:root { - /* Body Colors */ - --mobvue-body-text-color: #323233; - --mobvue-body-bg-color: #f7f8fa; - /* Component Colors */ - --mobvue-primary-color: #1989fa; - --mobvue-bg-color: #ffffff; - - --van-toast-text-color: fade(var(--van-black), 70%) !important; -} - -/* Dark Mode */ -html.dark { - /* Body Colors */ - --mobvue-body-text-color: #f5f5f5; - --mobvue-body-bg-color: #000000; - /* Component Colors */ - --mobvue-primary-color: #1989fa; - --mobvue-bg-color: #1c1c1e; -} diff --git a/doc/thirdParty/src/common/assets/styles/view-transition.css b/doc/thirdParty/src/common/assets/styles/view-transition.css deleted file mode 100644 index 1bc6022..0000000 --- a/doc/thirdParty/src/common/assets/styles/view-transition.css +++ /dev/null @@ -1,20 +0,0 @@ -/* 控制切换主题时的动画效果(只在较新的浏览器上生效,例如 Chrome 111+) */ - -::view-transition-old(root) { - animation: none; - mix-blend-mode: normal; -} - -::view-transition-new(root) { - animation: 0.5s ease-in clip-animation; - mix-blend-mode: normal; -} - -@keyframes clip-animation { - from { - clip-path: circle(0px at var(--mobvue-dark-x) var(--mobvue-dark-y)); - } - to { - clip-path: circle(var(--mobvue-dark-r) at var(--mobvue-dark-x) var(--mobvue-dark-y)); - } -} diff --git a/doc/thirdParty/src/common/components/Description.vue b/doc/thirdParty/src/common/components/Description.vue deleted file mode 100644 index e672f50..0000000 --- a/doc/thirdParty/src/common/components/Description.vue +++ /dev/null @@ -1,21 +0,0 @@ - - - diff --git a/doc/thirdParty/src/common/composables/useDark.ts b/doc/thirdParty/src/common/composables/useDark.ts deleted file mode 100644 index c94efae..0000000 --- a/doc/thirdParty/src/common/composables/useDark.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { getIsDark, setIsDark } from "@@/utils/cache/local-storage" -import { setCssVar } from "@@/utils/css" - -const isDark = ref(getIsDark() === "true") - -function _handler() { - isDark.value = !isDark.value -} - -function changeDark({ clientX, clientY }: MouseEvent) { - const maxRadius = Math.hypot( - Math.max(clientX, window.innerWidth - clientX), - Math.max(clientY, window.innerHeight - clientY) - ) - setCssVar("--mobvue-dark-x", `${clientX}px`) - setCssVar("--mobvue-dark-y", `${clientY}px`) - setCssVar("--mobvue-dark-r", `${maxRadius}px`) - document.startViewTransition ? document.startViewTransition(_handler) : _handler() -} - -/** 初始化 */ -function initDark() { - // watchEffect 来收集副作用 - watchEffect(() => { - document.documentElement.classList.toggle("dark", isDark.value) - setIsDark(isDark.value) - }) -} - -/** 黑暗模式 Composable */ -export function useDark() { - return { isDark, changeDark, initDark } -} diff --git a/doc/thirdParty/src/common/composables/useGrayscaleAndColorblind.ts b/doc/thirdParty/src/common/composables/useGrayscaleAndColorblind.ts deleted file mode 100644 index 58d5b6d..0000000 --- a/doc/thirdParty/src/common/composables/useGrayscaleAndColorblind.ts +++ /dev/null @@ -1,23 +0,0 @@ -export type Mode = "" | "grayscale" | "colorblind" - -const GRAYSCALE_MODE = "grayscale-mode" - -const COLORBLIND_MODE = "colorblind-mode" - -const classList = document.documentElement.classList - -const mode = ref("") - -function setMode(_mdoe: Mode) { - mode.value = _mdoe -} - -watchEffect(() => { - classList.toggle(GRAYSCALE_MODE, mode.value === "grayscale") - classList.toggle(COLORBLIND_MODE, mode.value === "colorblind") -}) - -/** 灰色模式和色弱模式 Composable */ -export function useGrayscaleAndColorblind() { - return { mode, setMode } -} diff --git a/doc/thirdParty/src/common/composables/useTitle.ts b/doc/thirdParty/src/common/composables/useTitle.ts deleted file mode 100644 index 1372665..0000000 --- a/doc/thirdParty/src/common/composables/useTitle.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** 项目标题 */ -const VITE_APP_TITLE = import.meta.env.VITE_APP_TITLE ?? "MobVue" - -/** 动态标题 */ -const dynamicTitle = ref("") - -/** 设置标题 */ -function setTitle(title?: string) { - dynamicTitle.value = title ? `${VITE_APP_TITLE} | ${title}` : VITE_APP_TITLE -} - -// 监听标题变化 -watch(dynamicTitle, (value, oldValue) => { - if (document && value !== oldValue) { - document.title = value - } -}) - -/** 标题 Composable */ -export function useTitle() { - return { setTitle } -} diff --git a/doc/thirdParty/src/common/composables/useWatermark.ts b/doc/thirdParty/src/common/composables/useWatermark.ts deleted file mode 100644 index d975a4a..0000000 --- a/doc/thirdParty/src/common/composables/useWatermark.ts +++ /dev/null @@ -1,233 +0,0 @@ -import type { Ref } from "vue" -import { debounce } from "lodash-es" - -/** 默认配置 */ -const DEFAULT_CONFIG = { - /** 防御(默认开启,能防御水印被删除或隐藏,但可能会有性能损耗) */ - defense: true, - /** 文本颜色 */ - color: "#c0c4cc", - /** 文本透明度 */ - opacity: 0.5, - /** 文本字体大小 */ - size: 16, - /** 文本字体 */ - family: "serif", - /** 文本倾斜角度 */ - angle: -20, - /** 一处水印所占宽度(数值越大水印密度越低) */ - width: 300, - /** 一处水印所占高度(数值越大水印密度越低) */ - height: 200 -} - -type DefaultConfig = typeof DEFAULT_CONFIG - -interface Observer { - watermarkElMutationObserver?: MutationObserver - parentElMutationObserver?: MutationObserver - parentElResizeObserver?: ResizeObserver -} - -/** body 元素 */ -const bodyEl = ref(document.body) - -/** - * @name 水印 Composable - * @description 1. 可以选择传入挂载水印的容器元素,默认是 body - * @description 2. 做了水印防御,能有效防御别人打开控制台删除或隐藏水印 - */ -export function useWatermark(parentEl: Ref = bodyEl) { - // 备份文本 - let backupText: string - // 最终配置 - let mergeConfig: DefaultConfig - // 水印元素 - let watermarkEl: HTMLElement | null = null - // 观察器 - const observer: Observer = { - watermarkElMutationObserver: undefined, - parentElMutationObserver: undefined, - parentElResizeObserver: undefined - } - - // 设置水印 - const setWatermark = (text: string, config: Partial = {}) => { - if (!parentEl.value) return console.warn("请在 DOM 挂载完成后再调用 setWatermark 方法设置水印") - // 备份文本 - backupText = text - // 合并配置 - mergeConfig = { ...DEFAULT_CONFIG, ...config } - // 创建或更新水印元素 - watermarkEl ? updateWatermarkEl() : createWatermarkEl() - // 监听水印元素和容器元素的变化 - addElListener(parentEl.value) - } - - // 创建水印元素 - const createWatermarkEl = () => { - const isBody = parentEl.value!.tagName.toLowerCase() === bodyEl.value.tagName.toLowerCase() - const watermarkElPosition = isBody ? "fixed" : "absolute" - const parentElPosition = isBody ? "" : "relative" - watermarkEl = document.createElement("div") - watermarkEl.style.pointerEvents = "none" - watermarkEl.style.top = "0" - watermarkEl.style.left = "0" - watermarkEl.style.position = watermarkElPosition - watermarkEl.style.zIndex = "99999" - const { clientWidth, clientHeight } = parentEl.value! - updateWatermarkEl({ width: clientWidth, height: clientHeight }) - // 设置水印容器为相对定位 - parentEl.value!.style.position = parentElPosition - // 将水印元素添加到水印容器中 - parentEl.value!.appendChild(watermarkEl) - } - - // 更新水印元素 - const updateWatermarkEl = ( - options: Partial<{ - width: number - height: number - }> = {} - ) => { - if (!watermarkEl) return - backupText && (watermarkEl.style.background = `url(${createBase64()}) left top repeat`) - options.width && (watermarkEl.style.width = `${options.width}px`) - options.height && (watermarkEl.style.height = `${options.height}px`) - } - - // 创建 base64 图片 - const createBase64 = () => { - const { color, opacity, size, family, angle, width, height } = mergeConfig - const canvasEl = document.createElement("canvas") - canvasEl.width = width - canvasEl.height = height - const ctx = canvasEl.getContext("2d") - if (ctx) { - ctx.fillStyle = color - ctx.globalAlpha = opacity - ctx.font = `${size}px ${family}` - ctx.rotate((Math.PI / 180) * angle) - ctx.fillText(backupText, 0, height / 2) - } - return canvasEl.toDataURL() - } - - // 清除水印 - const clearWatermark = () => { - if (!parentEl.value || !watermarkEl) return - // 移除对水印元素和容器元素的监听 - removeListener() - // 移除水印元素 - try { - parentEl.value.removeChild(watermarkEl) - } catch { - // 比如在无防御情况下,用户打开控制台删除了这个元素 - console.warn("水印元素已不存在,请重新创建") - } finally { - watermarkEl = null - } - } - - // 刷新水印(防御时调用) - const updateWatermark = debounce(() => { - clearWatermark() - createWatermarkEl() - addElListener(parentEl.value!) - }, 100) - - // 监听水印元素和容器元素的变化(DOM 变化 & DOM 大小变化) - const addElListener = (targetNode: HTMLElement) => { - // 判断是否开启防御 - if (mergeConfig.defense) { - // 防止重复添加监听 - if (!observer.watermarkElMutationObserver && !observer.parentElMutationObserver) { - // 监听 DOM 变化 - addMutationListener(targetNode) - } - } else { - // 无防御时不需要 mutation 监听 - removeListener("mutation") - } - // 防止重复添加监听 - if (!observer.parentElResizeObserver) { - // 监听 DOM 大小变化 - addResizeListener(targetNode) - } - } - - // 移除对水印元素和容器元素的监听,传参可指定要移除哪个监听,不传默认移除全部监听 - const removeListener = (kind: "mutation" | "resize" | "all" = "all") => { - // 移除 mutation 监听 - if (kind === "mutation" || kind === "all") { - observer.watermarkElMutationObserver?.disconnect() - observer.watermarkElMutationObserver = undefined - observer.parentElMutationObserver?.disconnect() - observer.parentElMutationObserver = undefined - } - // 移除 resize 监听 - if (kind === "resize" || kind === "all") { - observer.parentElResizeObserver?.disconnect() - observer.parentElResizeObserver = undefined - } - } - - // 监听 DOM 变化 - const addMutationListener = (targetNode: HTMLElement) => { - // 当观察到变动时执行的回调 - const mutationCallback = debounce((mutationList: MutationRecord[]) => { - // 水印的防御(防止用户手动删除水印元素或通过 CSS 隐藏水印) - mutationList.forEach( - debounce((mutation: MutationRecord) => { - switch (mutation.type) { - case "attributes": - mutation.target === watermarkEl && updateWatermark() - break - case "childList": - mutation.removedNodes.forEach((item) => { - item === watermarkEl && targetNode.appendChild(watermarkEl) - }) - break - } - }, 100) - ) - }, 100) - // 创建观察器实例并传入回调 - observer.watermarkElMutationObserver = new MutationObserver(mutationCallback) - observer.parentElMutationObserver = new MutationObserver(mutationCallback) - // 以上述配置开始观察目标节点 - observer.watermarkElMutationObserver.observe(watermarkEl!, { - // 观察目标节点属性是否变动,默认为 true - attributes: true, - // 观察目标子节点是否有添加或者删除,默认为 false - childList: false, - // 是否拓展到观察所有后代节点,默认为 false - subtree: false - }) - observer.parentElMutationObserver.observe(targetNode, { - attributes: false, - childList: true, - subtree: false - }) - } - - // 监听 DOM 大小变化 - const addResizeListener = (targetNode: HTMLElement) => { - // 当 targetNode 元素大小变化时去更新整个水印的大小 - const resizeCallback = debounce(() => { - const { clientWidth, clientHeight } = targetNode - updateWatermarkEl({ width: clientWidth, height: clientHeight }) - }, 500) - // 创建一个观察器实例并传入回调 - observer.parentElResizeObserver = new ResizeObserver(resizeCallback) - // 开始观察目标节点 - observer.parentElResizeObserver.observe(targetNode) - } - - // 在组件卸载前移除水印以及各种监听 - onBeforeUnmount(() => { - clearWatermark() - }) - - return { setWatermark, clearWatermark } -} diff --git a/doc/thirdParty/src/common/constants/cache-key.ts b/doc/thirdParty/src/common/constants/cache-key.ts deleted file mode 100644 index 2ddc0b7..0000000 --- a/doc/thirdParty/src/common/constants/cache-key.ts +++ /dev/null @@ -1,7 +0,0 @@ -const SYSTEM_NAME = "mobvue" - -/** 缓存数据时用到的 Key */ -export class CacheKey { - static readonly TOKEN = `${SYSTEM_NAME}-token-key` - static readonly IS_DARK = `${SYSTEM_NAME}-is-dark-key` -} diff --git a/doc/thirdParty/src/common/utils/cache/cookies.ts b/doc/thirdParty/src/common/utils/cache/cookies.ts deleted file mode 100644 index d542159..0000000 --- a/doc/thirdParty/src/common/utils/cache/cookies.ts +++ /dev/null @@ -1,16 +0,0 @@ -// 统一处理 Cookie - -import { CacheKey } from "@@/constants/cache-key" -import Cookies from "js-cookie" - -export function getToken() { - return Cookies.get(CacheKey.TOKEN) -} - -export function setToken(token: string) { - Cookies.set(CacheKey.TOKEN, token) -} - -export function removeToken() { - Cookies.remove(CacheKey.TOKEN) -} diff --git a/doc/thirdParty/src/common/utils/cache/local-storage.ts b/doc/thirdParty/src/common/utils/cache/local-storage.ts deleted file mode 100644 index b556699..0000000 --- a/doc/thirdParty/src/common/utils/cache/local-storage.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { CacheKey } from "@@/constants/cache-key" - -export function getIsDark() { - return localStorage.getItem(CacheKey.IS_DARK) -} - -export function setIsDark(isDark: boolean) { - localStorage.setItem(CacheKey.IS_DARK, isDark.toString()) -} diff --git a/doc/thirdParty/src/common/utils/css.ts b/doc/thirdParty/src/common/utils/css.ts deleted file mode 100644 index b5b3c64..0000000 --- a/doc/thirdParty/src/common/utils/css.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** 获取指定元素(默认全局)上的 CSS 变量的值 */ -export function getCssVar(varName: string, element: HTMLElement = document.documentElement) { - if (!varName?.startsWith("--")) { - console.error("CSS 变量名应以 '--' 开头") - return "" - } - // 没有拿到值时,会返回空串 - return getComputedStyle(element).getPropertyValue(varName) -} - -/** 设置指定元素(默认全局)上的 CSS 变量的值 */ -export function setCssVar(varName: string, value: string, element: HTMLElement = document.documentElement) { - if (!varName?.startsWith("--")) { - console.error("CSS 变量名应以 '--' 开头") - return - } - element.style.setProperty(varName, value) -} diff --git a/doc/thirdParty/src/common/utils/datetime.ts b/doc/thirdParty/src/common/utils/datetime.ts deleted file mode 100644 index 5c71f9b..0000000 --- a/doc/thirdParty/src/common/utils/datetime.ts +++ /dev/null @@ -1,9 +0,0 @@ -import dayjs from "dayjs" - -const INVALID_DATE = "N/A" - -/** 格式化日期时间 */ -export function formatDateTime(datetime: string | number | Date = "", template: string = "YYYY-MM-DD HH:mm:ss") { - const day = dayjs(datetime) - return day.isValid() ? day.format(template) : INVALID_DATE -} diff --git a/doc/thirdParty/src/common/utils/maps/payment.ts b/doc/thirdParty/src/common/utils/maps/payment.ts deleted file mode 100644 index ff83145..0000000 --- a/doc/thirdParty/src/common/utils/maps/payment.ts +++ /dev/null @@ -1,14 +0,0 @@ -export const paymentMethodOptions = [ - { label: '微信支付', value: 0, type: 'primary' }, - { label: '借呗支付', value: 1, type: 'success' }, - { label: '要呗支付', value: 2, type: 'info' }, - { label: '余额支付', value: 3, type: 'warning' }, -]; - -export const modeToPaymentMethodMap: Record = { - 0: [0], - 1: [0, 1], - 2: [0, 1], - 3: [0], - 4: [2], -}; \ No newline at end of file diff --git a/doc/thirdParty/src/common/utils/path.ts b/doc/thirdParty/src/common/utils/path.ts deleted file mode 100644 index 1a713e1..0000000 --- a/doc/thirdParty/src/common/utils/path.ts +++ /dev/null @@ -1 +0,0 @@ -export const publicPath = import.meta.env.BASE_URL diff --git a/doc/thirdParty/src/common/utils/permission.ts b/doc/thirdParty/src/common/utils/permission.ts deleted file mode 100644 index be2c4dc..0000000 --- a/doc/thirdParty/src/common/utils/permission.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { useUserStore } from "@/pinia/stores/user" -import { isArray } from "@@/utils/validate" - -/** 全局权限判断函数,和权限指令 v-permission 功能类似 */ -export function checkPermission(permissionRoles: string[]): boolean { - if (isArray(permissionRoles) && permissionRoles.length > 0) { - const { roles } = useUserStore() - return roles.some(role => permissionRoles.includes(role)) - } else { - console.error("参数必须是一个数组且长度大于 0,参考:checkPermission(['admin', 'editor'])") - return false - } -} diff --git a/doc/thirdParty/src/common/utils/validate.ts b/doc/thirdParty/src/common/utils/validate.ts deleted file mode 100644 index 47c7f5f..0000000 --- a/doc/thirdParty/src/common/utils/validate.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** 判断是否为数组 */ -export function isArray(arg: T) { - return Array.isArray ? Array.isArray(arg) : Object.prototype.toString.call(arg) === "[object Array]" -} - -/** 判断是否为字符串 */ -export function isString(str: unknown) { - return typeof str === "string" || str instanceof String -} - -/** 判断是否为外链 */ -export function isExternal(path: string) { - const reg = /^(https?:|mailto:|tel:)/ - return reg.test(path) -} diff --git a/doc/thirdParty/src/common/utils/wx.ts b/doc/thirdParty/src/common/utils/wx.ts deleted file mode 100644 index 165e86b..0000000 --- a/doc/thirdParty/src/common/utils/wx.ts +++ /dev/null @@ -1,18 +0,0 @@ -function openInWeChat(url: string) { - const weChatUrl = `weixin://dl/business/?t=${encodeURIComponent(url)}`; - window.location.href = weChatUrl; - // 检测跳转是否成功 - setTimeout(() => { - if (document.hidden) return; - alert("未检测到微信,请手动打开微信并访问链接。"); - }, 2000); -} - -function checkInWeChat(targetUrl: string) { - const ua = navigator.userAgent.toLowerCase(); - if (!ua.includes('micromessenger')) { - openInWeChat(targetUrl); // 调用上述跳转函数 - } else { - console.log("已在微信内,无需跳转"); - } -} \ No newline at end of file diff --git a/doc/thirdParty/src/http/axios.ts b/doc/thirdParty/src/http/axios.ts deleted file mode 100644 index 37586f1..0000000 --- a/doc/thirdParty/src/http/axios.ts +++ /dev/null @@ -1,128 +0,0 @@ -import type { AxiosInstance, AxiosRequestConfig } from "axios" -import { useUserStore } from "@/pinia/stores/user" -import { getToken } from "@@/utils/cache/cookies" -import axios from "axios" -import { get, merge } from "lodash-es" - -/** 退出登录并强制刷新页面(会重定向到登录页) */ -function logout() { - useUserStore().resetToken() - location.reload() -} - -/** 创建请求实例 */ -function createInstance() { - // 创建一个 axios 实例命名为 instance - const instance = axios.create() - // 请求拦截器 - instance.interceptors.request.use( - // 发送之前 - config => config, - // 发送失败 - error => Promise.reject(error) - ) - // 响应拦截器(可根据具体业务作出相应的调整) - instance.interceptors.response.use( - (response) => { - // apiData 是 api 返回的数据 - const apiData = response.data - // 二进制数据则直接返回 - const responseType = response.request?.responseType - if (responseType === "blob" || responseType === "arraybuffer") return apiData - // 这个 code 是和后端约定的业务 code - const code = apiData.code - // 如果没有 code, 代表这不是项目后端开发的 api - if (code === undefined) { - return Promise.reject(new Error("非本系统的接口")) - } - switch (code) { - case 0: - // 本系统采用 code === 0 来表示没有业务错误 - return apiData - case 401: - // 登录过期 - return logout() - default: - // 不是正确的 code - return Promise.reject(new Error(apiData.msg || apiData.message || "Error")) - } - }, - (error) => { - // status 是 HTTP 状态码 - const status = get(error, "response.status") - const message = get(error, "response.data.message") - switch (status) { - case 400: - error.message = "请求错误" - break - case 401: - // 登录过期 - error.message = message || "登录过期" - logout() - break - case 403: - error.message = message || "拒绝访问" - break - case 404: - error.message = "请求地址出错" - break - case 408: - error.message = "请求超时" - break - case 500: - error.message = "服务器内部错误" - break - case 501: - error.message = "服务未实现" - break - case 502: - error.message = "网关错误" - break - case 503: - error.message = "服务不可用" - break - case 504: - error.message = "网关超时" - break - case 505: - error.message = "HTTP 版本不受支持" - break - } - return Promise.reject(error) - } - ) - return instance -} - -/** 创建请求方法 */ -function createRequest(instance: AxiosInstance) { - return (config: AxiosRequestConfig): Promise => { - const token = getToken() - // 默认配置 - const defaultConfig: AxiosRequestConfig = { - // 接口地址 - baseURL: import.meta.env.VITE_BASE_URL, - // 请求头 - headers: { - // 携带 Token - // "Authorization": token ? `Bearer ${token}` : undefined, - "Content-Type": "application/json" - }, - // 请求体 - data: {}, - // 请求超时 - timeout: 10000, - // 跨域请求时是否携带 Cookies - withCredentials: false - } - // 将默认配置 defaultConfig 和传入的自定义配置 config 进行合并成为 mergeConfig - const mergeConfig = merge(defaultConfig, config) - return instance(mergeConfig) - } -} - -/** 用于请求的实例 */ -const instance = createInstance() - -/** 用于请求的方法 */ -export const request = createRequest(instance) diff --git a/doc/thirdParty/src/layout/components/Footer.vue b/doc/thirdParty/src/layout/components/Footer.vue deleted file mode 100644 index f73fe87..0000000 --- a/doc/thirdParty/src/layout/components/Footer.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/doc/thirdParty/src/layout/components/NavBar.vue b/doc/thirdParty/src/layout/components/NavBar.vue deleted file mode 100644 index d4839a0..0000000 --- a/doc/thirdParty/src/layout/components/NavBar.vue +++ /dev/null @@ -1,22 +0,0 @@ - - - diff --git a/doc/thirdParty/src/layout/components/Tabbar.vue b/doc/thirdParty/src/layout/components/Tabbar.vue deleted file mode 100644 index 1569d44..0000000 --- a/doc/thirdParty/src/layout/components/Tabbar.vue +++ /dev/null @@ -1,39 +0,0 @@ - - - diff --git a/doc/thirdParty/src/layout/index.vue b/doc/thirdParty/src/layout/index.vue deleted file mode 100644 index d552e42..0000000 --- a/doc/thirdParty/src/layout/index.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - diff --git a/doc/thirdParty/src/main.ts b/doc/thirdParty/src/main.ts deleted file mode 100644 index 7358294..0000000 --- a/doc/thirdParty/src/main.ts +++ /dev/null @@ -1,29 +0,0 @@ -/* eslint-disable perfectionist/sort-imports */ - -// core -import { pinia } from "@/pinia" -import { router } from "@/router" -import { installPlugins } from "@/plugins" -import App from "@/App.vue" -// vant -import "@vant/touch-emulator" -// css -import "normalize.css" -import "nprogress/nprogress.css" -import "@@/assets/styles/index.css" -import "virtual:uno.css" -import "vant/lib/index.css" - -// 创建应用实例 -const app = createApp(App) - -// 安装插件(全局组件、自定义指令等) -installPlugins(app) - -// 安装 pinia 和 router -app.use(pinia).use(router) - -// router 准备就绪后挂载应用 -router.isReady().then(() => { - app.mount("#app") -}) diff --git a/doc/thirdParty/src/pages/approval/handle.vue b/doc/thirdParty/src/pages/approval/handle.vue deleted file mode 100644 index b2a7568..0000000 --- a/doc/thirdParty/src/pages/approval/handle.vue +++ /dev/null @@ -1,406 +0,0 @@ - - - - - \ No newline at end of file diff --git a/doc/thirdParty/src/pages/approval/handleApply.vue b/doc/thirdParty/src/pages/approval/handleApply.vue deleted file mode 100644 index a973cdb..0000000 --- a/doc/thirdParty/src/pages/approval/handleApply.vue +++ /dev/null @@ -1,550 +0,0 @@ - - - - - diff --git a/doc/thirdParty/src/pages/approval/list.vue b/doc/thirdParty/src/pages/approval/list.vue deleted file mode 100644 index 4aa063c..0000000 --- a/doc/thirdParty/src/pages/approval/list.vue +++ /dev/null @@ -1,193 +0,0 @@ - - - - - \ No newline at end of file diff --git a/doc/thirdParty/src/pages/approval/submit.vue b/doc/thirdParty/src/pages/approval/submit.vue deleted file mode 100644 index 09890b0..0000000 --- a/doc/thirdParty/src/pages/approval/submit.vue +++ /dev/null @@ -1,201 +0,0 @@ - - - - - \ No newline at end of file diff --git a/doc/thirdParty/src/pages/approvalAsset/list.vue b/doc/thirdParty/src/pages/approvalAsset/list.vue deleted file mode 100644 index 31a3df9..0000000 --- a/doc/thirdParty/src/pages/approvalAsset/list.vue +++ /dev/null @@ -1,272 +0,0 @@ - - - - - \ No newline at end of file diff --git a/doc/thirdParty/src/pages/cabinet/components/BindGoods.vue b/doc/thirdParty/src/pages/cabinet/components/BindGoods.vue deleted file mode 100644 index 7b4d1f7..0000000 --- a/doc/thirdParty/src/pages/cabinet/components/BindGoods.vue +++ /dev/null @@ -1,346 +0,0 @@ - - - - - \ No newline at end of file diff --git a/doc/thirdParty/src/pages/cabinet/index.vue b/doc/thirdParty/src/pages/cabinet/index.vue deleted file mode 100644 index 6132628..0000000 --- a/doc/thirdParty/src/pages/cabinet/index.vue +++ /dev/null @@ -1,558 +0,0 @@ - - - - - \ No newline at end of file diff --git a/doc/thirdParty/src/pages/demo/chart.vue b/doc/thirdParty/src/pages/demo/chart.vue deleted file mode 100644 index 96c3ed8..0000000 --- a/doc/thirdParty/src/pages/demo/chart.vue +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/doc/thirdParty/src/pages/demo/color.vue b/doc/thirdParty/src/pages/demo/color.vue deleted file mode 100644 index 366ebe4..0000000 --- a/doc/thirdParty/src/pages/demo/color.vue +++ /dev/null @@ -1,38 +0,0 @@ - - - diff --git a/doc/thirdParty/src/pages/demo/components/NoticeBar.vue b/doc/thirdParty/src/pages/demo/components/NoticeBar.vue deleted file mode 100644 index ae60d6d..0000000 --- a/doc/thirdParty/src/pages/demo/components/NoticeBar.vue +++ /dev/null @@ -1,16 +0,0 @@ - - - diff --git a/doc/thirdParty/src/pages/demo/i18n.vue b/doc/thirdParty/src/pages/demo/i18n.vue deleted file mode 100644 index 96c3ed8..0000000 --- a/doc/thirdParty/src/pages/demo/i18n.vue +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/doc/thirdParty/src/pages/demo/keep-alive.vue b/doc/thirdParty/src/pages/demo/keep-alive.vue deleted file mode 100644 index 84e04c1..0000000 --- a/doc/thirdParty/src/pages/demo/keep-alive.vue +++ /dev/null @@ -1,18 +0,0 @@ - - - diff --git a/doc/thirdParty/src/pages/demo/markdown.vue b/doc/thirdParty/src/pages/demo/markdown.vue deleted file mode 100644 index 96c3ed8..0000000 --- a/doc/thirdParty/src/pages/demo/markdown.vue +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/doc/thirdParty/src/pages/demo/permission.vue b/doc/thirdParty/src/pages/demo/permission.vue deleted file mode 100644 index af3f4a8..0000000 --- a/doc/thirdParty/src/pages/demo/permission.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - diff --git a/doc/thirdParty/src/pages/demo/watermark.vue b/doc/thirdParty/src/pages/demo/watermark.vue deleted file mode 100644 index 81f6004..0000000 --- a/doc/thirdParty/src/pages/demo/watermark.vue +++ /dev/null @@ -1,77 +0,0 @@ - - - diff --git a/doc/thirdParty/src/pages/error/403.vue b/doc/thirdParty/src/pages/error/403.vue deleted file mode 100644 index b0052fb..0000000 --- a/doc/thirdParty/src/pages/error/403.vue +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/doc/thirdParty/src/pages/error/404.vue b/doc/thirdParty/src/pages/error/404.vue deleted file mode 100644 index 9b36e89..0000000 --- a/doc/thirdParty/src/pages/error/404.vue +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/doc/thirdParty/src/pages/error/components/Layout.vue b/doc/thirdParty/src/pages/error/components/Layout.vue deleted file mode 100644 index 36906c8..0000000 --- a/doc/thirdParty/src/pages/error/components/Layout.vue +++ /dev/null @@ -1,10 +0,0 @@ - diff --git a/doc/thirdParty/src/pages/error/images/403.svg b/doc/thirdParty/src/pages/error/images/403.svg deleted file mode 100644 index 254dd53..0000000 --- a/doc/thirdParty/src/pages/error/images/403.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/doc/thirdParty/src/pages/error/images/404.svg b/doc/thirdParty/src/pages/error/images/404.svg deleted file mode 100644 index 7813181..0000000 --- a/doc/thirdParty/src/pages/error/images/404.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/doc/thirdParty/src/pages/home/components/Cell.vue b/doc/thirdParty/src/pages/home/components/Cell.vue deleted file mode 100644 index 80bf063..0000000 --- a/doc/thirdParty/src/pages/home/components/Cell.vue +++ /dev/null @@ -1,35 +0,0 @@ - - - diff --git a/doc/thirdParty/src/pages/home/components/Title.vue b/doc/thirdParty/src/pages/home/components/Title.vue deleted file mode 100644 index 4050c5a..0000000 --- a/doc/thirdParty/src/pages/home/components/Title.vue +++ /dev/null @@ -1,13 +0,0 @@ - - - diff --git a/doc/thirdParty/src/pages/home/index.vue b/doc/thirdParty/src/pages/home/index.vue deleted file mode 100644 index fbcfc43..0000000 --- a/doc/thirdParty/src/pages/home/index.vue +++ /dev/null @@ -1,23 +0,0 @@ - - -