From 782bbfb73d923be37acc9d35bbc879864a88da82 Mon Sep 17 00:00:00 2001 From: K <1175047471@qq.com> Date: Thu, 4 Jan 2024 14:21:18 +0800 Subject: [PATCH] chore: Refactor project structure 1. Remove unnecessary files 2. Upgrade ESLint to the latest version --- .env | 2 +- .env.development | 2 +- .env.front | 28 - .gitpod.yml | 6 - .hintrc | 16 - .prettierignore | 9 - .vscode/launch.json | 2 +- .vscode/settings.json | 46 +- README.md | 2 +- package.json | 23 +- pnpm-lock.yaml | 562 +++++++++++------- src/api/base/login.ts | 2 +- .../Application/src/search/AppSearchModal.vue | 6 +- .../Container/src/LazyContainer.vue | 6 +- src/components/CronTab/src/tabs/WeekUI.vue | 2 +- src/components/Cropper/src/CopperModal.vue | 2 +- src/components/Cropper/src/CropperAvatar.vue | 2 +- src/components/Drawer/src/typing.ts | 4 +- src/components/Drawer/src/useDrawer.ts | 16 +- src/components/Form/src/BasicForm.vue | 6 +- .../Form/src/components/ApiRadioGroup.vue | 2 +- .../Form/src/components/ApiSelect.vue | 2 +- .../Form/src/components/FormItem.vue | 10 +- .../Form/src/components/RadioButtonGroup.vue | 2 +- src/components/Form/src/hooks/useForm.ts | 8 +- .../Form/src/hooks/useFormEvents.ts | 4 +- src/components/Form/src/types/form.ts | 6 +- src/components/Form/src/types/index.ts | 12 +- .../VFormDesign/components/ComponentProps.vue | 34 +- .../components/FormNodeOperate.vue | 2 +- .../components/ImportJsonModal.vue | 6 +- .../VFormDesign/components/LayoutItem.vue | 12 +- .../modules/FormComponentPanel.vue | 7 +- .../src/typings/v-form-component.ts | 14 +- src/components/FormDesign/src/utils/index.ts | 8 +- src/components/Menu/src/BasicMenu.vue | 12 +- src/components/Modal/src/hooks/useModal.ts | 16 +- src/components/Preview/src/Functional.vue | 20 +- src/components/Preview/src/Preview.vue | 12 +- src/components/Preview/src/typing.ts | 12 +- .../src/components/useSimpleMenuContext.ts | 12 +- src/components/Table/src/BasicTable.vue | 4 +- .../Table/src/hooks/useDataSource.ts | 2 +- src/components/Table/src/hooks/useTable.ts | 8 +- .../Table/src/hooks/useTableScroll.ts | 4 +- src/components/Table/src/props.ts | 2 +- src/components/Table/src/types/column.ts | 6 +- src/components/Table/src/types/table.ts | 6 +- src/components/Table/src/types/tableAction.ts | 24 +- src/components/Tree/src/types/tree.ts | 2 +- src/components/Upload/src/data.tsx | 2 +- src/components/Verifition/src/Verify.vue | 2 +- .../Verifition/src/Verify/VerifyPoints.vue | 4 +- .../Verifition/src/Verify/VerifySlide.vue | 4 +- src/directives/ripple/index.ts | 2 +- src/layouts/default/header/MultipleHeader.vue | 4 +- src/layouts/default/tabs/useMultipleTabs.ts | 8 +- src/router/guard/permissionGuard.ts | 2 +- src/utils/domUtils.ts | 1 - src/utils/file/download.ts | 2 +- src/utils/helper/treeHelper.ts | 4 +- src/utils/http/axios/Axios.ts | 12 +- src/utils/http/axios/index.ts | 4 +- src/utils/index.ts | 3 +- src/utils/props.ts | 2 +- src/utils/tree.ts | 4 +- src/views/base/login/LoginForm.vue | 22 +- src/views/infra/webSocket/index.vue | 2 +- 68 files changed, 557 insertions(+), 542 deletions(-) delete mode 100644 .env.front delete mode 100644 .gitpod.yml delete mode 100644 .hintrc delete mode 100644 .prettierignore diff --git a/.env b/.env index 5f9b194..8975d33 100644 --- a/.env +++ b/.env @@ -1,5 +1,5 @@ # 端口号 -VITE_PORT = 80 +VITE_PORT = 3000 # 网站标题 VITE_GLOB_APP_TITLE = 芋道管理系统 diff --git a/.env.development b/.env.development index d931241..322f1b9 100644 --- a/.env.development +++ b/.env.development @@ -7,7 +7,7 @@ VITE_PUBLIC_PATH = / # 本地开发代理,可以解决跨域及多地址代理 # 如果接口地址匹配到,则会转发到http://localhost:3000,防止本地出现跨域问题 # 可以有多个,注意多个不能换行,否则代理将会失效 -VITE_PROXY = [["/dev-api","http://localhost:48080/admin-api"],["/upload","http://localhost:48080/admin-api/infra/file/upload"]] +VITE_PROXY = [["/dev-api","http://192.168.1.100:48080/admin-api"],["/upload","http://192.168.1.100:48080/admin-api/infra/file/upload"]] # VITE_PROXY=[["/api","http://vben.xingyuv.com/test"]] # 是否删除Console.log diff --git a/.env.front b/.env.front deleted file mode 100644 index 6d8443d..0000000 --- a/.env.front +++ /dev/null @@ -1,28 +0,0 @@ -# 本地开发环境 -NODE_ENV=development - -# 资源公共路径,需要以 /开头和结尾 -VITE_PUBLIC_PATH = / - -# 本地开发代理,可以解决跨域及多地址代理 -# 如果接口地址匹配到,则会转发到http://localhost:3000,防止本地出现跨域问题 -# 可以有多个,注意多个不能换行,否则代理将会失效 -VITE_PROXY = [["/dev-api","http://api-dashboard.yudao.iocoder.cn/admin-api"],["/upload","http://api-dashboard.yudao.iocoder.cn/admin-api/infra/file/upload"]] -# VITE_PROXY=[["/api","http://vben.xingyuv.com/test"]] - -# 是否删除Console.log -VITE_DROP_CONSOLE = false - -# 基础页面地址,例如 swagger 等页面 -VITE_GLOB_BASE_URL = "http://api-dashboard.yudao.iocoder.cn" -# 接口地址,如果没有跨域问题,直接在这里配置即可 -VITE_GLOB_API_URL = /dev-api - -# 文件上传接口 可选 -VITE_GLOB_UPLOAD_URL = /upload - -# 接口地址前缀,有些系统所有接口地址都有前缀,可以在这里统一加,方便切换 -VITE_GLOB_API_URL_PREFIX = - -# 百度统计 -VITE_APP_BAIDU_CODE = eb21166668bf766b9d059a6fd1c10777 diff --git a/.gitpod.yml b/.gitpod.yml deleted file mode 100644 index 866381f..0000000 --- a/.gitpod.yml +++ /dev/null @@ -1,6 +0,0 @@ -ports: - - port: 3344 - onOpen: open-preview -tasks: - - init: pnpm install - command: pnpm run dev diff --git a/.hintrc b/.hintrc deleted file mode 100644 index 455c781..0000000 --- a/.hintrc +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": [ - "development" - ], - "hints": { - "compat-api/css": [ - "default", - { - "ignore": [ - "-webkit-tap-highlight-color", - "text-size-adjust" - ] - } - ] - } -} \ No newline at end of file diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index f7e39e6..0000000 --- a/.prettierignore +++ /dev/null @@ -1,9 +0,0 @@ -/dist/* -.local -.output.js -/node_modules/** - -**/*.svg -**/*.sh - -/public/* diff --git a/.vscode/launch.json b/.vscode/launch.json index 97190bd..f2a3ba6 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -5,7 +5,7 @@ "type": "chrome", "request": "launch", "name": "Launch Chrome", - "url": "http://localhost:80", + "url": "http://localhost:3000", "webRoot": "${workspaceFolder}/src", "sourceMaps": true } diff --git a/.vscode/settings.json b/.vscode/settings.json index e773ddf..7797102 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,8 +2,6 @@ "typescript.tsdk": "./node_modules/typescript/lib", "npm.packageManager": "pnpm", "editor.tabSize": 2, - "prettier.printWidth": 140, // 超过最大值换行 - "editor.defaultFormatter": "esbenp.prettier-vscode", "files.eol": "\n", "search.exclude": { "**/node_modules": true, @@ -60,8 +58,8 @@ "path-intellisense.mappings": { "@/": "${workspaceRoot}/src" }, - "eslint.experimental.useFlatConfig": true, "prettier.enable": false, + "eslint.experimental.useFlatConfig": true, "editor.formatOnSave": false, "editor.codeActionsOnSave": { "source.fixAll": "explicit", @@ -90,35 +88,11 @@ "jsonc", "yaml" ], - "[javascriptreact]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[typescript]": { - "editor.defaultFormatter": "rvest.vs-code-prettier-eslint" - }, - "[typescriptreact]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[html]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[css]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[less]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[scss]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[markdown]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, "[vue]": { "editor.codeActionsOnSave": { - "source.fixAll.eslint": true, - "source.organizeImports": false, - "source.fixAll.stylelint": true + "source.fixAll.eslint": "explicit", + "source.organizeImports": "never", + "source.fixAll.stylelint": "explicit" } }, "i18n-ally.localesPaths": ["src/locales/lang"], @@ -173,18 +147,8 @@ "yudao", "zxcvbn" ], - // 控制相关文件嵌套展示 - "explorer.fileNesting.enabled": true, - "explorer.fileNesting.expand": false, - "explorer.fileNesting.patterns": { - "*.ts": "$(capture).test.ts, $(capture).test.tsx", - "*.tsx": "$(capture).test.ts, $(capture).test.tsx", - "*.env": "$(capture).env.*", - "package.json": ".hintrc,pnpm-lock.yaml,yarn.lock,LICENSE,README*,CHANGELOG*,CNAME,.gitattributes,.gitignore,stylelint.config.js,eslint.config.js,commitlint.config.js,.stylelintignore,.prettierignore,.gitpod.yml,.eslintrc.js,.eslintignore" - }, "eslint.codeAction.showDocumentation": { "enable": true }, - "terminal.integrated.scrollback": 10000, - "nuxt.isNuxtApp": false + "terminal.integrated.scrollback": 10000 } diff --git a/README.md b/README.md index dc12939..86b4797 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ **严肃声明:现在、未来都不会有商业版本,所有代码全部开源!!** -**「我喜欢写代码,乐此不疲」** +**「我喜欢写代码,乐此不疲」** **「我喜欢做开源,以此为乐」** 如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 diff --git a/package.json b/package.json index 0d38169..2eeef3e 100644 --- a/package.json +++ b/package.json @@ -22,25 +22,18 @@ }, "scripts": { "commit": "czg", - "bootstrap": "pnpm install", - "serve": "pnpm dev", "dev": "vite", - "front": "vite --mode front", "build": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=8192 vite build && esno ./build/script/postBuild.ts", "build:test": "cross-env NODE_OPTIONS=--max-old-space-size=8192 vite build --mode test && esno ./build/script/postBuild.ts", "build:static": "cross-env NODE_OPTIONS=--max-old-space-size=8192 vite build --mode static && esno ./build/script/postBuild.ts", "build:no-cache": "pnpm store prune && pnpm build", "report": "cross-env REPORT=true pnpm build", "type:check": "vue-tsc --noEmit --skipLibCheck", - "preview": "pnpm build && vite preview", - "preview:dist": "vite preview", - "clean:cache": "rimraf node_modules/.cache/ && rimraf node_modules/.vite", - "clean:lib": "rimraf node_modules", + "preview": "vite preview", "lint": "eslint .", "lint:fix": "eslint . --fix", "lint:stylelint": "stylelint \"**/*.{vue,css,less,scss}\" --fix --cache --cache-location node_modules/.cache/stylelint/", "lint:lint-staged": "lint-staged", - "reinstall": "rimraf pnpm-lock.yaml && rimraf node_modules && npm run bootstrap", "prepare": "husky install", "gen:icon": "esno ./build/generate/icon/index.ts" }, @@ -82,7 +75,7 @@ "xlsx": "^0.18.5" }, "devDependencies": { - "@antfu/eslint-config": "^1.1.1", + "@antfu/eslint-config": "^2.6.1", "@commitlint/cli": "^18.4.1", "@commitlint/config-conventional": "^18.4.0", "@iconify/json": "^2.2.141", @@ -104,7 +97,7 @@ "cz-git": "^1.7.1", "czg": "^1.7.1", "dotenv": "^16.3.1", - "eslint": "^8.53.0", + "eslint": "^8.56.0", "esno": "^4.0.0", "fs-extra": "^11.1.1", "husky": "^8.0.3", @@ -115,7 +108,6 @@ "postcss": "^8.4.31", "postcss-html": "^1.5.0", "postcss-less": "^6.0.0", - "prettier": "^3.1.0", "rimraf": "^5.0.5", "rollup": "^4.4.0", "rollup-plugin-visualizer": "^5.9.2", @@ -143,21 +135,12 @@ "*.{js,jsx,ts,tsx}": [ "eslint --fix" ], - "{!(package)*.json,*.code-snippets,.!(browserslist)*rc}": [ - "prettier --write--parser json" - ], - "package.json": [ - "prettier --write" - ], "*.vue": [ "eslint --fix", "stylelint --fix" ], "*.{scss,less,styl,html}": [ "stylelint --fix" - ], - "*.md": [ - "prettier --write" ] }, "config": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d25cd6a..b2f4e30 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -113,8 +113,8 @@ dependencies: devDependencies: '@antfu/eslint-config': - specifier: ^1.1.1 - version: 1.1.1(eslint@8.53.0)(typescript@5.2.2) + specifier: ^2.6.1 + version: 2.6.1(@vue/compiler-sfc@3.3.8)(eslint@8.56.0)(typescript@5.2.2) '@commitlint/cli': specifier: ^18.4.1 version: 18.4.1(typescript@5.2.2) @@ -156,7 +156,7 @@ devDependencies: version: 1.15.5 '@unocss/eslint-config': specifier: ^0.57.3 - version: 0.57.3(eslint@8.53.0)(typescript@5.2.2) + version: 0.57.3(eslint@8.56.0)(typescript@5.2.2) '@vitejs/plugin-vue': specifier: 4.4.1 version: 4.4.1(vite@4.5.0)(vue@3.3.8) @@ -179,8 +179,8 @@ devDependencies: specifier: ^16.3.1 version: 16.3.1 eslint: - specifier: ^8.53.0 - version: 8.53.0 + specifier: ^8.56.0 + version: 8.56.0 esno: specifier: ^4.0.0 version: 4.0.0 @@ -211,9 +211,6 @@ devDependencies: postcss-less: specifier: ^6.0.0 version: 6.0.0(postcss@8.4.31) - prettier: - specifier: ^3.1.0 - version: 3.1.0 rimraf: specifier: ^5.0.5 version: 5.0.5 @@ -322,49 +319,78 @@ packages: vue: 3.3.8(typescript@5.2.2) dev: false - /@antfu/eslint-config@1.1.1(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-/0N4JSxmiTQKbHHRxUh+MoYKcmXuBEzTsSYgIN2gzI8Rc9iXCU0Q5VI0YMS2inq6bQYUwqrnzFFwZbs4ZpHtkw==} + /@antfu/eslint-config@2.6.1(@vue/compiler-sfc@3.3.8)(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-hj7TTLXLLyk4YHp6SC0G3NTpGyn+5v9EHX3K8JMwz8qIQZnOSzpU8xQ4PcJW3wD3qePVoGDa1Q9QvYCKplIStQ==} hasBin: true peerDependencies: - eslint: '>=8.0.0' + '@unocss/eslint-plugin': '>=0.50.0' + eslint: '>=8.40.0' + eslint-plugin-format: '>=0.1.0' + eslint-plugin-react: ^7.33.2 + eslint-plugin-react-hooks: ^4.6.0 + eslint-plugin-react-refresh: ^0.4.4 + eslint-plugin-svelte: ^2.34.1 + svelte-eslint-parser: ^0.33.1 + peerDependenciesMeta: + '@unocss/eslint-plugin': + optional: true + eslint-plugin-format: + optional: true + eslint-plugin-react: + optional: true + eslint-plugin-react-hooks: + optional: true + eslint-plugin-react-refresh: + optional: true + eslint-plugin-svelte: + optional: true + svelte-eslint-parser: + optional: true dependencies: '@antfu/eslint-define-config': 1.23.0-2 - '@stylistic/eslint-plugin': 1.1.0(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/eslint-plugin': 6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/parser': 6.10.0(eslint@8.53.0)(typescript@5.2.2) - eslint: 8.53.0 - eslint-config-flat-gitignore: 0.1.1 - eslint-plugin-antfu: 1.0.2(eslint@8.53.0) - eslint-plugin-eslint-comments: 3.2.0(eslint@8.53.0) - eslint-plugin-i: 2.29.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0) - eslint-plugin-jsdoc: 46.9.0(eslint@8.53.0) - eslint-plugin-jsonc: 2.10.0(eslint@8.53.0) - eslint-plugin-markdown: 3.0.1(eslint@8.53.0) - eslint-plugin-n: 16.3.1(eslint@8.53.0) + '@antfu/install-pkg': 0.3.1 + '@eslint-types/jsdoc': 46.8.2-1 + '@eslint-types/typescript-eslint': 6.17.0 + '@eslint-types/unicorn': 50.0.1 + '@stylistic/eslint-plugin': 1.5.3(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/eslint-plugin': 6.17.0(@typescript-eslint/parser@6.17.0)(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.17.0(eslint@8.56.0)(typescript@5.2.2) + eslint: 8.56.0 + eslint-config-flat-gitignore: 0.1.2 + eslint-merge-processors: 0.1.0(eslint@8.56.0) + eslint-plugin-antfu: 2.1.1(eslint@8.56.0) + eslint-plugin-eslint-comments: 3.2.0(eslint@8.56.0) + eslint-plugin-i: 2.29.1(@typescript-eslint/parser@6.17.0)(eslint@8.56.0) + eslint-plugin-jsdoc: 46.10.1(eslint@8.56.0) + eslint-plugin-jsonc: 2.11.2(eslint@8.56.0) + eslint-plugin-markdown: 3.0.1(eslint@8.56.0) + eslint-plugin-n: 16.6.1(eslint@8.56.0) eslint-plugin-no-only-tests: 3.1.0 - eslint-plugin-perfectionist: 2.2.0(eslint@8.53.0)(typescript@5.2.2)(vue-eslint-parser@9.3.2) - eslint-plugin-unicorn: 49.0.0(eslint@8.53.0) - eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@6.10.0)(eslint@8.53.0) - eslint-plugin-vitest: 0.3.9(@typescript-eslint/eslint-plugin@6.10.0)(eslint@8.53.0)(typescript@5.2.2) - eslint-plugin-vue: 9.18.1(eslint@8.53.0) - eslint-plugin-yml: 1.10.0(eslint@8.53.0) - execa: 8.0.1 - globals: 13.23.0 + eslint-plugin-perfectionist: 2.5.0(eslint@8.56.0)(typescript@5.2.2)(vue-eslint-parser@9.3.2) + eslint-plugin-toml: 0.8.0(eslint@8.56.0) + eslint-plugin-unicorn: 50.0.1(eslint@8.56.0) + eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@6.17.0)(eslint@8.56.0) + eslint-plugin-vitest: 0.3.20(@typescript-eslint/eslint-plugin@6.17.0)(eslint@8.56.0)(typescript@5.2.2) + eslint-plugin-vue: 9.19.2(eslint@8.56.0) + eslint-plugin-yml: 1.11.0(eslint@8.56.0) + eslint-processor-vue-blocks: 0.1.1(@vue/compiler-sfc@3.3.8)(eslint@8.56.0) + globals: 13.24.0 jsonc-eslint-parser: 2.4.0 local-pkg: 0.5.0 parse-gitignore: 2.0.0 picocolors: 1.0.0 prompts: 2.4.2 - vue-eslint-parser: 9.3.2(eslint@8.53.0) + toml-eslint-parser: 0.9.3 + vue-eslint-parser: 9.3.2(eslint@8.56.0) yaml-eslint-parser: 1.2.2 yargs: 17.7.2 transitivePeerDependencies: + - '@vue/compiler-sfc' - astro-eslint-parser - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - svelte - - svelte-eslint-parser - typescript - vitest dev: true @@ -381,6 +407,12 @@ packages: find-up: 5.0.0 dev: true + /@antfu/install-pkg@0.3.1: + resolution: {integrity: sha512-A3zWY9VeTPnxlMiZtsGHw2lSd3ghwvL8s9RiGOtqvDxhhFfZ781ynsGBa/iUnDJ5zBrmTFQrJDud3TGgRISaxw==} + dependencies: + execa: 8.0.1 + dev: true + /@antfu/utils@0.7.6: resolution: {integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==} dev: true @@ -1517,7 +1549,7 @@ packages: babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.2) babel-plugin-polyfill-corejs3: 0.8.6(@babel/core@7.23.2) babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.2) - core-js-compat: 3.33.1 + core-js-compat: 3.35.0 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -1997,13 +2029,13 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.53.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.53.0 + eslint: 8.56.0 eslint-visitor-keys: 3.4.3 dev: true @@ -2012,14 +2044,26 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.1.3: - resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==} + /@eslint-types/jsdoc@46.8.2-1: + resolution: {integrity: sha512-FwD7V0xX0jyaqj8Ul5ZY+TAAPohDfVqtbuXJNHb+OIv1aTIqZi5+Zn3F2UwQ5O3BnQd2mTduyK0+HjGx3/AMFg==} + dev: true + + /@eslint-types/typescript-eslint@6.17.0: + resolution: {integrity: sha512-fPwdc27nXbsn69obhmOujFMxheimgs+Hf0iHCyq0s1w48iPpd0PgA/UvAs/PRUY/H9GYvrZDSvBTxtHLqnzb3A==} + dev: true + + /@eslint-types/unicorn@50.0.1: + resolution: {integrity: sha512-nuJuipTNcg9f+oxZ+3QZw4tuDLmir4RJOPfM/oujgToiy1s+tePDZhwg5jUGc3q8OzTtPbVpsFSYX7QApjO3EA==} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 espree: 9.6.1 - globals: 13.23.0 + globals: 13.24.0 ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -2029,8 +2073,8 @@ packages: - supports-color dev: true - /@eslint/js@8.53.0: - resolution: {integrity: sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==} + /@eslint/js@8.56.0: + resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -2525,46 +2569,67 @@ packages: nanopop: 2.3.0 dev: false - /@stylistic/eslint-plugin-js@1.1.0: - resolution: {integrity: sha512-7yDOvKQvtTXIJMVcKNGfpYSJJhwTbOrDcMDgYqWbtS9LyHmuzxvnR748bQ21pQyi6aZR2E7edwKsdKmZlXc9Rg==} + /@stylistic/eslint-plugin-js@1.5.3(eslint@8.56.0): + resolution: {integrity: sha512-XlKnm82fD7Sw9kQ6FFigE0tobvptNBXZWsdfoKmUyK7bNxHsAHOFT8zJGY3j3MjZ0Fe7rLTu86hX/vOl0bRRdQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' dependencies: - acorn: 8.11.2 + acorn: 8.11.3 escape-string-regexp: 4.0.0 + eslint: 8.56.0 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - graphemer: 1.4.0 dev: true - /@stylistic/eslint-plugin-jsx@1.1.0: - resolution: {integrity: sha512-XMTAYQ9t7ZoWjqciqOy99O0sRCHh/6x/Q4Dm8sCVKzKlsnPzVlXzAD0htNqHG+Fu7qyGblDqb0/7PNJXBdQc5Q==} + /@stylistic/eslint-plugin-jsx@1.5.3(eslint@8.56.0): + resolution: {integrity: sha512-gKXWFmvg3B4e6G+bVz2p37icjj3gS5lzazZD6oLjmQ2b0Lw527VpnxGjWxQ16keKXtrVzUfebakjskOoALg3CQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' dependencies: - '@stylistic/eslint-plugin-js': 1.1.0 + '@stylistic/eslint-plugin-js': 1.5.3(eslint@8.56.0) + eslint: 8.56.0 estraverse: 5.3.0 dev: true - /@stylistic/eslint-plugin-ts@1.1.0(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-vqlinwzTNSKoFaVcVKE2iVGKX62NKIJfkhEI+5uuufYcAhfjfOK3KQY0zhdUeshEUkBVR0uRrJzH1/Cj/2Unfg==} + /@stylistic/eslint-plugin-plus@1.5.3(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-fuOBySbH4dbfY4Dwvu+zg5y+e0lALHTyQske5+a2zNC8Ejnx4rFlVjYOmaVFtxFhTD4V0vM7o21Ozci0igcxKg==} peerDependencies: eslint: '*' dependencies: - '@stylistic/eslint-plugin-js': 1.1.0 - '@typescript-eslint/utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) - eslint: 8.53.0 - graphemer: 1.4.0 + '@typescript-eslint/utils': 6.17.0(eslint@8.56.0)(typescript@5.2.2) + eslint: 8.56.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@stylistic/eslint-plugin@1.1.0(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-PcJgMTNiIZ1d+aQt7OM50hRkeOIB7FyfRofNEe1PykG7NvSjjwQ7fS2XN+eN/SmoPN4ocZkacZHOv5cDNrFEqQ==} + /@stylistic/eslint-plugin-ts@1.5.3(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-/gUEqGo0gpFeu220YmC0788VliKnmTaAz4pI82KA5cUuCp6OzEhGlrNkb1eevMwH0RRgyND20HJxOYvEGlwu+w==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: '*' + eslint: '>=8.40.0' dependencies: - '@stylistic/eslint-plugin-js': 1.1.0 - '@stylistic/eslint-plugin-jsx': 1.1.0 - '@stylistic/eslint-plugin-ts': 1.1.0(eslint@8.53.0)(typescript@5.2.2) - eslint: 8.53.0 + '@stylistic/eslint-plugin-js': 1.5.3(eslint@8.56.0) + '@typescript-eslint/utils': 6.17.0(eslint@8.56.0)(typescript@5.2.2) + eslint: 8.56.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@stylistic/eslint-plugin@1.5.3(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-Vee+hHKaCd8DPRoRJTCV+mOFz+zFIaA9QiNJaAvgBzmPkcDnSC7Ewh518fN6SSNe9psS8TDIpcxd1g5v4MSY5A==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@stylistic/eslint-plugin-js': 1.5.3(eslint@8.56.0) + '@stylistic/eslint-plugin-jsx': 1.5.3(eslint@8.56.0) + '@stylistic/eslint-plugin-plus': 1.5.3(eslint@8.56.0)(typescript@5.2.2) + '@stylistic/eslint-plugin-ts': 1.5.3(eslint@8.56.0)(typescript@5.2.2) + eslint: 8.56.0 transitivePeerDependencies: - supports-color - typescript @@ -2722,8 +2787,8 @@ packages: resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} dev: false - /@typescript-eslint/eslint-plugin@6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-uoLj4g2OTL8rfUQVx2AFO1hp/zja1wABJq77P6IclQs6I/m9GLrm7jCdgzZkvWdDCQf1uEvoa8s8CupsgWQgVg==} + /@typescript-eslint/eslint-plugin@6.17.0(@typescript-eslint/parser@6.17.0)(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-Vih/4xLXmY7V490dGwBQJTpIZxH4ZFH6eCVmQ4RFkB+wmaCTDAx4dtgoWwMNGKLkqRY1L6rPqzEbjorRnDo4rQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -2734,13 +2799,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.10.0(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.10.0 - '@typescript-eslint/type-utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.10.0 + '@typescript-eslint/parser': 6.17.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.17.0 + '@typescript-eslint/type-utils': 6.17.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.17.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.17.0 debug: 4.3.4 - eslint: 8.53.0 + eslint: 8.56.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 @@ -2751,8 +2816,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.10.0(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-+sZwIj+s+io9ozSxIWbNB5873OSdfeBEH/FR0re14WLI6BaKuSOnnwCJ2foUiu8uXf4dRp1UqHP0vrZ1zXGrog==} + /@typescript-eslint/parser@6.17.0(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-C4bBaX2orvhK+LlwrY8oWGmSl4WolCfYm513gEccdWZj0CwGadbIADb0FtVEcI+WzUyjyoBj2JRP8g25E6IB8A==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -2761,12 +2826,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.10.0 - '@typescript-eslint/types': 6.10.0 - '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.10.0 + '@typescript-eslint/scope-manager': 6.17.0 + '@typescript-eslint/types': 6.17.0 + '@typescript-eslint/typescript-estree': 6.17.0(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.17.0 debug: 4.3.4 - eslint: 8.53.0 + eslint: 8.56.0 typescript: 5.2.2 transitivePeerDependencies: - supports-color @@ -2780,16 +2845,16 @@ packages: '@typescript-eslint/visitor-keys': 6.10.0 dev: true - /@typescript-eslint/scope-manager@6.9.1: - resolution: {integrity: sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg==} + /@typescript-eslint/scope-manager@6.17.0: + resolution: {integrity: sha512-RX7a8lwgOi7am0k17NUO0+ZmMOX4PpjLtLRgLmT1d3lBYdWH4ssBUbwdmc5pdRX8rXon8v9x8vaoOSpkHfcXGA==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.9.1 - '@typescript-eslint/visitor-keys': 6.9.1 + '@typescript-eslint/types': 6.17.0 + '@typescript-eslint/visitor-keys': 6.17.0 dev: true - /@typescript-eslint/type-utils@6.10.0(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-wYpPs3hgTFblMYwbYWPT3eZtaDOjbLyIYuqpwuLBBqhLiuvJ+9sEp2gNRJEtR5N/c9G1uTtQQL5AhV0fEPJYcg==} + /@typescript-eslint/type-utils@6.17.0(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-hDXcWmnbtn4P2B37ka3nil3yi3VCQO2QEB9gBiHJmQp5wmyQWqnjA85+ZcE8c4FqnaB6lBwMrPkgd4aBYz3iNg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -2798,10 +2863,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 6.17.0(typescript@5.2.2) + '@typescript-eslint/utils': 6.17.0(eslint@8.56.0)(typescript@5.2.2) debug: 4.3.4 - eslint: 8.53.0 + eslint: 8.56.0 ts-api-utils: 1.0.3(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: @@ -2813,8 +2878,8 @@ packages: engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/types@6.9.1: - resolution: {integrity: sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ==} + /@typescript-eslint/types@6.17.0: + resolution: {integrity: sha512-qRKs9tvc3a4RBcL/9PXtKSehI/q8wuU9xYJxe97WFxnzH8NWWtcW3ffNS+EWg8uPvIerhjsEZ+rHtDqOCiH57A==} engines: {node: ^16.0.0 || >=18.0.0} dev: true @@ -2839,8 +2904,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.9.1(typescript@5.2.2): - resolution: {integrity: sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw==} + /@typescript-eslint/typescript-estree@6.17.0(typescript@5.2.2): + resolution: {integrity: sha512-gVQe+SLdNPfjlJn5VNGhlOhrXz4cajwFd5kAgWtZ9dCZf4XJf8xmgCTLIqec7aha3JwgLI2CK6GY1043FRxZwg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -2848,11 +2913,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.9.1 - '@typescript-eslint/visitor-keys': 6.9.1 + '@typescript-eslint/types': 6.17.0 + '@typescript-eslint/visitor-keys': 6.17.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 + minimatch: 9.0.3 semver: 7.5.4 ts-api-utils: 1.0.3(typescript@5.2.2) typescript: 5.2.2 @@ -2860,38 +2926,38 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@6.10.0(eslint@8.53.0)(typescript@5.2.2): + /@typescript-eslint/utils@6.10.0(eslint@8.56.0)(typescript@5.2.2): resolution: {integrity: sha512-v+pJ1/RcVyRc0o4wAGux9x42RHmAjIGzPRo538Z8M1tVx6HOnoQBCX/NoadHQlZeC+QO2yr4nNSFWOoraZCAyg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.14 '@types/semver': 7.5.4 '@typescript-eslint/scope-manager': 6.10.0 '@typescript-eslint/types': 6.10.0 '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.2.2) - eslint: 8.53.0 + eslint: 8.56.0 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/utils@6.9.1(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA==} + /@typescript-eslint/utils@6.17.0(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-LofsSPjN/ITNkzV47hxas2JCsNCEnGhVvocfyOcLzT9c/tSZE7SfhS/iWtzP1lKNOEfLhRTZz6xqI8N2RzweSQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.14 '@types/semver': 7.5.4 - '@typescript-eslint/scope-manager': 6.9.1 - '@typescript-eslint/types': 6.9.1 - '@typescript-eslint/typescript-estree': 6.9.1(typescript@5.2.2) - eslint: 8.53.0 + '@typescript-eslint/scope-manager': 6.17.0 + '@typescript-eslint/types': 6.17.0 + '@typescript-eslint/typescript-estree': 6.17.0(typescript@5.2.2) + eslint: 8.56.0 semver: 7.5.4 transitivePeerDependencies: - supports-color @@ -2906,11 +2972,11 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@6.9.1: - resolution: {integrity: sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw==} + /@typescript-eslint/visitor-keys@6.17.0: + resolution: {integrity: sha512-H6VwB/k3IuIeQOyYczyyKN8wH6ed8EwliaYHLxOIhyF0dYEIsN8+Bk3GE19qafeMKyZJJHP8+O1HiFhFLUNKSg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/types': 6.17.0 eslint-visitor-keys: 3.4.3 dev: true @@ -2968,22 +3034,22 @@ packages: resolution: {integrity: sha512-o6snDo5vwAenIqA+wjjI6BUsftJXXSqrPHYqplb+QX5bLfxW/OU1xhBRlnhiP0BOGGZXqgGEETU1ym8MM9bLwA==} dev: true - /@unocss/eslint-config@0.57.3(eslint@8.53.0)(typescript@5.2.2): + /@unocss/eslint-config@0.57.3(eslint@8.56.0)(typescript@5.2.2): resolution: {integrity: sha512-TeqQ38gO/0SteYsqjT1oqyuvLpZPgevHexF/1dhHKaBzYVmkPK5TJQyAlNQ/abXKbIO64y5cIvEnc2lPfCU4zQ==} engines: {node: '>=14'} dependencies: - '@unocss/eslint-plugin': 0.57.3(eslint@8.53.0)(typescript@5.2.2) + '@unocss/eslint-plugin': 0.57.3(eslint@8.56.0)(typescript@5.2.2) transitivePeerDependencies: - eslint - supports-color - typescript dev: true - /@unocss/eslint-plugin@0.57.3(eslint@8.53.0)(typescript@5.2.2): + /@unocss/eslint-plugin@0.57.3(eslint@8.56.0)(typescript@5.2.2): resolution: {integrity: sha512-S2xhVdfApBYz/ORhN2jdUPC6EFLczzEINRBoxcVHLlRaOydpsSgWZNux9WkP4zdifuCUM1VvfBJoMokHn+sEBA==} engines: {node: '>=14'} dependencies: - '@typescript-eslint/utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.10.0(eslint@8.56.0)(typescript@5.2.2) '@unocss/config': 0.57.3 '@unocss/core': 0.57.3 magic-string: 0.30.5 @@ -3446,6 +3512,12 @@ packages: hasBin: true dev: true + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + /adler-32@1.3.1: resolution: {integrity: sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==} engines: {node: '>=0.8'} @@ -3711,7 +3783,7 @@ packages: dependencies: '@babel/core': 7.23.2 '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.2) - core-js-compat: 3.33.1 + core-js-compat: 3.35.0 transitivePeerDependencies: - supports-color dev: true @@ -3852,6 +3924,17 @@ packages: update-browserslist-db: 1.0.13(browserslist@4.22.1) dev: true + /browserslist@4.22.2: + resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001572 + electron-to-chromium: 1.4.620 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.22.2) + dev: true + /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true @@ -3953,6 +4036,10 @@ packages: resolution: {integrity: sha512-A2E3U//MBwbJVzebddm1YfNp7Nud5Ip+IPn4BozBmn4KqVX7AvluoIDFWjsv5OkGnKUXQVmMSoMKLa3ScCblcQ==} dev: true + /caniuse-lite@1.0.30001572: + resolution: {integrity: sha512-1Pbh5FLmn5y4+QhNyJE9j3/7dK44dGB83/ZMjv/qJk86TvDbjk0LosiZo0i0WB0Vx607qMX9jYrn1VLHCkN4rw==} + dev: true + /cfb@1.2.2: resolution: {integrity: sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==} engines: {node: '>=0.8'} @@ -4025,8 +4112,8 @@ packages: fsevents: 2.3.3 dev: true - /ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + /ci-info@4.0.0: + resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} engines: {node: '>=8'} dev: true @@ -4259,10 +4346,10 @@ packages: engines: {node: '>=0.10.0'} dev: true - /core-js-compat@3.33.1: - resolution: {integrity: sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ==} + /core-js-compat@3.35.0: + resolution: {integrity: sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==} dependencies: - browserslist: 4.22.1 + browserslist: 4.22.2 dev: true /core-js@3.33.1: @@ -4610,13 +4697,6 @@ packages: path-type: 4.0.0 dev: true - /doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} - dependencies: - esutils: 2.0.3 - dev: true - /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} @@ -4761,6 +4841,10 @@ packages: resolution: {integrity: sha512-8KR114CAYQ4/r5EIEsOmOMqQ9j0MRbJZR3aXD/KFA8RuKzyoUB4XrUCg+l8RUGqTVQgKNIgTpjaG8YHRPAbX2w==} dev: true + /electron-to-chromium@1.4.620: + resolution: {integrity: sha512-a2fcSHOHrqBJsPNXtf6ZCEZpXrFCcbK1FBxfX3txoqWzNgtEDG1f3M59M98iwxhRW4iMKESnSjbJ310/rkrp0g==} + dev: true + /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true @@ -4915,17 +4999,17 @@ packages: engines: {node: '>=12'} dev: true - /eslint-compat-utils@0.1.2(eslint@8.53.0): + /eslint-compat-utils@0.1.2(eslint@8.56.0): resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==} engines: {node: '>=12'} peerDependencies: eslint: '>=6.0.0' dependencies: - eslint: 8.53.0 + eslint: 8.56.0 dev: true - /eslint-config-flat-gitignore@0.1.1: - resolution: {integrity: sha512-ysq0QpN63+uaxE67U0g0HeCweIpv8Ztp7yvm0nYiM2TBalRIG6KQLO5J6lAz2gkA8KVis/QsJppe+BR5VigtWQ==} + /eslint-config-flat-gitignore@0.1.2: + resolution: {integrity: sha512-PcBsqtd5QHEZH4ROvpnRN4EP0qcHh9voCCHgtyHxnJZHGspJREcZn7oPqRG/GfWt9m3C0fkC2l5CuBtMig2wXQ==} dependencies: parse-gitignore: 2.0.0 dev: true @@ -4940,7 +5024,15 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-node@0.3.9)(eslint@8.53.0): + /eslint-merge-processors@0.1.0(eslint@8.56.0): + resolution: {integrity: sha512-IvRXXtEajLeyssvW4wJcZ2etxkR9mUf4zpNwgI+m/Uac9RfXHskuJefkHUcawVzePnd6xp24enp5jfgdHzjRdQ==} + peerDependencies: + eslint: '*' + dependencies: + eslint: 8.56.0 + dev: true + + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.17.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -4961,59 +5053,59 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.10.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.17.0(eslint@8.56.0)(typescript@5.2.2) debug: 3.2.7 - eslint: 8.53.0 + eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-antfu@1.0.2(eslint@8.53.0): - resolution: {integrity: sha512-elv/LVq+4h9oi7xza9EK93akujmTAGnL3e7aMVVWELjvIJuHcKj0GT6HjdgPDtuBdMnyyKN7fVKIpSNSqZnaIA==} + /eslint-plugin-antfu@2.1.1(eslint@8.56.0): + resolution: {integrity: sha512-HCPo3IP15/gOaruIb1ce6R4LUv/MKBZCmWzqYiLGDFW43WW4juPURnjaQIE3AgWNSoCURqD3wxerXYKzokKTgA==} peerDependencies: eslint: '*' dependencies: - eslint: 8.53.0 + eslint: 8.56.0 dev: true - /eslint-plugin-es-x@7.2.0(eslint@8.53.0): - resolution: {integrity: sha512-9dvv5CcvNjSJPqnS5uZkqb3xmbeqRLnvXKK7iI5+oK/yTusyc46zbBZKENGsOfojm/mKfszyZb+wNqNPAPeGXA==} + /eslint-plugin-es-x@7.5.0(eslint@8.56.0): + resolution: {integrity: sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '>=8' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@eslint-community/regexpp': 4.10.0 - eslint: 8.53.0 + eslint: 8.56.0 + eslint-compat-utils: 0.1.2(eslint@8.56.0) dev: true - /eslint-plugin-eslint-comments@3.2.0(eslint@8.53.0): + /eslint-plugin-eslint-comments@3.2.0(eslint@8.56.0): resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} engines: {node: '>=6.5.0'} peerDependencies: eslint: '>=4.19.1' dependencies: escape-string-regexp: 1.0.5 - eslint: 8.53.0 + eslint: 8.56.0 ignore: 5.2.4 dev: true - /eslint-plugin-i@2.29.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0): - resolution: {integrity: sha512-slGeTS3GQzx9267wLJnNYNO8X9EHGsc75AKIAFvnvMYEcTJKotPKL1Ru5PIGVHIVet+2DsugePWp8Oxpx8G22w==} + /eslint-plugin-i@2.29.1(@typescript-eslint/parser@6.17.0)(eslint@8.56.0): + resolution: {integrity: sha512-ORizX37MelIWLbMyqI7hi8VJMf7A0CskMmYkB+lkCX3aF4pkGV7kwx5bSEb4qx7Yce2rAf9s34HqDRPjGRZPNQ==} engines: {node: '>=12'} peerDependencies: eslint: ^7.2.0 || ^8 dependencies: - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 8.53.0 + debug: 4.3.4 + doctrine: 3.0.0 + eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-node@0.3.9)(eslint@8.53.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.17.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0) get-tsconfig: 4.7.2 is-glob: 4.0.3 minimatch: 3.1.2 - resolve: 1.22.8 semver: 7.5.4 transitivePeerDependencies: - '@typescript-eslint/parser' @@ -5022,62 +5114,65 @@ packages: - supports-color dev: true - /eslint-plugin-jsdoc@46.9.0(eslint@8.53.0): - resolution: {integrity: sha512-UQuEtbqLNkPf5Nr/6PPRCtr9xypXY+g8y/Q7gPa0YK7eDhh0y2lWprXRnaYbW7ACgIUvpDKy9X2bZqxtGzBG9Q==} + /eslint-plugin-jsdoc@46.10.1(eslint@8.56.0): + resolution: {integrity: sha512-x8wxIpv00Y50NyweDUpa+58ffgSAI5sqe+zcZh33xphD0AVh+1kqr1ombaTRb7Fhpove1zfUuujlX9DWWBP5ag==} engines: {node: '>=16'} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 dependencies: '@es-joy/jsdoccomment': 0.41.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 debug: 4.3.4 escape-string-regexp: 4.0.0 - eslint: 8.53.0 + eslint: 8.56.0 esquery: 1.5.0 is-builtin-module: 3.2.1 semver: 7.5.4 - spdx-expression-parse: 3.0.1 + spdx-expression-parse: 4.0.0 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-jsonc@2.10.0(eslint@8.53.0): - resolution: {integrity: sha512-9d//o6Jyh4s1RxC9fNSt1+MMaFN2ruFdXPG9XZcb/mR2KkfjADYiNL/hbU6W0Cyxfg3tS/XSFuhl5LgtMD8hmw==} + /eslint-plugin-jsonc@2.11.2(eslint@8.56.0): + resolution: {integrity: sha512-F6A0MZhIGRBPOswzzn4tJFXXkPLiLwJaMlQwz/Qj1qx+bV5MCn79vBeJh2ynMmtqqHloi54KDCnsT/KWrcCcnQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) - eslint: 8.53.0 - eslint-compat-utils: 0.1.2(eslint@8.53.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + eslint: 8.56.0 + eslint-compat-utils: 0.1.2(eslint@8.56.0) + espree: 9.6.1 + graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 natural-compare: 1.4.0 dev: true - /eslint-plugin-markdown@3.0.1(eslint@8.53.0): + /eslint-plugin-markdown@3.0.1(eslint@8.56.0): resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.53.0 + eslint: 8.56.0 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-n@16.3.1(eslint@8.53.0): - resolution: {integrity: sha512-w46eDIkxQ2FaTHcey7G40eD+FhTXOdKudDXPUO2n9WNcslze/i/HT2qJ3GXjHngYSGDISIgPNhwGtgoix4zeOw==} + /eslint-plugin-n@16.6.1(eslint@8.56.0): + resolution: {integrity: sha512-M1kE5bVQRLBMDYRZwDhWzlzbp370SRRRC1MHqq4I3L2Tatey+9/2csc5mwLDPlmhJaDvkojbrNUME5/llpRyDg==} engines: {node: '>=16.0.0'} peerDependencies: eslint: '>=7.0.0' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) builtins: 5.0.1 - eslint: 8.53.0 - eslint-plugin-es-x: 7.2.0(eslint@8.53.0) + eslint: 8.56.0 + eslint-plugin-es-x: 7.5.0(eslint@8.56.0) get-tsconfig: 4.7.2 + globals: 13.24.0 ignore: 5.2.4 is-builtin-module: 3.2.1 is-core-module: 2.13.1 @@ -5091,8 +5186,8 @@ packages: engines: {node: '>=5.0.0'} dev: true - /eslint-plugin-perfectionist@2.2.0(eslint@8.53.0)(typescript@5.2.2)(vue-eslint-parser@9.3.2): - resolution: {integrity: sha512-/nG2Uurd6AY7CI6zlgjHPOoiPY8B7EYMUWdNb5w+EzyauYiQjjD5lQwAI1FlkBbCCFFZw/CdZIPQhXumYoiyaw==} + /eslint-plugin-perfectionist@2.5.0(eslint@8.56.0)(typescript@5.2.2)(vue-eslint-parser@9.3.2): + resolution: {integrity: sha512-F6XXcq4mKKUe/SREoMGQqzgw6cgCgf3pFzkFfQVIGtqD1yXVpQjnhTepzhBeZfxZwgMzR9HO4yH4CUhIQ2WBcQ==} peerDependencies: astro-eslint-parser: ^0.16.0 eslint: '>=8.0.0' @@ -5109,27 +5204,44 @@ packages: vue-eslint-parser: optional: true dependencies: - '@typescript-eslint/utils': 6.9.1(eslint@8.53.0)(typescript@5.2.2) - eslint: 8.53.0 + '@typescript-eslint/utils': 6.17.0(eslint@8.56.0)(typescript@5.2.2) + eslint: 8.56.0 minimatch: 9.0.3 natural-compare-lite: 1.4.0 - vue-eslint-parser: 9.3.2(eslint@8.53.0) + vue-eslint-parser: 9.3.2(eslint@8.56.0) transitivePeerDependencies: - supports-color - typescript dev: true - /eslint-plugin-unicorn@49.0.0(eslint@8.53.0): - resolution: {integrity: sha512-0fHEa/8Pih5cmzFW5L7xMEfUTvI9WKeQtjmKpTUmY+BiFCDxkxrTdnURJOHKykhtwIeyYsxnecbGvDCml++z4Q==} + /eslint-plugin-toml@0.8.0(eslint@8.56.0): + resolution: {integrity: sha512-vNfoLQq60nK5FTr6x9F/SK3ZcbMsHzfgXsoDLhoCqgGtpzoAmsZrFB+efKEjjLT9wdIL6sKbz4taLKpB9sU8Hw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + debug: 4.3.4 + eslint: 8.56.0 + eslint-compat-utils: 0.1.2(eslint@8.56.0) + lodash: 4.17.21 + toml-eslint-parser: 0.9.3 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-unicorn@50.0.1(eslint@8.56.0): + resolution: {integrity: sha512-KxenCZxqSYW0GWHH18okDlOQcpezcitm5aOSz6EnobyJ6BIByiPDviQRjJIUAjG/tMN11958MxaQ+qCoU6lfDA==} engines: {node: '>=16'} peerDependencies: - eslint: '>=8.52.0' + eslint: '>=8.56.0' dependencies: '@babel/helper-validator-identifier': 7.22.20 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) - ci-info: 3.9.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint/eslintrc': 2.1.4 + ci-info: 4.0.0 clean-regexp: 1.0.0 - eslint: 8.53.0 + core-js-compat: 3.35.0 + eslint: 8.56.0 esquery: 1.5.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 @@ -5140,9 +5252,11 @@ packages: regjsparser: 0.10.0 semver: 7.5.4 strip-indent: 3.0.0 + transitivePeerDependencies: + - supports-color dev: true - /eslint-plugin-unused-imports@3.0.0(@typescript-eslint/eslint-plugin@6.10.0)(eslint@8.53.0): + /eslint-plugin-unused-imports@3.0.0(@typescript-eslint/eslint-plugin@6.17.0)(eslint@8.56.0): resolution: {integrity: sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5152,14 +5266,14 @@ packages: '@typescript-eslint/eslint-plugin': optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2) - eslint: 8.53.0 + '@typescript-eslint/eslint-plugin': 6.17.0(@typescript-eslint/parser@6.17.0)(eslint@8.56.0)(typescript@5.2.2) + eslint: 8.56.0 eslint-rule-composer: 0.3.0 dev: true - /eslint-plugin-vitest@0.3.9(@typescript-eslint/eslint-plugin@6.10.0)(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-ZGrz8dWFlotM5dwrsMLP4VcY5MizwKNV4JTnY0VKdnuCZ+qeEUMHf1qd8kRGQA3tqLvXcV929wt2ANkduq2Pgw==} - engines: {node: 14.x || >= 16} + /eslint-plugin-vitest@0.3.20(@typescript-eslint/eslint-plugin@6.17.0)(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-O05k4j9TGMOkkghj9dRgpeLDyOSiVIxQWgNDPfhYPm5ioJsehcYV/zkRLekQs+c8+RBCVXucSED3fYOyy2EoWA==} + engines: {node: ^18.0.0 || >= 20.0.0} peerDependencies: '@typescript-eslint/eslint-plugin': '*' eslint: '>=8.0.0' @@ -5170,41 +5284,41 @@ packages: vitest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.9.1(eslint@8.53.0)(typescript@5.2.2) - eslint: 8.53.0 + '@typescript-eslint/eslint-plugin': 6.17.0(@typescript-eslint/parser@6.17.0)(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.17.0(eslint@8.56.0)(typescript@5.2.2) + eslint: 8.56.0 transitivePeerDependencies: - supports-color - typescript dev: true - /eslint-plugin-vue@9.18.1(eslint@8.53.0): - resolution: {integrity: sha512-7hZFlrEgg9NIzuVik2I9xSnJA5RsmOfueYgsUGUokEDLJ1LHtxO0Pl4duje1BriZ/jDWb+44tcIlC3yi0tdlZg==} + /eslint-plugin-vue@9.19.2(eslint@8.56.0): + resolution: {integrity: sha512-CPDqTOG2K4Ni2o4J5wixkLVNwgctKXFu6oBpVJlpNq7f38lh9I80pRTouZSJ2MAebPJlINU/KTFSXyQfBUlymA==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) - eslint: 8.53.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + eslint: 8.56.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.0.13 semver: 7.5.4 - vue-eslint-parser: 9.3.2(eslint@8.53.0) + vue-eslint-parser: 9.3.2(eslint@8.56.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-yml@1.10.0(eslint@8.53.0): - resolution: {integrity: sha512-53SUwuNDna97lVk38hL/5++WXDuugPM9SUQ1T645R0EHMRCdBIIxGye/oOX2qO3FQ7aImxaUZJU/ju+NMUBrLQ==} + /eslint-plugin-yml@1.11.0(eslint@8.56.0): + resolution: {integrity: sha512-NBZP1NDGy0u38pY5ieix75jxS9GNOJy9xd4gQa0rU4gWbfEsVhKDwuFaQ6RJpDbv6Lq5TtcAZS/YnAc0oeRw0w==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4 - eslint: 8.53.0 - eslint-compat-utils: 0.1.2(eslint@8.53.0) + eslint: 8.56.0 + eslint-compat-utils: 0.1.2(eslint@8.56.0) lodash: 4.17.21 natural-compare: 1.4.0 yaml-eslint-parser: 1.2.2 @@ -5212,6 +5326,16 @@ packages: - supports-color dev: true + /eslint-processor-vue-blocks@0.1.1(@vue/compiler-sfc@3.3.8)(eslint@8.56.0): + resolution: {integrity: sha512-9+dU5lU881log570oBwpelaJmOfOzSniben7IWEDRYQPPWwlvaV7NhOtsTuUWDqpYT+dtKKWPsgz4OkOi+aZnA==} + peerDependencies: + '@vue/compiler-sfc': ^3.3.0 + eslint: ^8.50.0 + dependencies: + '@vue/compiler-sfc': 3.3.8 + eslint: 8.56.0 + dev: true + /eslint-rule-composer@0.3.0: resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} engines: {node: '>=4.0.0'} @@ -5230,15 +5354,15 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.53.0: - resolution: {integrity: sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==} + /eslint@8.56.0: + resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.3 - '@eslint/js': 8.53.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.56.0 '@humanwhocodes/config-array': 0.11.13 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -5258,7 +5382,7 @@ packages: file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.23.0 + globals: 13.24.0 graphemer: 1.4.0 ignore: 5.2.4 imurmurhash: 0.1.4 @@ -5797,8 +5921,8 @@ packages: engines: {node: '>=4'} dev: true - /globals@13.23.0: - resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -6605,7 +6729,7 @@ packages: resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.10.0 + acorn: 8.11.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 semver: 7.5.4 @@ -7300,6 +7424,10 @@ packages: resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} dev: true + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + dev: true + /normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: @@ -8541,6 +8669,13 @@ packages: spdx-license-ids: 3.0.16 dev: true + /spdx-expression-parse@4.0.0: + resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.16 + dev: true + /spdx-license-ids@3.0.16: resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} dev: true @@ -9051,6 +9186,13 @@ packages: safe-regex: 1.1.0 dev: true + /toml-eslint-parser@0.9.3: + resolution: {integrity: sha512-moYoCvkNUAPCxSW9jmHmRElhm4tVJpHL8ItC/+uYD0EpPSFXbck7yREz9tNdJVTSpHVod8+HoipcpbQ0oE6gsw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + eslint-visitor-keys: 3.4.3 + dev: true + /totalist@3.0.1: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} @@ -9343,6 +9485,17 @@ packages: picocolors: 1.0.0 dev: true + /update-browserslist-db@1.0.13(browserslist@4.22.2): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.22.2 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: @@ -9580,14 +9733,14 @@ packages: vue: 3.3.8(typescript@5.2.2) dev: false - /vue-eslint-parser@9.3.2(eslint@8.53.0): + /vue-eslint-parser@9.3.2(eslint@8.56.0): resolution: {integrity: sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4 - eslint: 8.53.0 + eslint: 8.56.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 @@ -9998,12 +10151,7 @@ packages: dependencies: eslint-visitor-keys: 3.4.3 lodash: 4.17.21 - yaml: 2.3.3 - dev: true - - /yaml@2.3.3: - resolution: {integrity: sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==} - engines: {node: '>= 14'} + yaml: 2.3.4 dev: true /yaml@2.3.4: diff --git a/src/api/base/login.ts b/src/api/base/login.ts index f289f83..8d6ac6b 100644 --- a/src/api/base/login.ts +++ b/src/api/base/login.ts @@ -25,7 +25,7 @@ export function getTenantIdByName(name: string) { // 使用租户域名,获得租户信息 export function getTenantByWebsite(website: string) { - return defHttp.get({ url: `/system/tenant/get-by-website?website=${website}` }) + return defHttp.get({ url: `/system/tenant/get-by-website?website=${website}` }, { errorMessageMode: 'none' }) } // 登出 diff --git a/src/components/Application/src/search/AppSearchModal.vue b/src/components/Application/src/search/AppSearchModal.vue index 9c81c12..13287be 100644 --- a/src/components/Application/src/search/AppSearchModal.vue +++ b/src/components/Application/src/search/AppSearchModal.vue @@ -41,9 +41,9 @@ watch( () => props.open, (open: boolean) => { open - && nextTick(() => { - unref(inputRef)?.focus() - }) + && nextTick(() => { + unref(inputRef)?.focus() + }) }, ) diff --git a/src/components/Container/src/LazyContainer.vue b/src/components/Container/src/LazyContainer.vue index ff13297..60443ac 100644 --- a/src/components/Container/src/LazyContainer.vue +++ b/src/components/Container/src/LazyContainer.vue @@ -66,9 +66,9 @@ onMounted(() => { function immediateInit() { const { timeout } = props timeout - && useTimeoutFn(() => { - init() - }, timeout) + && useTimeoutFn(() => { + init() + }, timeout) } function init() { diff --git a/src/components/CronTab/src/tabs/WeekUI.vue b/src/components/CronTab/src/tabs/WeekUI.vue index 271da00..1f83f42 100644 --- a/src/components/CronTab/src/tabs/WeekUI.vue +++ b/src/components/CronTab/src/tabs/WeekUI.vue @@ -48,7 +48,7 @@ export default defineComponent({ disabled: disabledChoice, }) const weekOptions = computed(() => { - const options: { label: string; value: number }[] = [] + const options: { label: string, value: number }[] = [] for (const weekKey of Object.keys(WEEK_MAP_CN)) { const weekName: string = WEEK_MAP_CN[weekKey] options.push({ diff --git a/src/components/Cropper/src/CopperModal.vue b/src/components/Cropper/src/CopperModal.vue index 690feaf..b533b12 100644 --- a/src/components/Cropper/src/CopperModal.vue +++ b/src/components/Cropper/src/CopperModal.vue @@ -22,7 +22,7 @@ const props = defineProps({ const emit = defineEmits(['uploadSuccess', 'uploadError', 'register']) -interface apiFunParams { file: Blob; name: string; filename: string } +interface apiFunParams { file: Blob, name: string, filename: string } let filename = '' const src = ref(props.src || '') diff --git a/src/components/Cropper/src/CropperAvatar.vue b/src/components/Cropper/src/CropperAvatar.vue index d9fd18c..0d565a5 100644 --- a/src/components/Cropper/src/CropperAvatar.vue +++ b/src/components/Cropper/src/CropperAvatar.vue @@ -19,7 +19,7 @@ const props = defineProps({ btnProps: { type: Object as PropType }, btnText: { type: String, default: '' }, uploadApi: { - type: Function as PropType<({ file, name }: { file: Blob; name: string }) => Promise>, + type: Function as PropType<({ file, name }: { file: Blob, name: string }) => Promise>, }, size: { type: Number, default: 5 }, }) diff --git a/src/components/Drawer/src/typing.ts b/src/components/Drawer/src/typing.ts index 836f8b8..127d99d 100644 --- a/src/components/Drawer/src/typing.ts +++ b/src/components/Drawer/src/typing.ts @@ -52,13 +52,13 @@ export interface DrawerFooterProps { * The ok button props, follow jsx rules * @type object */ - okButtonProps: { props: ButtonProps; on: object } + okButtonProps: { props: ButtonProps, on: object } /** * The cancel button props, follow jsx rules * @type object */ - cancelButtonProps: { props: ButtonProps; on: object } + cancelButtonProps: { props: ButtonProps, on: object } /** * Whether to apply loading visual effect for OK button or not * @default false diff --git a/src/components/Drawer/src/useDrawer.ts b/src/components/Drawer/src/useDrawer.ts index eced9aa..31b030c 100644 --- a/src/components/Drawer/src/useDrawer.ts +++ b/src/components/Drawer/src/useDrawer.ts @@ -23,11 +23,11 @@ export function useDrawer(): UseDrawerReturnType { function register(drawerInstance: DrawerInstance, uuid: number) { isProdMode() - && tryOnUnmounted(() => { - drawer.value = null - loaded.value = null - dataTransferRef[unref(uid)] = null - }) + && tryOnUnmounted(() => { + drawer.value = null + loaded.value = null + dataTransferRef[unref(uid)] = null + }) if (unref(loaded) && isProdMode() && drawerInstance === unref(drawer)) return @@ -101,9 +101,9 @@ export function useDrawerInner(callbackFn?: Fn): UseDrawerInnerReturnType { const register = (modalInstance: DrawerInstance, uuid: number) => { isProdMode() - && tryOnUnmounted(() => { - drawerInstanceRef.value = null - }) + && tryOnUnmounted(() => { + drawerInstanceRef.value = null + }) uidRef.value = uuid drawerInstanceRef.value = modalInstance diff --git a/src/components/Form/src/BasicForm.vue b/src/components/Form/src/BasicForm.vue index 0368336..23a40b6 100644 --- a/src/components/Form/src/BasicForm.vue +++ b/src/components/Form/src/BasicForm.vue @@ -88,9 +88,9 @@ const getSchema = computed((): FormSchema[] => { // handle date type if ( isHandleDateDefaultValue - && defaultValue - && component - && dateItemType.includes(component) + && defaultValue + && component + && dateItemType.includes(component) ) { if (!Array.isArray(defaultValue)) { schema.defaultValue = valueFormat diff --git a/src/components/Form/src/components/ApiRadioGroup.vue b/src/components/Form/src/components/ApiRadioGroup.vue index c699024..ea8793b 100644 --- a/src/components/Form/src/components/ApiRadioGroup.vue +++ b/src/components/Form/src/components/ApiRadioGroup.vue @@ -11,7 +11,7 @@ import { useRuleFormItem } from '@/hooks/component/useFormItem' import { useAttrs } from '@/hooks/core/useAttrs' import { propTypes } from '@/utils/propTypes' -interface OptionsItem { label: string; value: string | number | boolean; disabled?: boolean; [name: string]: any } +interface OptionsItem { label: string, value: string | number | boolean, disabled?: boolean, [name: string]: any } defineOptions({ name: 'ApiRadioGroup' }) diff --git a/src/components/Form/src/components/ApiSelect.vue b/src/components/Form/src/components/ApiSelect.vue index ec055f8..b3c28fe 100644 --- a/src/components/Form/src/components/ApiSelect.vue +++ b/src/components/Form/src/components/ApiSelect.vue @@ -10,7 +10,7 @@ import { useRuleFormItem } from '@/hooks/component/useFormItem' import { useI18n } from '@/hooks/web/useI18n' import { propTypes } from '@/utils/propTypes' -interface OptionsItem { label: string; value: string; disabled?: boolean } +interface OptionsItem { label: string, value: string, disabled?: boolean } defineOptions({ name: 'ApiSelect', inheritAttrs: false }) diff --git a/src/components/Form/src/components/FormItem.vue b/src/components/Form/src/components/FormItem.vue index fcd1d79..65e46b6 100644 --- a/src/components/Form/src/components/FormItem.vue +++ b/src/components/Form/src/components/FormItem.vue @@ -108,7 +108,7 @@ export default defineComponent({ return disabled }) - function getShow(): { isShow: boolean; isIfShow: boolean } { + function getShow(): { isShow: boolean, isIfShow: boolean } { const { show, ifShow } = props.schema const { showAdvancedButton } = props.formProps const itemIsAdvanced = showAdvancedButton @@ -360,10 +360,10 @@ export default defineComponent({ // TODO 自定义组件验证会出现问题,因此这里框架默认将自定义组件设置手动触发验证,如果其他组件还有此问题请手动设置autoLink=false if (component && NO_AUTO_LINK_COMPONENTS.includes(component)) { props.schema - && (props.schema.itemProps! = { - autoLink: false, - ...props.schema.itemProps, - }) + && (props.schema.itemProps! = { + autoLink: false, + ...props.schema.itemProps, + }) } return ( diff --git a/src/components/Form/src/components/RadioButtonGroup.vue b/src/components/Form/src/components/RadioButtonGroup.vue index 26c6985..a14931c 100644 --- a/src/components/Form/src/components/RadioButtonGroup.vue +++ b/src/components/Form/src/components/RadioButtonGroup.vue @@ -9,7 +9,7 @@ import { isString } from '@/utils/is' import { useRuleFormItem } from '@/hooks/component/useFormItem' import { useAttrs } from '@/hooks/core/useAttrs' -interface OptionsItem { label: string; value: string | number | boolean; disabled?: boolean } +interface OptionsItem { label: string, value: string | number | boolean, disabled?: boolean } type RadioItem = string | OptionsItem defineOptions({ name: 'RadioButtonGroup' }) diff --git a/src/components/Form/src/hooks/useForm.ts b/src/components/Form/src/hooks/useForm.ts index eb5fccd..c2f6bd2 100644 --- a/src/components/Form/src/hooks/useForm.ts +++ b/src/components/Form/src/hooks/useForm.ts @@ -25,10 +25,10 @@ export function useForm(props?: Props): UseFormReturnType { function register(instance: FormActionType) { isProdMode() - && onUnmounted(() => { - formRef.value = null - loadedRef.value = null - }) + && onUnmounted(() => { + formRef.value = null + loadedRef.value = null + }) if (unref(loadedRef) && isProdMode() && instance === unref(formRef)) return diff --git a/src/components/Form/src/hooks/useFormEvents.ts b/src/components/Form/src/hooks/useFormEvents.ts index 698bc9f..e66b860 100644 --- a/src/components/Form/src/hooks/useFormEvents.ts +++ b/src/components/Form/src/hooks/useFormEvents.ts @@ -311,8 +311,8 @@ export function useFormEvents({ && item.field && !isNil(item.defaultValue) && (!(item.field in currentFieldsValue) - || isNil(currentFieldsValue[item.field]) - || isEmpty(currentFieldsValue[item.field])) + || isNil(currentFieldsValue[item.field]) + || isEmpty(currentFieldsValue[item.field])) ) obj[item.field] = item.defaultValue }) diff --git a/src/components/Form/src/types/form.ts b/src/components/Form/src/types/form.ts index 6dfecbb..f7ae247 100644 --- a/src/components/Form/src/types/form.ts +++ b/src/components/Form/src/types/form.ts @@ -144,9 +144,9 @@ interface BaseFormSchema { subLabel?: string // Help text on the right side of the text helpMessage?: - | string - | string[] - | ((renderCallbackParams: RenderCallbackParams) => string | string[]) + | string + | string[] + | ((renderCallbackParams: RenderCallbackParams) => string | string[]) // BaseHelp component props helpComponentProps?: Partial // Label width, if it is passed, the labelCol and WrapperCol configured by itemProps will be invalid diff --git a/src/components/Form/src/types/index.ts b/src/components/Form/src/types/index.ts index 5bc05cf..e77c37e 100644 --- a/src/components/Form/src/types/index.ts +++ b/src/components/Form/src/types/index.ts @@ -47,37 +47,37 @@ export interface ColEx { * <576px and also default setting, could be a span value or an object containing above props * @type { span: ColSpanType, offset: ColSpanType } | ColSpanType */ - xs?: { span: ColSpanType; offset: ColSpanType } | ColSpanType + xs?: { span: ColSpanType, offset: ColSpanType } | ColSpanType /** * ≥576px, could be a span value or an object containing above props * @type { span: ColSpanType, offset: ColSpanType } | ColSpanType */ - sm?: { span: ColSpanType; offset: ColSpanType } | ColSpanType + sm?: { span: ColSpanType, offset: ColSpanType } | ColSpanType /** * ≥768px, could be a span value or an object containing above props * @type { span: ColSpanType, offset: ColSpanType } | ColSpanType */ - md?: { span: ColSpanType; offset: ColSpanType } | ColSpanType + md?: { span: ColSpanType, offset: ColSpanType } | ColSpanType /** * ≥992px, could be a span value or an object containing above props * @type { span: ColSpanType, offset: ColSpanType } | ColSpanType */ - lg?: { span: ColSpanType; offset: ColSpanType } | ColSpanType + lg?: { span: ColSpanType, offset: ColSpanType } | ColSpanType /** * ≥1200px, could be a span value or an object containing above props * @type { span: ColSpanType, offset: ColSpanType } | ColSpanType */ - xl?: { span: ColSpanType; offset: ColSpanType } | ColSpanType + xl?: { span: ColSpanType, offset: ColSpanType } | ColSpanType /** * ≥1600px, could be a span value or an object containing above props * @type { span: ColSpanType, offset: ColSpanType } | ColSpanType */ - xxl?: { span: ColSpanType; offset: ColSpanType } | ColSpanType + xxl?: { span: ColSpanType, offset: ColSpanType } | ColSpanType } export type ComponentType = diff --git a/src/components/FormDesign/src/components/VFormDesign/components/ComponentProps.vue b/src/components/FormDesign/src/components/VFormDesign/components/ComponentProps.vue index dda6ded..63071f4 100644 --- a/src/components/FormDesign/src/components/VFormDesign/components/ComponentProps.vue +++ b/src/components/FormDesign/src/components/VFormDesign/components/ComponentProps.vue @@ -33,12 +33,12 @@ watch( () => formConfig.value.currentItem?.field, (_newValue, oldValue) => { formConfig.value.schemas - && formItemsForEach(formConfig.value.schemas, (item) => { - if (item.link) { - const index = item.link.findIndex(linkItem => linkItem === oldValue) - index !== -1 && remove(item.link, index) - } - }) + && formItemsForEach(formConfig.value.schemas, (item) => { + if (item.link) { + const index = item.link.findIndex(linkItem => linkItem === oldValue) + index !== -1 && remove(item.link, index) + } + }) }, ) @@ -75,18 +75,18 @@ watch( }) baseComponentAttrs[formConfig.value.currentItem!.component] - && baseComponentAttrs[formConfig.value.currentItem!.component].forEach(async (item) => { - if (item.component) { - if (['Switch', 'Checkbox', 'Radio'].includes(item.component)) { - item.category = 'control' - allOptions.value.push(item) - } - else { - item.category = 'input' - allOptions.value.push(item) - } + && baseComponentAttrs[formConfig.value.currentItem!.component].forEach(async (item) => { + if (item.component) { + if (['Switch', 'Checkbox', 'Radio'].includes(item.component)) { + item.category = 'control' + allOptions.value.push(item) } - }) + else { + item.category = 'input' + allOptions.value.push(item) + } + } + }) }, { immediate: true, diff --git a/src/components/FormDesign/src/components/VFormDesign/components/FormNodeOperate.vue b/src/components/FormDesign/src/components/VFormDesign/components/FormNodeOperate.vue index 70d6bd3..91a8169 100644 --- a/src/components/FormDesign/src/components/VFormDesign/components/FormNodeOperate.vue +++ b/src/components/FormDesign/src/components/VFormDesign/components/FormNodeOperate.vue @@ -33,7 +33,7 @@ function handleDelete() { const { component, key } = formItem; // 处理栅格和标签页布局 ['Grid', 'Tabs'].includes(component) - && formItem.columns?.forEach(item => traverse(item.children)) + && formItem.columns?.forEach(item => traverse(item.children)) if (key === props.currentItem.key) { const params: IVFormComponent = schemas.length === 1 diff --git a/src/components/FormDesign/src/components/VFormDesign/components/ImportJsonModal.vue b/src/components/FormDesign/src/components/VFormDesign/components/ImportJsonModal.vue index 8a5f270..6b457ae 100644 --- a/src/components/FormDesign/src/components/VFormDesign/components/ImportJsonModal.vue +++ b/src/components/FormDesign/src/components/VFormDesign/components/ImportJsonModal.vue @@ -56,9 +56,9 @@ function handleImportJson() { try { const editorJsonData = JSON.parse(state.json) as IFormConfig editorJsonData.schemas - && formItemsForEach(editorJsonData.schemas, (formItem) => { - generateKey(formItem) - }) + && formItemsForEach(editorJsonData.schemas, (formItem) => { + generateKey(formItem) + }) formDesignMethods.setFormConfig({ ...editorJsonData, activeKey: 1, diff --git a/src/components/FormDesign/src/components/VFormDesign/components/LayoutItem.vue b/src/components/FormDesign/src/components/VFormDesign/components/LayoutItem.vue index f6b8b84..64f9f83 100644 --- a/src/components/FormDesign/src/components/VFormDesign/components/LayoutItem.vue +++ b/src/components/FormDesign/src/components/VFormDesign/components/LayoutItem.vue @@ -30,18 +30,18 @@ const emit = defineEmits(['dragStart', 'handleColAdd', 'handle-copy', 'handle-de const Draggable = draggable -const { formDesignMethods: { handleSetSelectItem }, formConfig } = useFormDesignState() +const { formDesignMethods: { handleSetSelectItem } } = useFormDesignState() const colPropsComputed = computed(() => { const { colProps = {} } = props.schema return colProps }) -const list1 = computed(() => props.schema.columns) +// const list1 = computed(() => props.schema.columns) -// 计算布局元素,水平模式下为ACol,非水平模式下为div -const layoutTag = computed(() => { - return formConfig.value.layout === 'horizontal' ? 'Col' : 'div' -}) +// // 计算布局元素,水平模式下为ACol,非水平模式下为div +// const layoutTag = computed(() => { +// return formConfig.value.layout === 'horizontal' ? 'Col' : 'div' +// })