diff --git a/.prettierrc.js b/.prettierrc.js index 775d970..d595487 100644 --- a/.prettierrc.js +++ b/.prettierrc.js @@ -1,9 +1,39 @@ -// @ts-check +// @see: https://www.prettier.cn -/** @type {import("prettier").Config} */ export default { - bracketSpacing: true, - singleQuote: false, - arrowParens: "avoid", - trailingComma: "none" + // 超过最大值换行 + printWidth: 200, + // 缩进字节数 + tabWidth: 1, + // 使用制表符而不是空格缩进行 + useTabs: true, + // 结尾不用分号(true有,false没有) + semi: true, + // 使用单引号(true单引号,false双引号) + singleQuote: true, + // 更改引用对象属性的时间 可选值"" + quoteProps: 'as-needed', + // 在对象,数组括号与文字之间加空格 "{ foo: bar }" + bracketSpacing: true, + // 多行时尽可能打印尾随逗号。(例如,单行数组永远不会出现逗号结尾。) 可选值"",默认none + trailingComma: 'all', + // 在JSX中使用单引号而不是双引号 + jsxSingleQuote: true, + // (x) => {} 箭头函数参数只有一个时是否要有小括号。avoid:省略括号 ,always:不省略括号 + arrowParens: 'avoid', + // 如果文件顶部已经有一个 doclock,这个选项将新建一行注释,并打上@format标记。 + insertPragma: false, + // 指定要使用的解析器,不需要写文件开头的 @prettier + requirePragma: false, + // 默认值。因为使用了一些折行敏感型的渲染器(如GitHub comment)而按照markdown文本样式进行折行 + proseWrap: 'preserve', + // 在html中空格是否是敏感的 "css" - 遵守CSS显示属性的默认值, "strict" - 空格被认为是敏感的 ,"ignore" - 空格被认为是不敏感的 + htmlWhitespaceSensitivity: 'css', + // 换行符使用 lf 结尾是 可选值"" + endOfLine: 'auto', + // 这两个选项可用于格式化以给定字符偏移量(分别包括和不包括)开始和结束的代码 + rangeStart: 0, + rangeEnd: Infinity, + + vueIndentScriptAndStyle: false, // Vue文件脚本和样式标签缩进 }; diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index cd6d51a..0000000 --- a/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM node:20-alpine as build-stage - -WORKDIR /app -RUN corepack enable -RUN corepack prepare pnpm@latest --activate - -RUN npm config set registry https://registry.npmmirror.com - -COPY .npmrc package.json pnpm-lock.yaml ./ -RUN pnpm install --frozen-lockfile - -COPY . . -RUN pnpm build - -FROM nginx:stable-alpine as production-stage - -COPY --from=build-stage /app/dist /usr/share/nginx/html -EXPOSE 80 - -CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/build/cdn.ts b/build/cdn.ts index 9e4bfe0..d84366c 100644 --- a/build/cdn.ts +++ b/build/cdn.ts @@ -1,4 +1,4 @@ -import { Plugin as importToCDN } from "vite-plugin-cdn-import"; +import { Plugin as importToCDN } from 'vite-plugin-cdn-import'; /** * @description 打包时采用`cdn`模式,仅限外网使用(默认不采用,如果需要采用cdn模式,请在 .env.production 文件,将 VITE_CDN 设置成true) @@ -6,55 +6,50 @@ import { Plugin as importToCDN } from "vite-plugin-cdn-import"; * 注意:上面提到的仅限外网使用也不是完全肯定的,如果你们公司内网部署的有相关js、css文件,也可以将下面配置对应改一下,整一套内网版cdn */ export const cdn = importToCDN({ - //(prodUrl解释: name: 对应下面modules的name,version: 自动读取本地package.json中dependencies依赖中对应包的版本号,path: 对应下面modules的path,当然也可写完整路径,会替换prodUrl) - prodUrl: "https://cdn.bootcdn.net/ajax/libs/{name}/{version}/{path}", - modules: [ - { - name: "vue", - var: "Vue", - path: "vue.global.prod.min.js" - }, - { - name: "vue-router", - var: "VueRouter", - path: "vue-router.global.min.js" - }, - { - name: "vue-i18n", - var: "VueI18n", - path: "vue-i18n.runtime.global.prod.min.js" - }, - // 项目中没有直接安装vue-demi,但是pinia用到了,所以需要在引入pinia前引入vue-demi(https://github.com/vuejs/pinia/blob/v2/packages/pinia/package.json#L77) - { - name: "vue-demi", - var: "VueDemi", - path: "index.iife.min.js" - }, - { - name: "pinia", - var: "Pinia", - path: "pinia.iife.min.js" - }, - { - name: "element-plus", - var: "ElementPlus", - path: "index.full.min.js", - css: "index.min.css" - }, - { - name: "axios", - var: "axios", - path: "axios.min.js" - }, - { - name: "dayjs", - var: "dayjs", - path: "dayjs.min.js" - }, - { - name: "echarts", - var: "echarts", - path: "echarts.min.js" - } - ] + //(prodUrl解释: name: 对应下面modules的name,version: 自动读取本地package.json中dependencies依赖中对应包的版本号,path: 对应下面modules的path,当然也可写完整路径,会替换prodUrl) + prodUrl: 'https://cdn.bootcdn.net/ajax/libs/{name}/{version}/{path}', + modules: [ + { + name: 'vue', + var: 'Vue', + path: 'vue.global.prod.min.js', + }, + { + name: 'vue-router', + var: 'VueRouter', + path: 'vue-router.global.min.js', + }, + // 项目中没有直接安装vue-demi,但是pinia用到了,所以需要在引入pinia前引入vue-demi(https://github.com/vuejs/pinia/blob/v2/packages/pinia/package.json#L77) + { + name: 'vue-demi', + var: 'VueDemi', + path: 'index.iife.min.js', + }, + { + name: 'pinia', + var: 'Pinia', + path: 'pinia.iife.min.js', + }, + { + name: 'element-plus', + var: 'ElementPlus', + path: 'index.full.min.js', + css: 'index.min.css', + }, + { + name: 'axios', + var: 'axios', + path: 'axios.min.js', + }, + { + name: 'dayjs', + var: 'dayjs', + path: 'dayjs.min.js', + }, + { + name: 'echarts', + var: 'echarts', + path: 'echarts.min.js', + }, + ], }); diff --git a/build/optimize.ts b/build/optimize.ts index 5f59491..bf4c64d 100644 --- a/build/optimize.ts +++ b/build/optimize.ts @@ -4,31 +4,12 @@ * 尤其当您禁用浏览器缓存时(这种情况只应该发生在调试阶段)必须将对应模块加入到 include里,否则会遇到开发环境切换页面卡顿的问题(vite 会认为它是一个新的依赖包会重新加载并强制刷新页面),因为它既无法使用浏览器缓存,又没有在本地 node_modules/.vite 里缓存 * 温馨提示:如果您使用的第三方库是全局引入,也就是引入到 src/main.ts 文件里,就不需要再添加到 include 里了,因为 vite 会自动将它们缓存到 node_modules/.vite */ -const include = [ - "qs", - "mitt", - "dayjs", - "axios", - "pinia", - "vue-i18n", - "vue-types", - "js-cookie", - "vue-tippy", - "pinyin-pro", - "sortablejs", - "@vueuse/core", - "@pureadmin/utils", - "responsive-storage" -]; +const include = ['qs', 'mitt', 'dayjs', 'axios', 'pinia', 'vue-types', 'js-cookie', 'vue-tippy', 'pinyin-pro', 'sortablejs', '@vueuse/core', '@pureadmin/utils', 'responsive-storage']; /** * 在预构建中强制排除的依赖项 * 温馨提示:所有以 `@iconify-icons/` 开头引入的的本地图标模块,都应该加入到下面的 `exclude` 里,因为平台推荐的使用方式是哪里需要哪里引入而且都是单个的引入,不需要预构建,直接让浏览器加载就好 */ -const exclude = [ - "@iconify-icons/ep", - "@iconify-icons/ri", - "@pureadmin/theme/dist/browser-utils" -]; +const exclude = ['@iconify-icons/ep', '@iconify-icons/ri', '@pureadmin/theme/dist/browser-utils']; export { include, exclude }; diff --git a/build/plugins.ts b/build/plugins.ts index 591a2bb..ba31546 100644 --- a/build/plugins.ts +++ b/build/plugins.ts @@ -1,66 +1,54 @@ -import { cdn } from "./cdn"; -import vue from "@vitejs/plugin-vue"; -import { pathResolve } from "./utils"; -import { viteBuildInfo } from "./info"; -import svgLoader from "vite-svg-loader"; -import type { PluginOption } from "vite"; -import vueJsx from "@vitejs/plugin-vue-jsx"; -import Inspector from "vite-plugin-vue-inspector"; -import { configCompressPlugin } from "./compress"; -import removeNoMatch from "vite-plugin-router-warn"; -import { visualizer } from "rollup-plugin-visualizer"; -import removeConsole from "vite-plugin-remove-console"; -import { themePreprocessorPlugin } from "@pureadmin/theme"; -import VueI18nPlugin from "@intlify/unplugin-vue-i18n/vite"; -import { genScssMultipleScopeVars } from "../src/layout/theme"; -import { vitePluginFakeServer } from "vite-plugin-fake-server"; +import { cdn } from './cdn'; +import vue from '@vitejs/plugin-vue'; +import { viteBuildInfo } from './info'; +import svgLoader from 'vite-svg-loader'; +import type { PluginOption } from 'vite'; +import vueJsx from '@vitejs/plugin-vue-jsx'; +import Inspector from 'vite-plugin-vue-inspector'; +import { configCompressPlugin } from './compress'; +import removeNoMatch from 'vite-plugin-router-warn'; +import { visualizer } from 'rollup-plugin-visualizer'; +import removeConsole from 'vite-plugin-remove-console'; +import { themePreprocessorPlugin } from '@pureadmin/theme'; +import { genScssMultipleScopeVars } from '../src/layout/theme'; +import { vitePluginFakeServer } from 'vite-plugin-fake-server'; -export function getPluginsList( - VITE_CDN: boolean, - VITE_COMPRESSION: ViteCompression, - VITE_PORT: number -): PluginOption[] { - const lifecycle = process.env.npm_lifecycle_event; - return [ - vue(), - // jsx、tsx语法支持 - vueJsx(), - VueI18nPlugin({ - jitCompilation: false, - include: [pathResolve("../locales/**")] - }), - // 按下Command(⌘)+Shift(⇧),然后点击页面元素会自动打开本地IDE并跳转到对应的代码位置 - Inspector(), - viteBuildInfo(VITE_PORT), - /** - * 开发环境下移除非必要的vue-router动态路由警告No match found for location with path - * 非必要具体看 https://github.com/vuejs/router/issues/521 和 https://github.com/vuejs/router/issues/359 - * vite-plugin-router-warn只在开发环境下启用,只处理vue-router文件并且只在服务启动或重启时运行一次,性能消耗可忽略不计 - */ - removeNoMatch(), - // mock支持 - vitePluginFakeServer({ - logger: false, - include: "mock", - infixName: false, - enableProd: true - }), - // 自定义主题 - themePreprocessorPlugin({ - scss: { - multipleScopeVars: genScssMultipleScopeVars(), - extract: true - } - }), - // svg组件化支持 - svgLoader(), - VITE_CDN ? cdn : null, - configCompressPlugin(VITE_COMPRESSION), - // 线上环境删除console - removeConsole({ external: ["src/assets/iconfont/iconfont.js"] }), - // 打包分析 - lifecycle === "report" - ? visualizer({ open: true, brotliSize: true, filename: "report.html" }) - : (null as any) - ]; +export function getPluginsList(VITE_CDN: boolean, VITE_COMPRESSION: ViteCompression, VITE_PORT: number): PluginOption[] { + const lifecycle = process.env.npm_lifecycle_event; + return [ + vue(), + // jsx、tsx语法支持 + vueJsx(), + // 按下Command(⌘)+Shift(⇧),然后点击页面元素会自动打开本地IDE并跳转到对应的代码位置 + Inspector(), + viteBuildInfo(VITE_PORT), + /** + * 开发环境下移除非必要的vue-router动态路由警告No match found for location with path + * 非必要具体看 https://github.com/vuejs/router/issues/521 和 https://github.com/vuejs/router/issues/359 + * vite-plugin-router-warn只在开发环境下启用,只处理vue-router文件并且只在服务启动或重启时运行一次,性能消耗可忽略不计 + */ + removeNoMatch(), + // mock支持 + vitePluginFakeServer({ + logger: false, + include: 'mock', + infixName: false, + enableProd: true, + }), + // 自定义主题 + themePreprocessorPlugin({ + scss: { + multipleScopeVars: genScssMultipleScopeVars(), + extract: true, + }, + }), + // svg组件化支持 + svgLoader(), + VITE_CDN ? cdn : null, + configCompressPlugin(VITE_COMPRESSION), + // 线上环境删除console + removeConsole({ external: ['src/assets/iconfont/iconfont.js'] }), + // 打包分析 + lifecycle === 'report' ? visualizer({ open: true, brotliSize: true, filename: 'report.html' }) : (null as any), + ]; } diff --git a/eslint.config.js b/eslint.config.js index b4d48fb..d1b0c63 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1,181 +1,176 @@ -import js from "@eslint/js"; -import pluginVue from "eslint-plugin-vue"; -import * as parserVue from "vue-eslint-parser"; -import configPrettier from "eslint-config-prettier"; -import pluginPrettier from "eslint-plugin-prettier"; -import { defineFlatConfig } from "eslint-define-config"; -import * as parserTypeScript from "@typescript-eslint/parser"; -import pluginTypeScript from "@typescript-eslint/eslint-plugin"; +import js from '@eslint/js'; +import pluginTypeScript from '@typescript-eslint/eslint-plugin'; +import * as parserTypeScript from '@typescript-eslint/parser'; +import configPrettier from 'eslint-config-prettier'; +import { defineFlatConfig } from 'eslint-define-config'; +import pluginPrettier from 'eslint-plugin-prettier'; +import pluginVue from 'eslint-plugin-vue'; +import * as parserVue from 'vue-eslint-parser'; export default defineFlatConfig([ - { - ...js.configs.recommended, - ignores: [ - "**/.*", - "dist/*", - "*.d.ts", - "public/*", - "src/assets/**", - "src/**/iconfont/**" - ], - languageOptions: { - globals: { - // index.d.ts - RefType: "readonly", - EmitType: "readonly", - TargetContext: "readonly", - ComponentRef: "readonly", - ElRef: "readonly", - ForDataType: "readonly", - AnyFunction: "readonly", - PropType: "readonly", - Writable: "readonly", - Nullable: "readonly", - NonNullable: "readonly", - Recordable: "readonly", - ReadonlyRecordable: "readonly", - Indexable: "readonly", - DeepPartial: "readonly", - Without: "readonly", - Exclusive: "readonly", - TimeoutHandle: "readonly", - IntervalHandle: "readonly", - Effect: "readonly", - ChangeEvent: "readonly", - WheelEvent: "readonly", - ImportMetaEnv: "readonly", - Fn: "readonly", - PromiseFn: "readonly", - ComponentElRef: "readonly", - parseInt: "readonly", - parseFloat: "readonly" - } - }, - plugins: { - prettier: pluginPrettier - }, - rules: { - ...configPrettier.rules, - ...pluginPrettier.configs.recommended.rules, - "no-debugger": "off", - "no-unused-vars": [ - "error", - { - argsIgnorePattern: "^_", - varsIgnorePattern: "^_" - } - ], - "prettier/prettier": [ - "error", - { - endOfLine: "auto" - } - ] - } - }, - { - files: ["**/*.?([cm])ts", "**/*.?([cm])tsx"], - languageOptions: { - parser: parserTypeScript, - parserOptions: { - sourceType: "module" - } - }, - plugins: { - "@typescript-eslint": pluginTypeScript - }, - rules: { - ...pluginTypeScript.configs.strict.rules, - "@typescript-eslint/ban-types": "off", - "@typescript-eslint/no-redeclare": "error", - "@typescript-eslint/ban-ts-comment": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/prefer-as-const": "warn", - "@typescript-eslint/no-empty-function": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/no-import-type-side-effects": "error", - "@typescript-eslint/explicit-module-boundary-types": "off", - "@typescript-eslint/consistent-type-imports": [ - "error", - { disallowTypeAnnotations: false, fixStyle: "inline-type-imports" } - ], - "@typescript-eslint/prefer-literal-enum-member": [ - "error", - { allowBitwiseExpressions: true } - ], - "@typescript-eslint/no-unused-vars": [ - "error", - { - argsIgnorePattern: "^_", - varsIgnorePattern: "^_" - } - ] - } - }, - { - files: ["**/*.d.ts"], - rules: { - "eslint-comments/no-unlimited-disable": "off", - "import/no-duplicates": "off", - "unused-imports/no-unused-vars": "off" - } - }, - { - files: ["**/*.?([cm])js"], - rules: { - "@typescript-eslint/no-require-imports": "off", - "@typescript-eslint/no-var-requires": "off" - } - }, - { - files: ["**/*.vue"], - languageOptions: { - globals: { - $: "readonly", - $$: "readonly", - $computed: "readonly", - $customRef: "readonly", - $ref: "readonly", - $shallowRef: "readonly", - $toRef: "readonly" - }, - parser: parserVue, - parserOptions: { - ecmaFeatures: { - jsx: true - }, - extraFileExtensions: [".vue"], - parser: "@typescript-eslint/parser", - sourceType: "module" - } - }, - plugins: { - vue: pluginVue - }, - processor: pluginVue.processors[".vue"], - rules: { - ...pluginVue.configs.base.rules, - ...pluginVue.configs["vue3-essential"].rules, - ...pluginVue.configs["vue3-recommended"].rules, - "no-undef": "off", - "no-unused-vars": "off", - "vue/no-v-html": "off", - "vue/require-default-prop": "off", - "vue/require-explicit-emits": "off", - "vue/multi-word-component-names": "off", - "vue/no-setup-props-reactivity-loss": "off", - "vue/html-self-closing": [ - "error", - { - html: { - void: "always", - normal: "always", - component: "always" - }, - svg: "always", - math: "always" - } - ] - } - } + { + ...js.configs.recommended, + ignores: ['**/.*', 'dist/*', '*.d.ts', 'public/*', 'src/assets/**', 'src/**/iconfont/**'], + languageOptions: { + globals: { + // index.d.ts + RefType: 'readonly', + EmitType: 'readonly', + TargetContext: 'readonly', + ComponentRef: 'readonly', + ElRef: 'readonly', + ForDataType: 'readonly', + AnyFunction: 'readonly', + PropType: 'readonly', + Writable: 'readonly', + Nullable: 'readonly', + NonNullable: 'readonly', + Recordable: 'readonly', + ReadonlyRecordable: 'readonly', + Indexable: 'readonly', + DeepPartial: 'readonly', + Without: 'readonly', + Exclusive: 'readonly', + TimeoutHandle: 'readonly', + IntervalHandle: 'readonly', + Effect: 'readonly', + ChangeEvent: 'readonly', + WheelEvent: 'readonly', + ImportMetaEnv: 'readonly', + Fn: 'readonly', + PromiseFn: 'readonly', + ComponentElRef: 'readonly', + parseInt: 'readonly', + parseFloat: 'readonly', + }, + }, + plugins: { + prettier: pluginPrettier, + }, + rules: { + ...configPrettier.rules, + ...pluginPrettier.configs.recommended.rules, + 'no-debugger': 'off', + + 'no-unused-vars': [ + 'error', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + }, + ], + 'prettier/prettier': [ + 'error', + { + endOfLine: 'auto', + }, + ], + }, + }, + { + files: ['**/*.?([cm])ts', '**/*.?([cm])tsx'], + languageOptions: { + parser: parserTypeScript, + parserOptions: { + sourceType: 'module', + }, + }, + plugins: { + '@typescript-eslint': pluginTypeScript, + }, + rules: { + ...pluginTypeScript.configs.strict.rules, + '@typescript-eslint/ban-types': 'off', + '@typescript-eslint/no-redeclare': 'error', + '@typescript-eslint/ban-ts-comment': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/prefer-as-const': 'warn', + '@typescript-eslint/no-empty-function': 'off', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/no-import-type-side-effects': 'error', + '@typescript-eslint/explicit-module-boundary-types': 'off', + '@typescript-eslint/consistent-type-imports': [ + 'error', + { + disallowTypeAnnotations: false, + fixStyle: 'inline-type-imports', + }, + ], + '@typescript-eslint/prefer-literal-enum-member': ['error', { allowBitwiseExpressions: true }], + '@typescript-eslint/no-unused-vars': [ + 'error', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + }, + ], + }, + }, + { + files: ['**/*.d.ts'], + rules: { + 'eslint-comments/no-unlimited-disable': 'off', + 'import/no-duplicates': 'off', + 'unused-imports/no-unused-vars': 'off', + }, + }, + { + files: ['**/*.?([cm])js'], + rules: { + '@typescript-eslint/no-require-imports': 'off', + '@typescript-eslint/no-var-requires': 'off', + }, + }, + { + files: ['**/*.vue'], + languageOptions: { + globals: { + $: 'readonly', + $$: 'readonly', + $computed: 'readonly', + $customRef: 'readonly', + $ref: 'readonly', + $shallowRef: 'readonly', + $toRef: 'readonly', + }, + parser: parserVue, + parserOptions: { + ecmaFeatures: { + jsx: true, + }, + extraFileExtensions: ['.vue'], + parser: '@typescript-eslint/parser', + sourceType: 'module', + }, + }, + plugins: { + vue: pluginVue, + }, + processor: pluginVue.processors['.vue'], + rules: { + ...pluginVue.configs.base.rules, + ...pluginVue.configs['vue3-essential'].rules, + ...pluginVue.configs['vue3-recommended'].rules, + 'no-undef': 'off', + 'no-unused-vars': 'off', + 'vue/no-v-html': 'off', + 'vue/require-default-prop': 'off', + 'vue/require-explicit-emits': 'off', + 'vue/no-useless-template-attributes': 'off', + 'vue/multi-word-component-names': 'off', + 'vue/no-setup-props-reactivity-loss': 'off', + 'vue/html-self-closing': [ + 'error', + { + html: { + void: 'always', + normal: 'always', + component: 'always', + }, + svg: 'always', + math: 'always', + }, + ], + }, + }, ]); diff --git a/lint-staged.config.js b/lint-staged.config.js index cff5a83..6ddbfae 100644 --- a/lint-staged.config.js +++ b/lint-staged.config.js @@ -1,10 +1,9 @@ +// @ts-check export default { - "*.{js,jsx,ts,tsx}": ["eslint --fix", "prettier --write"], - "{!(package)*.json,*.code-snippets,.!(browserslist)*rc}": [ - "prettier --write--parser json" - ], - "package.json": ["prettier --write"], - "*.vue": ["eslint --fix", "prettier --write", "stylelint --fix"], - "*.{scss,less,styl,html}": ["stylelint --fix", "prettier --write"], - "*.md": ["prettier --write"] + '*.{js,jsx,ts,tsx}': ['eslint --fix', 'prettier --write'], + '{!(package)*.json,*.code-snippets,.!(browserslist)*rc}': ['prettier --write--parser json'], + 'package.json': ['prettier --write'], + '*.vue': ['eslint --fix', 'prettier --write', 'stylelint --fix'], + '*.{scss,less,styl,html}': ['stylelint --fix', 'prettier --write'], + '*.md': ['prettier --write'], }; diff --git a/package.json b/package.json index 1b66c8c..b1f893c 100644 --- a/package.json +++ b/package.json @@ -1,210 +1,208 @@ { - "name": "bunny-admin-element", - "version": "1.0.0", - "private": true, - "type": "module", - "keywords": [ - "bunny-admin-element", - "bunny-cli", - "element-plus", - "tailwindcss", - "typescript", - "pinia", - "vue3", - "vite", - "esm" - ], - "homepage": "https://gitee.com/BunnyBoss/bunny-admin-element-thin", - "repository": { - "type": "git", - "url": "https://gitee.com/BunnyBoss/bunny-admin-element-thin" - }, - "bugs": { - "url": "https://gitee.com/BunnyBoss/bunny-admin-element-thin/issues" - }, - "license": "MIT", - "author": { - "name": "Bunny0212", - "email": "1319900154@qq.com", - "url": "https://github.com/xiaoxian521" - }, - "scripts": { - "dev": "NODE_OPTIONS=--max-old-space-size=4096 vite", - "serve": "pnpm vite", - "start": "vite", - "build": "rimraf dist && NODE_OPTIONS=--max-old-space-size=8192 vite build && generate-version-file", - "build:staging": "rimraf dist && vite build --mode staging", - "report": "rimraf dist && vite build", - "preview": "vite preview", - "preview:build": "pnpm build && vite preview", - "typecheck": "tsc --noEmit && vue-tsc --noEmit --skipLibCheck", - "svgo": "svgo -f . -r", - "clean:cache": "rimraf .eslintcache && rimraf pnpm-lock.yaml && rimraf node_modules && pnpm store prune && pnpm install", - "lint:eslint": "eslint --cache --max-warnings 0 \"{src,mock,build}/**/*.{vue,js,ts,tsx}\" --fix", - "lint:prettier": "prettier --write \"src/**/*.{js,ts,json,tsx,css,scss,vue,html,md}\"", - "lint:stylelint": "stylelint --cache --fix \"**/*.{html,vue,css,scss}\" --cache-location node_modules/.cache/stylelint/", - "lint": "pnpm lint:eslint && pnpm lint:prettier && pnpm lint:stylelint", - "prepare": "husky install", - "preinstall": "npx only-allow pnpm", - "commit": "git pull && git add -A && git-cz && git push" - }, - "dependencies": { - "@amap/amap-jsapi-loader": "^1.0.1", - "@howdyjs/mouse-menu": "^2.1.3", - "@infectoone/vue-ganttastic": "^2.3.2", - "@logicflow/core": "^1.2.27", - "@logicflow/extension": "^1.2.27", - "@pureadmin/descriptions": "^1.2.1", - "@pureadmin/table": "^3.1.2", - "@pureadmin/utils": "^2.4.7", - "@vue-flow/background": "^1.3.0", - "@vue-flow/core": "^1.33.6", - "@vueuse/core": "^10.9.0", - "@vueuse/motion": "^2.1.0", - "@wangeditor/editor": "^5.1.23", - "@wangeditor/editor-for-vue": "^5.1.12", - "@zxcvbn-ts/core": "^3.0.4", - "animate.css": "^4.1.1", - "axios": "^1.6.8", - "china-area-data": "^5.0.1", - "cropperjs": "^1.6.2", - "dayjs": "^1.11.11", - "echarts": "^5.5.0", - "el-table-infinite-scroll": "^3.0.3", - "element-plus": "2.7.1", - "intro.js": "^7.2.0", - "js-cookie": "^3.0.5", - "jsbarcode": "^3.11.6", - "localforage": "^1.10.0", - "mint-filter": "^4.0.3", - "mitt": "^3.0.1", - "mqtt": "4.3.7", - "nprogress": "^0.2.0", - "path": "^0.12.7", - "pinia": "^2.1.7", - "pinia-plugin-persistedstate": "^3.2.1", - "pinyin-pro": "^3.20.4", - "plus-pro-components": "^0.1.1", - "qrcode": "^1.5.3", - "qs": "^6.12.1", - "responsive-storage": "^2.2.0", - "sortablejs": "^1.15.2", - "swiper": "^11.1.1", - "terser": "^5.31.0", - "typeit": "^8.8.3", - "v-contextmenu": "^3.2.0", - "v3-infinite-loading": "^1.3.1", - "version-rocket": "^1.7.1", - "vite-plugin-vue-inspector": "^5.1.3", - "vue": "^3.4.27", - "vue-i18n": "^9.13.1", - "vue-json-pretty": "^2.4.0", - "vue-pdf-embed": "^2.0.3", - "vue-router": "^4.3.2", - "vue-tippy": "^6.4.1", - "vue-types": "^5.1.2", - "vue-virtual-scroller": "2.0.0-beta.8", - "vue-waterfall-plugin-next": "^2.4.3", - "vue3-danmaku": "^1.6.0", - "vue3-puzzle-vcode": "^1.1.7", - "vuedraggable": "^4.1.0", - "vxe-table": "^4.6.9", - "wavesurfer.js": "^7.7.13", - "xgplayer": "^3.0.17", - "xlsx": "^0.18.5" - }, - "devDependencies": { - "@commitlint/cli": "^19.3.0", - "@commitlint/config-conventional": "^19.2.2", - "@commitlint/types": "^19.0.3", - "@eslint/js": "^9.2.0", - "@faker-js/faker": "^8.4.1", - "@iconify-icons/ep": "^1.2.12", - "@iconify-icons/ri": "^1.2.10", - "@iconify/vue": "^4.1.2", - "@intlify/unplugin-vue-i18n": "^4.0.0", - "@pureadmin/theme": "^3.2.0", - "@types/dagre": "^0.7.52", - "@types/gradient-string": "^1.1.6", - "@types/intro.js": "^5.1.5", - "@types/js-cookie": "^3.0.6", - "@types/node": "^20.12.11", - "@types/nprogress": "^0.2.3", - "@types/qrcode": "^1.5.5", - "@types/qs": "^6.9.15", - "@types/sortablejs": "^1.15.8", - "@typescript-eslint/eslint-plugin": "^7.8.0", - "@typescript-eslint/parser": "^7.8.0", - "@vitejs/plugin-vue": "^5.0.4", - "@vitejs/plugin-vue-jsx": "^3.1.0", - "autoprefixer": "^10.4.19", - "boxen": "^7.1.1", - "commitizen": "^4.2.4", - "commitlint": "^17.0.1", - "cssnano": "^7.0.1", - "cz-git": "^1.3.2", - "dagre": "^0.8.5", - "eslint": "^9.2.0", - "eslint-config-prettier": "^9.1.0", - "eslint-define-config": "^2.1.0", - "eslint-plugin-prettier": "^5.1.3", - "eslint-plugin-vue": "^9.25.0", - "gradient-string": "^2.0.2", - "husky": "^8.0.1", - "lint-staged": "^15.2.2", - "postcss": "^8.4.38", - "postcss-html": "^1.7.0", - "postcss-import": "^16.1.0", - "postcss-scss": "^4.0.9", - "prettier": "^3.2.5", - "rimraf": "^5.0.5", - "rollup-plugin-visualizer": "^5.12.0", - "sass": "^1.77.0", - "stylelint": "^16.5.0", - "stylelint-config-recess-order": "^5.0.1", - "stylelint-config-recommended-vue": "^1.5.0", - "stylelint-config-standard-scss": "^13.1.0", - "stylelint-prettier": "^5.0.0", - "svgo": "^3.3.0", - "tailwindcss": "^3.4.3", - "typescript": "^5.4.5", - "vite": "^5.2.11", - "vite-plugin-cdn-import": "^0.3.5", - "vite-plugin-compression": "^0.5.1", - "vite-plugin-fake-server": "^2.1.1", - "vite-plugin-remove-console": "^2.2.0", - "vite-plugin-router-warn": "^1.0.0", - "vite-svg-loader": "^5.1.0", - "vue-eslint-parser": "^9.4.2", - "vue-tsc": "^1.8.27" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0", - "pnpm": ">=9" - }, - "pnpm": { - "allowedDeprecatedVersions": { - "are-we-there-yet": "*", - "sourcemap-codec": "*", - "domexception": "*", - "w3c-hr-time": "*", - "inflight": "*", - "npmlog": "*", - "rimraf": "*", - "stable": "*", - "gauge": "*", - "abab": "*", - "glob": "*" - }, - "peerDependencyRules": { - "allowedVersions": { - "eslint": "9" - } - } - }, - "config": { - "commitizen": { - "path": "node_modules/cz-git" - } - } + "name": "bunny-admin-element", + "version": "1.0.0", + "private": true, + "type": "module", + "keywords": [ + "bunny-admin-element", + "bunny-cli", + "element-plus", + "tailwindcss", + "typescript", + "pinia", + "vue3", + "vite", + "esm" + ], + "homepage": "https://gitee.com/BunnyBoss/bunny-admin-element-thin", + "repository": { + "type": "git", + "url": "https://gitee.com/BunnyBoss/bunny-admin-element-thin" + }, + "bugs": { + "url": "https://gitee.com/BunnyBoss/bunny-admin-element-thin/issues" + }, + "license": "MIT", + "author": { + "name": "Bunny0212", + "email": "1319900154@qq.com", + "url": "https://github.com/xiaoxian521" + }, + "scripts": { + "dev": "NODE_OPTIONS=--max-old-space-size=4096 vite", + "serve": "pnpm vite", + "start": "vite", + "build": "rimraf dist && NODE_OPTIONS=--max-old-space-size=8192 vite build && generate-version-file", + "build:staging": "rimraf dist && vite build --mode staging", + "report": "rimraf dist && vite build", + "preview": "vite preview", + "preview:build": "pnpm build && vite preview", + "typecheck": "tsc --noEmit && vue-tsc --noEmit --skipLibCheck", + "svgo": "svgo -f . -r", + "clean:cache": "rimraf .eslintcache && rimraf pnpm-lock.yaml && rimraf node_modules && pnpm store prune && pnpm install", + "lint:eslint": "eslint --cache --max-warnings 0 \"{src,mock,build}/**/*.{vue,js,ts,tsx}\" --fix", + "lint:prettier": "prettier --write \"src/**/*.{js,ts,json,tsx,css,scss,vue,html,md}\"", + "lint:stylelint": "stylelint --cache --fix \"**/*.{html,vue,css,scss}\" --cache-location node_modules/.cache/stylelint/", + "lint": "pnpm lint:eslint && pnpm lint:prettier && pnpm lint:stylelint", + "prepare": "husky install", + "preinstall": "npx only-allow pnpm", + "commit": "git pull && git add -A && git-cz && git push" + }, + "dependencies": { + "@amap/amap-jsapi-loader": "^1.0.1", + "@howdyjs/mouse-menu": "^2.1.3", + "@infectoone/vue-ganttastic": "^2.3.2", + "@logicflow/core": "^1.2.27", + "@logicflow/extension": "^1.2.27", + "@pureadmin/descriptions": "^1.2.1", + "@pureadmin/table": "^3.1.2", + "@pureadmin/utils": "^2.4.7", + "@vue-flow/background": "^1.3.0", + "@vue-flow/core": "^1.33.6", + "@vueuse/core": "^10.9.0", + "@vueuse/motion": "^2.1.0", + "@wangeditor/editor": "^5.1.23", + "@wangeditor/editor-for-vue": "^5.1.12", + "@zxcvbn-ts/core": "^3.0.4", + "animate.css": "^4.1.1", + "axios": "^1.6.8", + "china-area-data": "^5.0.1", + "commitlint": "^19.4.1", + "cropperjs": "^1.6.2", + "dayjs": "^1.11.11", + "echarts": "^5.5.0", + "el-table-infinite-scroll": "^3.0.3", + "element-plus": "2.7.1", + "intro.js": "^7.2.0", + "js-cookie": "^3.0.5", + "jsbarcode": "^3.11.6", + "localforage": "^1.10.0", + "mint-filter": "^4.0.3", + "mitt": "^3.0.1", + "mqtt": "4.3.7", + "nprogress": "^0.2.0", + "path": "^0.12.7", + "pinia": "^2.1.7", + "pinia-plugin-persistedstate": "^3.2.1", + "pinyin-pro": "^3.20.4", + "plus-pro-components": "^0.1.1", + "qrcode": "^1.5.3", + "qs": "^6.12.1", + "responsive-storage": "^2.2.0", + "sortablejs": "^1.15.2", + "swiper": "^11.1.1", + "terser": "^5.31.0", + "typeit": "^8.8.3", + "v-contextmenu": "^3.2.0", + "v3-infinite-loading": "^1.3.1", + "version-rocket": "^1.7.1", + "vite-plugin-vue-inspector": "^5.1.3", + "vue": "^3.4.27", + "vue-json-pretty": "^2.4.0", + "vue-pdf-embed": "^2.0.3", + "vue-router": "^4.3.2", + "vue-tippy": "^6.4.1", + "vue-types": "^5.1.2", + "vue-virtual-scroller": "2.0.0-beta.8", + "vue-waterfall-plugin-next": "^2.4.3", + "vue3-danmaku": "^1.6.0", + "vue3-puzzle-vcode": "^1.1.7", + "vuedraggable": "^4.1.0", + "vxe-table": "^4.6.18", + "wavesurfer.js": "^7.7.13", + "xgplayer": "^3.0.17", + "xlsx": "^0.18.5" + }, + "devDependencies": { + "@commitlint/cli": "^19.3.0", + "@commitlint/config-conventional": "^19.2.2", + "@commitlint/types": "^19.0.3", + "@eslint/js": "^9.2.0", + "@faker-js/faker": "^8.4.1", + "@iconify-icons/ep": "^1.2.12", + "@iconify-icons/ri": "^1.2.10", + "@iconify/vue": "^4.1.2", + "@pureadmin/theme": "^3.2.0", + "@types/dagre": "^0.7.52", + "@types/gradient-string": "^1.1.6", + "@types/intro.js": "^5.1.5", + "@types/js-cookie": "^3.0.6", + "@types/node": "^20.12.11", + "@types/nprogress": "^0.2.3", + "@types/qrcode": "^1.5.5", + "@types/qs": "^6.9.15", + "@types/sortablejs": "^1.15.8", + "@typescript-eslint/eslint-plugin": "^7.8.0", + "@typescript-eslint/parser": "^7.8.0", + "@vitejs/plugin-vue": "^5.0.4", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "autoprefixer": "^10.4.19", + "boxen": "^7.1.1", + "commitizen": "^4.2.4", + "cssnano": "^7.0.1", + "cz-git": "^1.3.2", + "dagre": "^0.8.5", + "eslint": "^9.2.0", + "eslint-config-prettier": "^9.1.0", + "eslint-define-config": "^2.1.0", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-vue": "^9.25.0", + "gradient-string": "^2.0.2", + "husky": "^8.0.1", + "lint-staged": "^15.2.2", + "postcss": "^8.4.38", + "postcss-html": "^1.7.0", + "postcss-import": "^16.1.0", + "postcss-scss": "^4.0.9", + "prettier": "^3.2.5", + "rimraf": "^5.0.5", + "rollup-plugin-visualizer": "^5.12.0", + "sass": "^1.77.0", + "stylelint": "^16.5.0", + "stylelint-config-recess-order": "^5.0.1", + "stylelint-config-recommended-vue": "^1.5.0", + "stylelint-config-standard-scss": "^13.1.0", + "stylelint-prettier": "^5.0.0", + "svgo": "^3.3.0", + "tailwindcss": "^3.4.3", + "typescript": "^5.4.5", + "vite": "^5.2.11", + "vite-plugin-cdn-import": "^0.3.5", + "vite-plugin-compression": "^0.5.1", + "vite-plugin-fake-server": "^2.1.1", + "vite-plugin-remove-console": "^2.2.0", + "vite-plugin-router-warn": "^1.0.0", + "vite-svg-loader": "^5.1.0", + "vue-eslint-parser": "^9.4.2", + "vue-tsc": "^1.8.27" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0", + "pnpm": ">=9" + }, + "pnpm": { + "allowedDeprecatedVersions": { + "are-we-there-yet": "*", + "sourcemap-codec": "*", + "domexception": "*", + "w3c-hr-time": "*", + "inflight": "*", + "npmlog": "*", + "rimraf": "*", + "stable": "*", + "gauge": "*", + "abab": "*", + "glob": "*" + }, + "peerDependencyRules": { + "allowedVersions": { + "eslint": "9" + } + } + }, + "config": { + "commitizen": { + "path": "node_modules/cz-git" + } + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index de38ecc..5eb2960 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,7 +22,7 @@ importers: version: 1.2.28 '@logicflow/extension': specifier: ^1.2.27 - version: 1.2.28(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4)) + version: 1.2.28(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)) '@pureadmin/descriptions': specifier: ^1.2.1 version: 1.2.1(echarts@5.5.1)(element-plus@2.7.1(vue@3.4.38(typescript@5.5.4)))(typescript@5.5.4) @@ -62,6 +62,9 @@ importers: china-area-data: specifier: ^5.0.1 version: 5.0.1 + commitlint: + specifier: ^19.4.1 + version: 19.4.1(@types/node@20.16.1)(typescript@5.5.4) cropperjs: specifier: ^1.6.2 version: 1.6.2 @@ -152,9 +155,6 @@ importers: vue: specifier: ^3.4.27 version: 3.4.38(typescript@5.5.4) - vue-i18n: - specifier: ^9.13.1 - version: 9.14.0(vue@3.4.38(typescript@5.5.4)) vue-json-pretty: specifier: ^2.4.0 version: 2.4.0(vue@3.4.38(typescript@5.5.4)) @@ -186,7 +186,7 @@ importers: specifier: ^4.1.0 version: 4.1.0(vue@3.4.38(typescript@5.5.4)) vxe-table: - specifier: ^4.6.9 + specifier: ^4.6.18 version: 4.6.18(vue@3.4.38(typescript@5.5.4)) wavesurfer.js: specifier: ^7.7.13 @@ -222,9 +222,6 @@ importers: '@iconify/vue': specifier: ^4.1.2 version: 4.1.2(vue@3.4.38(typescript@5.5.4)) - '@intlify/unplugin-vue-i18n': - specifier: ^4.0.0 - version: 4.0.0(rollup@4.21.0)(vue-i18n@9.14.0(vue@3.4.38(typescript@5.5.4))) '@pureadmin/theme': specifier: ^3.2.0 version: 3.2.0 @@ -276,9 +273,6 @@ importers: commitizen: specifier: ^4.2.4 version: 4.3.0(@types/node@20.16.1)(typescript@5.5.4) - commitlint: - specifier: ^17.0.1 - version: 17.8.1 cssnano: specifier: ^7.0.1 version: 7.0.5(postcss@8.4.41) @@ -356,7 +350,7 @@ importers: version: 3.3.2 tailwindcss: specifier: ^3.4.3 - version: 3.4.10(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4)) + version: 3.4.10(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)) typescript: specifier: ^5.4.5 version: 5.5.4 @@ -628,136 +622,84 @@ packages: '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - '@commitlint/cli@17.8.1': - resolution: {integrity: sha512-ay+WbzQesE0Rv4EQKfNbSMiJJ12KdKTDzIt0tcK4k11FdsWmtwP0Kp1NWMOUswfIWo6Eb7p7Ln721Nx9FLNBjg==} - engines: {node: '>=v14'} - hasBin: true - '@commitlint/cli@19.4.0': resolution: {integrity: sha512-sJX4J9UioVwZHq7JWM9tjT5bgWYaIN3rC4FP7YwfEwBYiIO+wMyRttRvQLNkow0vCdM0D67r9NEWU0Ui03I4Eg==} engines: {node: '>=v18'} hasBin: true + '@commitlint/cli@19.4.1': + resolution: {integrity: sha512-EerFVII3ZcnhXsDT9VePyIdCJoh3jEzygN1L37MjQXgPfGS6fJTWL/KHClVMod1d8w94lFC3l4Vh/y5ysVAz2A==} + engines: {node: '>=v18'} + hasBin: true + '@commitlint/config-conventional@19.2.2': resolution: {integrity: sha512-mLXjsxUVLYEGgzbxbxicGPggDuyWNkf25Ht23owXIH+zV2pv1eJuzLK3t1gDY5Gp6pxdE60jZnWUY5cvgL3ufw==} engines: {node: '>=v18'} - '@commitlint/config-validator@17.8.1': - resolution: {integrity: sha512-UUgUC+sNiiMwkyiuIFR7JG2cfd9t/7MV8VB4TZ+q02ZFkHoduUS4tJGsCBWvBOGD9Btev6IecPMvlWUfJorkEA==} - engines: {node: '>=v14'} - '@commitlint/config-validator@19.0.3': resolution: {integrity: sha512-2D3r4PKjoo59zBc2auodrSCaUnCSALCx54yveOFwwP/i2kfEAQrygwOleFWswLqK0UL/F9r07MFi5ev2ohyM4Q==} engines: {node: '>=v18'} - '@commitlint/ensure@17.8.1': - resolution: {integrity: sha512-xjafwKxid8s1K23NFpL8JNo6JnY/ysetKo8kegVM7c8vs+kWLP8VrQq+NbhgVlmCojhEDbzQKp4eRXSjVOGsow==} - engines: {node: '>=v14'} - '@commitlint/ensure@19.0.3': resolution: {integrity: sha512-SZEpa/VvBLoT+EFZVb91YWbmaZ/9rPH3ESrINOl0HD2kMYsjvl0tF7nMHh0EpTcv4+gTtZBAe1y/SS6/OhfZzQ==} engines: {node: '>=v18'} - '@commitlint/execute-rule@17.8.1': - resolution: {integrity: sha512-JHVupQeSdNI6xzA9SqMF+p/JjrHTcrJdI02PwesQIDCIGUrv04hicJgCcws5nzaoZbROapPs0s6zeVHoxpMwFQ==} - engines: {node: '>=v14'} - '@commitlint/execute-rule@19.0.0': resolution: {integrity: sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw==} engines: {node: '>=v18'} - '@commitlint/format@17.8.1': - resolution: {integrity: sha512-f3oMTyZ84M9ht7fb93wbCKmWxO5/kKSbwuYvS867duVomoOsgrgljkGGIztmT/srZnaiGbaK8+Wf8Ik2tSr5eg==} - engines: {node: '>=v14'} - '@commitlint/format@19.3.0': resolution: {integrity: sha512-luguk5/aF68HiF4H23ACAfk8qS8AHxl4LLN5oxPc24H+2+JRPsNr1OS3Gaea0CrH7PKhArBMKBz5RX9sA5NtTg==} engines: {node: '>=v18'} - '@commitlint/is-ignored@17.8.1': - resolution: {integrity: sha512-UshMi4Ltb4ZlNn4F7WtSEugFDZmctzFpmbqvpyxD3la510J+PLcnyhf9chs7EryaRFJMdAKwsEKfNK0jL/QM4g==} - engines: {node: '>=v14'} - '@commitlint/is-ignored@19.2.2': resolution: {integrity: sha512-eNX54oXMVxncORywF4ZPFtJoBm3Tvp111tg1xf4zWXGfhBPKpfKG6R+G3G4v5CPlRROXpAOpQ3HMhA9n1Tck1g==} engines: {node: '>=v18'} - '@commitlint/lint@17.8.1': - resolution: {integrity: sha512-aQUlwIR1/VMv2D4GXSk7PfL5hIaFSfy6hSHV94O8Y27T5q+DlDEgd/cZ4KmVI+MWKzFfCTiTuWqjfRSfdRllCA==} - engines: {node: '>=v14'} - '@commitlint/lint@19.2.2': resolution: {integrity: sha512-xrzMmz4JqwGyKQKTpFzlN0dx0TAiT7Ran1fqEBgEmEj+PU98crOFtysJgY+QdeSagx6EDRigQIXJVnfrI0ratA==} engines: {node: '>=v18'} - '@commitlint/load@17.8.1': - resolution: {integrity: sha512-iF4CL7KDFstP1kpVUkT8K2Wl17h2yx9VaR1ztTc8vzByWWcbO/WaKwxsnCOqow9tVAlzPfo1ywk9m2oJ9ucMqA==} - engines: {node: '>=v14'} + '@commitlint/lint@19.4.1': + resolution: {integrity: sha512-Ws4YVAZ0jACTv6VThumITC1I5AG0UyXMGua3qcf55JmXIXm/ejfaVKykrqx7RyZOACKVAs8uDRIsEsi87JZ3+Q==} + engines: {node: '>=v18'} '@commitlint/load@19.4.0': resolution: {integrity: sha512-I4lCWaEZYQJ1y+Y+gdvbGAx9pYPavqZAZ3/7/8BpWh+QjscAn8AjsUpLV2PycBsEx7gupq5gM4BViV9xwTIJuw==} engines: {node: '>=v18'} - '@commitlint/message@17.8.1': - resolution: {integrity: sha512-6bYL1GUQsD6bLhTH3QQty8pVFoETfFQlMn2Nzmz3AOLqRVfNNtXBaSY0dhZ0dM6A2MEq4+2d7L/2LP8TjqGRkA==} - engines: {node: '>=v14'} - '@commitlint/message@19.0.0': resolution: {integrity: sha512-c9czf6lU+9oF9gVVa2lmKaOARJvt4soRsVmbR7Njwp9FpbBgste5i7l/2l5o8MmbwGh4yE1snfnsy2qyA2r/Fw==} engines: {node: '>=v18'} - '@commitlint/parse@17.8.1': - resolution: {integrity: sha512-/wLUickTo0rNpQgWwLPavTm7WbwkZoBy3X8PpkUmlSmQJyWQTj0m6bDjiykMaDt41qcUbfeFfaCvXfiR4EGnfw==} - engines: {node: '>=v14'} - '@commitlint/parse@19.0.3': resolution: {integrity: sha512-Il+tNyOb8VDxN3P6XoBBwWJtKKGzHlitEuXA5BP6ir/3loWlsSqDr5aecl6hZcC/spjq4pHqNh0qPlfeWu38QA==} engines: {node: '>=v18'} - '@commitlint/read@17.8.1': - resolution: {integrity: sha512-Fd55Oaz9irzBESPCdMd8vWWgxsW3OWR99wOntBDHgf9h7Y6OOHjWEdS9Xzen1GFndqgyoaFplQS5y7KZe0kO2w==} - engines: {node: '>=v14'} - '@commitlint/read@19.4.0': resolution: {integrity: sha512-r95jLOEZzKDakXtnQub+zR3xjdnrl2XzerPwm7ch1/cc5JGq04tyaNpa6ty0CRCWdVrk4CZHhqHozb8yZwy2+g==} engines: {node: '>=v18'} - '@commitlint/resolve-extends@17.8.1': - resolution: {integrity: sha512-W/ryRoQ0TSVXqJrx5SGkaYuAaE/BUontL1j1HsKckvM6e5ZaG0M9126zcwL6peKSuIetJi7E87PRQF8O86EW0Q==} - engines: {node: '>=v14'} - '@commitlint/resolve-extends@19.1.0': resolution: {integrity: sha512-z2riI+8G3CET5CPgXJPlzftH+RiWYLMYv4C9tSLdLXdr6pBNimSKukYP9MS27ejmscqCTVA4almdLh0ODD2KYg==} engines: {node: '>=v18'} - '@commitlint/rules@17.8.1': - resolution: {integrity: sha512-2b7OdVbN7MTAt9U0vKOYKCDsOvESVXxQmrvuVUZ0rGFMCrCPJWWP1GJ7f0lAypbDAhaGb8zqtdOr47192LBrIA==} - engines: {node: '>=v14'} - '@commitlint/rules@19.0.3': resolution: {integrity: sha512-TspKb9VB6svklxNCKKwxhELn7qhtY1rFF8ls58DcFd0F97XoG07xugPjjbVnLqmMkRjZDbDIwBKt9bddOfLaPw==} engines: {node: '>=v18'} - '@commitlint/to-lines@17.8.1': - resolution: {integrity: sha512-LE0jb8CuR/mj6xJyrIk8VLz03OEzXFgLdivBytoooKO5xLt5yalc8Ma5guTWobw998sbR3ogDd+2jed03CFmJA==} - engines: {node: '>=v14'} + '@commitlint/rules@19.4.1': + resolution: {integrity: sha512-AgctfzAONoVxmxOXRyxXIq7xEPrd7lK/60h2egp9bgGUMZK9v0+YqLOA+TH+KqCa63ZoCr8owP2YxoSSu7IgnQ==} + engines: {node: '>=v18'} '@commitlint/to-lines@19.0.0': resolution: {integrity: sha512-vkxWo+VQU5wFhiP9Ub9Sre0FYe019JxFikrALVoD5UGa8/t3yOJEpEhxC5xKiENKKhUkTpEItMTRAjHw2SCpZw==} engines: {node: '>=v18'} - '@commitlint/top-level@17.8.1': - resolution: {integrity: sha512-l6+Z6rrNf5p333SHfEte6r+WkOxGlWK4bLuZKbtf/2TXRN+qhrvn1XE63VhD8Oe9oIHQ7F7W1nG2k/TJFhx2yA==} - engines: {node: '>=v14'} - '@commitlint/top-level@19.0.0': resolution: {integrity: sha512-KKjShd6u1aMGNkCkaX4aG1jOGdn7f8ZI8TR1VEuNqUOjWTOdcDSsmglinglJ18JTjuBX5I1PtjrhQCRcixRVFQ==} engines: {node: '>=v18'} - '@commitlint/types@17.8.1': - resolution: {integrity: sha512-PXDQXkAmiMEG162Bqdh9ChML/GJZo6vU+7F03ALKDK8zYc6SuAr47LjG7hGYRqUOz+WK0dU7bQ0xzuqFMdxzeQ==} - engines: {node: '>=v14'} - '@commitlint/types@19.0.3': resolution: {integrity: sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA==} engines: {node: '>=v18'} @@ -1149,45 +1091,6 @@ packages: dayjs: ^1.11.5 vue: ^3.2.40 - '@intlify/bundle-utils@8.0.0': - resolution: {integrity: sha512-1B++zykRnMwQ+20SpsZI1JCnV/YJt9Oq7AGlEurzkWJOFtFAVqaGc/oV36PBRYeiKnTbY9VYfjBimr2Vt42wLQ==} - engines: {node: '>= 14.16'} - peerDependencies: - petite-vue-i18n: '*' - vue-i18n: '*' - peerDependenciesMeta: - petite-vue-i18n: - optional: true - vue-i18n: - optional: true - - '@intlify/core-base@9.14.0': - resolution: {integrity: sha512-zJn0imh9HIsZZUtt9v8T16PeVstPv6bP2YzlrYJwoF8F30gs4brZBwW2KK6EI5WYKFi3NeqX6+UU4gniz5TkGg==} - engines: {node: '>= 16'} - - '@intlify/message-compiler@9.14.0': - resolution: {integrity: sha512-sXNsoMI0YsipSXW8SR75drmVK56tnJHoYbPXUv2Cf9lz6FzvwsosFm6JtC1oQZI/kU+n7qx0qRrEWkeYFTgETA==} - engines: {node: '>= 16'} - - '@intlify/shared@9.14.0': - resolution: {integrity: sha512-r+N8KRQL7LgN1TMTs1A2svfuAU0J94Wu9wWdJVJqYsoMMLIeJxrPjazihfHpmJqfgZq0ah3Y9Q4pgWV2O90Fyg==} - engines: {node: '>= 16'} - - '@intlify/unplugin-vue-i18n@4.0.0': - resolution: {integrity: sha512-q2Mhqa/mLi0tulfLFO4fMXXvEbkSZpI5yGhNNsLTNJJ41icEGUuyDe+j5zRZIKSkOJRgX6YbCyibTDJdRsukmw==} - engines: {node: '>= 14.16'} - peerDependencies: - petite-vue-i18n: '*' - vue-i18n: '*' - vue-i18n-bridge: '*' - peerDependenciesMeta: - petite-vue-i18n: - optional: true - vue-i18n: - optional: true - vue-i18n-bridge: - optional: true - '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -1532,21 +1435,12 @@ packages: '@types/lodash@4.17.7': resolution: {integrity: sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==} - '@types/minimist@1.2.5': - resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} - '@types/mousetrap@1.6.15': resolution: {integrity: sha512-qL0hyIMNPow317QWW/63RvL1x5MVMV+Ru3NaY9f/CuEpCqrmb7WeuK2071ZY5hczOnm38qExWM2i2WtkXLSqFw==} '@types/node@20.16.1': resolution: {integrity: sha512-zJDo7wEadFtSyNz5QITDfRcrhqDvQI1xQNQ0VoizPjM/dVAODqqIUWbJPkvsxmTI0MYRGRikcdjMPhOssnPejQ==} - '@types/node@20.5.1': - resolution: {integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==} - - '@types/normalize-package-data@2.4.4': - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - '@types/nprogress@0.2.3': resolution: {integrity: sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==} @@ -1989,10 +1883,6 @@ packages: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - arrify@1.0.1: - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} - engines: {node: '>=0.10.0'} - astral-regex@2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} @@ -2123,10 +2013,6 @@ packages: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} - camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} @@ -2299,9 +2185,9 @@ packages: engines: {node: '>= 12'} hasBin: true - commitlint@17.8.1: - resolution: {integrity: sha512-X+VPJwZsQDeGj/DG1NsxhZEl+oMHKNC+1myZ/zauNDoo+7OuLHfTOUU1C1a4CjKW4b6T7NuoFcYfK0kRCjCtbA==} - engines: {node: '>=v14'} + commitlint@19.4.1: + resolution: {integrity: sha512-w9PRvPad1ywVXl4QuS/OA9kzyoyW68dIpaxTdezpr1ycZeYkBRUHRQMmtL5rSYw1JytktojaKEBuvf1neDmeCg==} + engines: {node: '>=v18'} hasBin: true compare-func@2.0.0: @@ -2333,10 +2219,6 @@ packages: console-control-strings@1.1.0: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - conventional-changelog-angular@6.0.0: - resolution: {integrity: sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==} - engines: {node: '>=14'} - conventional-changelog-angular@7.0.0: resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} engines: {node: '>=16'} @@ -2348,11 +2230,6 @@ packages: conventional-commit-types@3.0.0: resolution: {integrity: sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==} - conventional-commits-parser@4.0.0: - resolution: {integrity: sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==} - engines: {node: '>=14'} - hasBin: true - conventional-commits-parser@5.0.0: resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==} engines: {node: '>=16'} @@ -2367,15 +2244,6 @@ packages: core-js@3.38.1: resolution: {integrity: sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==} - cosmiconfig-typescript-loader@4.4.0: - resolution: {integrity: sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==} - engines: {node: '>=v14.21.3'} - peerDependencies: - '@types/node': '*' - cosmiconfig: '>=7' - ts-node: '>=10' - typescript: '>=4' - cosmiconfig-typescript-loader@5.0.0: resolution: {integrity: sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==} engines: {node: '>=v16'} @@ -2384,15 +2252,6 @@ packages: cosmiconfig: '>=8.2' typescript: '>=4' - cosmiconfig@8.3.6: - resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} - engines: {node: '>=14'} - peerDependencies: - typescript: '>=4.9.5' - peerDependenciesMeta: - typescript: - optional: true - cosmiconfig@9.0.0: resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} @@ -2579,10 +2438,6 @@ packages: danmu.js@1.1.13: resolution: {integrity: sha512-knFd0/cB2HA4FFWiA7eB2suc5vCvoHdqio33FyyCSfP7C+1A+zQcTvnvwfxaZhrxsGj4qaQI2I8XiTqedRaVmg==} - dargs@7.0.0: - resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} - engines: {node: '>=8'} - dargs@8.1.0: resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==} engines: {node: '>=12'} @@ -2606,10 +2461,6 @@ packages: supports-color: optional: true - decamelize-keys@1.1.1: - resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} - engines: {node: '>=0.10.0'} - decamelize@1.2.0: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} @@ -3158,11 +3009,6 @@ packages: resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==} hasBin: true - git-raw-commits@2.0.11: - resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} - engines: {node: '>=10'} - hasBin: true - git-raw-commits@4.0.0: resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==} engines: {node: '>=16'} @@ -3188,10 +3034,6 @@ packages: resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} engines: {node: '>=18'} - global-dirs@0.1.1: - resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} - engines: {node: '>=4'} - global-modules@1.0.0: resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==} engines: {node: '>=0.10.0'} @@ -3247,10 +3089,6 @@ packages: graphlib@2.1.8: resolution: {integrity: sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==} - hard-rejection@2.1.0: - resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} - engines: {node: '>=6'} - has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -3297,13 +3135,6 @@ packages: hookable@5.5.3: resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} - hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - - hosted-git-info@4.1.0: - resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} - engines: {node: '>=10'} - html-encoding-sniffer@2.0.1: resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} engines: {node: '>=10'} @@ -3387,10 +3218,6 @@ packages: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. @@ -3477,10 +3304,6 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} - is-plain-obj@1.1.0: - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} - engines: {node: '>=0.10.0'} - is-plain-object@5.0.0: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} @@ -3499,10 +3322,6 @@ packages: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-text-path@1.0.1: - resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==} - engines: {node: '>=0.10.0'} - is-text-path@2.0.0: resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==} engines: {node: '>=8'} @@ -3754,10 +3573,6 @@ packages: engines: {node: '>=6'} hasBin: true - jsonc-eslint-parser@2.4.0: - resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} @@ -3868,9 +3683,6 @@ packages: lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - lodash.isfunction@3.0.9: - resolution: {integrity: sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==} - lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} @@ -3955,14 +3767,6 @@ packages: makeerror@1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - map-obj@1.0.1: - resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} - engines: {node: '>=0.10.0'} - - map-obj@4.3.0: - resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} - engines: {node: '>=8'} - mathml-tag-names@2.1.3: resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} @@ -3986,10 +3790,6 @@ packages: resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} engines: {node: '>=18'} - meow@8.1.2: - resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} - engines: {node: '>=10'} - merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -4031,10 +3831,6 @@ packages: resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==} engines: {node: '>=8'} - min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -4042,10 +3838,6 @@ packages: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} - minimist-options@4.1.0: - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} - engines: {node: '>= 6'} - minimist@1.2.7: resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} @@ -4152,13 +3944,6 @@ packages: engines: {node: '>=6'} hasBin: true - normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - - normalize-package-data@3.0.3: - resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} - engines: {node: '>=10'} - normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -4884,10 +4669,6 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} - rc9@2.1.2: resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} @@ -4897,14 +4678,6 @@ packages: read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} - read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - - read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} - readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} @@ -4913,10 +4686,6 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} - redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} - regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} @@ -4953,10 +4722,6 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - resolve-global@1.0.0: - resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} - engines: {node: '>=8'} - resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} @@ -5046,19 +4811,10 @@ packages: scule@1.3.0: resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} - semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - semver@7.6.3: resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} @@ -5159,18 +4915,6 @@ packages: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead - spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - - spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - - spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - - spdx-license-ids@3.0.20: - resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} - split2@3.2.2: resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} @@ -5248,10 +4992,6 @@ packages: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} - strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} - strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -5427,10 +5167,6 @@ packages: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} - text-extensions@1.9.0: - resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} - engines: {node: '>=0.10'} - text-extensions@2.4.0: resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} engines: {node: '>=8'} @@ -5448,9 +5184,6 @@ packages: throat@6.0.2: resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==} - through2@4.0.2: - resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} - through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} @@ -5492,10 +5225,6 @@ packages: resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} engines: {node: '>=8'} - trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} - ts-api-utils@1.3.0: resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} @@ -5536,10 +5265,6 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - type-fest@0.18.1: - resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} - engines: {node: '>=10'} - type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} @@ -5548,14 +5273,6 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - - type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - type-fest@2.19.0: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} @@ -5650,9 +5367,6 @@ packages: resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} engines: {node: '>=10.12.0'} - validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - version-rocket@1.7.2: resolution: {integrity: sha512-6R/cy6SpIF1HL4YfCQ7vaA9WMrobN6HUIyh94noWmXe6PIjDeEShuTYZ+kRGY9CEQXJGha2xS5vBFNK7OZk6cA==} hasBin: true @@ -5732,12 +5446,6 @@ packages: peerDependencies: eslint: '>=6.0.0' - vue-i18n@9.14.0: - resolution: {integrity: sha512-LxmpRuCt2rI8gqU+kxeflRZMQn4D5+4M3oP3PWZdowW/ePJraHqhF7p4CuaME52mUxdw3Mmy2yAUKgfZYgCRjA==} - engines: {node: '>= 16'} - peerDependencies: - vue: ^3.0.0 - vue-json-pretty@2.4.0: resolution: {integrity: sha512-e9bP41DYYIc2tWaB6KuwqFJq5odZ8/GkE6vHQuGcbPn37kGk4a3n1RNw3ZYeDrl66NWXgTlOfS+M6NKkowmkWw==} engines: {node: '>= 10.0.0', npm: '>= 5.0.0'} @@ -5986,10 +5694,6 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yaml-eslint-parser@1.2.3: - resolution: {integrity: sha512-4wZWvE398hCP7O8n3nXKu/vdq1HcH01ixYlCREaJL5NUMwQ0g3MaGFUBNSlmBtKmhbtVG/Cm6lyYmSVTEVil8A==} - engines: {node: ^14.17.0 || >=16.0.0} - yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} @@ -6330,22 +6034,6 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} - '@commitlint/cli@17.8.1': - dependencies: - '@commitlint/format': 17.8.1 - '@commitlint/lint': 17.8.1 - '@commitlint/load': 17.8.1 - '@commitlint/read': 17.8.1 - '@commitlint/types': 17.8.1 - execa: 5.1.1 - lodash.isfunction: 3.0.9 - resolve-from: 5.0.0 - resolve-global: 1.0.0 - yargs: 17.7.2 - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - '@commitlint/cli@19.4.0(@types/node@20.16.1)(typescript@5.5.4)': dependencies: '@commitlint/format': 19.3.0 @@ -6359,30 +6047,29 @@ snapshots: - '@types/node' - typescript + '@commitlint/cli@19.4.1(@types/node@20.16.1)(typescript@5.5.4)': + dependencies: + '@commitlint/format': 19.3.0 + '@commitlint/lint': 19.4.1 + '@commitlint/load': 19.4.0(@types/node@20.16.1)(typescript@5.5.4) + '@commitlint/read': 19.4.0 + '@commitlint/types': 19.0.3 + execa: 8.0.1 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - typescript + '@commitlint/config-conventional@19.2.2': dependencies: '@commitlint/types': 19.0.3 conventional-changelog-conventionalcommits: 7.0.2 - '@commitlint/config-validator@17.8.1': - dependencies: - '@commitlint/types': 17.8.1 - ajv: 8.17.1 - '@commitlint/config-validator@19.0.3': dependencies: '@commitlint/types': 19.0.3 ajv: 8.17.1 - '@commitlint/ensure@17.8.1': - dependencies: - '@commitlint/types': 17.8.1 - lodash.camelcase: 4.3.0 - lodash.kebabcase: 4.1.1 - lodash.snakecase: 4.1.1 - lodash.startcase: 4.4.0 - lodash.upperfirst: 4.3.1 - '@commitlint/ensure@19.0.3': dependencies: '@commitlint/types': 19.0.3 @@ -6392,37 +6079,18 @@ snapshots: lodash.startcase: 4.4.0 lodash.upperfirst: 4.3.1 - '@commitlint/execute-rule@17.8.1': {} - '@commitlint/execute-rule@19.0.0': {} - '@commitlint/format@17.8.1': - dependencies: - '@commitlint/types': 17.8.1 - chalk: 4.1.2 - '@commitlint/format@19.3.0': dependencies: '@commitlint/types': 19.0.3 chalk: 5.3.0 - '@commitlint/is-ignored@17.8.1': - dependencies: - '@commitlint/types': 17.8.1 - semver: 7.5.4 - '@commitlint/is-ignored@19.2.2': dependencies: '@commitlint/types': 19.0.3 semver: 7.6.3 - '@commitlint/lint@17.8.1': - dependencies: - '@commitlint/is-ignored': 17.8.1 - '@commitlint/parse': 17.8.1 - '@commitlint/rules': 17.8.1 - '@commitlint/types': 17.8.1 - '@commitlint/lint@19.2.2': dependencies: '@commitlint/is-ignored': 19.2.2 @@ -6430,25 +6098,12 @@ snapshots: '@commitlint/rules': 19.0.3 '@commitlint/types': 19.0.3 - '@commitlint/load@17.8.1': + '@commitlint/lint@19.4.1': dependencies: - '@commitlint/config-validator': 17.8.1 - '@commitlint/execute-rule': 17.8.1 - '@commitlint/resolve-extends': 17.8.1 - '@commitlint/types': 17.8.1 - '@types/node': 20.5.1 - chalk: 4.1.2 - cosmiconfig: 8.3.6(typescript@5.5.4) - cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.5.4))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4))(typescript@5.5.4) - lodash.isplainobject: 4.0.6 - lodash.merge: 4.6.2 - lodash.uniq: 4.5.0 - resolve-from: 5.0.0 - ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.5.4) - typescript: 5.5.4 - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' + '@commitlint/is-ignored': 19.2.2 + '@commitlint/parse': 19.0.3 + '@commitlint/rules': 19.4.1 + '@commitlint/types': 19.0.3 '@commitlint/load@19.4.0(@types/node@20.16.1)(typescript@5.5.4)': dependencies: @@ -6466,30 +6121,14 @@ snapshots: - '@types/node' - typescript - '@commitlint/message@17.8.1': {} - '@commitlint/message@19.0.0': {} - '@commitlint/parse@17.8.1': - dependencies: - '@commitlint/types': 17.8.1 - conventional-changelog-angular: 6.0.0 - conventional-commits-parser: 4.0.0 - '@commitlint/parse@19.0.3': dependencies: '@commitlint/types': 19.0.3 conventional-changelog-angular: 7.0.0 conventional-commits-parser: 5.0.0 - '@commitlint/read@17.8.1': - dependencies: - '@commitlint/top-level': 17.8.1 - '@commitlint/types': 17.8.1 - fs-extra: 11.2.0 - git-raw-commits: 2.0.11 - minimist: 1.2.8 - '@commitlint/read@19.4.0': dependencies: '@commitlint/top-level': 19.0.0 @@ -6498,15 +6137,6 @@ snapshots: git-raw-commits: 4.0.0 minimist: 1.2.8 - '@commitlint/resolve-extends@17.8.1': - dependencies: - '@commitlint/config-validator': 17.8.1 - '@commitlint/types': 17.8.1 - import-fresh: 3.3.0 - lodash.mergewith: 4.6.2 - resolve-from: 5.0.0 - resolve-global: 1.0.0 - '@commitlint/resolve-extends@19.1.0': dependencies: '@commitlint/config-validator': 19.0.3 @@ -6516,14 +6146,6 @@ snapshots: lodash.mergewith: 4.6.2 resolve-from: 5.0.0 - '@commitlint/rules@17.8.1': - dependencies: - '@commitlint/ensure': 17.8.1 - '@commitlint/message': 17.8.1 - '@commitlint/to-lines': 17.8.1 - '@commitlint/types': 17.8.1 - execa: 5.1.1 - '@commitlint/rules@19.0.3': dependencies: '@commitlint/ensure': 19.0.3 @@ -6532,22 +6154,20 @@ snapshots: '@commitlint/types': 19.0.3 execa: 8.0.1 - '@commitlint/to-lines@17.8.1': {} + '@commitlint/rules@19.4.1': + dependencies: + '@commitlint/ensure': 19.0.3 + '@commitlint/message': 19.0.0 + '@commitlint/to-lines': 19.0.0 + '@commitlint/types': 19.0.3 + execa: 8.0.1 '@commitlint/to-lines@19.0.0': {} - '@commitlint/top-level@17.8.1': - dependencies: - find-up: 5.0.0 - '@commitlint/top-level@19.0.0': dependencies: find-up: 7.0.0 - '@commitlint/types@17.8.1': - dependencies: - chalk: 4.1.2 - '@commitlint/types@19.0.3': dependencies: '@types/conventional-commits-parser': 5.0.0 @@ -6556,6 +6176,7 @@ snapshots: '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 + optional: true '@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1)': dependencies: @@ -6795,52 +6416,6 @@ snapshots: transitivePeerDependencies: - '@vue/composition-api' - '@intlify/bundle-utils@8.0.0(vue-i18n@9.14.0(vue@3.4.38(typescript@5.5.4)))': - dependencies: - '@intlify/message-compiler': 9.14.0 - '@intlify/shared': 9.14.0 - acorn: 8.12.1 - escodegen: 2.1.0 - estree-walker: 2.0.2 - jsonc-eslint-parser: 2.4.0 - mlly: 1.7.1 - source-map-js: 1.2.0 - yaml-eslint-parser: 1.2.3 - optionalDependencies: - vue-i18n: 9.14.0(vue@3.4.38(typescript@5.5.4)) - - '@intlify/core-base@9.14.0': - dependencies: - '@intlify/message-compiler': 9.14.0 - '@intlify/shared': 9.14.0 - - '@intlify/message-compiler@9.14.0': - dependencies: - '@intlify/shared': 9.14.0 - source-map-js: 1.2.0 - - '@intlify/shared@9.14.0': {} - - '@intlify/unplugin-vue-i18n@4.0.0(rollup@4.21.0)(vue-i18n@9.14.0(vue@3.4.38(typescript@5.5.4)))': - dependencies: - '@intlify/bundle-utils': 8.0.0(vue-i18n@9.14.0(vue@3.4.38(typescript@5.5.4))) - '@intlify/shared': 9.14.0 - '@rollup/pluginutils': 5.1.0(rollup@4.21.0) - '@vue/compiler-sfc': 3.4.38 - debug: 4.3.6 - fast-glob: 3.3.2 - js-yaml: 4.1.0 - json5: 2.2.3 - pathe: 1.1.2 - picocolors: 1.0.1 - source-map-js: 1.2.0 - unplugin: 1.12.2 - optionalDependencies: - vue-i18n: 9.14.0(vue@3.4.38(typescript@5.5.4)) - transitivePeerDependencies: - - rollup - - supports-color - '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -6869,7 +6444,7 @@ snapshots: jest-util: 27.5.1 slash: 3.0.0 - '@jest/core@27.5.1(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4))': + '@jest/core@27.5.1(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4))': dependencies: '@jest/console': 27.5.1 '@jest/reporters': 27.5.1 @@ -6883,7 +6458,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 27.5.1 - jest-config: 27.5.1(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4)) + jest-config: 27.5.1(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)) jest-haste-map: 27.5.1 jest-message-util: 27.5.1 jest-regex-util: 27.5.1 @@ -7034,6 +6609,7 @@ snapshots: dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + optional: true '@logicflow/core@1.2.28': dependencies: @@ -7041,10 +6617,10 @@ snapshots: mousetrap: 1.6.5 preact: 10.23.2 - '@logicflow/extension@1.2.28(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4))': + '@logicflow/extension@1.2.28(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4))': dependencies: '@logicflow/core': 1.2.28 - jest: 27.5.1(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4)) + jest: 27.5.1(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)) lodash-es: 4.17.21 preact: 10.23.2 transitivePeerDependencies: @@ -7177,6 +6753,7 @@ snapshots: picomatch: 2.3.1 optionalDependencies: rollup: 4.21.0 + optional: true '@rollup/rollup-android-arm-eabi@4.21.0': optional: true @@ -7245,13 +6822,17 @@ snapshots: '@trysound/sax@0.2.0': {} - '@tsconfig/node10@1.0.11': {} + '@tsconfig/node10@1.0.11': + optional: true - '@tsconfig/node12@1.0.11': {} + '@tsconfig/node12@1.0.11': + optional: true - '@tsconfig/node14@1.0.3': {} + '@tsconfig/node14@1.0.3': + optional: true - '@tsconfig/node16@1.0.4': {} + '@tsconfig/node16@1.0.4': + optional: true '@types/babel__core@7.20.5': dependencies: @@ -7312,18 +6893,12 @@ snapshots: '@types/lodash@4.17.7': {} - '@types/minimist@1.2.5': {} - '@types/mousetrap@1.6.15': {} '@types/node@20.16.1': dependencies: undici-types: 6.19.6 - '@types/node@20.5.1': {} - - '@types/normalize-package-data@2.4.4': {} - '@types/nprogress@0.2.3': {} '@types/prettier@2.7.3': {} @@ -7806,6 +7381,7 @@ snapshots: acorn-walk@8.3.3: dependencies: acorn: 8.12.1 + optional: true acorn@7.4.1: {} @@ -7879,7 +7455,8 @@ snapshots: readable-stream: 3.6.2 optional: true - arg@4.1.3: {} + arg@4.1.3: + optional: true arg@5.0.2: {} @@ -7893,8 +7470,6 @@ snapshots: array-union@2.1.0: {} - arrify@1.0.1: {} - astral-regex@2.0.0: {} async-validator@4.2.5: {} @@ -8074,12 +7649,6 @@ snapshots: camelcase-css@2.0.1: {} - camelcase-keys@6.2.2: - dependencies: - camelcase: 5.3.1 - map-obj: 4.3.0 - quick-lru: 4.0.1 - camelcase@5.3.1: {} camelcase@6.3.0: {} @@ -8264,13 +7833,13 @@ snapshots: - '@types/node' - typescript - commitlint@17.8.1: + commitlint@19.4.1(@types/node@20.16.1)(typescript@5.5.4): dependencies: - '@commitlint/cli': 17.8.1 - '@commitlint/types': 17.8.1 + '@commitlint/cli': 19.4.1(@types/node@20.16.1)(typescript@5.5.4) + '@commitlint/types': 19.0.3 transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' + - '@types/node' + - typescript compare-func@2.0.0: dependencies: @@ -8293,7 +7862,8 @@ snapshots: readable-stream: 3.6.2 typedarray: 0.0.6 - confbox@0.1.7: {} + confbox@0.1.7: + optional: true consola@3.2.3: optional: true @@ -8301,10 +7871,6 @@ snapshots: console-control-strings@1.1.0: optional: true - conventional-changelog-angular@6.0.0: - dependencies: - compare-func: 2.0.0 - conventional-changelog-angular@7.0.0: dependencies: compare-func: 2.0.0 @@ -8315,13 +7881,6 @@ snapshots: conventional-commit-types@3.0.0: {} - conventional-commits-parser@4.0.0: - dependencies: - JSONStream: 1.3.5 - is-text-path: 1.0.1 - meow: 8.1.2 - split2: 3.2.2 - conventional-commits-parser@5.0.0: dependencies: JSONStream: 1.3.5 @@ -8335,13 +7894,6 @@ snapshots: core-js@3.38.1: {} - cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.5.4))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4))(typescript@5.5.4): - dependencies: - '@types/node': 20.5.1 - cosmiconfig: 8.3.6(typescript@5.5.4) - ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.5.4) - typescript: 5.5.4 - cosmiconfig-typescript-loader@5.0.0(@types/node@20.16.1)(cosmiconfig@9.0.0(typescript@5.5.4))(typescript@5.5.4): dependencies: '@types/node': 20.16.1 @@ -8349,15 +7901,6 @@ snapshots: jiti: 1.21.6 typescript: 5.5.4 - cosmiconfig@8.3.6(typescript@5.5.4): - dependencies: - import-fresh: 3.3.0 - js-yaml: 4.1.0 - parse-json: 5.2.0 - path-type: 4.0.0 - optionalDependencies: - typescript: 5.5.4 - cosmiconfig@9.0.0(typescript@5.5.4): dependencies: env-paths: 2.2.1 @@ -8369,7 +7912,8 @@ snapshots: crc-32@1.2.2: {} - create-require@1.1.1: {} + create-require@1.1.1: + optional: true cropperjs@1.6.2: {} @@ -8604,8 +8148,6 @@ snapshots: dependencies: event-emitter: 0.3.5 - dargs@7.0.0: {} - dargs@8.1.0: {} data-urls@2.0.0: @@ -8622,11 +8164,6 @@ snapshots: dependencies: ms: 2.1.2 - decamelize-keys@1.1.1: - dependencies: - decamelize: 1.2.0 - map-obj: 1.0.1 - decamelize@1.2.0: {} decimal.js@10.4.3: {} @@ -8680,7 +8217,8 @@ snapshots: diff-sequences@27.5.1: {} - diff@4.0.2: {} + diff@4.0.2: + optional: true dijkstrajs@1.0.3: {} @@ -9283,14 +8821,6 @@ snapshots: tar: 6.2.1 optional: true - git-raw-commits@2.0.11: - dependencies: - dargs: 7.0.0 - lodash: 4.17.21 - meow: 8.1.2 - split2: 3.2.2 - through2: 4.0.2 - git-raw-commits@4.0.0: dependencies: dargs: 8.1.0 @@ -9327,10 +8857,6 @@ snapshots: dependencies: ini: 4.1.1 - global-dirs@0.1.1: - dependencies: - ini: 1.3.8 - global-modules@1.0.0: dependencies: global-prefix: 1.0.2 @@ -9401,8 +8927,6 @@ snapshots: dependencies: lodash: 4.17.21 - hard-rejection@2.1.0: {} - has-flag@3.0.0: {} has-flag@4.0.0: {} @@ -9441,12 +8965,6 @@ snapshots: hookable@5.5.3: optional: true - hosted-git-info@2.8.9: {} - - hosted-git-info@4.1.0: - dependencies: - lru-cache: 6.0.0 - html-encoding-sniffer@2.0.1: dependencies: whatwg-encoding: 1.0.5 @@ -9524,8 +9042,6 @@ snapshots: imurmurhash@0.1.4: {} - indent-string@4.0.0: {} - inflight@1.0.6: dependencies: once: 1.4.0 @@ -9599,8 +9115,6 @@ snapshots: is-path-inside@3.0.3: {} - is-plain-obj@1.1.0: {} - is-plain-object@5.0.0: {} is-potential-custom-element-name@1.0.1: {} @@ -9613,10 +9127,6 @@ snapshots: is-stream@3.0.0: {} - is-text-path@1.0.1: - dependencies: - text-extensions: 1.9.0 - is-text-path@2.0.0: dependencies: text-extensions: 2.4.0 @@ -9704,16 +9214,16 @@ snapshots: transitivePeerDependencies: - supports-color - jest-cli@27.5.1(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4)): + jest-cli@27.5.1(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)): dependencies: - '@jest/core': 27.5.1(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4)) + '@jest/core': 27.5.1(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)) '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 import-local: 3.2.0 - jest-config: 27.5.1(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4)) + jest-config: 27.5.1(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)) jest-util: 27.5.1 jest-validate: 27.5.1 prompts: 2.4.2 @@ -9725,7 +9235,7 @@ snapshots: - ts-node - utf-8-validate - jest-config@27.5.1(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4)): + jest-config@27.5.1(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)): dependencies: '@babel/core': 7.25.2 '@jest/test-sequencer': 27.5.1 @@ -9752,7 +9262,7 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.5.4) + ts-node: 10.9.2(@types/node@20.16.1)(typescript@5.5.4) transitivePeerDependencies: - bufferutil - canvas @@ -10021,11 +9531,11 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@27.5.1(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4)): + jest@27.5.1(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)): dependencies: - '@jest/core': 27.5.1(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4)) + '@jest/core': 27.5.1(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)) import-local: 3.2.0 - jest-cli: 27.5.1(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4)) + jest-cli: 27.5.1(canvas@2.11.2)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)) transitivePeerDependencies: - bufferutil - canvas @@ -10104,13 +9614,6 @@ snapshots: json5@2.2.3: {} - jsonc-eslint-parser@2.4.0: - dependencies: - acorn: 8.12.1 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - semver: 7.6.3 - jsonfile@6.1.0: dependencies: universalify: 2.0.1 @@ -10220,8 +9723,6 @@ snapshots: lodash.isequal@4.5.0: {} - lodash.isfunction@3.0.9: {} - lodash.isplainobject@4.0.6: {} lodash.kebabcase@4.1.1: {} @@ -10292,16 +9793,13 @@ snapshots: dependencies: semver: 7.6.3 - make-error@1.3.6: {} + make-error@1.3.6: + optional: true makeerror@1.0.12: dependencies: tmpl: 1.0.5 - map-obj@1.0.1: {} - - map-obj@4.3.0: {} - mathml-tag-names@2.1.3: {} mdn-data@2.0.14: {} @@ -10316,20 +9814,6 @@ snapshots: meow@13.2.0: {} - meow@8.1.2: - dependencies: - '@types/minimist': 1.2.5 - camelcase-keys: 6.2.2 - decamelize-keys: 1.1.1 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 3.0.3 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.18.1 - yargs-parser: 20.2.9 - merge-stream@2.0.0: {} merge2@1.4.1: {} @@ -10360,8 +9844,6 @@ snapshots: mimic-response@2.1.0: optional: true - min-indent@1.0.1: {} - minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -10370,12 +9852,6 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minimist-options@4.1.0: - dependencies: - arrify: 1.0.1 - is-plain-obj: 1.1.0 - kind-of: 6.0.3 - minimist@1.2.7: {} minimist@1.2.8: {} @@ -10411,6 +9887,7 @@ snapshots: pathe: 1.1.2 pkg-types: 1.1.3 ufo: 1.5.4 + optional: true mousetrap@1.6.5: {} @@ -10489,20 +9966,6 @@ snapshots: abbrev: 1.1.1 optional: true - normalize-package-data@2.5.0: - dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.8 - semver: 5.7.2 - validate-npm-package-license: 3.0.4 - - normalize-package-data@3.0.3: - dependencies: - hosted-git-info: 4.1.0 - is-core-module: 2.15.0 - semver: 7.6.3 - validate-npm-package-license: 3.0.4 - normalize-path@3.0.0: {} normalize-range@0.1.2: {} @@ -10683,7 +10146,8 @@ snapshots: process: 0.11.10 util: 0.10.4 - pathe@1.1.2: {} + pathe@1.1.2: + optional: true pdfjs-dist@4.6.82: optionalDependencies: @@ -10729,6 +10193,7 @@ snapshots: confbox: 0.1.7 mlly: 1.7.1 pathe: 1.1.2 + optional: true plus-pro-components@0.1.15(element-plus@2.7.1(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4)): dependencies: @@ -10846,13 +10311,13 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.4.41 - postcss-load-config@4.0.2(postcss@8.4.41)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4)): + postcss-load-config@4.0.2(postcss@8.4.41)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)): dependencies: lilconfig: 3.1.2 yaml: 2.5.0 optionalDependencies: postcss: 8.4.41 - ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.5.4) + ts-node: 10.9.2(@types/node@20.16.1)(typescript@5.5.4) postcss-media-query-parser@0.2.3: {} @@ -11170,8 +10635,6 @@ snapshots: queue-microtask@1.2.3: {} - quick-lru@4.0.1: {} - rc9@2.1.2: dependencies: defu: 6.1.4 @@ -11184,19 +10647,6 @@ snapshots: dependencies: pify: 2.3.0 - read-pkg-up@7.0.1: - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 - - read-pkg@5.2.0: - dependencies: - '@types/normalize-package-data': 2.4.4 - normalize-package-data: 2.5.0 - parse-json: 5.2.0 - type-fest: 0.6.0 - readable-stream@3.6.2: dependencies: inherits: 2.0.3 @@ -11207,11 +10657,6 @@ snapshots: dependencies: picomatch: 2.3.1 - redent@3.0.0: - dependencies: - indent-string: 4.0.0 - strip-indent: 3.0.0 - regenerator-runtime@0.14.1: {} reinterval@1.1.0: {} @@ -11237,10 +10682,6 @@ snapshots: resolve-from@5.0.0: {} - resolve-global@1.0.0: - dependencies: - global-dirs: 0.1.1 - resolve-pkg-maps@1.0.0: {} resolve.exports@1.1.1: {} @@ -11345,14 +10786,8 @@ snapshots: scule@1.3.0: optional: true - semver@5.7.2: {} - semver@6.3.1: {} - semver@7.5.4: - dependencies: - lru-cache: 6.0.0 - semver@7.6.3: {} set-blocking@2.0.0: {} @@ -11450,20 +10885,6 @@ snapshots: sourcemap-codec@1.4.8: {} - spdx-correct@3.2.0: - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.20 - - spdx-exceptions@2.5.0: {} - - spdx-expression-parse@3.0.1: - dependencies: - spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.20 - - spdx-license-ids@3.0.20: {} - split2@3.2.2: dependencies: readable-stream: 3.6.2 @@ -11534,10 +10955,6 @@ snapshots: strip-final-newline@3.0.0: {} - strip-indent@3.0.0: - dependencies: - min-indent: 1.0.1 - strip-json-comments@3.1.1: {} strip-literal@2.1.0: @@ -11747,7 +11164,7 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - tailwindcss@3.4.10(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4)): + tailwindcss@3.4.10(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -11766,7 +11183,7 @@ snapshots: postcss: 8.4.41 postcss-import: 15.1.0(postcss@8.4.41) postcss-js: 4.0.1(postcss@8.4.41) - postcss-load-config: 4.0.2(postcss@8.4.41)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4)) + postcss-load-config: 4.0.2(postcss@8.4.41)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)) postcss-nested: 6.2.0(postcss@8.4.41) postcss-selector-parser: 6.1.2 resolve: 1.22.8 @@ -11802,8 +11219,6 @@ snapshots: glob: 7.2.3 minimatch: 3.1.2 - text-extensions@1.9.0: {} - text-extensions@2.4.0: {} text-table@0.2.0: {} @@ -11818,10 +11233,6 @@ snapshots: throat@6.0.2: {} - through2@4.0.2: - dependencies: - readable-stream: 3.6.2 - through@2.3.8: {} tiny-warning@1.0.3: {} @@ -11863,22 +11274,20 @@ snapshots: dependencies: punycode: 2.3.1 - trim-newlines@3.0.1: {} - ts-api-utils@1.3.0(typescript@5.5.4): dependencies: typescript: 5.5.4 ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4): + ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.5.1 + '@types/node': 20.16.1 acorn: 8.12.1 acorn-walk: 8.3.3 arg: 4.1.3 @@ -11888,6 +11297,7 @@ snapshots: typescript: 5.5.4 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + optional: true tslib@2.3.0: {} @@ -11901,16 +11311,10 @@ snapshots: type-detect@4.0.8: {} - type-fest@0.18.1: {} - type-fest@0.20.2: {} type-fest@0.21.3: {} - type-fest@0.6.0: {} - - type-fest@0.8.1: {} - type-fest@2.19.0: {} type@2.7.3: {} @@ -11927,7 +11331,8 @@ snapshots: typescript@5.5.4: {} - ufo@1.5.4: {} + ufo@1.5.4: + optional: true uncrypto@0.1.3: optional: true @@ -11973,6 +11378,7 @@ snapshots: chokidar: 3.6.0 webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.2 + optional: true untyped@1.4.2: dependencies: @@ -12016,7 +11422,8 @@ snapshots: v3-infinite-loading@1.3.2: {} - v8-compile-cache-lib@3.0.1: {} + v8-compile-cache-lib@3.0.1: + optional: true v8-to-istanbul@8.1.1: dependencies: @@ -12024,11 +11431,6 @@ snapshots: convert-source-map: 1.9.0 source-map: 0.7.4 - validate-npm-package-license@3.0.4: - dependencies: - spdx-correct: 3.2.0 - spdx-expression-parse: 3.0.1 - version-rocket@1.7.2: dependencies: axios: 1.7.4 @@ -12111,13 +11513,6 @@ snapshots: transitivePeerDependencies: - supports-color - vue-i18n@9.14.0(vue@3.4.38(typescript@5.5.4)): - dependencies: - '@intlify/core-base': 9.14.0 - '@intlify/shared': 9.14.0 - '@vue/devtools-api': 6.6.3 - vue: 3.4.38(typescript@5.5.4) - vue-json-pretty@2.4.0(vue@3.4.38(typescript@5.5.4)): dependencies: vue: 3.4.38(typescript@5.5.4) @@ -12227,9 +11622,11 @@ snapshots: webidl-conversions@6.1.0: {} - webpack-sources@3.2.3: {} + webpack-sources@3.2.3: + optional: true - webpack-virtual-modules@0.6.2: {} + webpack-virtual-modules@0.6.2: + optional: true whatwg-encoding@1.0.5: dependencies: @@ -12358,12 +11755,6 @@ snapshots: yallist@4.0.0: {} - yaml-eslint-parser@1.2.3: - dependencies: - eslint-visitor-keys: 3.4.3 - lodash: 4.17.21 - yaml: 2.5.0 - yaml@1.10.2: {} yaml@2.5.0: {} @@ -12411,7 +11802,8 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - yn@3.1.1: {} + yn@3.1.1: + optional: true yocto-queue@0.1.0: {} diff --git a/postcss.config.js b/postcss.config.js index 8623948..3e68820 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -1,12 +1,12 @@ // @ts-check -/** @type {import('postcss-load-config').Config} */ +/** @type {import("postcss-load-config").Config} */ export default { - plugins: { - "postcss-import": {}, - "tailwindcss/nesting": {}, - tailwindcss: {}, - autoprefixer: {}, - ...(process.env.NODE_ENV === "production" ? { cssnano: {} } : {}) - } + plugins: { + 'postcss-import': {}, + 'tailwindcss/nesting': {}, + tailwindcss: {}, + autoprefixer: {}, + ...(process.env.NODE_ENV === 'production' ? { cssnano: {} } : {}), + }, }; diff --git a/src/components/TableBar/src/TablePlus.vue b/src/components/TableBar/src/TablePlus.vue deleted file mode 100644 index 4956cea..0000000 --- a/src/components/TableBar/src/TablePlus.vue +++ /dev/null @@ -1,48 +0,0 @@ - - - - - diff --git a/src/components/TableBar/src/TablePlusBar.vue b/src/components/TableBar/src/TablePlusBar.vue index 2ef4572..21b110c 100644 --- a/src/components/TableBar/src/TablePlusBar.vue +++ b/src/components/TableBar/src/TablePlusBar.vue @@ -1,96 +1,80 @@ diff --git a/src/components/TableBar/src/TablePlusPage.vue b/src/components/TableBar/src/TablePlusPage.vue deleted file mode 100644 index f442ab3..0000000 --- a/src/components/TableBar/src/TablePlusPage.vue +++ /dev/null @@ -1,75 +0,0 @@ - - - - - diff --git a/src/components/TableBar/src/TablePlusQuery.vue b/src/components/TableBar/src/TablePlusQuery.vue deleted file mode 100644 index 89143ec..0000000 --- a/src/components/TableBar/src/TablePlusQuery.vue +++ /dev/null @@ -1,105 +0,0 @@ - - - - - diff --git a/src/components/TableBar/src/TablePlusVxeBar.vue b/src/components/TableBar/src/TablePlusVxeBar.vue new file mode 100644 index 0000000..f5fb193 --- /dev/null +++ b/src/components/TableBar/src/TablePlusVxeBar.vue @@ -0,0 +1,204 @@ + + + + + diff --git a/src/components/TableBar/utils/tableStyle.ts b/src/components/TableBar/utils/tableStyle.ts index b378312..d623548 100644 --- a/src/components/TableBar/utils/tableStyle.ts +++ b/src/components/TableBar/utils/tableStyle.ts @@ -1,30 +1,28 @@ -import { computed } from "vue"; -import { useEpThemeStoreHook } from "@/store/epTheme"; +import { computed } from 'vue'; +import { useEpThemeStoreHook } from '@/store/modules/epTheme'; /** * * 表格头部样式 */ export const cellHeaderStyle = () => ({ - background: "var(--el-fill-color-light)", - color: "var(--el-text-color-primary)" + background: 'var(--el-fill-color-light)', + color: 'var(--el-text-color-primary)', }); // * icon 样式 -export const iconClass = () => - "text-black dark:text-white duration-100 hover:!text-primary cursor-pointer outline-none "; +export const iconClass = () => 'text-black dark:text-white duration-100 hover:!text-primary cursor-pointer outline-none '; // * 顶部样式 -export const topClass = () => - "flex justify-between pt-[3px] px-[11px] border-b-[1px] border-solid border-[#dcdfe6] dark:border-[#303030]"; +export const topClass = () => 'flex justify-between pt-[3px] px-[11px] border-b-[1px] border-solid border-[#dcdfe6] dark:border-[#303030]'; /** * * 拖拽列样式 */ export const getDropdownItemStyle = computed(() => { - return (size: string, s: string) => { - return { - background: s === size ? useEpThemeStoreHook().epThemeColor : "", - color: s === size ? "#fff" : "var(--el-text-color-primary)" - }; - }; + return (size: string, s: string) => { + return { + background: s === size ? useEpThemeStoreHook().epThemeColor : '', + color: s === size ? '#fff' : 'var(--el-text-color-primary)', + }; + }; }); diff --git a/src/config/index.ts b/src/config/index.ts index c81d1c4..47d201c 100644 --- a/src/config/index.ts +++ b/src/config/index.ts @@ -1,52 +1,52 @@ -import axios from "axios"; -import type { App } from "vue"; +import axios from 'axios'; +import type { App } from 'vue'; let config: object = {}; const { VITE_PUBLIC_PATH } = import.meta.env; const setConfig = (cfg?: unknown) => { - config = Object.assign(config, cfg); + config = Object.assign(config, cfg); }; const getConfig = (key?: string): PlatformConfigs => { - if (typeof key === "string") { - const arr = key.split("."); - if (arr && arr.length) { - let data = config; - arr.forEach(v => { - if (data && typeof data[v] !== "undefined") { - data = data[v]; - } else { - data = null; - } - }); - return data; - } - } - return config; + if (typeof key === 'string') { + const arr = key.split('.'); + if (arr && arr.length) { + let data = config; + arr.forEach(v => { + if (data && typeof data[v] !== 'undefined') { + data = data[v]; + } else { + data = null; + } + }); + return data; + } + } + return config; }; /** 获取项目动态全局配置 */ export const getPlatformConfig = async (app: App): Promise => { - app.config.globalProperties.$config = getConfig(); - return axios({ - method: "get", - url: `${VITE_PUBLIC_PATH}platform-config.json` - }) - .then(({ data: config }) => { - let $config = app.config.globalProperties.$config; - // 自动注入系统配置 - if (app && $config && typeof config === "object") { - $config = Object.assign($config, config); - app.config.globalProperties.$config = $config; - // 设置全局配置 - setConfig($config); - } - return $config; - }) - .catch(() => { - throw "请在public文件夹下添加platform-config.json配置文件"; - }); + app.config.globalProperties.$config = getConfig(); + return axios({ + method: 'get', + url: `${VITE_PUBLIC_PATH}platform-config.json`, + }) + .then(({ data: config }) => { + let $config = app.config.globalProperties.$config; + // 自动注入系统配置 + if (app && $config && typeof config === 'object') { + $config = Object.assign($config, config); + app.config.globalProperties.$config = $config; + // 设置全局配置 + setConfig($config); + } + return $config; + }) + .catch(() => { + throw '请在public文件夹下添加platform-config.json配置文件'; + }); }; /** 本地响应式存储的命名空间 */ diff --git a/src/enum/baseConstant.ts b/src/enum/baseConstant.ts new file mode 100644 index 0000000..e1ba0a8 --- /dev/null +++ b/src/enum/baseConstant.ts @@ -0,0 +1,30 @@ +import type { Option } from '../../types/enum/options'; + +/** + * * 是否默认 + */ +export const isDefaultOptions: Option[] = [ + { value: true, label: '是' }, + { value: false, label: '否' }, +]; + +/** + * * 是否显示 + */ +export const isDefaultVisibleOptions: Option[] = [ + { value: true, label: '显示' }, + { value: false, label: '不显示' }, +]; + +/** + * * 性别 + */ +export const sexConstant: Option[] = [ + { value: 1, label: '男' }, + { value: 0, label: '女' }, +]; + +/** + * * 分页默认数组个数 + */ +export const pageSizes: number[] = [10, 30, 50, 100, 150, 200, 300]; diff --git a/src/enum/statusConstant.ts b/src/enum/statusConstant.ts new file mode 100644 index 0000000..0a8a6b8 --- /dev/null +++ b/src/enum/statusConstant.ts @@ -0,0 +1,29 @@ +// ? 表单选项 +import type { Option } from '../../types/enum/options'; + +/** + * * 默认状态 + */ +export const defaultStatus: Option[] = [ + { value: '', label: '' }, + { value: 1, label: '启用' }, + { value: 0, label: '禁用' }, +]; + +/** + * * 是否错误 + */ +export const isErrorStatus: Option[] = [ + { value: '', label: '' }, + { value: false, label: '未出错' }, + { value: true, label: '错误' }, +]; + +/** + * * 默认状态 + */ +export const statusConstant: Option[] = [ + { value: '', label: '' }, + { value: 1, label: '是' }, + { value: 0, label: '否' }, +]; diff --git a/src/enum/views/faviconConstant.ts b/src/enum/views/faviconConstant.ts new file mode 100644 index 0000000..8332fb6 --- /dev/null +++ b/src/enum/views/faviconConstant.ts @@ -0,0 +1,10 @@ +import type { Option } from '../../../types/enum/options'; + +/** + * 图标选项 + */ +export const faviconCategory: Option[] = [ + { value: '', label: '' }, + { value: 'web', label: 'web 前台' }, + { value: 'admin', label: 'admin 后台' }, +]; diff --git a/src/enum/views/feedbackConstant.ts b/src/enum/views/feedbackConstant.ts new file mode 100644 index 0000000..c040141 --- /dev/null +++ b/src/enum/views/feedbackConstant.ts @@ -0,0 +1,21 @@ +import type { Option } from '../../../types/enum/options'; + +/** + * * 用户反馈 + */ +export const feedback: Option[] = [ + { value: '', label: '' }, + { value: 1, label: '已处理' }, + { value: 0, label: '未处理' }, + { value: -1, label: '其它问题' }, +]; + +/** + * * 反馈类型选择 + */ +export const feedbackTypeOptions: Option[] = [ + { label: '优化建议', value: '优化建议' }, + { label: 'bug反馈', value: 'bug反馈' }, + { label: '新增功能建议', value: '新增功能建议' }, + { label: '其它', value: '其它' }, +]; diff --git a/src/enum/views/userConstant.ts b/src/enum/views/userConstant.ts new file mode 100644 index 0000000..6210b6c --- /dev/null +++ b/src/enum/views/userConstant.ts @@ -0,0 +1,25 @@ +import type { Option } from '../../../types/enum/options'; + +/** + * * 布局方式 + */ +export const layoutConstant: Option[] = [ + { value: 'ltr', label: '从左到右' }, + { value: 'rtl', label: '从右到左' }, +]; + +/** + * * 文章显示模式 + */ +export const articleModeConstant: Option[] = [ + { value: 'album', label: '相册模式' }, + { value: 'list', label: '列表模式' }, +]; + +/** + * * 默认状态 + */ +export const userStatus: Option[] = [ + { value: 0, label: '启用' }, + { value: 1, label: '禁用' }, +]; diff --git a/src/main.ts b/src/main.ts index 8907607..371ed05 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,67 +1,67 @@ -import App from "./App.vue"; -import router from "./router"; -import { setupStore } from "@/store"; -import { getPlatformConfig } from "./config"; -import { MotionPlugin } from "@vueuse/motion"; +import App from './App.vue'; +import router from './router'; +import { setupStore } from '@/store'; +import { getPlatformConfig } from './config'; +import { MotionPlugin } from '@vueuse/motion'; // import { useEcharts } from "@/plugins/echarts"; -import { createApp, type Directive } from "vue"; -import { useElementPlus } from "@/plugins/elementPlus"; -import { injectResponsiveStorage } from "@/utils/responsive"; +import { createApp, type Directive } from 'vue'; +import { useElementPlus } from '@/plugins/elementPlus'; +import { injectResponsiveStorage } from '@/utils/responsive'; -import Table from "@pureadmin/table"; +import Table from '@pureadmin/table'; // import PureDescriptions from "@pureadmin/descriptions"; // 引入重置样式 -import "./style/reset.scss"; +import './style/reset.scss'; // 导入公共样式 -import "./style/index.scss"; +import './style/index.scss'; // 一定要在main.ts中导入tailwind.css,防止vite每次hmr都会请求src/style/index.scss整体css文件导致热更新慢的问题 -import "./style/tailwind.css"; -import "element-plus/dist/index.css"; +import './style/tailwind.css'; +import 'element-plus/dist/index.css'; // 导入字体图标 -import "./assets/iconfont/iconfont.js"; -import "./assets/iconfont/iconfont.css"; +import './assets/iconfont/iconfont.js'; +import './assets/iconfont/iconfont.css'; // 自定义指令 -import * as directives from "@/directives"; +import * as directives from '@/directives'; // 全局注册@iconify/vue图标库 -import { - FontIcon, - IconifyIconOffline, - IconifyIconOnline -} from "./components/CommonIcon"; +import { FontIcon, IconifyIconOffline, IconifyIconOnline } from './components/CommonIcon'; // 全局注册按钮级别权限组件 -import { Auth } from "@/components/Auth"; -import { Perms } from "@/components/Perms"; +import { Auth } from '@/components/Auth'; +import { Perms } from '@/components/Perms'; // 全局注册vue-tippy -import "tippy.js/dist/tippy.css"; -import "tippy.js/themes/light.css"; -import VueTippy from "vue-tippy"; -import { useEcharts } from "@/plugins/echarts"; +import 'tippy.js/dist/tippy.css'; +import 'tippy.js/themes/light.css'; +import VueTippy from 'vue-tippy'; +import { useEcharts } from '@/plugins/echarts'; +// 完整导入 表格库 +import VxeUITable from 'vxe-table'; +import 'vxe-table/lib/style.css'; const app = createApp(App); Object.keys(directives).forEach(key => { - app.directive(key, (directives as { [key: string]: Directive })[key]); + app.directive(key, (directives as { [key: string]: Directive })[key]); }); -app.component("IconifyIconOffline", IconifyIconOffline); -app.component("IconifyIconOnline", IconifyIconOnline); -app.component("FontIcon", FontIcon); +app.component('IconifyIconOffline', IconifyIconOffline); +app.component('IconifyIconOnline', IconifyIconOnline); +app.component('FontIcon', FontIcon); -app.component("Auth", Auth); -app.component("Perms", Perms); +app.component('Auth', Auth); +app.component('Perms', Perms); app.use(VueTippy); getPlatformConfig(app).then(async config => { - setupStore(app); - app.use(router); - await router.isReady(); - injectResponsiveStorage(app, config); - app - .use(MotionPlugin) - .use(useElementPlus) - .use(Table) - // .use(PureDescriptions) - .use(useEcharts); - app.mount("#app"); + setupStore(app); + app.use(router); + await router.isReady(); + injectResponsiveStorage(app, config); + app + .use(MotionPlugin) + .use(useElementPlus) + .use(Table) + .use(VxeUITable) + // .use(PureDescriptions) + .use(useEcharts); + app.mount('#app'); }); diff --git a/src/views/permission/page/columns.ts b/src/views/permission/page/columns.ts new file mode 100644 index 0000000..24ea03d --- /dev/null +++ b/src/views/permission/page/columns.ts @@ -0,0 +1,9 @@ +export const columns = [ + { prop: 'id', label: 'id' }, + { prop: 'name', label: 'name' }, + { prop: 'nickname', label: 'nickname' }, + { prop: 'role', label: 'role' }, + { prop: 'sex', label: 'sex' }, + { prop: 'age', label: 'age' }, + { prop: 'address', label: 'address' }, +]; diff --git a/src/views/permission/page/index.vue b/src/views/permission/page/index.vue index 27fb26a..c9eb0d1 100644 --- a/src/views/permission/page/index.vue +++ b/src/views/permission/page/index.vue @@ -1,66 +1,264 @@ - diff --git a/types/directives.d.ts b/types/directives.d.ts index 458fd09..b8f61e4 100644 --- a/types/directives.d.ts +++ b/types/directives.d.ts @@ -1,28 +1,28 @@ -import type { Directive } from "vue"; -import type { CopyEl, OptimizeOptions, RippleOptions } from "@/directives"; +import type { Directive } from 'vue'; +import type { CopyEl, OptimizeOptions, RippleOptions } from '@/directives'; -declare module "vue" { - export interface ComponentCustomProperties { - /** `Loading` 动画加载指令,具体看:https://element-plus.org/zh-CN/component/loading.html#%E6%8C%87%E4%BB%A4 */ - vLoading: Directive; - /** 按钮权限指令(根据路由`meta`中的`auths`字段进行判断)*/ - vAuth: Directive>; - /** 文本复制指令(默认双击复制) */ - vCopy: Directive; - /** 长按指令 */ - vLongpress: Directive; - /** 防抖、节流指令 */ - vOptimize: Directive; - /** 按钮权限指令(根据登录接口返回的`permissions`字段进行判断)*/ - vPerms: Directive>; - /** - * `v-ripple`指令,用法如下: - * 1. `v-ripple`代表启用基本的`ripple`功能 - * 2. `v-ripple="{ class: 'text-red' }"`代表自定义`ripple`颜色,支持`tailwindcss`,生效样式是`color` - * 3. `v-ripple.center`代表从中心扩散 - */ - vRipple: Directive; - } +declare module 'vue' { + export interface ComponentCustomProperties { + /** `Loading` 动画加载指令,具体看:https://element-plus.org/zh-CN/component/loading.html#%E6%8C%87%E4%BB%A4 */ + vLoading: Directive; + /** 按钮权限指令(根据路由`meta`中的`auths`字段进行判断)*/ + vAuth: Directive>; + /** 文本复制指令(默认双击复制) */ + vCopy: Directive; + /** 长按指令 */ + vLongpress: Directive; + /** 防抖、节流指令 */ + vOptimize: Directive; + /** 按钮权限指令(根据登录接口返回的`permissions`字段进行判断)*/ + vPerms: Directive>; + /** + * `v-ripple`指令,用法如下: + * 1. `v-ripple`代表启用基本的`ripple`功能 + * 2. `v-ripple="{ class: 'text-red' }"`代表自定义`ripple`颜色,支持`tailwindcss`,生效样式是`color` + * 3. `v-ripple.center`代表从中心扩散 + */ + vRipple: Directive; + } } export {}; diff --git a/types/enum/options.d.ts b/types/enum/options.d.ts new file mode 100644 index 0000000..849a676 --- /dev/null +++ b/types/enum/options.d.ts @@ -0,0 +1,12 @@ +// 默认option选项 +export interface Option { + value: string | number | boolean | undefined; + label: string | undefined; +} + +// 属性结构 +export interface TreeData { + value: string; + label: string; + children?: TreeData[]; +} diff --git a/types/global.d.ts b/types/global.d.ts index 0126664..e2f6bf1 100644 --- a/types/global.d.ts +++ b/types/global.d.ts @@ -1,193 +1,186 @@ -import type { ECharts } from "echarts"; -import type { TableColumns } from "@pureadmin/table"; +import type { ECharts } from 'echarts'; +import type { TableColumns } from '@pureadmin/table'; /** * 全局类型声明,无需引入直接在 `.vue` 、`.ts` 、`.tsx` 文件使用即可获得类型提示 */ declare global { - /** - * 平台的名称、版本、运行所需的`node`和`pnpm`版本、依赖、最后构建时间的类型提示 - */ - const __APP_INFO__: { - pkg: { - name: string; - version: string; - engines: { - node: string; - pnpm: string; - }; - dependencies: Recordable; - devDependencies: Recordable; - }; - lastBuildTime: string; - }; + /** + * 平台的名称、版本、运行所需的`node`和`pnpm`版本、依赖、最后构建时间的类型提示 + */ + const __APP_INFO__: { + pkg: { + name: string; + version: string; + engines: { + node: string; + pnpm: string; + }; + dependencies: Recordable; + devDependencies: Recordable; + }; + lastBuildTime: string; + }; - /** - * Window 的类型提示 - */ - interface Window { - // Global vue app instance - __APP__: App; - webkitCancelAnimationFrame: (handle: number) => void; - mozCancelAnimationFrame: (handle: number) => void; - oCancelAnimationFrame: (handle: number) => void; - msCancelAnimationFrame: (handle: number) => void; - webkitRequestAnimationFrame: (callback: FrameRequestCallback) => number; - mozRequestAnimationFrame: (callback: FrameRequestCallback) => number; - oRequestAnimationFrame: (callback: FrameRequestCallback) => number; - msRequestAnimationFrame: (callback: FrameRequestCallback) => number; - } + /** + * Window 的类型提示 + */ + interface Window { + // Global vue app instance + __APP__: App; + webkitCancelAnimationFrame: (handle: number) => void; + mozCancelAnimationFrame: (handle: number) => void; + oCancelAnimationFrame: (handle: number) => void; + msCancelAnimationFrame: (handle: number) => void; + webkitRequestAnimationFrame: (callback: FrameRequestCallback) => number; + mozRequestAnimationFrame: (callback: FrameRequestCallback) => number; + oRequestAnimationFrame: (callback: FrameRequestCallback) => number; + msRequestAnimationFrame: (callback: FrameRequestCallback) => number; + } - /** - * Document 的类型提示 - */ - interface Document { - webkitFullscreenElement?: Element; - mozFullScreenElement?: Element; - msFullscreenElement?: Element; - } + /** + * Document 的类型提示 + */ + interface Document { + webkitFullscreenElement?: Element; + mozFullScreenElement?: Element; + msFullscreenElement?: Element; + } - /** - * 打包压缩格式的类型声明 - */ - type ViteCompression = - | "none" - | "gzip" - | "brotli" - | "both" - | "gzip-clear" - | "brotli-clear" - | "both-clear"; + /** + * 打包压缩格式的类型声明 + */ + type ViteCompression = 'none' | 'gzip' | 'brotli' | 'both' | 'gzip-clear' | 'brotli-clear' | 'both-clear'; - /** - * 全局自定义环境变量的类型声明 - * @see {@link https://pure-admin.github.io/pure-admin-doc/pages/config/#%E5%85%B7%E4%BD%93%E9%85%8D%E7%BD%AE} - */ - interface ViteEnv { - VITE_PORT: number; - VITE_PUBLIC_PATH: string; - VITE_ROUTER_HISTORY: string; - VITE_CDN: boolean; - VITE_HIDE_HOME: string; - VITE_COMPRESSION: ViteCompression; - } + /** + * 全局自定义环境变量的类型声明 + * @see {@link https://pure-admin.github.io/pure-admin-doc/pages/config/#%E5%85%B7%E4%BD%93%E9%85%8D%E7%BD%AE} + */ + interface ViteEnv { + VITE_PORT: number; + VITE_PUBLIC_PATH: string; + VITE_ROUTER_HISTORY: string; + VITE_CDN: boolean; + VITE_HIDE_HOME: string; + VITE_COMPRESSION: ViteCompression; + } - /** - * 继承 `@pureadmin/table` 的 `TableColumns` ,方便全局直接调用 - */ - interface TableColumnList extends Array {} + /** + * 继承 `@pureadmin/table` 的 `TableColumns` ,方便全局直接调用 + */ + interface TableColumnList extends Array {} - /** - * 对应 `public/platform-config.json` 文件的类型声明 - * @see {@link https://pure-admin.github.io/pure-admin-doc/pages/config/#platform-config-json} - */ - interface PlatformConfigs { - Version?: string; - Title?: string; - FixedHeader?: boolean; - HiddenSideBar?: boolean; - MultiTagsCache?: boolean; - MaxTagsLevel?: number; - KeepAlive?: boolean; - Locale?: string; - Layout?: string; - Theme?: string; - DarkMode?: boolean; - OverallStyle?: string; - Grey?: boolean; - Weak?: boolean; - HideTabs?: boolean; - HideFooter?: boolean; - Stretch?: boolean | number; - SidebarStatus?: boolean; - EpThemeColor?: string; - ShowLogo?: boolean; - ShowModel?: string; - MenuArrowIconNoTransition?: boolean; - CachingAsyncRoutes?: boolean; - TooltipEffect?: Effect; - ResponsiveStorageNameSpace?: string; - MenuSearchHistory?: number; - } + /** + * 对应 `public/platform-config.json` 文件的类型声明 + * @see {@link https://pure-admin.github.io/pure-admin-doc/pages/config/#platform-config-json} + */ + interface PlatformConfigs { + Version?: string; + Title?: string; + FixedHeader?: boolean; + HiddenSideBar?: boolean; + MultiTagsCache?: boolean; + MaxTagsLevel?: number; + KeepAlive?: boolean; + Locale?: string; + Layout?: string; + Theme?: string; + DarkMode?: boolean; + OverallStyle?: string; + Grey?: boolean; + Weak?: boolean; + HideTabs?: boolean; + HideFooter?: boolean; + Stretch?: boolean | number; + SidebarStatus?: boolean; + EpThemeColor?: string; + ShowLogo?: boolean; + ShowModel?: string; + MenuArrowIconNoTransition?: boolean; + CachingAsyncRoutes?: boolean; + TooltipEffect?: Effect; + ResponsiveStorageNameSpace?: string; + MenuSearchHistory?: number; + } - /** - * 与 `PlatformConfigs` 类型不同,这里是缓存到浏览器本地存储的类型声明 - * @see {@link https://pure-admin.github.io/pure-admin-doc/pages/config/#platform-config-json} - */ - interface StorageConfigs { - version?: string; - title?: string; - fixedHeader?: boolean; - hiddenSideBar?: boolean; - multiTagsCache?: boolean; - keepAlive?: boolean; - locale?: string; - layout?: string; - theme?: string; - darkMode?: boolean; - grey?: boolean; - weak?: boolean; - hideTabs?: boolean; - hideFooter?: boolean; - sidebarStatus?: boolean; - epThemeColor?: string; - themeColor?: string; - overallStyle?: string; - showLogo?: boolean; - showModel?: string; - menuSearchHistory?: number; - username?: string; - } + /** + * 与 `PlatformConfigs` 类型不同,这里是缓存到浏览器本地存储的类型声明 + * @see {@link https://pure-admin.github.io/pure-admin-doc/pages/config/#platform-config-json} + */ + interface StorageConfigs { + version?: string; + title?: string; + fixedHeader?: boolean; + hiddenSideBar?: boolean; + multiTagsCache?: boolean; + keepAlive?: boolean; + locale?: string; + layout?: string; + theme?: string; + darkMode?: boolean; + grey?: boolean; + weak?: boolean; + hideTabs?: boolean; + hideFooter?: boolean; + sidebarStatus?: boolean; + epThemeColor?: string; + themeColor?: string; + overallStyle?: string; + showLogo?: boolean; + showModel?: string; + menuSearchHistory?: number; + username?: string; + } - /** - * `responsive-storage` 本地响应式 `storage` 的类型声明 - */ - interface ResponsiveStorage { - locale: { - locale?: string; - }; - layout: { - layout?: string; - theme?: string; - darkMode?: boolean; - sidebarStatus?: boolean; - epThemeColor?: string; - themeColor?: string; - overallStyle?: string; - }; - configure: { - grey?: boolean; - weak?: boolean; - hideTabs?: boolean; - hideFooter?: boolean; - showLogo?: boolean; - showModel?: string; - multiTagsCache?: boolean; - stretch?: boolean | number; - }; - tags?: Array; - } + /** + * `responsive-storage` 本地响应式 `storage` 的类型声明 + */ + interface ResponsiveStorage { + locale: { + locale?: string; + }; + layout: { + layout?: string; + theme?: string; + darkMode?: boolean; + sidebarStatus?: boolean; + epThemeColor?: string; + themeColor?: string; + overallStyle?: string; + }; + configure: { + grey?: boolean; + weak?: boolean; + hideTabs?: boolean; + hideFooter?: boolean; + showLogo?: boolean; + showModel?: string; + multiTagsCache?: boolean; + stretch?: boolean | number; + }; + tags?: Array; + } - /** - * 平台里所有组件实例都能访问到的全局属性对象的类型声明 - */ - interface GlobalPropertiesApi { - $echarts: ECharts; - $storage: ResponsiveStorage; - $config: PlatformConfigs; - } + /** + * 平台里所有组件实例都能访问到的全局属性对象的类型声明 + */ + interface GlobalPropertiesApi { + $echarts: ECharts; + $storage: ResponsiveStorage; + $config: PlatformConfigs; + } - /** - * 扩展 `Element` - */ - interface Element { - // v-ripple 作用于 src/directives/ripple/index.ts 文件 - _ripple?: { - enabled?: boolean; - centered?: boolean; - class?: string; - circle?: boolean; - touched?: boolean; - }; - } + /** + * 扩展 `Element` + */ + interface Element { + // v-ripple 作用于 src/directives/ripple/index.ts 文件 + _ripple?: { + enabled?: boolean; + centered?: boolean; + class?: string; + circle?: boolean; + touched?: boolean; + }; + } } diff --git a/types/index.d.ts b/types/index.d.ts index 67d7459..451a254 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -4,15 +4,14 @@ type RefType = T | null; type EmitType = (event: string, ...args: any[]) => void; -type TargetContext = "_self" | "_blank"; +type TargetContext = '_self' | '_blank'; -type ComponentRef = - ComponentElRef | null; +type ComponentRef = ComponentElRef | null; type ElRef = Nullable; type ForDataType = { - [P in T]?: ForDataType; + [P in T]?: ForDataType; }; type AnyFunction = (...args: any[]) => T; @@ -20,7 +19,7 @@ type AnyFunction = (...args: any[]) => T; type PropType = VuePropType; type Writable = { - -readonly [P in keyof T]: T[P]; + -readonly [P in keyof T]: T[P]; }; type Nullable = T | null; @@ -30,15 +29,15 @@ type NonNullable = T extends null | undefined ? never : T; type Recordable = Record; type ReadonlyRecordable = { - readonly [key: string]: T; + readonly [key: string]: T; }; type Indexable = { - [key: string]: T; + [key: string]: T; }; type DeepPartial = { - [P in keyof T]?: DeepPartial; + [P in keyof T]?: DeepPartial; }; type Without = { [P in Exclude]?: never }; @@ -49,30 +48,30 @@ type TimeoutHandle = ReturnType; type IntervalHandle = ReturnType; -type Effect = "light" | "dark"; +type Effect = 'light' | 'dark'; interface ChangeEvent extends Event { - target: HTMLInputElement; + target: HTMLInputElement; } interface WheelEvent { - path?: EventTarget[]; + path?: EventTarget[]; } interface ImportMetaEnv extends ViteEnv { - __: unknown; + __: unknown; } interface Fn { - (...arg: T[]): R; + (...arg: T[]): R; } interface PromiseFn { - (...arg: T[]): Promise; + (...arg: T[]): Promise; } interface ComponentElRef { - $el: T; + $el: T; } // eslint-disable-next-line @typescript-eslint/no-unused-vars diff --git a/types/pagination/pagination.d.ts b/types/pagination/pagination.d.ts new file mode 100644 index 0000000..e615088 --- /dev/null +++ b/types/pagination/pagination.d.ts @@ -0,0 +1,7 @@ +// 分页参数接口 +export interface Pagination { + currentPage: number; + pageSize: number; + total: number; + pageSizes: number[]; +} diff --git a/types/router.d.ts b/types/router.d.ts index a03ba0e..7653264 100644 --- a/types/router.d.ts +++ b/types/router.d.ts @@ -1,108 +1,108 @@ // 全局路由类型声明 -import type { RouteComponent, RouteLocationNormalized } from "vue-router"; -import type { FunctionalComponent } from "vue"; +import type { RouteComponent, RouteLocationNormalized } from 'vue-router'; +import type { FunctionalComponent } from 'vue'; declare global { - interface ToRouteType extends RouteLocationNormalized { - meta: CustomizeRouteMeta; - } + interface ToRouteType extends RouteLocationNormalized { + meta: CustomizeRouteMeta; + } - /** - * @description 完整子路由的`meta`配置表 - */ - interface CustomizeRouteMeta { - /** 菜单名称(兼容国际化、非国际化,如何用国际化的写法就必须在根目录的`locales`文件夹下对应添加) `必填` */ - title: string; - /** 菜单图标 `可选` */ - icon?: string | FunctionalComponent | IconifyIcon; - /** 菜单名称右侧的额外图标 */ - extraIcon?: string | FunctionalComponent | IconifyIcon; - /** 是否在菜单中显示(默认`true`)`可选` */ - showLink?: boolean; - /** 是否显示父级菜单 `可选` */ - showParent?: boolean; - /** 页面级别权限设置 `可选` */ - roles?: Array; - /** 按钮级别权限设置 `可选` */ - auths?: Array; - /** 路由组件缓存(开启 `true`、关闭 `false`)`可选` */ - keepAlive?: boolean; - /** 内嵌的`iframe`链接 `可选` */ - frameSrc?: string; - /** `iframe`页是否开启首次加载动画(默认`true`)`可选` */ - frameLoading?: boolean; - /** 页面加载动画(两种模式,第二种权重更高,第一种直接采用`vue`内置的`transitions`动画,第二种是使用`animate.css`编写进、离场动画,平台更推荐使用第二种模式,已经内置了`animate.css`,直接写对应的动画名即可)`可选` */ - transition?: { - /** - * @description 当前路由动画效果 - * @see {@link https://next.router.vuejs.org/guide/advanced/transitions.html#transitions} - * @see animate.css {@link https://animate.style} - */ - name?: string; - /** 进场动画 */ - enterTransition?: string; - /** 离场动画 */ - leaveTransition?: string; - }; - /** 当前菜单名称或自定义信息禁止添加到标签页(默认`false`) */ - hiddenTag?: boolean; - /** 当前菜单名称是否固定显示在标签页且不可关闭(默认`false`) */ - fixedTag?: boolean; - /** 动态路由可打开的最大数量 `可选` */ - dynamicLevel?: number; - /** 将某个菜单激活 - * (主要用于通过`query`或`params`传参的路由,当它们通过配置`showLink: false`后不在菜单中显示,就不会有任何菜单高亮, - * 而通过设置`activePath`指定激活菜单即可获得高亮,`activePath`为指定激活菜单的`path`) - */ - activePath?: string; - } + /** + * @description 完整子路由的`meta`配置表 + */ + interface CustomizeRouteMeta { + /** 菜单名称(兼容国际化、非国际化,如何用国际化的写法就必须在根目录的`locales`文件夹下对应添加) `必填` */ + title: string; + /** 菜单图标 `可选` */ + icon?: string | FunctionalComponent | IconifyIcon; + /** 菜单名称右侧的额外图标 */ + extraIcon?: string | FunctionalComponent | IconifyIcon; + /** 是否在菜单中显示(默认`true`)`可选` */ + showLink?: boolean; + /** 是否显示父级菜单 `可选` */ + showParent?: boolean; + /** 页面级别权限设置 `可选` */ + roles?: Array; + /** 按钮级别权限设置 `可选` */ + auths?: Array; + /** 路由组件缓存(开启 `true`、关闭 `false`)`可选` */ + keepAlive?: boolean; + /** 内嵌的`iframe`链接 `可选` */ + frameSrc?: string; + /** `iframe`页是否开启首次加载动画(默认`true`)`可选` */ + frameLoading?: boolean; + /** 页面加载动画(两种模式,第二种权重更高,第一种直接采用`vue`内置的`transitions`动画,第二种是使用`animate.css`编写进、离场动画,平台更推荐使用第二种模式,已经内置了`animate.css`,直接写对应的动画名即可)`可选` */ + transition?: { + /** + * @description 当前路由动画效果 + * @see {@link https://next.router.vuejs.org/guide/advanced/transitions.html#transitions} + * @see animate.css {@link https://animate.style} + */ + name?: string; + /** 进场动画 */ + enterTransition?: string; + /** 离场动画 */ + leaveTransition?: string; + }; + /** 当前菜单名称或自定义信息禁止添加到标签页(默认`false`) */ + hiddenTag?: boolean; + /** 当前菜单名称是否固定显示在标签页且不可关闭(默认`false`) */ + fixedTag?: boolean; + /** 动态路由可打开的最大数量 `可选` */ + dynamicLevel?: number; + /** 将某个菜单激活 + * (主要用于通过`query`或`params`传参的路由,当它们通过配置`showLink: false`后不在菜单中显示,就不会有任何菜单高亮, + * 而通过设置`activePath`指定激活菜单即可获得高亮,`activePath`为指定激活菜单的`path`) + */ + activePath?: string; + } - /** - * @description 完整子路由配置表 - */ - interface RouteChildrenConfigsTable { - /** 子路由地址 `必填` */ - path: string; - /** 路由名字(对应不要重复,和当前组件的`name`保持一致)`必填` */ - name?: string; - /** 路由重定向 `可选` */ - redirect?: string; - /** 按需加载组件 `可选` */ - component?: RouteComponent; - meta?: CustomizeRouteMeta; - /** 子路由配置项 */ - children?: Array; - } + /** + * @description 完整子路由配置表 + */ + interface RouteChildrenConfigsTable { + /** 子路由地址 `必填` */ + path: string; + /** 路由名字(对应不要重复,和当前组件的`name`保持一致)`必填` */ + name?: string; + /** 路由重定向 `可选` */ + redirect?: string; + /** 按需加载组件 `可选` */ + component?: RouteComponent; + meta?: CustomizeRouteMeta; + /** 子路由配置项 */ + children?: Array; + } - /** - * @description 整体路由配置表(包括完整子路由) - */ - interface RouteConfigsTable { - /** 路由地址 `必填` */ - path: string; - /** 路由名字(保持唯一)`可选` */ - name?: string; - /** `Layout`组件 `可选` */ - component?: RouteComponent; - /** 路由重定向 `可选` */ - redirect?: string; - meta?: { - /** 菜单名称(兼容国际化、非国际化,如何用国际化的写法就必须在根目录的`locales`文件夹下对应添加)`必填` */ - title: string; - /** 菜单图标 `可选` */ - icon?: string | FunctionalComponent | IconifyIcon; - /** 是否在菜单中显示(默认`true`)`可选` */ - showLink?: boolean; - /** 菜单升序排序,值越高排的越后(只针对顶级路由)`可选` */ - rank?: number; - }; - /** 子路由配置项 */ - children?: Array; - } + /** + * @description 整体路由配置表(包括完整子路由) + */ + interface RouteConfigsTable { + /** 路由地址 `必填` */ + path: string; + /** 路由名字(保持唯一)`可选` */ + name?: string; + /** `Layout`组件 `可选` */ + component?: RouteComponent; + /** 路由重定向 `可选` */ + redirect?: string; + meta?: { + /** 菜单名称(兼容国际化、非国际化,如何用国际化的写法就必须在根目录的`locales`文件夹下对应添加)`必填` */ + title: string; + /** 菜单图标 `可选` */ + icon?: string | FunctionalComponent | IconifyIcon; + /** 是否在菜单中显示(默认`true`)`可选` */ + showLink?: boolean; + /** 菜单升序排序,值越高排的越后(只针对顶级路由)`可选` */ + rank?: number; + }; + /** 子路由配置项 */ + children?: Array; + } } // https://router.vuejs.org/zh/guide/advanced/meta.html#typescript -declare module "vue-router" { - interface RouteMeta extends CustomizeRouteMeta {} +declare module 'vue-router' { + interface RouteMeta extends CustomizeRouteMeta {} } diff --git a/types/shims-tsx.d.ts b/types/shims-tsx.d.ts index 5e9fad1..08a66ef 100644 --- a/types/shims-tsx.d.ts +++ b/types/shims-tsx.d.ts @@ -1,23 +1,26 @@ -import type { VNode } from "vue"; -import type Vue from "vue"; +import type Vue, { VNode } from 'vue'; -declare module "*.tsx" { - import Vue from "compatible-vue"; - export default Vue; +declare module '*.tsx' { + import Vue from 'compatible-vue'; + export default Vue; } declare global { - namespace JSX { - interface Element extends VNode {} - interface ElementClass extends Vue {} - interface ElementAttributesProperty { - $props: any; - } - interface IntrinsicElements { - [elem: string]: any; - } - interface IntrinsicAttributes { - [elem: string]: any; - } - } + namespace JSX { + interface Element extends VNode {} + + interface ElementClass extends Vue {} + + interface ElementAttributesProperty { + $props: any; + } + + interface IntrinsicElements { + [elem: string]: any; + } + + interface IntrinsicAttributes { + [elem: string]: any; + } + } } diff --git a/types/shims-vue.d.ts b/types/shims-vue.d.ts index c7260cc..5a3ee22 100644 --- a/types/shims-vue.d.ts +++ b/types/shims-vue.d.ts @@ -1,10 +1,10 @@ -declare module "*.vue" { - import type { DefineComponent } from "vue"; - const component: DefineComponent<{}, {}, any>; - export default component; +declare module '*.vue' { + import type { DefineComponent } from 'vue'; + const component: DefineComponent<{}, {}, any>; + export default component; } -declare module "*.scss" { - const scss: Record; - export default scss; +declare module '*.scss' { + const scss: Record; + export default scss; } diff --git a/types/store/baseStoreState.ts b/types/store/baseStoreState.ts new file mode 100644 index 0000000..13c81ae --- /dev/null +++ b/types/store/baseStoreState.ts @@ -0,0 +1,6 @@ +// 返回响应内容 +export interface Result { + code: number; + data: T; + message: string; +} diff --git a/vite.config.ts b/vite.config.ts index 85751a7..09f0515 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,32 +1,31 @@ -import { getPluginsList } from "./build/plugins"; -import { exclude, include } from "./build/optimize"; -import { type ConfigEnv, loadEnv, type UserConfigExport } from "vite"; -import { __APP_INFO__, alias, root, wrapperEnv } from "./build/utils"; -import { serverOptions } from "./build/server"; -import { buildEnvironment } from "./build/buildEnv"; +import { getPluginsList } from './build/plugins'; +import { exclude, include } from './build/optimize'; +import { type ConfigEnv, loadEnv, type UserConfigExport } from 'vite'; +import { __APP_INFO__, alias, root, wrapperEnv } from './build/utils'; +import { serverOptions } from './build/server'; +import { buildEnvironment } from './build/buildEnv'; export default ({ mode }: ConfigEnv): UserConfigExport => { - const { VITE_CDN, VITE_PORT, VITE_COMPRESSION, VITE_PUBLIC_PATH } = - wrapperEnv(loadEnv(mode, root)); - return { - base: VITE_PUBLIC_PATH, - root, - resolve: { alias }, - // 服务端渲染 - server: serverOptions(mode), - plugins: getPluginsList(VITE_CDN, VITE_COMPRESSION, VITE_PORT), - // https://cn.vitejs.dev/config/dep-optimization-options.html#dep-optimization-options - optimizeDeps: { include, exclude }, - esbuild: { - pure: ["console.log", "debugger"], - jsxFactory: "h", - jsxFragment: "Fragment", - jsxInject: "import { h } from 'vue';" - }, - build: buildEnvironment(), - define: { - __INTLIFY_PROD_DEVTOOLS__: false, - __APP_INFO__: JSON.stringify(__APP_INFO__) - } - }; + const { VITE_CDN, VITE_PORT, VITE_COMPRESSION, VITE_PUBLIC_PATH } = wrapperEnv(loadEnv(mode, root)); + return { + base: VITE_PUBLIC_PATH, + root, + resolve: { alias }, + // 服务端渲染 + server: serverOptions(mode), + plugins: getPluginsList(VITE_CDN, VITE_COMPRESSION, VITE_PORT), + // https://cn.vitejs.dev/config/dep-optimization-options.html#dep-optimization-options + optimizeDeps: { include, exclude }, + esbuild: { + pure: ['console.log', 'debugger'], + jsxFactory: 'h', + jsxFragment: 'Fragment', + jsxInject: "import { h } from 'vue';", + }, + build: buildEnvironment(), + define: { + __INTLIFY_PROD_DEVTOOLS__: false, + __APP_INFO__: JSON.stringify(__APP_INFO__), + }, + }; };