hookehuyr

feat: 配置代码质量工具链

添加 ESLint、Prettier、Husky 和 lint-staged 以自动化代码检查和格式化
新增 .prettierrc、.prettierignore、eslint.config.js 和 Husky pre-commit hook
在 package.json 中添加相关脚本和依赖,包括格式化、检查、测试覆盖率等命令
新增详细配置文档 HUSKY_LINT_STAGED.md 和 ESLINT_PRETTIER.md
1 +#!/usr/bin/env sh
2 +. "$(dirname "$0")/_/husky.sh"
3 +
4 +npx lint-staged
1 +# 依赖
2 +node_modules/
3 +dist/
4 +dist.*/
5 +build/
6 +
7 +# 配置文件
8 +package-lock.json
9 +pnpm-lock.yaml
10 +yarn.lock
11 +
12 +# 自动生成
13 +src/auto-imports.d.ts
14 +src/components.d.ts
15 +src/typings/env.d.ts
16 +.eslintrc-auto-import.json
17 +
18 +# 静态资源
19 +public/
20 +**/*.svg
21 +**/*.png
22 +**/*.jpg
23 +**/*.jpeg
24 +**/*.gif
25 +**/*.ico
26 +
27 +# 其他
28 +.cursor/
29 +coverage/
30 +.nyc_output/
31 +*.min.js
32 +*.min.css
33 +
34 +# 文档
35 +CHANGELOG.md
36 +LICENSE
37 +VITE*.md
38 +
39 +# 临时文件
40 +*.log
41 +*.tmp
42 +*.temp
43 +.DS_Store
1 +{
2 + "semi": false,
3 + "singleQuote": true,
4 + "quoteProps": "as-needed",
5 + "trailingComma": "es5",
6 + "bracketSpacing": true,
7 + "bracketSameLine": false,
8 + "arrowParens": "avoid",
9 + "printWidth": 100,
10 + "tabWidth": 2,
11 + "useTabs": false,
12 + "endOfLine": "lf",
13 + "plugins": ["prettier-plugin-tailwindcss"],
14 + "overrides": [
15 + {
16 + "files": "*.vue",
17 + "options": {
18 + "parser": "vue"
19 + }
20 + },
21 + {
22 + "files": "*.md",
23 + "options": {
24 + "proseWrap": "preserve"
25 + }
26 + }
27 + ]
28 +}
1 +# ESLint + Prettier 配置说明
2 +
3 +## ✅ 已安装的包
4 +
5 +```json
6 +{
7 + "devDependencies": {
8 + "eslint": "^9.39.2",
9 + "eslint-plugin-vue": "^10.7.0",
10 + "eslint-config-prettier": "^10.1.8",
11 + "@vue/eslint-config-prettier": "^10.2.0",
12 + "prettier": "^3.8.1",
13 + "prettier-plugin-tailwindcss": "^0.7.2"
14 + }
15 +}
16 +```
17 +
18 +## 📁 配置文件
19 +
20 +### ESLint 配置
21 +
22 +**文件**: `eslint.config.js` (ESLint 9 扁平配置格式)
23 +
24 +**核心规则**:
25 +
26 +- Vue 3 规则(组件命名、props 检查、模板规范)
27 +- JavaScript 规则(no-var、prefer-const、箭头函数)
28 +- 代码质量(===、错误处理、安全)
29 +- 性能优化(避免循环中的函数、禁止 eval)
30 +
31 +**忽略文件**:
32 +
33 +```javascript
34 +ignores: [
35 + 'node_modules/**',
36 + 'dist/**',
37 + 'dist.*',
38 + 'build/**',
39 + '*.min.js',
40 + 'public/**',
41 + 'VITE*.md',
42 + '.cursor/**',
43 + '.history/**',
44 + 'coverage/**',
45 + '.nyc_output/**',
46 + 'src/auto-imports.d.ts',
47 + 'src/components.d.ts',
48 + 'mlaj/**',
49 +]
50 +```
51 +
52 +### Prettier 配置
53 +
54 +**文件**: `.prettierrc`
55 +
56 +**核心配置**:
57 +
58 +```json
59 +{
60 + "semi": false, // 不使用分号
61 + "singleQuote": true, // 使用单引号
62 + "trailingComma": "es5", // ES5 尾部逗号
63 + "printWidth": 100, // 每行最大 100 字符
64 + "tabWidth": 2, // 2 空格缩进
65 + "useTabs": false, // 使用空格而非 tab
66 + "endOfLine": "lf" // LF 换行符
67 +}
68 +```
69 +
70 +**忽略文件**:
71 +
72 +- `node_modules/`
73 +- `dist/`
74 +- `build/`
75 +- `public/`
76 +- `coverage/`
77 +- `*.min.js`
78 +- `package-lock.json`
79 +- `pnpm-lock.yaml`
80 +
81 +### VS Code 配置
82 +
83 +**文件**: `.vscode/settings.json`
84 +
85 +**自动格式化**:
86 +
87 +```json
88 +{
89 + "editor.formatOnSave": true,
90 + "editor.codeActionsOnSave": {
91 + "source.fixAll.eslint": "explicit"
92 + },
93 + "editor.defaultFormatter": "esbenp.prettier-vscode"
94 +}
95 +```
96 +
97 +**推荐扩展** (`.vscode/extensions.json`):
98 +
99 +- `Vue.volar` - Vue 3 语言支持
100 +- `dbaeumer.vscode-eslint` - ESLint 集成
101 +- `esbenp.prettier-vscode` - Prettier 格式化
102 +- `bradlc.vscode-tailwindcss` - TailwindCSS 智能提示
103 +- `formulahendry.auto-rename-tag` - 自动重命名标签
104 +- `christian-kohler.path-intellisense` - 路径智能提示
105 +
106 +## 🚀 使用命令
107 +
108 +### Lint(代码检查)
109 +
110 +```bash
111 +# 检查但不修复
112 +pnpm lint:check
113 +
114 +# 检查并自动修复
115 +pnpm lint
116 +```
117 +
118 +### Format(代码格式化)
119 +
120 +```bash
121 +# 检查格式(不修改文件)
122 +pnpm format:check
123 +
124 +# 格式化代码
125 +pnpm format
126 +```
127 +
128 +### 组合使用
129 +
130 +```bash
131 +# 先格式化,再 lint
132 +pnpm format && pnpm lint
133 +
134 +# 提交前检查
135 +pnpm format:check && pnpm lint:check && pnpm test
136 +```
137 +
138 +## 📋 ESLint 核心规则
139 +
140 +### Vue 3 规则
141 +
142 +| 规则 | 级别 | 说明 |
143 +| -------------------------------------- | ----- | ------------------ |
144 +| `vue/multi-word-component-names` | off | 允许单词组件名 |
145 +| `vue/no-v-html` | warn | 警告使用 v-html |
146 +| `vue/require-prop-types` | error | props 必须有类型 |
147 +| `vue/no-mutating-props` | error | 禁止直接修改 props |
148 +| `vue/component-definition-name-casing` | error | 组件名 PascalCase |
149 +
150 +### JavaScript 规则
151 +
152 +| 规则 | 级别 | 说明 |
153 +| ------------------ | ----- | ----------------------------------- |
154 +| `no-console` | warn | 禁止 console.log(允许 warn/error) |
155 +| `no-debugger` | error | 禁止 debugger |
156 +| `no-var` | error | 禁止 var,使用 const/let |
157 +| `prefer-const` | error | 优先使用 const |
158 +| `eqeqeq` | error | 强制使用 === |
159 +| `no-eval` | error | 禁止 eval |
160 +| `no-throw-literal` | error | throw 必须是 Error 对象 |
161 +
162 +## 🔧 常见问题
163 +
164 +### 1. ESLint 报错但不显示具体规则
165 +
166 +**解决**: 确保 `eslint.config.js` 配置正确
167 +
168 +### 2. Prettier 与 ESLint 冲突
169 +
170 +**解决**: `eslint-config-prettier` 已禁用所有与 Prettier 冲突的规则
171 +
172 +### 3. VS Code 不自动格式化
173 +
174 +**解决**:
175 +
176 +1. 确保安装了 `Prettier - Code formatter` 扩展
177 +2. 检查 `.vscode/settings.json` 中的配置
178 +3. 重启 VS Code
179 +
180 +### 4. 忽略特定文件
181 +
182 +**ESLint 9**: 在 `eslint.config.js``ignores` 中添加
183 +
184 +**Prettier**: 在 `.prettierignore` 中添加
185 +
186 +## 📝 提交前检查
187 +
188 +在提交代码前,请运行:
189 +
190 +```bash
191 +# 1. 格式化代码
192 +pnpm format
193 +
194 +# 2. 检查代码规范
195 +pnpm lint:check
196 +
197 +# 3. 运行测试
198 +pnpm test
199 +
200 +# 4. 检查测试覆盖率
201 +pnpm test:coverage
202 +```
203 +
204 +## 🎯 最佳实践
205 +
206 +### 1. 开发流程
207 +
208 +```bash
209 +# 1. 编写代码
210 +# 2. 保存时自动格式化(VS Code 自动)
211 +# 3. 手动运行 lint 检查
212 +pnpm lint:check
213 +
214 +# 4. 修复错误
215 +pnpm lint
216 +
217 +# 5. 提交代码
218 +git add .
219 +git commit -m "feat: xxx"
220 +```
221 +
222 +### 2. Git Hooks(可选)
223 +
224 +使用 `husky``lint-staged` 自动化:
225 +
226 +```bash
227 +# 安装
228 +pnpm add -D husky lint-staged
229 +
230 +# 配置
231 +npx husky install
232 +npx husky add .husky/pre-commit "pnpm lint-staged"
233 +```
234 +
235 +**`package.json`**:
236 +
237 +```json
238 +{
239 + "lint-staged": {
240 + "*.{js,vue}": ["eslint --fix", "prettier --write"]
241 + }
242 +}
243 +```
244 +
245 +### 3. CI/CD 集成
246 +
247 +在 CI 中运行:
248 +
249 +```yaml
250 +# .github/workflows/ci.yml
251 +- name: Lint
252 + run: pnpm lint:check
253 +
254 +- name: Format check
255 + run: pnpm format:check
256 +
257 +- name: Test
258 + run: pnpm test
259 +```
260 +
261 +## 📊 规则优先级
262 +
263 +```
264 +ESLint 规则 > Prettier 规则
265 +
266 +1. Prettier 负责格式化(空格、引号、换行)
267 +2. ESLint 负责代码质量(未使用变量、潜在错误)
268 +3. eslint-config-prettier 禁用冲突的 ESLint 规则
269 +```
270 +
271 +## 🔄 迁移指南
272 +
273 +### 从旧版 ESLint 迁移
274 +
275 +如果你之前使用 `.eslintrc.js`
276 +
277 +```bash
278 +# 1. 删除旧配置
279 +rm .eslintrc.js
280 +
281 +# 2. 使用新的 eslint.config.js(已配置)
282 +# 3. 删除 .eslintignore(ESLint 9 不再使用)
283 +```
284 +
285 +### 从旧版 Prettier 迁移
286 +
287 +如果你之前使用 `.prettierrc.js`
288 +
289 +```bash
290 +# 1. 转换为 .prettierrc(JSON 格式)
291 +# 2. 确保 prettier-plugin-tailwindcss 已安装
292 +```
293 +
294 +## 🚨 注意事项
295 +
296 +1. **不要修改 `node_modules/` 中的文件** - ESLint 会忽略它们
297 +2. **不要提交格式化后的构建产物** - `dist/``build/` 已被忽略
298 +3. **团队统一配置** - 确保所有成员使用相同的配置文件
299 +4. **定期更新依赖** - ESLint 和 Prettier 会定期更新
300 +
301 +## 📚 参考资源
302 +
303 +- [ESLint 9 文档](https://eslint.org/docs/latest/)
304 +- [Vue 3 官方 ESLint 插件](https://eslint.vuejs.org/)
305 +- [Prettier 文档](https://prettier.io/docs/en/)
306 +- [Prettier TailwindCSS 插件](https://github.com/tailwindlabs/prettier-plugin-tailwindcss)
307 +
308 +## 🎉 完成
309 +
310 +你的项目现在已经配置了完整的 ESLint 和 Prettier!
311 +
312 +**下一步**:
313 +
314 +- [ ] 添加 Husky + lint-staged(Git Hooks)
315 +- [ ] 添加 Vitest Coverage(测试覆盖率)
316 +- [ ] 添加 Playwright(E2E 测试)
1 +# Husky + lint-staged 配置说明
2 +
3 +## ✅ 配置完成
4 +
5 +你的项目现在已经配置了 **Husky****lint-staged**,在 Git 提交前自动运行代码检查和格式化。
6 +
7 +## 📦 已安装的包
8 +
9 +```json
10 +{
11 + "devDependencies": {
12 + "husky": "^9.1.7",
13 + "lint-staged": "^16.2.7"
14 + }
15 +}
16 +```
17 +
18 +## 🔧 配置文件
19 +
20 +### 1. Husky 配置
21 +
22 +**目录**: `.husky/`
23 +
24 +**文件**:
25 +
26 +- `pre-commit` - 提交前执行的 hook
27 +- `_/husky.sh` - Husky 辅助脚本
28 +
29 +**`pre-commit` 内容**:
30 +
31 +```bash
32 +#!/usr/bin/env sh
33 +. "$(dirname "$0")/_/husky.sh"
34 +
35 +npx lint-staged
36 +```
37 +
38 +### 2. lint-staged 配置
39 +
40 +**位置**: `package.json` 中的 `lint-staged` 字段
41 +
42 +**配置**:
43 +
44 +```json
45 +{
46 + "lint-staged": {
47 + "*.{js,vue}": ["eslint --fix", "prettier --write"],
48 + "*.{css,less,scss}": ["prettier --write"],
49 + "*.{json,md}": ["prettier --write"]
50 + }
51 +}
52 +```
53 +
54 +## 🚀 工作流程
55 +
56 +### 自动化流程
57 +
58 +```
59 +1. git add .
60 +
61 +2. git commit -m "xxx"
62 +
63 +3. Husky 触发 pre-commit hook
64 +
65 +4. lint-staged 检查暂存的文件
66 +
67 +5. ESLint 自动修复问题
68 +
69 +6. Prettier 自动格式化代码
70 +
71 +7. 如果所有检查通过 → 提交成功 ✅
72 + 如果有错误 → 提交失败,显示错误信息 ❌
73 +```
74 +
75 +### 文件类型处理
76 +
77 +| 文件类型 | 操作 |
78 +| --------------------------- | ----------------------------------- |
79 +| `*.js`, `*.vue` | ESLint 检查并修复 + Prettier 格式化 |
80 +| `*.css`, `*.less`, `*.scss` | Prettier 格式化 |
81 +| `*.json`, `*.md` | Prettier 格式化 |
82 +
83 +## 📝 使用示例
84 +
85 +### 正常提交
86 +
87 +```bash
88 +# 1. 修改文件
89 +echo "console.log('test')" >> test.js
90 +
91 +# 2. 添加到暂存区
92 +git add test.js
93 +
94 +# 3. 提交(自动运行 lint-staged)
95 +git commit -m "test: add test file"
96 +
97 +# 输出:
98 +# ✔ prettier --write test.js
99 +# ✔ eslint --fix test.js
100 +# [main xxxxx] test: add test file
101 +```
102 +
103 +### 提交失败(有错误)
104 +
105 +```bash
106 +# 1. 创建有错误的文件
107 +cat > bad.js << 'EOF'
108 +function test() {
109 + var x = 1 // 缺少分号,使用了 var
110 + return x
111 +}
112 +EOF
113 +
114 +# 2. 尝试提交
115 +git add bad.js
116 +git commit -m "test: bad code"
117 +
118 +# 输出:
119 +# ✖ eslint --fix bad.js
120 +# ✖ 1:7 error Unexpected var, use let or const instead no-var
121 +# ✖ 1:18 error Missing semicolon
122 +# husky - pre-commit hook exited with code 1 (error)
123 +```
124 +
125 +### 跳过 Hook(不推荐)
126 +
127 +```bash
128 +# 使用 --no-verify 跳过 hook
129 +git commit --no-verify -m "xxx"
130 +```
131 +
132 +## 🛠️ 调试
133 +
134 +### 测试 lint-staged
135 +
136 +```bash
137 +# 不实际提交,只测试 lint-staged
138 +npx lint-staged
139 +```
140 +
141 +### 查看已安装的 Hooks
142 +
143 +```bash
144 +# 查看所有 Git hooks
145 +ls -la .husky/
146 +
147 +# 查看 pre-commit 内容
148 +cat .husky/pre-commit
149 +```
150 +
151 +### 手动运行 Hook
152 +
153 +```bash
154 +# 手动执行 pre-commit hook
155 +.husky/pre-commit
156 +```
157 +
158 +## 📋 常见问题
159 +
160 +### 1. Hook 不执行
161 +
162 +**检查**:
163 +
164 +```bash
165 +# 1. 检查 .husky 目录是否存在
166 +ls -la .husky/
167 +
168 +# 2. 检查 pre-commit 是否可执行
169 +ls -la .husky/pre-commit
170 +
171 +# 3. 如果不可执行,添加权限
172 +chmod +x .husky/pre-commit
173 +```
174 +
175 +### 2. lint-staged 找不到文件
176 +
177 +**原因**: 文件未被 `git add` 到暂存区
178 +
179 +**解决**:
180 +
181 +```bash
182 +# 确保文件已添加到暂存区
183 +git add your-file.js
184 +
185 +# 检查暂存区文件
186 +git status
187 +```
188 +
189 +### 3. 提交速度慢
190 +
191 +**原因**: lint-staged 检查的文件太多
192 +
193 +**优化**:
194 +
195 +- 缩小 `package.json``lint-staged` 的匹配范围
196 +- 只检查 `src/` 目录
197 +
198 +```json
199 +{
200 + "lint-staged": {
201 + "src/**/*.{js,vue}": ["eslint --fix", "prettier --write"]
202 + }
203 +}
204 +```
205 +
206 +### 4. 想暂时禁用 Hook
207 +
208 +**方法 1** - 跳过单次提交:
209 +
210 +```bash
211 +git commit --no-verify -m "xxx"
212 +```
213 +
214 +**方法 2** - 暂时删除 hook:
215 +
216 +```bash
217 +# 删除 hook
218 +rm .husky/pre-commit
219 +
220 +# 提交后恢复
221 +git checkout .husky/pre-commit
222 +```
223 +
224 +## 🎯 最佳实践
225 +
226 +### 1. 提交前检查
227 +
228 +即使有 Husky,建议提交前也手动检查:
229 +
230 +```bash
231 +# 1. 格式化代码
232 +pnpm format
233 +
234 +# 2. Lint 检查
235 +pnpm lint:check
236 +
237 +# 3. 测试
238 +pnpm test
239 +
240 +# 4. 提交(Husky 会再次检查)
241 +git add .
242 +git commit -m "xxx"
243 +```
244 +
245 +### 2. 团队协作
246 +
247 +**确保团队成员都安装了依赖**:
248 +
249 +```bash
250 +# 克隆项目后
251 +pnpm install
252 +
253 +# Husky 会自动安装(通过 prepare 脚本)
254 +```
255 +
256 +**`package.json` 中的 `prepare` 脚本**:
257 +
258 +```json
259 +{
260 + "scripts": {
261 + "prepare": "husky"
262 + }
263 +}
264 +```
265 +
266 +这确保了每次 `pnpm install` 后都会自动安装 Husky hooks。
267 +
268 +### 3. CI/CD 集成
269 +
270 +在 CI 中可以跳过 Husky(因为 CI 环境不使用 Git hooks):
271 +
272 +```yaml
273 +# .github/workflows/ci.yml
274 +- name: Lint and format
275 + run: |
276 + pnpm lint:check
277 + pnpm format:check
278 +```
279 +
280 +## 🔄 更新配置
281 +
282 +### 添加新的 Hook
283 +
284 +```bash
285 +# 创建 commit-msg hook(检查提交信息)
286 +cat > .husky/commit-msg << 'EOF'
287 +#!/usr/bin/env sh
288 +. "$(dirname "$0")/_/husky.sh"
289 +
290 +npx commitlint --edit $1
291 +EOF
292 +
293 +chmod +x .husky/commit-msg
294 +```
295 +
296 +### 修改 lint-staged 配置
297 +
298 +编辑 `package.json` 中的 `lint-staged` 字段:
299 +
300 +```json
301 +{
302 + "lint-staged": {
303 + "src/**/*.{js,vue}": ["eslint --fix", "prettier --write"],
304 + "src/**/*.{css,less}": ["prettier --write"],
305 + "*.md": ["prettier --write", "markdownlint --fix"]
306 + }
307 +}
308 +```
309 +
310 +### 添加测试到 Hook
311 +
312 +编辑 `.husky/pre-commit`:
313 +
314 +```bash
315 +#!/usr/bin/env sh
316 +. "$(dirname "$0")/_/husky.sh"
317 +
318 +# 运行 lint-staged
319 +npx lint-staged
320 +
321 +# 运行测试(可选)
322 +pnpm test
323 +```
324 +
325 +## 📚 参考资源
326 +
327 +- [Husky 官方文档](https://typicode.github.io/husky/)
328 +- [lint-staged 官方文档](https://github.com/okonet/lint-staged)
329 +- [Git Hooks 文档](https://git-scm.com/docs/githooks)
330 +
331 +## 🎉 总结
332 +
333 +**优势**:
334 +
335 +- ✅ 自动化代码质量检查
336 +- ✅ 保持代码风格一致
337 +- ✅ 防止低质量代码进入仓库
338 +- ✅ 节省手动检查时间
339 +- ✅ 团队协作更高效
340 +
341 +**注意事项**:
342 +
343 +- ⚠️ Hook 只在本地执行,不会影响已经推送的代码
344 +- ⚠️ 可以使用 `--no-verify` 跳过(不推荐)
345 +- ⚠️ CI/CD 中应该单独运行检查(不依赖 Hook)
346 +
347 +**下一步**:
348 +
349 +- [ ] 添加 commitlint(提交信息规范)
350 +- [ ] 添加更多 Git hooks(commit-msg、pre-push)
351 +- [ ] 配置 CI/CD 中的质量检查
352 +
353 +享受自动化的 Git 工作流!🚀
1 +/*
2 + * @Date: 2026-01-28 20:45:00
3 + * @Description: ESLint 配置 - 使用 ESLint 9 扁平配置格式
4 + */
5 +import vue from 'eslint-plugin-vue'
6 +import prettier from 'eslint-config-prettier'
7 +
8 +export default [
9 + {
10 + // 忽略文件
11 + ignores: [
12 + 'node_modules/**',
13 + 'dist/**',
14 + 'dist.*',
15 + 'build/**',
16 + '*.min.js',
17 + 'public/**',
18 + 'VITE*.md',
19 + '.cursor/**',
20 + '.history/**',
21 + 'coverage/**',
22 + '.nyc_output/**',
23 + 'src/auto-imports.d.ts',
24 + 'src/components.d.ts',
25 + 'mlaj/**',
26 + ],
27 + },
28 +
29 + // JavaScript / Vue 文件配置
30 + {
31 + files: ['**/*.{js,mjs,cjs,vue}'],
32 + languageOptions: {
33 + ecmaVersion: 'latest',
34 + sourceType: 'module',
35 + globals: {
36 + // 浏览器环境
37 + window: 'readonly',
38 + document: 'readonly',
39 + navigator: 'readonly',
40 + localStorage: 'readonly',
41 + sessionStorage: 'readonly',
42 + history: 'readonly',
43 + location: 'readonly',
44 + fetch: 'readonly',
45 + URL: 'readonly',
46 + XMLHttpRequest: 'readonly',
47 + WebSocket: 'readonly',
48 + HTMLElement: 'readonly',
49 + customElements: 'readonly',
50 +
51 + // 微信环境
52 + wx: 'readonly',
53 + WeixinJSBridge: 'readonly',
54 +
55 + // Node.js 环境
56 + process: 'readonly',
57 + Buffer: 'readonly',
58 + __dirname: 'readonly',
59 + __filename: 'readonly',
60 + module: 'readonly',
61 + require: 'readonly',
62 + exports: 'readonly',
63 +
64 + // Vitest 测试环境
65 + describe: 'readonly',
66 + it: 'readonly',
67 + test: 'readonly',
68 + expect: 'readonly',
69 + vi: 'readonly',
70 + beforeEach: 'readonly',
71 + afterEach: 'readonly',
72 + beforeAll: 'readonly',
73 + afterAll: 'readonly',
74 + },
75 + },
76 + plugins: {
77 + vue,
78 + },
79 + rules: {
80 + // Vue 3 规则
81 + 'vue/multi-word-component-names': 'off', // 允许单词组件名
82 + 'vue/no-v-html': 'warn', // v-html 需谨慎使用
83 + 'vue/require-default-prop': 'off', // props 不强制默认值
84 + 'vue/require-prop-types': 'error', // props 必须有类型
85 + 'vue/no-mutating-props': 'error', // 禁止直接修改 props
86 + 'vue/component-definition-name-casing': ['error', 'PascalCase'], // 组件名 PascalCase
87 + 'vue/component-name-in-template-casing': ['error', 'PascalCase'], // 模板中组件名 PascalCase
88 + 'vue/no-unused-vars': 'error', // 禁止未使用的变量
89 + 'vue/padding-line-between-blocks': 'warn', // 块之间空行
90 +
91 + // 通用 JavaScript 规则
92 + 'no-console': ['warn', { allow: ['warn', 'error'] }], // 禁止 console.log(允许 warn/error)
93 + 'no-debugger': 'error', // 禁止 debugger
94 + 'no-alert': 'warn', // 警告使用 alert
95 + 'no-var': 'error', // 禁止 var,使用 const/let
96 + 'prefer-const': 'error', // 优先使用 const
97 + 'no-duplicate-imports': 'error', // 禁止重复导入
98 + 'no-unused-vars': 'off', // Vue 已处理
99 + 'no-const-assign': 'error', // 禁止重新赋值 const
100 + 'prefer-template': 'warn', // 优先使用模板字符串
101 + 'template-curly-spacing': 'error', // 模板字符串空格
102 + 'object-shorthand': ['warn', 'always'], // 对象简写
103 + 'prefer-arrow-callback': 'warn', // 优先使用箭头函数
104 + 'arrow-spacing': 'error', // 箭头函数空格
105 + 'arrow-parens': ['warn', 'as-needed'], // 箭头函数括号
106 + 'arrow-body-style': ['warn', 'as-needed'], // 箭头函数体
107 +
108 + // 代码质量
109 + eqeqeq: ['error', 'always', { null: 'ignore' }], // 强制 ===
110 + curly: ['error', 'all'], // 强制花括号
111 + 'brace-style': ['error', '1tbs', { allowSingleLine: true }], // 花括号风格
112 + 'no-else-return': 'warn', // if 中 return 后不要 else
113 + 'no-nested-ternary': 'warn', // 禁止嵌套三元
114 + 'no-unneeded-ternary': 'error', // 禁止不必要的三元
115 + 'prefer-destructuring': ['warn', { array: true, object: true }], // 优先解构
116 +
117 + // 异步
118 + 'no-async-promise-executor': 'error', // 禁止 async promise executor
119 + 'no-await-in-loop': 'warn', // 循环中的 await 警告
120 + 'require-await': 'error', // async 函数必须有 await
121 + 'prefer-promise-reject-errors': 'error', // Promise reject 必须有 Error
122 +
123 + // 错误处理
124 + 'no-throw-literal': 'error', // throw 必须是 Error 对象
125 + 'prefer-promise-reject-errors': 'error', // Promise reject 必须是 Error
126 +
127 + // 性能
128 + 'no-loop-func': 'warn', // 循环中不要创建函数
129 + 'no-new-func': 'error', // 禁止 new Function
130 +
131 + // 安全
132 + 'no-eval': 'error', // 禁止 eval
133 + 'no-implied-eval': 'error', // 禁止隐式 eval
134 + 'no-new-object': 'error', // 禁止 new Object()
135 + 'no-script-url': 'error', // 禁止 javascript:
136 + },
137 + },
138 +
139 + // 测试文件配置
140 + {
141 + files: ['**/*.test.js', '**/*.spec.js', 'test/**'],
142 + languageOptions: {
143 + globals: {
144 + describe: 'readonly',
145 + it: 'readonly',
146 + test: 'readonly',
147 + expect: 'readonly',
148 + vi: 'readonly',
149 + beforeEach: 'readonly',
150 + afterEach: 'readonly',
151 + beforeAll: 'readonly',
152 + afterAll: 'readonly',
153 + },
154 + },
155 + },
156 +
157 + // Prettier 配置(必须最后)
158 + prettier,
159 +]
...@@ -8,6 +8,12 @@ ...@@ -8,6 +8,12 @@
8 "build": ". ~/.nvm/nvm.sh && nvm use 18.19.1 && vite build", 8 "build": ". ~/.nvm/nvm.sh && nvm use 18.19.1 && vite build",
9 "preview": "vite preview", 9 "preview": "vite preview",
10 "test": "vitest run", 10 "test": "vitest run",
11 + "test:ui": "vitest --ui",
12 + "test:coverage": "vitest --coverage",
13 + "lint": "eslint . --fix",
14 + "lint:check": "eslint .",
15 + "format": "prettier --write \"src/**/*.{js,vue,css,less,md,json}\"",
16 + "format:check": "prettier --check \"src/**/*.{js,vue,css,less,md,json}\"",
11 "mcp:speckit": "node mcp/speckit_stdio_server.js", 17 "mcp:speckit": "node mcp/speckit_stdio_server.js",
12 "tar": "tar -czvpf dist.tar.gz mlaj", 18 "tar": "tar -czvpf dist.tar.gz mlaj",
13 "build_tar": "npm run build && npm run tar", 19 "build_tar": "npm run build && npm run tar",
...@@ -20,7 +26,20 @@ ...@@ -20,7 +26,20 @@
20 "remove_tar": "rm -rf dist.tar.gz", 26 "remove_tar": "rm -rf dist.tar.gz",
21 "dev_upload": "npm run build_tar && npm run scp-dev && npm run dec-dev && npm run remove_tar", 27 "dev_upload": "npm run build_tar && npm run scp-dev && npm run dec-dev && npm run remove_tar",
22 "behalo_upload": "npm run build_tar && npm run scp-behalo && npm run dec-behalo && npm run remove_tar", 28 "behalo_upload": "npm run build_tar && npm run scp-behalo && npm run dec-behalo && npm run remove_tar",
23 - "oa_upload": "npm run build_tar && npm run scp-oa && npm run dec-oa && npm run remove_tar" 29 + "oa_upload": "npm run build_tar && npm run scp-oa && npm run dec-oa && npm run remove_tar",
30 + "prepare": "husky"
31 + },
32 + "lint-staged": {
33 + "*.{js,vue}": [
34 + "eslint --fix",
35 + "prettier --write"
36 + ],
37 + "*.{css,less,scss}": [
38 + "prettier --write"
39 + ],
40 + "*.{json,md}": [
41 + "prettier --write"
42 + ]
24 }, 43 },
25 "dependencies": { 44 "dependencies": {
26 "@fortawesome/fontawesome-svg-core": "^6.5.1", 45 "@fortawesome/fontawesome-svg-core": "^6.5.1",
...@@ -56,15 +75,24 @@ ...@@ -56,15 +75,24 @@
56 "weixin-js-sdk": "^1.6.5" 75 "weixin-js-sdk": "^1.6.5"
57 }, 76 },
58 "devDependencies": { 77 "devDependencies": {
78 + "@playwright/test": "^1.58.0",
59 "@vitejs/plugin-vue": "^5.2.1", 79 "@vitejs/plugin-vue": "^5.2.1",
60 "@vitejs/plugin-vue-jsx": "^4.1.2", 80 "@vitejs/plugin-vue-jsx": "^4.1.2",
81 + "@vue/eslint-config-prettier": "^10.2.0",
61 "@vue/test-utils": "^2.4.6", 82 "@vue/test-utils": "^2.4.6",
62 "@vueuse/core": "^13.0.0", 83 "@vueuse/core": "^13.0.0",
63 "autoprefixer": "^10.4.19", 84 "autoprefixer": "^10.4.19",
64 "axios": "^1.8.4", 85 "axios": "^1.8.4",
86 + "eslint": "^9.39.2",
87 + "eslint-config-prettier": "^10.1.8",
88 + "eslint-plugin-vue": "^10.7.0",
89 + "husky": "^9.1.7",
65 "jsdom": "^24.1.3", 90 "jsdom": "^24.1.3",
66 "less": "^4.2.2", 91 "less": "^4.2.2",
92 + "lint-staged": "^16.2.7",
67 "postcss": "^8.4.35", 93 "postcss": "^8.4.35",
94 + "prettier": "^3.8.1",
95 + "prettier-plugin-tailwindcss": "^0.7.2",
68 "qs": "^6.14.0", 96 "qs": "^6.14.0",
69 "rusha": "^0.8.14", 97 "rusha": "^0.8.14",
70 "tailwindcss": "^3.4.1", 98 "tailwindcss": "^3.4.1",
......
...@@ -25,7 +25,7 @@ importers: ...@@ -25,7 +25,7 @@ importers:
25 version: 5.0.0(vue@3.5.25) 25 version: 5.0.0(vue@3.5.25)
26 '@sunsetglow/vue-pdf-viewer': 26 '@sunsetglow/vue-pdf-viewer':
27 specifier: ^0.3.67 27 specifier: ^0.3.67
28 - version: 0.3.72(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)) 28 + version: 0.3.72(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)(yaml@2.8.2))
29 '@vant/touch-emulator': 29 '@vant/touch-emulator':
30 specifier: ^1.4.0 30 specifier: ^1.4.0
31 version: 1.4.0 31 version: 1.4.0
...@@ -102,12 +102,18 @@ importers: ...@@ -102,12 +102,18 @@ importers:
102 specifier: ^1.6.5 102 specifier: ^1.6.5
103 version: 1.6.5 103 version: 1.6.5
104 devDependencies: 104 devDependencies:
105 + '@playwright/test':
106 + specifier: ^1.58.0
107 + version: 1.58.0
105 '@vitejs/plugin-vue': 108 '@vitejs/plugin-vue':
106 specifier: ^5.2.1 109 specifier: ^5.2.1
107 - version: 5.2.4(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2))(vue@3.5.25) 110 + version: 5.2.4(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)(yaml@2.8.2))(vue@3.5.25)
108 '@vitejs/plugin-vue-jsx': 111 '@vitejs/plugin-vue-jsx':
109 specifier: ^4.1.2 112 specifier: ^4.1.2
110 - version: 4.2.0(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2))(vue@3.5.25) 113 + version: 4.2.0(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)(yaml@2.8.2))(vue@3.5.25)
114 + '@vue/eslint-config-prettier':
115 + specifier: ^10.2.0
116 + version: 10.2.0(eslint@9.39.2(jiti@1.21.7))(prettier@3.8.1)
111 '@vue/test-utils': 117 '@vue/test-utils':
112 specifier: ^2.4.6 118 specifier: ^2.4.6
113 version: 2.4.6 119 version: 2.4.6
...@@ -120,15 +126,36 @@ importers: ...@@ -120,15 +126,36 @@ importers:
120 axios: 126 axios:
121 specifier: ^1.8.4 127 specifier: ^1.8.4
122 version: 1.13.2 128 version: 1.13.2
129 + eslint:
130 + specifier: ^9.39.2
131 + version: 9.39.2(jiti@1.21.7)
132 + eslint-config-prettier:
133 + specifier: ^10.1.8
134 + version: 10.1.8(eslint@9.39.2(jiti@1.21.7))
135 + eslint-plugin-vue:
136 + specifier: ^10.7.0
137 + version: 10.7.0(eslint@9.39.2(jiti@1.21.7))(vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@1.21.7)))
138 + husky:
139 + specifier: ^9.1.7
140 + version: 9.1.7
123 jsdom: 141 jsdom:
124 specifier: ^24.1.3 142 specifier: ^24.1.3
125 version: 24.1.3(canvas@2.11.2) 143 version: 24.1.3(canvas@2.11.2)
126 less: 144 less:
127 specifier: ^4.2.2 145 specifier: ^4.2.2
128 version: 4.4.2 146 version: 4.4.2
147 + lint-staged:
148 + specifier: ^16.2.7
149 + version: 16.2.7
129 postcss: 150 postcss:
130 specifier: ^8.4.35 151 specifier: ^8.4.35
131 version: 8.5.6 152 version: 8.5.6
153 + prettier:
154 + specifier: ^3.8.1
155 + version: 3.8.1
156 + prettier-plugin-tailwindcss:
157 + specifier: ^0.7.2
158 + version: 0.7.2(prettier@3.8.1)
132 qs: 159 qs:
133 specifier: ^6.14.0 160 specifier: ^6.14.0
134 version: 6.14.0 161 version: 6.14.0
...@@ -137,7 +164,7 @@ importers: ...@@ -137,7 +164,7 @@ importers:
137 version: 0.8.14 164 version: 0.8.14
138 tailwindcss: 165 tailwindcss:
139 specifier: ^3.4.1 166 specifier: ^3.4.1
140 - version: 3.4.18 167 + version: 3.4.18(yaml@2.8.2)
141 unplugin-auto-import: 168 unplugin-auto-import:
142 specifier: ^19.1.1 169 specifier: ^19.1.1
143 version: 19.3.0(@vueuse/core@13.9.0(vue@3.5.25)) 170 version: 19.3.0(@vueuse/core@13.9.0(vue@3.5.25))
...@@ -146,10 +173,10 @@ importers: ...@@ -146,10 +173,10 @@ importers:
146 version: 28.8.0(@babel/parser@7.28.5)(vue@3.5.25) 173 version: 28.8.0(@babel/parser@7.28.5)(vue@3.5.25)
147 vite: 174 vite:
148 specifier: ^6.2.0 175 specifier: ^6.2.0
149 - version: 6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2) 176 + version: 6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)(yaml@2.8.2)
150 vitest: 177 vitest:
151 specifier: ^3.2.0 178 specifier: ^3.2.0
152 - version: 3.2.4(@types/node@20.19.25)(jiti@1.21.7)(jsdom@24.1.3(canvas@2.11.2))(less@4.4.2) 179 + version: 3.2.4(@types/node@20.19.25)(jiti@1.21.7)(jsdom@24.1.3(canvas@2.11.2))(less@4.4.2)(yaml@2.8.2)
153 180
154 packages: 181 packages:
155 182
...@@ -486,6 +513,44 @@ packages: ...@@ -486,6 +513,44 @@ packages:
486 cpu: [x64] 513 cpu: [x64]
487 os: [win32] 514 os: [win32]
488 515
516 + '@eslint-community/eslint-utils@4.9.1':
517 + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==}
518 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
519 + peerDependencies:
520 + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
521 +
522 + '@eslint-community/regexpp@4.12.2':
523 + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==}
524 + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
525 +
526 + '@eslint/config-array@0.21.1':
527 + resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==}
528 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
529 +
530 + '@eslint/config-helpers@0.4.2':
531 + resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==}
532 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
533 +
534 + '@eslint/core@0.17.0':
535 + resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==}
536 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
537 +
538 + '@eslint/eslintrc@3.3.3':
539 + resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==}
540 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
541 +
542 + '@eslint/js@9.39.2':
543 + resolution: {integrity: sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==}
544 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
545 +
546 + '@eslint/object-schema@2.1.7':
547 + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==}
548 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
549 +
550 + '@eslint/plugin-kit@0.4.1':
551 + resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==}
552 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
553 +
489 '@fortawesome/fontawesome-common-types@6.7.2': 554 '@fortawesome/fontawesome-common-types@6.7.2':
490 resolution: {integrity: sha512-Zs+YeHUC5fkt7Mg1l6XTniei3k4bwG/yo3iFUtZWd/pMx9g3fdvkSK9E0FOC+++phXOka78uJcYb8JaFkW52Xg==} 555 resolution: {integrity: sha512-Zs+YeHUC5fkt7Mg1l6XTniei3k4bwG/yo3iFUtZWd/pMx9g3fdvkSK9E0FOC+++phXOka78uJcYb8JaFkW52Xg==}
491 engines: {node: '>=6'} 556 engines: {node: '>=6'}
...@@ -509,6 +574,22 @@ packages: ...@@ -509,6 +574,22 @@ packages:
509 peerDependencies: 574 peerDependencies:
510 vue: '>= 3' 575 vue: '>= 3'
511 576
577 + '@humanfs/core@0.19.1':
578 + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
579 + engines: {node: '>=18.18.0'}
580 +
581 + '@humanfs/node@0.16.7':
582 + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==}
583 + engines: {node: '>=18.18.0'}
584 +
585 + '@humanwhocodes/module-importer@1.0.1':
586 + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
587 + engines: {node: '>=12.22'}
588 +
589 + '@humanwhocodes/retry@0.4.3':
590 + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
591 + engines: {node: '>=18.18'}
592 +
512 '@iconify/types@2.0.0': 593 '@iconify/types@2.0.0':
513 resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} 594 resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
514 595
...@@ -560,6 +641,15 @@ packages: ...@@ -560,6 +641,15 @@ packages:
560 resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 641 resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
561 engines: {node: '>=14'} 642 engines: {node: '>=14'}
562 643
644 + '@pkgr/core@0.2.9':
645 + resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==}
646 + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
647 +
648 + '@playwright/test@1.58.0':
649 + resolution: {integrity: sha512-fWza+Lpbj6SkQKCrU6si4iu+fD2dD3gxNHFhUPxsfXBPhnv3rRSQVd0NtBUT9Z/RhF/boCBcuUaMUSTRTopjZg==}
650 + engines: {node: '>=18'}
651 + hasBin: true
652 +
563 '@rolldown/pluginutils@1.0.0-beta.53': 653 '@rolldown/pluginutils@1.0.0-beta.53':
564 resolution: {integrity: sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==} 654 resolution: {integrity: sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==}
565 655
...@@ -688,6 +778,9 @@ packages: ...@@ -688,6 +778,9 @@ packages:
688 '@types/estree@1.0.8': 778 '@types/estree@1.0.8':
689 resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} 779 resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
690 780
781 + '@types/json-schema@7.0.15':
782 + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
783 +
691 '@types/node@20.19.25': 784 '@types/node@20.19.25':
692 resolution: {integrity: sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ==} 785 resolution: {integrity: sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ==}
693 786
...@@ -832,6 +925,12 @@ packages: ...@@ -832,6 +925,12 @@ packages:
832 '@vue/devtools-api@6.6.4': 925 '@vue/devtools-api@6.6.4':
833 resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} 926 resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==}
834 927
928 + '@vue/eslint-config-prettier@10.2.0':
929 + resolution: {integrity: sha512-GL3YBLwv/+b86yHcNNfPJxOTtVFJ4Mbc9UU3zR+KVoG7SwGTjPT+32fXamscNumElhcpXW3mT0DgzS9w32S7Bw==}
930 + peerDependencies:
931 + eslint: '>= 8.21.0'
932 + prettier: '>= 3.0.0'
933 +
835 '@vue/reactivity@3.5.25': 934 '@vue/reactivity@3.5.25':
836 resolution: {integrity: sha512-5xfAypCQepv4Jog1U4zn8cZIcbKKFka3AgWHEFQeK65OW+Ys4XybP6z2kKgws4YB43KGpqp5D/K3go2UPPunLA==} 935 resolution: {integrity: sha512-5xfAypCQepv4Jog1U4zn8cZIcbKKFka3AgWHEFQeK65OW+Ys4XybP6z2kKgws4YB43KGpqp5D/K3go2UPPunLA==}
837 936
...@@ -876,6 +975,11 @@ packages: ...@@ -876,6 +975,11 @@ packages:
876 resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} 975 resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==}
877 engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 976 engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
878 977
978 + acorn-jsx@5.3.2:
979 + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
980 + peerDependencies:
981 + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
982 +
879 acorn@8.15.0: 983 acorn@8.15.0:
880 resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} 984 resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
881 engines: {node: '>=0.4.0'} 985 engines: {node: '>=0.4.0'}
...@@ -892,6 +996,13 @@ packages: ...@@ -892,6 +996,13 @@ packages:
892 resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} 996 resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==}
893 engines: {node: '>= 14'} 997 engines: {node: '>= 14'}
894 998
999 + ajv@6.12.6:
1000 + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
1001 +
1002 + ansi-escapes@7.2.0:
1003 + resolution: {integrity: sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==}
1004 + engines: {node: '>=18'}
1005 +
895 ansi-regex@5.0.1: 1006 ansi-regex@5.0.1:
896 resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 1007 resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
897 engines: {node: '>=8'} 1008 engines: {node: '>=8'}
...@@ -932,6 +1043,9 @@ packages: ...@@ -932,6 +1043,9 @@ packages:
932 arg@5.0.2: 1043 arg@5.0.2:
933 resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 1044 resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
934 1045
1046 + argparse@2.0.1:
1047 + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
1048 +
935 array-tree-filter@2.1.0: 1049 array-tree-filter@2.1.0:
936 resolution: {integrity: sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==} 1050 resolution: {integrity: sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==}
937 1051
...@@ -970,6 +1084,9 @@ packages: ...@@ -970,6 +1084,9 @@ packages:
970 resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 1084 resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
971 engines: {node: '>=8'} 1085 engines: {node: '>=8'}
972 1086
1087 + boolbase@1.0.0:
1088 + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
1089 +
973 brace-expansion@1.1.12: 1090 brace-expansion@1.1.12:
974 resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} 1091 resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
975 1092
...@@ -1000,6 +1117,10 @@ packages: ...@@ -1000,6 +1117,10 @@ packages:
1000 resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} 1117 resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
1001 engines: {node: '>= 0.4'} 1118 engines: {node: '>= 0.4'}
1002 1119
1120 + callsites@3.1.0:
1121 + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
1122 + engines: {node: '>=6'}
1123 +
1003 camelcase-css@2.0.1: 1124 camelcase-css@2.0.1:
1004 resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 1125 resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
1005 engines: {node: '>= 6'} 1126 engines: {node: '>= 6'}
...@@ -1019,6 +1140,10 @@ packages: ...@@ -1019,6 +1140,10 @@ packages:
1019 resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} 1140 resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==}
1020 engines: {node: '>=18'} 1141 engines: {node: '>=18'}
1021 1142
1143 + chalk@4.1.2:
1144 + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
1145 + engines: {node: '>=10'}
1146 +
1022 check-error@2.1.1: 1147 check-error@2.1.1:
1023 resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} 1148 resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
1024 engines: {node: '>= 16'} 1149 engines: {node: '>= 16'}
...@@ -1031,6 +1156,14 @@ packages: ...@@ -1031,6 +1156,14 @@ packages:
1031 resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} 1156 resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
1032 engines: {node: '>=10'} 1157 engines: {node: '>=10'}
1033 1158
1159 + cli-cursor@5.0.0:
1160 + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
1161 + engines: {node: '>=18'}
1162 +
1163 + cli-truncate@5.1.1:
1164 + resolution: {integrity: sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==}
1165 + engines: {node: '>=20'}
1166 +
1034 cliui@6.0.0: 1167 cliui@6.0.0:
1035 resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} 1168 resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
1036 1169
...@@ -1045,6 +1178,9 @@ packages: ...@@ -1045,6 +1178,9 @@ packages:
1045 resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} 1178 resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
1046 hasBin: true 1179 hasBin: true
1047 1180
1181 + colorette@2.0.20:
1182 + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
1183 +
1048 combined-stream@1.0.8: 1184 combined-stream@1.0.8:
1049 resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} 1185 resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
1050 engines: {node: '>= 0.8'} 1186 engines: {node: '>= 0.8'}
...@@ -1053,6 +1189,10 @@ packages: ...@@ -1053,6 +1189,10 @@ packages:
1053 resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} 1189 resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
1054 engines: {node: '>=14'} 1190 engines: {node: '>=14'}
1055 1191
1192 + commander@14.0.2:
1193 + resolution: {integrity: sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==}
1194 + engines: {node: '>=20'}
1195 +
1056 commander@4.1.1: 1196 commander@4.1.1:
1057 resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 1197 resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
1058 engines: {node: '>= 6'} 1198 engines: {node: '>= 6'}
...@@ -1138,6 +1278,9 @@ packages: ...@@ -1138,6 +1278,9 @@ packages:
1138 resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} 1278 resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
1139 engines: {node: '>=6'} 1279 engines: {node: '>=6'}
1140 1280
1281 + deep-is@0.1.4:
1282 + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
1283 +
1141 delayed-stream@1.0.0: 1284 delayed-stream@1.0.0:
1142 resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} 1285 resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
1143 engines: {node: '>=0.4.0'} 1286 engines: {node: '>=0.4.0'}
...@@ -1182,6 +1325,9 @@ packages: ...@@ -1182,6 +1325,9 @@ packages:
1182 electron-to-chromium@1.5.266: 1325 electron-to-chromium@1.5.266:
1183 resolution: {integrity: sha512-kgWEglXvkEfMH7rxP5OSZZwnaDWT7J9EoZCujhnpLbfi0bbNtRkgdX2E3gt0Uer11c61qCYktB3hwkAS325sJg==} 1326 resolution: {integrity: sha512-kgWEglXvkEfMH7rxP5OSZZwnaDWT7J9EoZCujhnpLbfi0bbNtRkgdX2E3gt0Uer11c61qCYktB3hwkAS325sJg==}
1184 1327
1328 + emoji-regex@10.6.0:
1329 + resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==}
1330 +
1185 emoji-regex@8.0.0: 1331 emoji-regex@8.0.0:
1186 resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1332 resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
1187 1333
...@@ -1196,6 +1342,10 @@ packages: ...@@ -1196,6 +1342,10 @@ packages:
1196 resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} 1342 resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
1197 engines: {node: '>=0.12'} 1343 engines: {node: '>=0.12'}
1198 1344
1345 + environment@1.1.0:
1346 + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==}
1347 + engines: {node: '>=18'}
1348 +
1199 errno@0.1.8: 1349 errno@0.1.8:
1200 resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} 1350 resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==}
1201 hasBin: true 1351 hasBin: true
...@@ -1228,16 +1378,99 @@ packages: ...@@ -1228,16 +1378,99 @@ packages:
1228 resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 1378 resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
1229 engines: {node: '>=6'} 1379 engines: {node: '>=6'}
1230 1380
1381 + escape-string-regexp@4.0.0:
1382 + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
1383 + engines: {node: '>=10'}
1384 +
1231 escape-string-regexp@5.0.0: 1385 escape-string-regexp@5.0.0:
1232 resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} 1386 resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
1233 engines: {node: '>=12'} 1387 engines: {node: '>=12'}
1234 1388
1389 + eslint-config-prettier@10.1.8:
1390 + resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==}
1391 + hasBin: true
1392 + peerDependencies:
1393 + eslint: '>=7.0.0'
1394 +
1395 + eslint-plugin-prettier@5.5.5:
1396 + resolution: {integrity: sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==}
1397 + engines: {node: ^14.18.0 || >=16.0.0}
1398 + peerDependencies:
1399 + '@types/eslint': '>=8.0.0'
1400 + eslint: '>=8.0.0'
1401 + eslint-config-prettier: '>= 7.0.0 <10.0.0 || >=10.1.0'
1402 + prettier: '>=3.0.0'
1403 + peerDependenciesMeta:
1404 + '@types/eslint':
1405 + optional: true
1406 + eslint-config-prettier:
1407 + optional: true
1408 +
1409 + eslint-plugin-vue@10.7.0:
1410 + resolution: {integrity: sha512-r2XFCK4qlo1sxEoAMIoTTX0PZAdla0JJDt1fmYiworZUX67WeEGqm+JbyAg3M+pGiJ5U6Mp5WQbontXWtIW7TA==}
1411 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1412 + peerDependencies:
1413 + '@stylistic/eslint-plugin': ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0
1414 + '@typescript-eslint/parser': ^7.0.0 || ^8.0.0
1415 + eslint: ^8.57.0 || ^9.0.0
1416 + vue-eslint-parser: ^10.0.0
1417 + peerDependenciesMeta:
1418 + '@stylistic/eslint-plugin':
1419 + optional: true
1420 + '@typescript-eslint/parser':
1421 + optional: true
1422 +
1423 + eslint-scope@8.4.0:
1424 + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
1425 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1426 +
1427 + eslint-visitor-keys@3.4.3:
1428 + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
1429 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1430 +
1431 + eslint-visitor-keys@4.2.1:
1432 + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
1433 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1434 +
1435 + eslint@9.39.2:
1436 + resolution: {integrity: sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==}
1437 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1438 + hasBin: true
1439 + peerDependencies:
1440 + jiti: '*'
1441 + peerDependenciesMeta:
1442 + jiti:
1443 + optional: true
1444 +
1445 + espree@10.4.0:
1446 + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
1447 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1448 +
1449 + esquery@1.7.0:
1450 + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==}
1451 + engines: {node: '>=0.10'}
1452 +
1453 + esrecurse@4.3.0:
1454 + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1455 + engines: {node: '>=4.0'}
1456 +
1457 + estraverse@5.3.0:
1458 + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1459 + engines: {node: '>=4.0'}
1460 +
1235 estree-walker@2.0.2: 1461 estree-walker@2.0.2:
1236 resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 1462 resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
1237 1463
1238 estree-walker@3.0.3: 1464 estree-walker@3.0.3:
1239 resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} 1465 resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
1240 1466
1467 + esutils@2.0.3:
1468 + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1469 + engines: {node: '>=0.10.0'}
1470 +
1471 + eventemitter3@5.0.4:
1472 + resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==}
1473 +
1241 expect-type@1.3.0: 1474 expect-type@1.3.0:
1242 resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} 1475 resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==}
1243 engines: {node: '>=12.0.0'} 1476 engines: {node: '>=12.0.0'}
...@@ -1245,10 +1478,22 @@ packages: ...@@ -1245,10 +1478,22 @@ packages:
1245 exsolve@1.0.8: 1478 exsolve@1.0.8:
1246 resolution: {integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==} 1479 resolution: {integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==}
1247 1480
1481 + fast-deep-equal@3.1.3:
1482 + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1483 +
1484 + fast-diff@1.3.0:
1485 + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
1486 +
1248 fast-glob@3.3.3: 1487 fast-glob@3.3.3:
1249 resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 1488 resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
1250 engines: {node: '>=8.6.0'} 1489 engines: {node: '>=8.6.0'}
1251 1490
1491 + fast-json-stable-stringify@2.1.0:
1492 + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1493 +
1494 + fast-levenshtein@2.0.6:
1495 + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
1496 +
1252 fastq@1.19.1: 1497 fastq@1.19.1:
1253 resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} 1498 resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
1254 1499
...@@ -1261,6 +1506,10 @@ packages: ...@@ -1261,6 +1506,10 @@ packages:
1261 picomatch: 1506 picomatch:
1262 optional: true 1507 optional: true
1263 1508
1509 + file-entry-cache@8.0.0:
1510 + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
1511 + engines: {node: '>=16.0.0'}
1512 +
1264 fill-range@7.1.1: 1513 fill-range@7.1.1:
1265 resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 1514 resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
1266 engines: {node: '>=8'} 1515 engines: {node: '>=8'}
...@@ -1269,6 +1518,17 @@ packages: ...@@ -1269,6 +1518,17 @@ packages:
1269 resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 1518 resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
1270 engines: {node: '>=8'} 1519 engines: {node: '>=8'}
1271 1520
1521 + find-up@5.0.0:
1522 + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1523 + engines: {node: '>=10'}
1524 +
1525 + flat-cache@4.0.1:
1526 + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
1527 + engines: {node: '>=16'}
1528 +
1529 + flatted@3.3.3:
1530 + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
1531 +
1272 follow-redirects@1.15.11: 1532 follow-redirects@1.15.11:
1273 resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} 1533 resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==}
1274 engines: {node: '>=4.0'} 1534 engines: {node: '>=4.0'}
...@@ -1307,6 +1567,11 @@ packages: ...@@ -1307,6 +1567,11 @@ packages:
1307 fs.realpath@1.0.0: 1567 fs.realpath@1.0.0:
1308 resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1568 resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1309 1569
1570 + fsevents@2.3.2:
1571 + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
1572 + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1573 + os: [darwin]
1574 +
1310 fsevents@2.3.3: 1575 fsevents@2.3.3:
1311 resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1576 resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1312 engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1577 engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
...@@ -1328,6 +1593,10 @@ packages: ...@@ -1328,6 +1593,10 @@ packages:
1328 resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 1593 resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
1329 engines: {node: 6.* || 8.* || >= 10.*} 1594 engines: {node: 6.* || 8.* || >= 10.*}
1330 1595
1596 + get-east-asian-width@1.4.0:
1597 + resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==}
1598 + engines: {node: '>=18'}
1599 +
1331 get-intrinsic@1.3.0: 1600 get-intrinsic@1.3.0:
1332 resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} 1601 resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
1333 engines: {node: '>= 0.4'} 1602 engines: {node: '>= 0.4'}
...@@ -1355,6 +1624,10 @@ packages: ...@@ -1355,6 +1624,10 @@ packages:
1355 global@4.4.0: 1624 global@4.4.0:
1356 resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} 1625 resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==}
1357 1626
1627 + globals@14.0.0:
1628 + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
1629 + engines: {node: '>=18'}
1630 +
1358 gopd@1.2.0: 1631 gopd@1.2.0:
1359 resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} 1632 resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
1360 engines: {node: '>= 0.4'} 1633 engines: {node: '>= 0.4'}
...@@ -1362,6 +1635,10 @@ packages: ...@@ -1362,6 +1635,10 @@ packages:
1362 graceful-fs@4.2.11: 1635 graceful-fs@4.2.11:
1363 resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1636 resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
1364 1637
1638 + has-flag@4.0.0:
1639 + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1640 + engines: {node: '>=8'}
1641 +
1365 has-symbols@1.1.0: 1642 has-symbols@1.1.0:
1366 resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} 1643 resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
1367 engines: {node: '>= 0.4'} 1644 engines: {node: '>= 0.4'}
...@@ -1403,15 +1680,32 @@ packages: ...@@ -1403,15 +1680,32 @@ packages:
1403 resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} 1680 resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
1404 engines: {node: '>= 14'} 1681 engines: {node: '>= 14'}
1405 1682
1683 + husky@9.1.7:
1684 + resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==}
1685 + engines: {node: '>=18'}
1686 + hasBin: true
1687 +
1406 iconv-lite@0.6.3: 1688 iconv-lite@0.6.3:
1407 resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} 1689 resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
1408 engines: {node: '>=0.10.0'} 1690 engines: {node: '>=0.10.0'}
1409 1691
1692 + ignore@5.3.2:
1693 + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
1694 + engines: {node: '>= 4'}
1695 +
1410 image-size@0.5.5: 1696 image-size@0.5.5:
1411 resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} 1697 resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==}
1412 engines: {node: '>=0.10.0'} 1698 engines: {node: '>=0.10.0'}
1413 hasBin: true 1699 hasBin: true
1414 1700
1701 + import-fresh@3.3.1:
1702 + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
1703 + engines: {node: '>=6'}
1704 +
1705 + imurmurhash@0.1.4:
1706 + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
1707 + engines: {node: '>=0.8.19'}
1708 +
1415 individual@2.0.0: 1709 individual@2.0.0:
1416 resolution: {integrity: sha512-pWt8hBCqJsUWI/HtcfWod7+N9SgAqyPEaF7JQjwzjn5vGrpg6aQ5qeAFQ7dx//UH4J1O+7xqew+gCeeFt6xN/g==} 1710 resolution: {integrity: sha512-pWt8hBCqJsUWI/HtcfWod7+N9SgAqyPEaF7JQjwzjn5vGrpg6aQ5qeAFQ7dx//UH4J1O+7xqew+gCeeFt6xN/g==}
1417 1711
...@@ -1441,6 +1735,10 @@ packages: ...@@ -1441,6 +1735,10 @@ packages:
1441 resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1735 resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
1442 engines: {node: '>=8'} 1736 engines: {node: '>=8'}
1443 1737
1738 + is-fullwidth-code-point@5.1.0:
1739 + resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==}
1740 + engines: {node: '>=18'}
1741 +
1444 is-function@1.0.2: 1742 is-function@1.0.2:
1445 resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==} 1743 resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==}
1446 1744
...@@ -1487,6 +1785,10 @@ packages: ...@@ -1487,6 +1785,10 @@ packages:
1487 js-tokens@9.0.1: 1785 js-tokens@9.0.1:
1488 resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} 1786 resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
1489 1787
1788 + js-yaml@4.1.1:
1789 + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
1790 + hasBin: true
1791 +
1490 jsdom@24.1.3: 1792 jsdom@24.1.3:
1491 resolution: {integrity: sha512-MyL55p3Ut3cXbeBEG7Hcv0mVM8pp8PBNWxRqchZnSfAiES1v1mRnMeFfaHWIPULpwsYfvO+ZmMZz5tGCnjzDUQ==} 1793 resolution: {integrity: sha512-MyL55p3Ut3cXbeBEG7Hcv0mVM8pp8PBNWxRqchZnSfAiES1v1mRnMeFfaHWIPULpwsYfvO+ZmMZz5tGCnjzDUQ==}
1492 engines: {node: '>=18'} 1794 engines: {node: '>=18'}
...@@ -1501,6 +1803,15 @@ packages: ...@@ -1501,6 +1803,15 @@ packages:
1501 engines: {node: '>=6'} 1803 engines: {node: '>=6'}
1502 hasBin: true 1804 hasBin: true
1503 1805
1806 + json-buffer@3.0.1:
1807 + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
1808 +
1809 + json-schema-traverse@0.4.1:
1810 + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1811 +
1812 + json-stable-stringify-without-jsonify@1.0.1:
1813 + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1814 +
1504 json5@2.2.3: 1815 json5@2.2.3:
1505 resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 1816 resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
1506 engines: {node: '>=6'} 1817 engines: {node: '>=6'}
...@@ -1519,6 +1830,9 @@ packages: ...@@ -1519,6 +1830,9 @@ packages:
1519 keycode@2.2.1: 1830 keycode@2.2.1:
1520 resolution: {integrity: sha512-Rdgz9Hl9Iv4QKi8b0OlCRQEzp4AgVxyCtz5S/+VIHezDmrDhkp2N2TqBWOLz0/gbeREXOOiI9/4b8BY9uw2vFg==} 1831 resolution: {integrity: sha512-Rdgz9Hl9Iv4QKi8b0OlCRQEzp4AgVxyCtz5S/+VIHezDmrDhkp2N2TqBWOLz0/gbeREXOOiI9/4b8BY9uw2vFg==}
1521 1832
1833 + keyv@4.5.4:
1834 + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
1835 +
1522 klaw@1.3.1: 1836 klaw@1.3.1:
1523 resolution: {integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==} 1837 resolution: {integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==}
1524 1838
...@@ -1527,6 +1841,10 @@ packages: ...@@ -1527,6 +1841,10 @@ packages:
1527 engines: {node: '>=14'} 1841 engines: {node: '>=14'}
1528 hasBin: true 1842 hasBin: true
1529 1843
1844 + levn@0.4.1:
1845 + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1846 + engines: {node: '>= 0.8.0'}
1847 +
1530 lilconfig@3.1.3: 1848 lilconfig@3.1.3:
1531 resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} 1849 resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
1532 engines: {node: '>=14'} 1850 engines: {node: '>=14'}
...@@ -1534,6 +1852,15 @@ packages: ...@@ -1534,6 +1852,15 @@ packages:
1534 lines-and-columns@1.2.4: 1852 lines-and-columns@1.2.4:
1535 resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1853 resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
1536 1854
1855 + lint-staged@16.2.7:
1856 + resolution: {integrity: sha512-lDIj4RnYmK7/kXMya+qJsmkRFkGolciXjrsZ6PC25GdTfWOAWetR0ZbsNXRAj1EHHImRSalc+whZFg56F5DVow==}
1857 + engines: {node: '>=20.17'}
1858 + hasBin: true
1859 +
1860 + listr2@9.0.5:
1861 + resolution: {integrity: sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==}
1862 + engines: {node: '>=20.0.0'}
1863 +
1537 local-pkg@1.1.2: 1864 local-pkg@1.1.2:
1538 resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==} 1865 resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==}
1539 engines: {node: '>=14'} 1866 engines: {node: '>=14'}
...@@ -1542,12 +1869,23 @@ packages: ...@@ -1542,12 +1869,23 @@ packages:
1542 resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 1869 resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
1543 engines: {node: '>=8'} 1870 engines: {node: '>=8'}
1544 1871
1872 + locate-path@6.0.0:
1873 + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1874 + engines: {node: '>=10'}
1875 +
1545 lodash-es@4.17.21: 1876 lodash-es@4.17.21:
1546 resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} 1877 resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
1547 1878
1879 + lodash.merge@4.6.2:
1880 + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1881 +
1548 lodash@4.17.21: 1882 lodash@4.17.21:
1549 resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1883 resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
1550 1884
1885 + log-update@6.1.0:
1886 + resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==}
1887 + engines: {node: '>=18'}
1888 +
1551 loose-envify@1.4.0: 1889 loose-envify@1.4.0:
1552 resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 1890 resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1553 hasBin: true 1891 hasBin: true
...@@ -1604,6 +1942,10 @@ packages: ...@@ -1604,6 +1942,10 @@ packages:
1604 engines: {node: '>=4'} 1942 engines: {node: '>=4'}
1605 hasBin: true 1943 hasBin: true
1606 1944
1945 + mimic-function@5.0.1:
1946 + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
1947 + engines: {node: '>=18'}
1948 +
1607 mimic-response@2.1.0: 1949 mimic-response@2.1.0:
1608 resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==} 1950 resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==}
1609 engines: {node: '>=8'} 1951 engines: {node: '>=8'}
...@@ -1667,6 +2009,10 @@ packages: ...@@ -1667,6 +2009,10 @@ packages:
1667 nan@2.24.0: 2009 nan@2.24.0:
1668 resolution: {integrity: sha512-Vpf9qnVW1RaDkoNKFUvfxqAbtI8ncb8OJlqZ9wwpXzWPEsvsB1nvdUi6oYrHIkQ1Y/tMDnr1h4nczS0VB9Xykg==} 2010 resolution: {integrity: sha512-Vpf9qnVW1RaDkoNKFUvfxqAbtI8ncb8OJlqZ9wwpXzWPEsvsB1nvdUi6oYrHIkQ1Y/tMDnr1h4nczS0VB9Xykg==}
1669 2011
2012 + nano-spawn@2.0.0:
2013 + resolution: {integrity: sha512-tacvGzUY5o2D8CBh2rrwxyNojUsZNU2zjNTzKQrkgGJQTbGAfArVWXSKMBokBeeg6C7OLRGUEyoFlYbfeWQIqw==}
2014 + engines: {node: '>=20.17'}
2015 +
1670 nanoid@3.3.11: 2016 nanoid@3.3.11:
1671 resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} 2017 resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
1672 engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2018 engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
...@@ -1675,6 +2021,9 @@ packages: ...@@ -1675,6 +2021,9 @@ packages:
1675 nanopop@2.4.2: 2021 nanopop@2.4.2:
1676 resolution: {integrity: sha512-NzOgmMQ+elxxHeIha+OG/Pv3Oc3p4RU2aBhwWwAqDpXrdTbtRylbRLQztLy8dMMwfl6pclznBdfUhccEn9ZIzw==} 2022 resolution: {integrity: sha512-NzOgmMQ+elxxHeIha+OG/Pv3Oc3p4RU2aBhwWwAqDpXrdTbtRylbRLQztLy8dMMwfl6pclznBdfUhccEn9ZIzw==}
1677 2023
2024 + natural-compare@1.4.0:
2025 + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
2026 +
1678 needle@3.3.1: 2027 needle@3.3.1:
1679 resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==} 2028 resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==}
1680 engines: {node: '>= 4.4.x'} 2029 engines: {node: '>= 4.4.x'}
...@@ -1714,6 +2063,9 @@ packages: ...@@ -1714,6 +2063,9 @@ packages:
1714 resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} 2063 resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==}
1715 deprecated: This package is no longer supported. 2064 deprecated: This package is no longer supported.
1716 2065
2066 + nth-check@2.1.1:
2067 + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
2068 +
1717 nwsapi@2.2.23: 2069 nwsapi@2.2.23:
1718 resolution: {integrity: sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==} 2070 resolution: {integrity: sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==}
1719 2071
...@@ -1732,14 +2084,30 @@ packages: ...@@ -1732,14 +2084,30 @@ packages:
1732 once@1.4.0: 2084 once@1.4.0:
1733 resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2085 resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1734 2086
2087 + onetime@7.0.0:
2088 + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
2089 + engines: {node: '>=18'}
2090 +
2091 + optionator@0.9.4:
2092 + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
2093 + engines: {node: '>= 0.8.0'}
2094 +
1735 p-limit@2.3.0: 2095 p-limit@2.3.0:
1736 resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 2096 resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
1737 engines: {node: '>=6'} 2097 engines: {node: '>=6'}
1738 2098
2099 + p-limit@3.1.0:
2100 + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
2101 + engines: {node: '>=10'}
2102 +
1739 p-locate@4.1.0: 2103 p-locate@4.1.0:
1740 resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 2104 resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
1741 engines: {node: '>=8'} 2105 engines: {node: '>=8'}
1742 2106
2107 + p-locate@5.0.0:
2108 + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
2109 + engines: {node: '>=10'}
2110 +
1743 p-try@2.2.0: 2111 p-try@2.2.0:
1744 resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 2112 resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
1745 engines: {node: '>=6'} 2113 engines: {node: '>=6'}
...@@ -1747,6 +2115,10 @@ packages: ...@@ -1747,6 +2115,10 @@ packages:
1747 package-json-from-dist@1.0.1: 2115 package-json-from-dist@1.0.1:
1748 resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} 2116 resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
1749 2117
2118 + parent-module@1.0.1:
2119 + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
2120 + engines: {node: '>=6'}
2121 +
1750 parse-node-version@1.0.1: 2122 parse-node-version@1.0.1:
1751 resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} 2123 resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==}
1752 engines: {node: '>= 0.10'} 2124 engines: {node: '>= 0.10'}
...@@ -1801,6 +2173,11 @@ packages: ...@@ -1801,6 +2173,11 @@ packages:
1801 resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} 2173 resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
1802 engines: {node: '>=12'} 2174 engines: {node: '>=12'}
1803 2175
2176 + pidtree@0.6.0:
2177 + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
2178 + engines: {node: '>=0.10'}
2179 + hasBin: true
2180 +
1804 pify@2.3.0: 2181 pify@2.3.0:
1805 resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 2182 resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
1806 engines: {node: '>=0.10.0'} 2183 engines: {node: '>=0.10.0'}
...@@ -1823,6 +2200,16 @@ packages: ...@@ -1823,6 +2200,16 @@ packages:
1823 pkg-types@2.3.0: 2200 pkg-types@2.3.0:
1824 resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} 2201 resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==}
1825 2202
2203 + playwright-core@1.58.0:
2204 + resolution: {integrity: sha512-aaoB1RWrdNi3//rOeKuMiS65UCcgOVljU46At6eFcOFPFHWtd2weHRRow6z/n+Lec0Lvu0k9ZPKJSjPugikirw==}
2205 + engines: {node: '>=18'}
2206 + hasBin: true
2207 +
2208 + playwright@1.58.0:
2209 + resolution: {integrity: sha512-2SVA0sbPktiIY/MCOPX8e86ehA/e+tDNq+e5Y8qjKYti2Z/JG7xnronT/TXTIkKbYGWlCbuucZ6dziEgkoEjQQ==}
2210 + engines: {node: '>=18'}
2211 + hasBin: true
2212 +
1826 pngjs@5.0.0: 2213 pngjs@5.0.0:
1827 resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} 2214 resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==}
1828 engines: {node: '>=10.13.0'} 2215 engines: {node: '>=10.13.0'}
...@@ -1867,6 +2254,10 @@ packages: ...@@ -1867,6 +2254,10 @@ packages:
1867 resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} 2254 resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
1868 engines: {node: '>=4'} 2255 engines: {node: '>=4'}
1869 2256
2257 + postcss-selector-parser@7.1.1:
2258 + resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==}
2259 + engines: {node: '>=4'}
2260 +
1870 postcss-value-parser@4.2.0: 2261 postcss-value-parser@4.2.0:
1871 resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 2262 resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
1872 2263
...@@ -1874,6 +2265,74 @@ packages: ...@@ -1874,6 +2265,74 @@ packages:
1874 resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} 2265 resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
1875 engines: {node: ^10 || ^12 || >=14} 2266 engines: {node: ^10 || ^12 || >=14}
1876 2267
2268 + prelude-ls@1.2.1:
2269 + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
2270 + engines: {node: '>= 0.8.0'}
2271 +
2272 + prettier-linter-helpers@1.0.1:
2273 + resolution: {integrity: sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==}
2274 + engines: {node: '>=6.0.0'}
2275 +
2276 + prettier-plugin-tailwindcss@0.7.2:
2277 + resolution: {integrity: sha512-LkphyK3Fw+q2HdMOoiEHWf93fNtYJwfamoKPl7UwtjFQdei/iIBoX11G6j706FzN3ymX9mPVi97qIY8328vdnA==}
2278 + engines: {node: '>=20.19'}
2279 + peerDependencies:
2280 + '@ianvs/prettier-plugin-sort-imports': '*'
2281 + '@prettier/plugin-hermes': '*'
2282 + '@prettier/plugin-oxc': '*'
2283 + '@prettier/plugin-pug': '*'
2284 + '@shopify/prettier-plugin-liquid': '*'
2285 + '@trivago/prettier-plugin-sort-imports': '*'
2286 + '@zackad/prettier-plugin-twig': '*'
2287 + prettier: ^3.0
2288 + prettier-plugin-astro: '*'
2289 + prettier-plugin-css-order: '*'
2290 + prettier-plugin-jsdoc: '*'
2291 + prettier-plugin-marko: '*'
2292 + prettier-plugin-multiline-arrays: '*'
2293 + prettier-plugin-organize-attributes: '*'
2294 + prettier-plugin-organize-imports: '*'
2295 + prettier-plugin-sort-imports: '*'
2296 + prettier-plugin-svelte: '*'
2297 + peerDependenciesMeta:
2298 + '@ianvs/prettier-plugin-sort-imports':
2299 + optional: true
2300 + '@prettier/plugin-hermes':
2301 + optional: true
2302 + '@prettier/plugin-oxc':
2303 + optional: true
2304 + '@prettier/plugin-pug':
2305 + optional: true
2306 + '@shopify/prettier-plugin-liquid':
2307 + optional: true
2308 + '@trivago/prettier-plugin-sort-imports':
2309 + optional: true
2310 + '@zackad/prettier-plugin-twig':
2311 + optional: true
2312 + prettier-plugin-astro:
2313 + optional: true
2314 + prettier-plugin-css-order:
2315 + optional: true
2316 + prettier-plugin-jsdoc:
2317 + optional: true
2318 + prettier-plugin-marko:
2319 + optional: true
2320 + prettier-plugin-multiline-arrays:
2321 + optional: true
2322 + prettier-plugin-organize-attributes:
2323 + optional: true
2324 + prettier-plugin-organize-imports:
2325 + optional: true
2326 + prettier-plugin-sort-imports:
2327 + optional: true
2328 + prettier-plugin-svelte:
2329 + optional: true
2330 +
2331 + prettier@3.8.1:
2332 + resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==}
2333 + engines: {node: '>=14'}
2334 + hasBin: true
2335 +
1877 process@0.11.10: 2336 process@0.11.10:
1878 resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} 2337 resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
1879 engines: {node: '>= 0.6.0'} 2338 engines: {node: '>= 0.6.0'}
...@@ -1936,15 +2395,26 @@ packages: ...@@ -1936,15 +2395,26 @@ packages:
1936 resize-observer-polyfill@1.5.1: 2395 resize-observer-polyfill@1.5.1:
1937 resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} 2396 resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==}
1938 2397
2398 + resolve-from@4.0.0:
2399 + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
2400 + engines: {node: '>=4'}
2401 +
1939 resolve@1.22.11: 2402 resolve@1.22.11:
1940 resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} 2403 resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==}
1941 engines: {node: '>= 0.4'} 2404 engines: {node: '>= 0.4'}
1942 hasBin: true 2405 hasBin: true
1943 2406
2407 + restore-cursor@5.1.0:
2408 + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
2409 + engines: {node: '>=18'}
2410 +
1944 reusify@1.1.0: 2411 reusify@1.1.0:
1945 resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} 2412 resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
1946 engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2413 engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1947 2414
2415 + rfdc@1.4.1:
2416 + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
2417 +
1948 rimraf@2.7.1: 2418 rimraf@2.7.1:
1949 resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} 2419 resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
1950 deprecated: Rimraf versions prior to v4 are no longer supported 2420 deprecated: Rimraf versions prior to v4 are no longer supported
...@@ -2056,6 +2526,10 @@ packages: ...@@ -2056,6 +2526,10 @@ packages:
2056 simple-get@3.1.1: 2526 simple-get@3.1.1:
2057 resolution: {integrity: sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==} 2527 resolution: {integrity: sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==}
2058 2528
2529 + slice-ansi@7.1.2:
2530 + resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==}
2531 + engines: {node: '>=18'}
2532 +
2059 source-map-js@1.2.1: 2533 source-map-js@1.2.1:
2060 resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 2534 resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
2061 engines: {node: '>=0.10.0'} 2535 engines: {node: '>=0.10.0'}
...@@ -2073,6 +2547,10 @@ packages: ...@@ -2073,6 +2547,10 @@ packages:
2073 std-env@3.10.0: 2547 std-env@3.10.0:
2074 resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} 2548 resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==}
2075 2549
2550 + string-argv@0.3.2:
2551 + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
2552 + engines: {node: '>=0.6.19'}
2553 +
2076 string-width@4.2.3: 2554 string-width@4.2.3:
2077 resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2555 resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
2078 engines: {node: '>=8'} 2556 engines: {node: '>=8'}
...@@ -2081,6 +2559,14 @@ packages: ...@@ -2081,6 +2559,14 @@ packages:
2081 resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 2559 resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
2082 engines: {node: '>=12'} 2560 engines: {node: '>=12'}
2083 2561
2562 + string-width@7.2.0:
2563 + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
2564 + engines: {node: '>=18'}
2565 +
2566 + string-width@8.1.0:
2567 + resolution: {integrity: sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==}
2568 + engines: {node: '>=20'}
2569 +
2084 string_decoder@1.3.0: 2570 string_decoder@1.3.0:
2085 resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 2571 resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
2086 2572
...@@ -2092,6 +2578,10 @@ packages: ...@@ -2092,6 +2578,10 @@ packages:
2092 resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} 2578 resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==}
2093 engines: {node: '>=12'} 2579 engines: {node: '>=12'}
2094 2580
2581 + strip-json-comments@3.1.1:
2582 + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
2583 + engines: {node: '>=8'}
2584 +
2095 strip-literal@3.1.0: 2585 strip-literal@3.1.0:
2096 resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==} 2586 resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==}
2097 2587
...@@ -2103,6 +2593,10 @@ packages: ...@@ -2103,6 +2593,10 @@ packages:
2103 engines: {node: '>=16 || 14 >=14.17'} 2593 engines: {node: '>=16 || 14 >=14.17'}
2104 hasBin: true 2594 hasBin: true
2105 2595
2596 + supports-color@7.2.0:
2597 + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
2598 + engines: {node: '>=8'}
2599 +
2106 supports-preserve-symlinks-flag@1.0.0: 2600 supports-preserve-symlinks-flag@1.0.0:
2107 resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2601 resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
2108 engines: {node: '>= 0.4'} 2602 engines: {node: '>= 0.4'}
...@@ -2114,6 +2608,10 @@ packages: ...@@ -2114,6 +2608,10 @@ packages:
2114 symbol-tree@3.2.4: 2608 symbol-tree@3.2.4:
2115 resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} 2609 resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
2116 2610
2611 + synckit@0.11.12:
2612 + resolution: {integrity: sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==}
2613 + engines: {node: ^14.18.0 || >=16.0.0}
2614 +
2117 tailwindcss@3.4.18: 2615 tailwindcss@3.4.18:
2118 resolution: {integrity: sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ==} 2616 resolution: {integrity: sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ==}
2119 engines: {node: '>=14.0.0'} 2617 engines: {node: '>=14.0.0'}
...@@ -2180,6 +2678,10 @@ packages: ...@@ -2180,6 +2678,10 @@ packages:
2180 tslib@2.8.1: 2678 tslib@2.8.1:
2181 resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 2679 resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
2182 2680
2681 + type-check@0.4.0:
2682 + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
2683 + engines: {node: '>= 0.8.0'}
2684 +
2183 ufo@1.6.1: 2685 ufo@1.6.1:
2184 resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} 2686 resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
2185 2687
...@@ -2237,6 +2739,9 @@ packages: ...@@ -2237,6 +2739,9 @@ packages:
2237 peerDependencies: 2739 peerDependencies:
2238 browserslist: '>= 4.21.0' 2740 browserslist: '>= 4.21.0'
2239 2741
2742 + uri-js@4.4.1:
2743 + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
2744 +
2240 url-parse@1.5.10: 2745 url-parse@1.5.10:
2241 resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} 2746 resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
2242 2747
...@@ -2371,6 +2876,12 @@ packages: ...@@ -2371,6 +2876,12 @@ packages:
2371 '@vue/composition-api': 2876 '@vue/composition-api':
2372 optional: true 2877 optional: true
2373 2878
2879 + vue-eslint-parser@10.2.0:
2880 + resolution: {integrity: sha512-CydUvFOQKD928UzZhTp4pr2vWz1L+H99t7Pkln2QSPdvmURT0MoC4wUccfCnuEaihNsu9aYYyk+bep8rlfkUXw==}
2881 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
2882 + peerDependencies:
2883 + eslint: ^8.57.0 || ^9.0.0
2884 +
2374 vue-router@4.6.3: 2885 vue-router@4.6.3:
2375 resolution: {integrity: sha512-ARBedLm9YlbvQomnmq91Os7ck6efydTSpRP3nuOKCvgJOHNrhRoJDSKtee8kcL1Vf7nz6U+PMBL+hTvR3bTVQg==} 2886 resolution: {integrity: sha512-ARBedLm9YlbvQomnmq91Os7ck6efydTSpRP3nuOKCvgJOHNrhRoJDSKtee8kcL1Vf7nz6U+PMBL+hTvR3bTVQg==}
2376 peerDependencies: 2887 peerDependencies:
...@@ -2446,6 +2957,10 @@ packages: ...@@ -2446,6 +2957,10 @@ packages:
2446 wide-align@1.1.5: 2957 wide-align@1.1.5:
2447 resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} 2958 resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
2448 2959
2960 + word-wrap@1.2.5:
2961 + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
2962 + engines: {node: '>=0.10.0'}
2963 +
2449 wrap-ansi@6.2.0: 2964 wrap-ansi@6.2.0:
2450 resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} 2965 resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
2451 engines: {node: '>=8'} 2966 engines: {node: '>=8'}
...@@ -2458,6 +2973,10 @@ packages: ...@@ -2458,6 +2973,10 @@ packages:
2458 resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 2973 resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
2459 engines: {node: '>=12'} 2974 engines: {node: '>=12'}
2460 2975
2976 + wrap-ansi@9.0.2:
2977 + resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==}
2978 + engines: {node: '>=18'}
2979 +
2461 wrappy@1.0.2: 2980 wrappy@1.0.2:
2462 resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 2981 resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
2463 2982
...@@ -2473,6 +2992,10 @@ packages: ...@@ -2473,6 +2992,10 @@ packages:
2473 utf-8-validate: 2992 utf-8-validate:
2474 optional: true 2993 optional: true
2475 2994
2995 + xml-name-validator@4.0.0:
2996 + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
2997 + engines: {node: '>=12'}
2998 +
2476 xml-name-validator@5.0.0: 2999 xml-name-validator@5.0.0:
2477 resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} 3000 resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
2478 engines: {node: '>=18'} 3001 engines: {node: '>=18'}
...@@ -2489,6 +3012,11 @@ packages: ...@@ -2489,6 +3012,11 @@ packages:
2489 yallist@4.0.0: 3012 yallist@4.0.0:
2490 resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 3013 resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
2491 3014
3015 + yaml@2.8.2:
3016 + resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==}
3017 + engines: {node: '>= 14.6'}
3018 + hasBin: true
3019 +
2492 yargs-parser@18.1.3: 3020 yargs-parser@18.1.3:
2493 resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} 3021 resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
2494 engines: {node: '>=6'} 3022 engines: {node: '>=6'}
...@@ -2497,6 +3025,10 @@ packages: ...@@ -2497,6 +3025,10 @@ packages:
2497 resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} 3025 resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
2498 engines: {node: '>=8'} 3026 engines: {node: '>=8'}
2499 3027
3028 + yocto-queue@0.1.0:
3029 + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
3030 + engines: {node: '>=10'}
3031 +
2500 snapshots: 3032 snapshots:
2501 3033
2502 '@alloc/quick-lru@5.2.0': {} 3034 '@alloc/quick-lru@5.2.0': {}
...@@ -2794,6 +3326,52 @@ snapshots: ...@@ -2794,6 +3326,52 @@ snapshots:
2794 '@esbuild/win32-x64@0.25.12': 3326 '@esbuild/win32-x64@0.25.12':
2795 optional: true 3327 optional: true
2796 3328
3329 + '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2(jiti@1.21.7))':
3330 + dependencies:
3331 + eslint: 9.39.2(jiti@1.21.7)
3332 + eslint-visitor-keys: 3.4.3
3333 +
3334 + '@eslint-community/regexpp@4.12.2': {}
3335 +
3336 + '@eslint/config-array@0.21.1':
3337 + dependencies:
3338 + '@eslint/object-schema': 2.1.7
3339 + debug: 4.4.3
3340 + minimatch: 3.1.2
3341 + transitivePeerDependencies:
3342 + - supports-color
3343 +
3344 + '@eslint/config-helpers@0.4.2':
3345 + dependencies:
3346 + '@eslint/core': 0.17.0
3347 +
3348 + '@eslint/core@0.17.0':
3349 + dependencies:
3350 + '@types/json-schema': 7.0.15
3351 +
3352 + '@eslint/eslintrc@3.3.3':
3353 + dependencies:
3354 + ajv: 6.12.6
3355 + debug: 4.4.3
3356 + espree: 10.4.0
3357 + globals: 14.0.0
3358 + ignore: 5.3.2
3359 + import-fresh: 3.3.1
3360 + js-yaml: 4.1.1
3361 + minimatch: 3.1.2
3362 + strip-json-comments: 3.1.1
3363 + transitivePeerDependencies:
3364 + - supports-color
3365 +
3366 + '@eslint/js@9.39.2': {}
3367 +
3368 + '@eslint/object-schema@2.1.7': {}
3369 +
3370 + '@eslint/plugin-kit@0.4.1':
3371 + dependencies:
3372 + '@eslint/core': 0.17.0
3373 + levn: 0.4.1
3374 +
2797 '@fortawesome/fontawesome-common-types@6.7.2': {} 3375 '@fortawesome/fontawesome-common-types@6.7.2': {}
2798 3376
2799 '@fortawesome/fontawesome-svg-core@6.7.2': 3377 '@fortawesome/fontawesome-svg-core@6.7.2':
...@@ -2813,6 +3391,17 @@ snapshots: ...@@ -2813,6 +3391,17 @@ snapshots:
2813 dependencies: 3391 dependencies:
2814 vue: 3.5.25 3392 vue: 3.5.25
2815 3393
3394 + '@humanfs/core@0.19.1': {}
3395 +
3396 + '@humanfs/node@0.16.7':
3397 + dependencies:
3398 + '@humanfs/core': 0.19.1
3399 + '@humanwhocodes/retry': 0.4.3
3400 +
3401 + '@humanwhocodes/module-importer@1.0.1': {}
3402 +
3403 + '@humanwhocodes/retry@0.4.3': {}
3404 +
2816 '@iconify/types@2.0.0': {} 3405 '@iconify/types@2.0.0': {}
2817 3406
2818 '@iconify/vue@5.0.0(vue@3.5.25)': 3407 '@iconify/vue@5.0.0(vue@3.5.25)':
...@@ -2881,6 +3470,12 @@ snapshots: ...@@ -2881,6 +3470,12 @@ snapshots:
2881 '@pkgjs/parseargs@0.11.0': 3470 '@pkgjs/parseargs@0.11.0':
2882 optional: true 3471 optional: true
2883 3472
3473 + '@pkgr/core@0.2.9': {}
3474 +
3475 + '@playwright/test@1.58.0':
3476 + dependencies:
3477 + playwright: 1.58.0
3478 +
2884 '@rolldown/pluginutils@1.0.0-beta.53': {} 3479 '@rolldown/pluginutils@1.0.0-beta.53': {}
2885 3480
2886 '@rollup/rollup-android-arm-eabi@4.53.3': 3481 '@rollup/rollup-android-arm-eabi@4.53.3':
...@@ -2954,13 +3549,13 @@ snapshots: ...@@ -2954,13 +3549,13 @@ snapshots:
2954 core-js: 3.47.0 3549 core-js: 3.47.0
2955 nanopop: 2.4.2 3550 nanopop: 2.4.2
2956 3551
2957 - '@sunsetglow/vue-pdf-viewer@0.3.72(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2))': 3552 + '@sunsetglow/vue-pdf-viewer@0.3.72(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)(yaml@2.8.2))':
2958 dependencies: 3553 dependencies:
2959 '@ant-design/icons-vue': 7.0.1(vue@3.5.25) 3554 '@ant-design/icons-vue': 7.0.1(vue@3.5.25)
2960 '@types/node': 20.19.25 3555 '@types/node': 20.19.25
2961 ant-design-vue: 4.2.6(vue@3.5.25) 3556 ant-design-vue: 4.2.6(vue@3.5.25)
2962 pdfjs-dist: 3.4.120 3557 pdfjs-dist: 3.4.120
2963 - vite-plugin-static-copy: 1.0.6(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)) 3558 + vite-plugin-static-copy: 1.0.6(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)(yaml@2.8.2))
2964 vue: 3.5.25 3559 vue: 3.5.25
2965 transitivePeerDependencies: 3560 transitivePeerDependencies:
2966 - encoding 3561 - encoding
...@@ -2977,6 +3572,8 @@ snapshots: ...@@ -2977,6 +3572,8 @@ snapshots:
2977 3572
2978 '@types/estree@1.0.8': {} 3573 '@types/estree@1.0.8': {}
2979 3574
3575 + '@types/json-schema@7.0.15': {}
3576 +
2980 '@types/node@20.19.25': 3577 '@types/node@20.19.25':
2981 dependencies: 3578 dependencies:
2982 undici-types: 6.21.0 3579 undici-types: 6.21.0
...@@ -3022,20 +3619,20 @@ snapshots: ...@@ -3022,20 +3619,20 @@ snapshots:
3022 global: 4.4.0 3619 global: 4.4.0
3023 is-function: 1.0.2 3620 is-function: 1.0.2
3024 3621
3025 - '@vitejs/plugin-vue-jsx@4.2.0(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2))(vue@3.5.25)': 3622 + '@vitejs/plugin-vue-jsx@4.2.0(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)(yaml@2.8.2))(vue@3.5.25)':
3026 dependencies: 3623 dependencies:
3027 '@babel/core': 7.28.5 3624 '@babel/core': 7.28.5
3028 '@babel/plugin-transform-typescript': 7.28.5(@babel/core@7.28.5) 3625 '@babel/plugin-transform-typescript': 7.28.5(@babel/core@7.28.5)
3029 '@rolldown/pluginutils': 1.0.0-beta.53 3626 '@rolldown/pluginutils': 1.0.0-beta.53
3030 '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.5) 3627 '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.5)
3031 - vite: 6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2) 3628 + vite: 6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)(yaml@2.8.2)
3032 vue: 3.5.25 3629 vue: 3.5.25
3033 transitivePeerDependencies: 3630 transitivePeerDependencies:
3034 - supports-color 3631 - supports-color
3035 3632
3036 - '@vitejs/plugin-vue@5.2.4(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2))(vue@3.5.25)': 3633 + '@vitejs/plugin-vue@5.2.4(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)(yaml@2.8.2))(vue@3.5.25)':
3037 dependencies: 3634 dependencies:
3038 - vite: 6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2) 3635 + vite: 6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)(yaml@2.8.2)
3039 vue: 3.5.25 3636 vue: 3.5.25
3040 3637
3041 '@vitest/expect@3.2.4': 3638 '@vitest/expect@3.2.4':
...@@ -3046,13 +3643,13 @@ snapshots: ...@@ -3046,13 +3643,13 @@ snapshots:
3046 chai: 5.3.3 3643 chai: 5.3.3
3047 tinyrainbow: 2.0.0 3644 tinyrainbow: 2.0.0
3048 3645
3049 - '@vitest/mocker@3.2.4(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2))': 3646 + '@vitest/mocker@3.2.4(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)(yaml@2.8.2))':
3050 dependencies: 3647 dependencies:
3051 '@vitest/spy': 3.2.4 3648 '@vitest/spy': 3.2.4
3052 estree-walker: 3.0.3 3649 estree-walker: 3.0.3
3053 magic-string: 0.30.21 3650 magic-string: 0.30.21
3054 optionalDependencies: 3651 optionalDependencies:
3055 - vite: 6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2) 3652 + vite: 6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)(yaml@2.8.2)
3056 3653
3057 '@vitest/pretty-format@3.2.4': 3654 '@vitest/pretty-format@3.2.4':
3058 dependencies: 3655 dependencies:
...@@ -3156,6 +3753,15 @@ snapshots: ...@@ -3156,6 +3753,15 @@ snapshots:
3156 3753
3157 '@vue/devtools-api@6.6.4': {} 3754 '@vue/devtools-api@6.6.4': {}
3158 3755
3756 + '@vue/eslint-config-prettier@10.2.0(eslint@9.39.2(jiti@1.21.7))(prettier@3.8.1)':
3757 + dependencies:
3758 + eslint: 9.39.2(jiti@1.21.7)
3759 + eslint-config-prettier: 10.1.8(eslint@9.39.2(jiti@1.21.7))
3760 + eslint-plugin-prettier: 5.5.5(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@1.21.7)))(eslint@9.39.2(jiti@1.21.7))(prettier@3.8.1)
3761 + prettier: 3.8.1
3762 + transitivePeerDependencies:
3763 + - '@types/eslint'
3764 +
3159 '@vue/reactivity@3.5.25': 3765 '@vue/reactivity@3.5.25':
3160 dependencies: 3766 dependencies:
3161 '@vue/shared': 3.5.25 3767 '@vue/shared': 3.5.25
...@@ -3205,6 +3811,10 @@ snapshots: ...@@ -3205,6 +3811,10 @@ snapshots:
3205 3811
3206 abbrev@2.0.0: {} 3812 abbrev@2.0.0: {}
3207 3813
3814 + acorn-jsx@5.3.2(acorn@8.15.0):
3815 + dependencies:
3816 + acorn: 8.15.0
3817 +
3208 acorn@8.15.0: {} 3818 acorn@8.15.0: {}
3209 3819
3210 aes-decrypter@3.1.3: 3820 aes-decrypter@3.1.3:
...@@ -3223,6 +3833,17 @@ snapshots: ...@@ -3223,6 +3833,17 @@ snapshots:
3223 3833
3224 agent-base@7.1.4: {} 3834 agent-base@7.1.4: {}
3225 3835
3836 + ajv@6.12.6:
3837 + dependencies:
3838 + fast-deep-equal: 3.1.3
3839 + fast-json-stable-stringify: 2.1.0
3840 + json-schema-traverse: 0.4.1
3841 + uri-js: 4.4.1
3842 +
3843 + ansi-escapes@7.2.0:
3844 + dependencies:
3845 + environment: 1.1.0
3846 +
3226 ansi-regex@5.0.1: {} 3847 ansi-regex@5.0.1: {}
3227 3848
3228 ansi-regex@6.2.2: {} 3849 ansi-regex@6.2.2: {}
...@@ -3277,6 +3898,8 @@ snapshots: ...@@ -3277,6 +3898,8 @@ snapshots:
3277 3898
3278 arg@5.0.2: {} 3899 arg@5.0.2: {}
3279 3900
3901 + argparse@2.0.1: {}
3902 +
3280 array-tree-filter@2.1.0: {} 3903 array-tree-filter@2.1.0: {}
3281 3904
3282 assertion-error@2.0.1: {} 3905 assertion-error@2.0.1: {}
...@@ -3311,6 +3934,8 @@ snapshots: ...@@ -3311,6 +3934,8 @@ snapshots:
3311 3934
3312 binary-extensions@2.3.0: {} 3935 binary-extensions@2.3.0: {}
3313 3936
3937 + boolbase@1.0.0: {}
3938 +
3314 brace-expansion@1.1.12: 3939 brace-expansion@1.1.12:
3315 dependencies: 3940 dependencies:
3316 balanced-match: 1.0.2 3941 balanced-match: 1.0.2
...@@ -3348,6 +3973,8 @@ snapshots: ...@@ -3348,6 +3973,8 @@ snapshots:
3348 call-bind-apply-helpers: 1.0.2 3973 call-bind-apply-helpers: 1.0.2
3349 get-intrinsic: 1.3.0 3974 get-intrinsic: 1.3.0
3350 3975
3976 + callsites@3.1.0: {}
3977 +
3351 camelcase-css@2.0.1: {} 3978 camelcase-css@2.0.1: {}
3352 3979
3353 camelcase@5.3.1: {} 3980 camelcase@5.3.1: {}
...@@ -3372,6 +3999,11 @@ snapshots: ...@@ -3372,6 +3999,11 @@ snapshots:
3372 loupe: 3.2.1 3999 loupe: 3.2.1
3373 pathval: 2.0.1 4000 pathval: 2.0.1
3374 4001
4002 + chalk@4.1.2:
4003 + dependencies:
4004 + ansi-styles: 4.3.0
4005 + supports-color: 7.2.0
4006 +
3375 check-error@2.1.1: {} 4007 check-error@2.1.1: {}
3376 4008
3377 chokidar@3.6.0: 4009 chokidar@3.6.0:
...@@ -3389,6 +4021,15 @@ snapshots: ...@@ -3389,6 +4021,15 @@ snapshots:
3389 chownr@2.0.0: 4021 chownr@2.0.0:
3390 optional: true 4022 optional: true
3391 4023
4024 + cli-cursor@5.0.0:
4025 + dependencies:
4026 + restore-cursor: 5.1.0
4027 +
4028 + cli-truncate@5.1.1:
4029 + dependencies:
4030 + slice-ansi: 7.1.2
4031 + string-width: 8.1.0
4032 +
3392 cliui@6.0.0: 4033 cliui@6.0.0:
3393 dependencies: 4034 dependencies:
3394 string-width: 4.2.3 4035 string-width: 4.2.3
...@@ -3404,12 +4045,16 @@ snapshots: ...@@ -3404,12 +4045,16 @@ snapshots:
3404 color-support@1.1.3: 4045 color-support@1.1.3:
3405 optional: true 4046 optional: true
3406 4047
4048 + colorette@2.0.20: {}
4049 +
3407 combined-stream@1.0.8: 4050 combined-stream@1.0.8:
3408 dependencies: 4051 dependencies:
3409 delayed-stream: 1.0.0 4052 delayed-stream: 1.0.0
3410 4053
3411 commander@10.0.1: {} 4054 commander@10.0.1: {}
3412 4055
4056 + commander@14.0.2: {}
4057 +
3413 commander@4.1.1: {} 4058 commander@4.1.1: {}
3414 4059
3415 compute-scroll-into-view@1.0.20: {} 4060 compute-scroll-into-view@1.0.20: {}
...@@ -3479,6 +4124,8 @@ snapshots: ...@@ -3479,6 +4124,8 @@ snapshots:
3479 4124
3480 deep-eql@5.0.2: {} 4125 deep-eql@5.0.2: {}
3481 4126
4127 + deep-is@0.1.4: {}
4128 +
3482 delayed-stream@1.0.0: {} 4129 delayed-stream@1.0.0: {}
3483 4130
3484 delegates@1.0.0: 4131 delegates@1.0.0:
...@@ -3516,6 +4163,8 @@ snapshots: ...@@ -3516,6 +4163,8 @@ snapshots:
3516 4163
3517 electron-to-chromium@1.5.266: {} 4164 electron-to-chromium@1.5.266: {}
3518 4165
4166 + emoji-regex@10.6.0: {}
4167 +
3519 emoji-regex@8.0.0: {} 4168 emoji-regex@8.0.0: {}
3520 4169
3521 emoji-regex@9.2.2: {} 4170 emoji-regex@9.2.2: {}
...@@ -3524,6 +4173,8 @@ snapshots: ...@@ -3524,6 +4173,8 @@ snapshots:
3524 4173
3525 entities@6.0.1: {} 4174 entities@6.0.1: {}
3526 4175
4176 + environment@1.1.0: {}
4177 +
3527 errno@0.1.8: 4178 errno@0.1.8:
3528 dependencies: 4179 dependencies:
3529 prr: 1.0.1 4180 prr: 1.0.1
...@@ -3577,18 +4228,118 @@ snapshots: ...@@ -3577,18 +4228,118 @@ snapshots:
3577 4228
3578 escalade@3.2.0: {} 4229 escalade@3.2.0: {}
3579 4230
4231 + escape-string-regexp@4.0.0: {}
4232 +
3580 escape-string-regexp@5.0.0: {} 4233 escape-string-regexp@5.0.0: {}
3581 4234
4235 + eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@1.21.7)):
4236 + dependencies:
4237 + eslint: 9.39.2(jiti@1.21.7)
4238 +
4239 + eslint-plugin-prettier@5.5.5(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@1.21.7)))(eslint@9.39.2(jiti@1.21.7))(prettier@3.8.1):
4240 + dependencies:
4241 + eslint: 9.39.2(jiti@1.21.7)
4242 + prettier: 3.8.1
4243 + prettier-linter-helpers: 1.0.1
4244 + synckit: 0.11.12
4245 + optionalDependencies:
4246 + eslint-config-prettier: 10.1.8(eslint@9.39.2(jiti@1.21.7))
4247 +
4248 + eslint-plugin-vue@10.7.0(eslint@9.39.2(jiti@1.21.7))(vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@1.21.7))):
4249 + dependencies:
4250 + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@1.21.7))
4251 + eslint: 9.39.2(jiti@1.21.7)
4252 + natural-compare: 1.4.0
4253 + nth-check: 2.1.1
4254 + postcss-selector-parser: 7.1.1
4255 + semver: 7.7.3
4256 + vue-eslint-parser: 10.2.0(eslint@9.39.2(jiti@1.21.7))
4257 + xml-name-validator: 4.0.0
4258 +
4259 + eslint-scope@8.4.0:
4260 + dependencies:
4261 + esrecurse: 4.3.0
4262 + estraverse: 5.3.0
4263 +
4264 + eslint-visitor-keys@3.4.3: {}
4265 +
4266 + eslint-visitor-keys@4.2.1: {}
4267 +
4268 + eslint@9.39.2(jiti@1.21.7):
4269 + dependencies:
4270 + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@1.21.7))
4271 + '@eslint-community/regexpp': 4.12.2
4272 + '@eslint/config-array': 0.21.1
4273 + '@eslint/config-helpers': 0.4.2
4274 + '@eslint/core': 0.17.0
4275 + '@eslint/eslintrc': 3.3.3
4276 + '@eslint/js': 9.39.2
4277 + '@eslint/plugin-kit': 0.4.1
4278 + '@humanfs/node': 0.16.7
4279 + '@humanwhocodes/module-importer': 1.0.1
4280 + '@humanwhocodes/retry': 0.4.3
4281 + '@types/estree': 1.0.8
4282 + ajv: 6.12.6
4283 + chalk: 4.1.2
4284 + cross-spawn: 7.0.6
4285 + debug: 4.4.3
4286 + escape-string-regexp: 4.0.0
4287 + eslint-scope: 8.4.0
4288 + eslint-visitor-keys: 4.2.1
4289 + espree: 10.4.0
4290 + esquery: 1.7.0
4291 + esutils: 2.0.3
4292 + fast-deep-equal: 3.1.3
4293 + file-entry-cache: 8.0.0
4294 + find-up: 5.0.0
4295 + glob-parent: 6.0.2
4296 + ignore: 5.3.2
4297 + imurmurhash: 0.1.4
4298 + is-glob: 4.0.3
4299 + json-stable-stringify-without-jsonify: 1.0.1
4300 + lodash.merge: 4.6.2
4301 + minimatch: 3.1.2
4302 + natural-compare: 1.4.0
4303 + optionator: 0.9.4
4304 + optionalDependencies:
4305 + jiti: 1.21.7
4306 + transitivePeerDependencies:
4307 + - supports-color
4308 +
4309 + espree@10.4.0:
4310 + dependencies:
4311 + acorn: 8.15.0
4312 + acorn-jsx: 5.3.2(acorn@8.15.0)
4313 + eslint-visitor-keys: 4.2.1
4314 +
4315 + esquery@1.7.0:
4316 + dependencies:
4317 + estraverse: 5.3.0
4318 +
4319 + esrecurse@4.3.0:
4320 + dependencies:
4321 + estraverse: 5.3.0
4322 +
4323 + estraverse@5.3.0: {}
4324 +
3582 estree-walker@2.0.2: {} 4325 estree-walker@2.0.2: {}
3583 4326
3584 estree-walker@3.0.3: 4327 estree-walker@3.0.3:
3585 dependencies: 4328 dependencies:
3586 '@types/estree': 1.0.8 4329 '@types/estree': 1.0.8
3587 4330
4331 + esutils@2.0.3: {}
4332 +
4333 + eventemitter3@5.0.4: {}
4334 +
3588 expect-type@1.3.0: {} 4335 expect-type@1.3.0: {}
3589 4336
3590 exsolve@1.0.8: {} 4337 exsolve@1.0.8: {}
3591 4338
4339 + fast-deep-equal@3.1.3: {}
4340 +
4341 + fast-diff@1.3.0: {}
4342 +
3592 fast-glob@3.3.3: 4343 fast-glob@3.3.3:
3593 dependencies: 4344 dependencies:
3594 '@nodelib/fs.stat': 2.0.5 4345 '@nodelib/fs.stat': 2.0.5
...@@ -3597,6 +4348,10 @@ snapshots: ...@@ -3597,6 +4348,10 @@ snapshots:
3597 merge2: 1.4.1 4348 merge2: 1.4.1
3598 micromatch: 4.0.8 4349 micromatch: 4.0.8
3599 4350
4351 + fast-json-stable-stringify@2.1.0: {}
4352 +
4353 + fast-levenshtein@2.0.6: {}
4354 +
3600 fastq@1.19.1: 4355 fastq@1.19.1:
3601 dependencies: 4356 dependencies:
3602 reusify: 1.1.0 4357 reusify: 1.1.0
...@@ -3605,6 +4360,10 @@ snapshots: ...@@ -3605,6 +4360,10 @@ snapshots:
3605 optionalDependencies: 4360 optionalDependencies:
3606 picomatch: 4.0.3 4361 picomatch: 4.0.3
3607 4362
4363 + file-entry-cache@8.0.0:
4364 + dependencies:
4365 + flat-cache: 4.0.1
4366 +
3608 fill-range@7.1.1: 4367 fill-range@7.1.1:
3609 dependencies: 4368 dependencies:
3610 to-regex-range: 5.0.1 4369 to-regex-range: 5.0.1
...@@ -3614,6 +4373,18 @@ snapshots: ...@@ -3614,6 +4373,18 @@ snapshots:
3614 locate-path: 5.0.0 4373 locate-path: 5.0.0
3615 path-exists: 4.0.0 4374 path-exists: 4.0.0
3616 4375
4376 + find-up@5.0.0:
4377 + dependencies:
4378 + locate-path: 6.0.0
4379 + path-exists: 4.0.0
4380 +
4381 + flat-cache@4.0.1:
4382 + dependencies:
4383 + flatted: 3.3.3
4384 + keyv: 4.5.4
4385 +
4386 + flatted@3.3.3: {}
4387 +
3617 follow-redirects@1.15.11: {} 4388 follow-redirects@1.15.11: {}
3618 4389
3619 foreground-child@3.3.1: 4390 foreground-child@3.3.1:
...@@ -3659,6 +4430,9 @@ snapshots: ...@@ -3659,6 +4430,9 @@ snapshots:
3659 4430
3660 fs.realpath@1.0.0: {} 4431 fs.realpath@1.0.0: {}
3661 4432
4433 + fsevents@2.3.2:
4434 + optional: true
4435 +
3662 fsevents@2.3.3: 4436 fsevents@2.3.3:
3663 optional: true 4437 optional: true
3664 4438
...@@ -3681,6 +4455,8 @@ snapshots: ...@@ -3681,6 +4455,8 @@ snapshots:
3681 4455
3682 get-caller-file@2.0.5: {} 4456 get-caller-file@2.0.5: {}
3683 4457
4458 + get-east-asian-width@1.4.0: {}
4459 +
3684 get-intrinsic@1.3.0: 4460 get-intrinsic@1.3.0:
3685 dependencies: 4461 dependencies:
3686 call-bind-apply-helpers: 1.0.2 4462 call-bind-apply-helpers: 1.0.2
...@@ -3730,10 +4506,14 @@ snapshots: ...@@ -3730,10 +4506,14 @@ snapshots:
3730 min-document: 2.19.2 4506 min-document: 2.19.2
3731 process: 0.11.10 4507 process: 0.11.10
3732 4508
4509 + globals@14.0.0: {}
4510 +
3733 gopd@1.2.0: {} 4511 gopd@1.2.0: {}
3734 4512
3735 graceful-fs@4.2.11: {} 4513 graceful-fs@4.2.11: {}
3736 4514
4515 + has-flag@4.0.0: {}
4516 +
3737 has-symbols@1.1.0: {} 4517 has-symbols@1.1.0: {}
3738 4518
3739 has-tostringtag@1.0.2: 4519 has-tostringtag@1.0.2:
...@@ -3782,13 +4562,24 @@ snapshots: ...@@ -3782,13 +4562,24 @@ snapshots:
3782 transitivePeerDependencies: 4562 transitivePeerDependencies:
3783 - supports-color 4563 - supports-color
3784 4564
4565 + husky@9.1.7: {}
4566 +
3785 iconv-lite@0.6.3: 4567 iconv-lite@0.6.3:
3786 dependencies: 4568 dependencies:
3787 safer-buffer: 2.1.2 4569 safer-buffer: 2.1.2
3788 4570
4571 + ignore@5.3.2: {}
4572 +
3789 image-size@0.5.5: 4573 image-size@0.5.5:
3790 optional: true 4574 optional: true
3791 4575
4576 + import-fresh@3.3.1:
4577 + dependencies:
4578 + parent-module: 1.0.1
4579 + resolve-from: 4.0.0
4580 +
4581 + imurmurhash@0.1.4: {}
4582 +
3792 individual@2.0.0: {} 4583 individual@2.0.0: {}
3793 4584
3794 inflight@1.0.6: 4585 inflight@1.0.6:
...@@ -3812,6 +4603,10 @@ snapshots: ...@@ -3812,6 +4603,10 @@ snapshots:
3812 4603
3813 is-fullwidth-code-point@3.0.0: {} 4604 is-fullwidth-code-point@3.0.0: {}
3814 4605
4606 + is-fullwidth-code-point@5.1.0:
4607 + dependencies:
4608 + get-east-asian-width: 1.4.0
4609 +
3815 is-function@1.0.2: {} 4610 is-function@1.0.2: {}
3816 4611
3817 is-glob@4.0.3: 4612 is-glob@4.0.3:
...@@ -3850,6 +4645,10 @@ snapshots: ...@@ -3850,6 +4645,10 @@ snapshots:
3850 4645
3851 js-tokens@9.0.1: {} 4646 js-tokens@9.0.1: {}
3852 4647
4648 + js-yaml@4.1.1:
4649 + dependencies:
4650 + argparse: 2.0.1
4651 +
3853 jsdom@24.1.3(canvas@2.11.2): 4652 jsdom@24.1.3(canvas@2.11.2):
3854 dependencies: 4653 dependencies:
3855 cssstyle: 4.6.0 4654 cssstyle: 4.6.0
...@@ -3882,6 +4681,12 @@ snapshots: ...@@ -3882,6 +4681,12 @@ snapshots:
3882 4681
3883 jsesc@3.1.0: {} 4682 jsesc@3.1.0: {}
3884 4683
4684 + json-buffer@3.0.1: {}
4685 +
4686 + json-schema-traverse@0.4.1: {}
4687 +
4688 + json-stable-stringify-without-jsonify@1.0.1: {}
4689 +
3885 json5@2.2.3: {} 4690 json5@2.2.3: {}
3886 4691
3887 jsonfile@2.4.0: 4692 jsonfile@2.4.0:
...@@ -3901,6 +4706,10 @@ snapshots: ...@@ -3901,6 +4706,10 @@ snapshots:
3901 4706
3902 keycode@2.2.1: {} 4707 keycode@2.2.1: {}
3903 4708
4709 + keyv@4.5.4:
4710 + dependencies:
4711 + json-buffer: 3.0.1
4712 +
3904 klaw@1.3.1: 4713 klaw@1.3.1:
3905 optionalDependencies: 4714 optionalDependencies:
3906 graceful-fs: 4.2.11 4715 graceful-fs: 4.2.11
...@@ -3919,10 +4728,34 @@ snapshots: ...@@ -3919,10 +4728,34 @@ snapshots:
3919 needle: 3.3.1 4728 needle: 3.3.1
3920 source-map: 0.6.1 4729 source-map: 0.6.1
3921 4730
4731 + levn@0.4.1:
4732 + dependencies:
4733 + prelude-ls: 1.2.1
4734 + type-check: 0.4.0
4735 +
3922 lilconfig@3.1.3: {} 4736 lilconfig@3.1.3: {}
3923 4737
3924 lines-and-columns@1.2.4: {} 4738 lines-and-columns@1.2.4: {}
3925 4739
4740 + lint-staged@16.2.7:
4741 + dependencies:
4742 + commander: 14.0.2
4743 + listr2: 9.0.5
4744 + micromatch: 4.0.8
4745 + nano-spawn: 2.0.0
4746 + pidtree: 0.6.0
4747 + string-argv: 0.3.2
4748 + yaml: 2.8.2
4749 +
4750 + listr2@9.0.5:
4751 + dependencies:
4752 + cli-truncate: 5.1.1
4753 + colorette: 2.0.20
4754 + eventemitter3: 5.0.4
4755 + log-update: 6.1.0
4756 + rfdc: 1.4.1
4757 + wrap-ansi: 9.0.2
4758 +
3926 local-pkg@1.1.2: 4759 local-pkg@1.1.2:
3927 dependencies: 4760 dependencies:
3928 mlly: 1.8.0 4761 mlly: 1.8.0
...@@ -3933,10 +4766,24 @@ snapshots: ...@@ -3933,10 +4766,24 @@ snapshots:
3933 dependencies: 4766 dependencies:
3934 p-locate: 4.1.0 4767 p-locate: 4.1.0
3935 4768
4769 + locate-path@6.0.0:
4770 + dependencies:
4771 + p-locate: 5.0.0
4772 +
3936 lodash-es@4.17.21: {} 4773 lodash-es@4.17.21: {}
3937 4774
4775 + lodash.merge@4.6.2: {}
4776 +
3938 lodash@4.17.21: {} 4777 lodash@4.17.21: {}
3939 4778
4779 + log-update@6.1.0:
4780 + dependencies:
4781 + ansi-escapes: 7.2.0
4782 + cli-cursor: 5.0.0
4783 + slice-ansi: 7.1.2
4784 + strip-ansi: 7.1.2
4785 + wrap-ansi: 9.0.2
4786 +
3940 loose-envify@1.4.0: 4787 loose-envify@1.4.0:
3941 dependencies: 4788 dependencies:
3942 js-tokens: 4.0.0 4789 js-tokens: 4.0.0
...@@ -3990,6 +4837,8 @@ snapshots: ...@@ -3990,6 +4837,8 @@ snapshots:
3990 mime@1.6.0: 4837 mime@1.6.0:
3991 optional: true 4838 optional: true
3992 4839
4840 + mimic-function@5.0.1: {}
4841 +
3993 mimic-response@2.1.0: 4842 mimic-response@2.1.0:
3994 optional: true 4843 optional: true
3995 4844
...@@ -4060,10 +4909,14 @@ snapshots: ...@@ -4060,10 +4909,14 @@ snapshots:
4060 nan@2.24.0: 4909 nan@2.24.0:
4061 optional: true 4910 optional: true
4062 4911
4912 + nano-spawn@2.0.0: {}
4913 +
4063 nanoid@3.3.11: {} 4914 nanoid@3.3.11: {}
4064 4915
4065 nanopop@2.4.2: {} 4916 nanopop@2.4.2: {}
4066 4917
4918 + natural-compare@1.4.0: {}
4919 +
4067 needle@3.3.1: 4920 needle@3.3.1:
4068 dependencies: 4921 dependencies:
4069 iconv-lite: 0.6.3 4922 iconv-lite: 0.6.3
...@@ -4098,6 +4951,10 @@ snapshots: ...@@ -4098,6 +4951,10 @@ snapshots:
4098 set-blocking: 2.0.0 4951 set-blocking: 2.0.0
4099 optional: true 4952 optional: true
4100 4953
4954 + nth-check@2.1.1:
4955 + dependencies:
4956 + boolbase: 1.0.0
4957 +
4101 nwsapi@2.2.23: {} 4958 nwsapi@2.2.23: {}
4102 4959
4103 object-assign@4.1.1: {} 4960 object-assign@4.1.1: {}
...@@ -4110,18 +4967,43 @@ snapshots: ...@@ -4110,18 +4967,43 @@ snapshots:
4110 dependencies: 4967 dependencies:
4111 wrappy: 1.0.2 4968 wrappy: 1.0.2
4112 4969
4970 + onetime@7.0.0:
4971 + dependencies:
4972 + mimic-function: 5.0.1
4973 +
4974 + optionator@0.9.4:
4975 + dependencies:
4976 + deep-is: 0.1.4
4977 + fast-levenshtein: 2.0.6
4978 + levn: 0.4.1
4979 + prelude-ls: 1.2.1
4980 + type-check: 0.4.0
4981 + word-wrap: 1.2.5
4982 +
4113 p-limit@2.3.0: 4983 p-limit@2.3.0:
4114 dependencies: 4984 dependencies:
4115 p-try: 2.2.0 4985 p-try: 2.2.0
4116 4986
4987 + p-limit@3.1.0:
4988 + dependencies:
4989 + yocto-queue: 0.1.0
4990 +
4117 p-locate@4.1.0: 4991 p-locate@4.1.0:
4118 dependencies: 4992 dependencies:
4119 p-limit: 2.3.0 4993 p-limit: 2.3.0
4120 4994
4995 + p-locate@5.0.0:
4996 + dependencies:
4997 + p-limit: 3.1.0
4998 +
4121 p-try@2.2.0: {} 4999 p-try@2.2.0: {}
4122 5000
4123 package-json-from-dist@1.0.1: {} 5001 package-json-from-dist@1.0.1: {}
4124 5002
5003 + parent-module@1.0.1:
5004 + dependencies:
5005 + callsites: 3.1.0
5006 +
4125 parse-node-version@1.0.1: {} 5007 parse-node-version@1.0.1: {}
4126 5008
4127 parse5@7.3.0: 5009 parse5@7.3.0:
...@@ -4165,6 +5047,8 @@ snapshots: ...@@ -4165,6 +5047,8 @@ snapshots:
4165 5047
4166 picomatch@4.0.3: {} 5048 picomatch@4.0.3: {}
4167 5049
5050 + pidtree@0.6.0: {}
5051 +
4168 pify@2.3.0: {} 5052 pify@2.3.0: {}
4169 5053
4170 pify@4.0.1: 5054 pify@4.0.1:
...@@ -4188,6 +5072,14 @@ snapshots: ...@@ -4188,6 +5072,14 @@ snapshots:
4188 exsolve: 1.0.8 5072 exsolve: 1.0.8
4189 pathe: 2.0.3 5073 pathe: 2.0.3
4190 5074
5075 + playwright-core@1.58.0: {}
5076 +
5077 + playwright@1.58.0:
5078 + dependencies:
5079 + playwright-core: 1.58.0
5080 + optionalDependencies:
5081 + fsevents: 2.3.2
5082 +
4191 pngjs@5.0.0: {} 5083 pngjs@5.0.0: {}
4192 5084
4193 postcss-import@15.1.0(postcss@8.5.6): 5085 postcss-import@15.1.0(postcss@8.5.6):
...@@ -4202,12 +5094,13 @@ snapshots: ...@@ -4202,12 +5094,13 @@ snapshots:
4202 camelcase-css: 2.0.1 5094 camelcase-css: 2.0.1
4203 postcss: 8.5.6 5095 postcss: 8.5.6
4204 5096
4205 - postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.6): 5097 + postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.6)(yaml@2.8.2):
4206 dependencies: 5098 dependencies:
4207 lilconfig: 3.1.3 5099 lilconfig: 3.1.3
4208 optionalDependencies: 5100 optionalDependencies:
4209 jiti: 1.21.7 5101 jiti: 1.21.7
4210 postcss: 8.5.6 5102 postcss: 8.5.6
5103 + yaml: 2.8.2
4211 5104
4212 postcss-nested@6.2.0(postcss@8.5.6): 5105 postcss-nested@6.2.0(postcss@8.5.6):
4213 dependencies: 5106 dependencies:
...@@ -4219,6 +5112,11 @@ snapshots: ...@@ -4219,6 +5112,11 @@ snapshots:
4219 cssesc: 3.0.0 5112 cssesc: 3.0.0
4220 util-deprecate: 1.0.2 5113 util-deprecate: 1.0.2
4221 5114
5115 + postcss-selector-parser@7.1.1:
5116 + dependencies:
5117 + cssesc: 3.0.0
5118 + util-deprecate: 1.0.2
5119 +
4222 postcss-value-parser@4.2.0: {} 5120 postcss-value-parser@4.2.0: {}
4223 5121
4224 postcss@8.5.6: 5122 postcss@8.5.6:
...@@ -4227,6 +5125,18 @@ snapshots: ...@@ -4227,6 +5125,18 @@ snapshots:
4227 picocolors: 1.1.1 5125 picocolors: 1.1.1
4228 source-map-js: 1.2.1 5126 source-map-js: 1.2.1
4229 5127
5128 + prelude-ls@1.2.1: {}
5129 +
5130 + prettier-linter-helpers@1.0.1:
5131 + dependencies:
5132 + fast-diff: 1.3.0
5133 +
5134 + prettier-plugin-tailwindcss@0.7.2(prettier@3.8.1):
5135 + dependencies:
5136 + prettier: 3.8.1
5137 +
5138 + prettier@3.8.1: {}
5139 +
4230 process@0.11.10: {} 5140 process@0.11.10: {}
4231 5141
4232 proto-list@1.2.4: {} 5142 proto-list@1.2.4: {}
...@@ -4281,14 +5191,23 @@ snapshots: ...@@ -4281,14 +5191,23 @@ snapshots:
4281 5191
4282 resize-observer-polyfill@1.5.1: {} 5192 resize-observer-polyfill@1.5.1: {}
4283 5193
5194 + resolve-from@4.0.0: {}
5195 +
4284 resolve@1.22.11: 5196 resolve@1.22.11:
4285 dependencies: 5197 dependencies:
4286 is-core-module: 2.16.1 5198 is-core-module: 2.16.1
4287 path-parse: 1.0.7 5199 path-parse: 1.0.7
4288 supports-preserve-symlinks-flag: 1.0.0 5200 supports-preserve-symlinks-flag: 1.0.0
4289 5201
5202 + restore-cursor@5.1.0:
5203 + dependencies:
5204 + onetime: 7.0.0
5205 + signal-exit: 4.1.0
5206 +
4290 reusify@1.1.0: {} 5207 reusify@1.1.0: {}
4291 5208
5209 + rfdc@1.4.1: {}
5210 +
4292 rimraf@2.7.1: 5211 rimraf@2.7.1:
4293 dependencies: 5212 dependencies:
4294 glob: 7.2.3 5213 glob: 7.2.3
...@@ -4424,6 +5343,11 @@ snapshots: ...@@ -4424,6 +5343,11 @@ snapshots:
4424 simple-concat: 1.0.1 5343 simple-concat: 1.0.1
4425 optional: true 5344 optional: true
4426 5345
5346 + slice-ansi@7.1.2:
5347 + dependencies:
5348 + ansi-styles: 6.2.3
5349 + is-fullwidth-code-point: 5.1.0
5350 +
4427 source-map-js@1.2.1: {} 5351 source-map-js@1.2.1: {}
4428 5352
4429 source-map@0.6.1: 5353 source-map@0.6.1:
...@@ -4435,6 +5359,8 @@ snapshots: ...@@ -4435,6 +5359,8 @@ snapshots:
4435 5359
4436 std-env@3.10.0: {} 5360 std-env@3.10.0: {}
4437 5361
5362 + string-argv@0.3.2: {}
5363 +
4438 string-width@4.2.3: 5364 string-width@4.2.3:
4439 dependencies: 5365 dependencies:
4440 emoji-regex: 8.0.0 5366 emoji-regex: 8.0.0
...@@ -4447,6 +5373,17 @@ snapshots: ...@@ -4447,6 +5373,17 @@ snapshots:
4447 emoji-regex: 9.2.2 5373 emoji-regex: 9.2.2
4448 strip-ansi: 7.1.2 5374 strip-ansi: 7.1.2
4449 5375
5376 + string-width@7.2.0:
5377 + dependencies:
5378 + emoji-regex: 10.6.0
5379 + get-east-asian-width: 1.4.0
5380 + strip-ansi: 7.1.2
5381 +
5382 + string-width@8.1.0:
5383 + dependencies:
5384 + get-east-asian-width: 1.4.0
5385 + strip-ansi: 7.1.2
5386 +
4450 string_decoder@1.3.0: 5387 string_decoder@1.3.0:
4451 dependencies: 5388 dependencies:
4452 safe-buffer: 5.2.1 5389 safe-buffer: 5.2.1
...@@ -4460,6 +5397,8 @@ snapshots: ...@@ -4460,6 +5397,8 @@ snapshots:
4460 dependencies: 5397 dependencies:
4461 ansi-regex: 6.2.2 5398 ansi-regex: 6.2.2
4462 5399
5400 + strip-json-comments@3.1.1: {}
5401 +
4463 strip-literal@3.1.0: 5402 strip-literal@3.1.0:
4464 dependencies: 5403 dependencies:
4465 js-tokens: 9.0.1 5404 js-tokens: 9.0.1
...@@ -4476,13 +5415,21 @@ snapshots: ...@@ -4476,13 +5415,21 @@ snapshots:
4476 tinyglobby: 0.2.15 5415 tinyglobby: 0.2.15
4477 ts-interface-checker: 0.1.13 5416 ts-interface-checker: 0.1.13
4478 5417
5418 + supports-color@7.2.0:
5419 + dependencies:
5420 + has-flag: 4.0.0
5421 +
4479 supports-preserve-symlinks-flag@1.0.0: {} 5422 supports-preserve-symlinks-flag@1.0.0: {}
4480 5423
4481 swiper@11.2.10: {} 5424 swiper@11.2.10: {}
4482 5425
4483 symbol-tree@3.2.4: {} 5426 symbol-tree@3.2.4: {}
4484 5427
4485 - tailwindcss@3.4.18: 5428 + synckit@0.11.12:
5429 + dependencies:
5430 + '@pkgr/core': 0.2.9
5431 +
5432 + tailwindcss@3.4.18(yaml@2.8.2):
4486 dependencies: 5433 dependencies:
4487 '@alloc/quick-lru': 5.2.0 5434 '@alloc/quick-lru': 5.2.0
4488 arg: 5.0.2 5435 arg: 5.0.2
...@@ -4501,7 +5448,7 @@ snapshots: ...@@ -4501,7 +5448,7 @@ snapshots:
4501 postcss: 8.5.6 5448 postcss: 8.5.6
4502 postcss-import: 15.1.0(postcss@8.5.6) 5449 postcss-import: 15.1.0(postcss@8.5.6)
4503 postcss-js: 4.1.0(postcss@8.5.6) 5450 postcss-js: 4.1.0(postcss@8.5.6)
4504 - postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.6) 5451 + postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.6)(yaml@2.8.2)
4505 postcss-nested: 6.2.0(postcss@8.5.6) 5452 postcss-nested: 6.2.0(postcss@8.5.6)
4506 postcss-selector-parser: 6.1.2 5453 postcss-selector-parser: 6.1.2
4507 resolve: 1.22.11 5454 resolve: 1.22.11
...@@ -4571,6 +5518,10 @@ snapshots: ...@@ -4571,6 +5518,10 @@ snapshots:
4571 5518
4572 tslib@2.8.1: {} 5519 tslib@2.8.1: {}
4573 5520
5521 + type-check@0.4.0:
5522 + dependencies:
5523 + prelude-ls: 1.2.1
5524 +
4574 ufo@1.6.1: {} 5525 ufo@1.6.1: {}
4575 5526
4576 undici-types@6.21.0: {} 5527 undici-types@6.21.0: {}
...@@ -4641,6 +5592,10 @@ snapshots: ...@@ -4641,6 +5592,10 @@ snapshots:
4641 escalade: 3.2.0 5592 escalade: 3.2.0
4642 picocolors: 1.1.1 5593 picocolors: 1.1.1
4643 5594
5595 + uri-js@4.4.1:
5596 + dependencies:
5597 + punycode: 2.3.1
5598 +
4644 url-parse@1.5.10: 5599 url-parse@1.5.10:
4645 dependencies: 5600 dependencies:
4646 querystringify: 2.2.0 5601 querystringify: 2.2.0
...@@ -4704,13 +5659,13 @@ snapshots: ...@@ -4704,13 +5659,13 @@ snapshots:
4704 dependencies: 5659 dependencies:
4705 global: 4.4.0 5660 global: 4.4.0
4706 5661
4707 - vite-node@3.2.4(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2): 5662 + vite-node@3.2.4(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)(yaml@2.8.2):
4708 dependencies: 5663 dependencies:
4709 cac: 6.7.14 5664 cac: 6.7.14
4710 debug: 4.4.3 5665 debug: 4.4.3
4711 es-module-lexer: 1.7.0 5666 es-module-lexer: 1.7.0
4712 pathe: 2.0.3 5667 pathe: 2.0.3
4713 - vite: 6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2) 5668 + vite: 6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)(yaml@2.8.2)
4714 transitivePeerDependencies: 5669 transitivePeerDependencies:
4715 - '@types/node' 5670 - '@types/node'
4716 - jiti 5671 - jiti
...@@ -4725,15 +5680,15 @@ snapshots: ...@@ -4725,15 +5680,15 @@ snapshots:
4725 - tsx 5680 - tsx
4726 - yaml 5681 - yaml
4727 5682
4728 - vite-plugin-static-copy@1.0.6(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)): 5683 + vite-plugin-static-copy@1.0.6(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)(yaml@2.8.2)):
4729 dependencies: 5684 dependencies:
4730 chokidar: 3.6.0 5685 chokidar: 3.6.0
4731 fast-glob: 3.3.3 5686 fast-glob: 3.3.3
4732 fs-extra: 11.3.2 5687 fs-extra: 11.3.2
4733 picocolors: 1.1.1 5688 picocolors: 1.1.1
4734 - vite: 6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2) 5689 + vite: 6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)(yaml@2.8.2)
4735 5690
4736 - vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2): 5691 + vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)(yaml@2.8.2):
4737 dependencies: 5692 dependencies:
4738 esbuild: 0.25.12 5693 esbuild: 0.25.12
4739 fdir: 6.5.0(picomatch@4.0.3) 5694 fdir: 6.5.0(picomatch@4.0.3)
...@@ -4746,12 +5701,13 @@ snapshots: ...@@ -4746,12 +5701,13 @@ snapshots:
4746 fsevents: 2.3.3 5701 fsevents: 2.3.3
4747 jiti: 1.21.7 5702 jiti: 1.21.7
4748 less: 4.4.2 5703 less: 4.4.2
5704 + yaml: 2.8.2
4749 5705
4750 - vitest@3.2.4(@types/node@20.19.25)(jiti@1.21.7)(jsdom@24.1.3(canvas@2.11.2))(less@4.4.2): 5706 + vitest@3.2.4(@types/node@20.19.25)(jiti@1.21.7)(jsdom@24.1.3(canvas@2.11.2))(less@4.4.2)(yaml@2.8.2):
4751 dependencies: 5707 dependencies:
4752 '@types/chai': 5.2.3 5708 '@types/chai': 5.2.3
4753 '@vitest/expect': 3.2.4 5709 '@vitest/expect': 3.2.4
4754 - '@vitest/mocker': 3.2.4(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)) 5710 + '@vitest/mocker': 3.2.4(vite@6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)(yaml@2.8.2))
4755 '@vitest/pretty-format': 3.2.4 5711 '@vitest/pretty-format': 3.2.4
4756 '@vitest/runner': 3.2.4 5712 '@vitest/runner': 3.2.4
4757 '@vitest/snapshot': 3.2.4 5713 '@vitest/snapshot': 3.2.4
...@@ -4769,8 +5725,8 @@ snapshots: ...@@ -4769,8 +5725,8 @@ snapshots:
4769 tinyglobby: 0.2.15 5725 tinyglobby: 0.2.15
4770 tinypool: 1.1.1 5726 tinypool: 1.1.1
4771 tinyrainbow: 2.0.0 5727 tinyrainbow: 2.0.0
4772 - vite: 6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2) 5728 + vite: 6.4.1(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)(yaml@2.8.2)
4773 - vite-node: 3.2.4(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2) 5729 + vite-node: 3.2.4(@types/node@20.19.25)(jiti@1.21.7)(less@4.4.2)(yaml@2.8.2)
4774 why-is-node-running: 2.3.0 5730 why-is-node-running: 2.3.0
4775 optionalDependencies: 5731 optionalDependencies:
4776 '@types/node': 20.19.25 5732 '@types/node': 20.19.25
...@@ -4795,6 +5751,18 @@ snapshots: ...@@ -4795,6 +5751,18 @@ snapshots:
4795 dependencies: 5751 dependencies:
4796 vue: 3.5.25 5752 vue: 3.5.25
4797 5753
5754 + vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@1.21.7)):
5755 + dependencies:
5756 + debug: 4.4.3
5757 + eslint: 9.39.2(jiti@1.21.7)
5758 + eslint-scope: 8.4.0
5759 + eslint-visitor-keys: 4.2.1
5760 + espree: 10.4.0
5761 + esquery: 1.7.0
5762 + semver: 7.7.3
5763 + transitivePeerDependencies:
5764 + - supports-color
5765 +
4798 vue-router@4.6.3(vue@3.5.25): 5766 vue-router@4.6.3(vue@3.5.25):
4799 dependencies: 5767 dependencies:
4800 '@vue/devtools-api': 6.6.4 5768 '@vue/devtools-api': 6.6.4
...@@ -4865,6 +5833,8 @@ snapshots: ...@@ -4865,6 +5833,8 @@ snapshots:
4865 string-width: 4.2.3 5833 string-width: 4.2.3
4866 optional: true 5834 optional: true
4867 5835
5836 + word-wrap@1.2.5: {}
5837 +
4868 wrap-ansi@6.2.0: 5838 wrap-ansi@6.2.0:
4869 dependencies: 5839 dependencies:
4870 ansi-styles: 4.3.0 5840 ansi-styles: 4.3.0
...@@ -4883,10 +5853,18 @@ snapshots: ...@@ -4883,10 +5853,18 @@ snapshots:
4883 string-width: 5.1.2 5853 string-width: 5.1.2
4884 strip-ansi: 7.1.2 5854 strip-ansi: 7.1.2
4885 5855
5856 + wrap-ansi@9.0.2:
5857 + dependencies:
5858 + ansi-styles: 6.2.3
5859 + string-width: 7.2.0
5860 + strip-ansi: 7.1.2
5861 +
4886 wrappy@1.0.2: {} 5862 wrappy@1.0.2: {}
4887 5863
4888 ws@8.19.0: {} 5864 ws@8.19.0: {}
4889 5865
5866 + xml-name-validator@4.0.0: {}
5867 +
4890 xml-name-validator@5.0.0: {} 5868 xml-name-validator@5.0.0: {}
4891 5869
4892 xmlchars@2.2.0: {} 5870 xmlchars@2.2.0: {}
...@@ -4898,6 +5876,8 @@ snapshots: ...@@ -4898,6 +5876,8 @@ snapshots:
4898 yallist@4.0.0: 5876 yallist@4.0.0:
4899 optional: true 5877 optional: true
4900 5878
5879 + yaml@2.8.2: {}
5880 +
4901 yargs-parser@18.1.3: 5881 yargs-parser@18.1.3:
4902 dependencies: 5882 dependencies:
4903 camelcase: 5.3.1 5883 camelcase: 5.3.1
...@@ -4916,3 +5896,5 @@ snapshots: ...@@ -4916,3 +5896,5 @@ snapshots:
4916 which-module: 2.0.1 5896 which-module: 2.0.1
4917 y18n: 4.0.3 5897 y18n: 4.0.3
4918 yargs-parser: 18.1.3 5898 yargs-parser: 18.1.3
5899 +
5900 + yocto-queue@0.1.0: {}
......