From dc0174c64e691be5e4741b1c580b899bfc6f2a93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=97=E5=AD=90?= Date: Mon, 30 Sep 2024 19:00:26 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=AE=BE=E7=BD=AE=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E5=88=9D=E6=AD=A5=E5=AE=8C=E5=96=84=E5=8F=8A=E5=89=8D=E7=AB=AF?= =?UTF-8?q?import=20lint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/biz/setting.go | 3 +- internal/data/setting.go | 56 +- internal/http/request/setting.go | 4 +- internal/service/setting.go | 2 +- web/.eslintrc.cjs | 10 + web/.prettierrc.json | 5 +- web/build/config/proxy.ts | 1 + web/build/plugins/unplugin.ts | 12 +- web/package.json | 5 +- web/pnpm-lock.yaml | 980 +++++++++++++++++- web/settings/theme.json | 2 +- web/src/api/apps/fail2ban/index.ts | 3 +- web/src/api/apps/frp/index.ts | 3 +- web/src/api/apps/gitea/index.ts | 3 +- web/src/api/apps/mysql/index.ts | 3 +- web/src/api/apps/openresty/index.ts | 3 +- web/src/api/apps/php/index.ts | 3 +- web/src/api/apps/phpmyadmin/index.ts | 3 +- web/src/api/apps/podman/index.ts | 3 +- web/src/api/apps/postgresql/index.ts | 3 +- web/src/api/apps/pureftpd/index.ts | 3 +- web/src/api/apps/redis/index.ts | 3 +- web/src/api/apps/rsync/index.ts | 3 +- web/src/api/apps/s3fs/index.ts | 3 +- web/src/api/apps/supervisor/index.ts | 3 +- web/src/api/apps/toolbox/index.ts | 3 +- web/src/api/panel/app/index.ts | 9 +- web/src/api/panel/cert/index.ts | 12 +- web/src/api/panel/container/index.ts | 3 +- web/src/api/panel/cron/index.ts | 3 +- web/src/api/panel/file/index.ts | 9 +- web/src/api/panel/info/index.ts | 3 +- web/src/api/panel/monitor/index.ts | 3 +- web/src/api/panel/safe/index.ts | 3 +- web/src/api/panel/setting/index.ts | 3 +- web/src/api/panel/ssh/index.ts | 3 +- web/src/api/panel/system/service/index.ts | 3 +- web/src/api/panel/task/index.ts | 6 +- web/src/api/panel/user/index.ts | 3 +- web/src/api/panel/website/index.ts | 3 +- web/src/components/common/AppProvider.vue | 3 +- web/src/components/common/CodeEditor.vue | 1 + web/src/i18n/en.json | 2 +- web/src/i18n/i18n.ts | 7 +- web/src/i18n/zh_CN.json | 2 +- web/src/layout/IndexView.vue | 9 +- web/src/layout/header/IndexView.vue | 10 +- .../layout/header/components/BreadCrumb.vue | 3 +- .../layout/header/components/UserAvatar.vue | 2 +- .../layout/sidebar/components/SideLogo.vue | 2 +- .../layout/sidebar/components/SideMenu.vue | 7 +- web/src/layout/tab/IndexView.vue | 2 +- web/src/main.ts | 17 +- web/src/router/guard/app-install-guard.ts | 1 + web/src/router/guard/index.ts | 3 +- web/src/router/guard/page-title-guard.ts | 2 +- web/src/router/index.ts | 5 +- web/src/store/modules/permission/index.ts | 3 +- web/src/store/modules/tab/index.ts | 3 +- web/src/store/modules/theme/helpers.ts | 7 +- web/src/store/modules/theme/index.ts | 11 +- web/src/store/modules/user/index.ts | 7 +- web/src/utils/common/icon.ts | 2 +- web/src/utils/common/index.ts | 2 +- web/src/utils/common/naiveTools.ts | 1 + web/src/utils/file/index.ts | 14 +- web/src/utils/http/helpers.ts | 2 +- web/src/utils/http/index.ts | 1 + web/src/utils/http/interceptors.ts | 3 +- web/src/utils/index.ts | 2 +- web/src/views/app/IndexView.vue | 9 +- web/src/views/apps/fail2ban/IndexView.vue | 3 +- web/src/views/apps/frp/IndexView.vue | 3 +- web/src/views/apps/gitea/IndexView.vue | 3 +- web/src/views/apps/mysql/IndexView.vue | 5 +- web/src/views/apps/openresty/IndexView.vue | 3 +- web/src/views/apps/php/IndexView.vue | 3 +- web/src/views/apps/phpmyadmin/IndexView.vue | 5 +- web/src/views/apps/podman/IndexView.vue | 3 +- web/src/views/apps/postgresql/IndexView.vue | 5 +- web/src/views/apps/pureftpd/IndexView.vue | 5 +- web/src/views/apps/redis/IndexView.vue | 3 +- web/src/views/apps/rsync/IndexView.vue | 7 +- web/src/views/apps/s3fs/IndexView.vue | 1 + web/src/views/apps/supervisor/IndexView.vue | 3 +- web/src/views/apps/toolbox/IndexView.vue | 5 +- web/src/views/cert/CertView.vue | 9 +- web/src/views/cert/DNSView.vue | 1 + web/src/views/cert/IndexView.vue | 2 +- web/src/views/cert/UserView.vue | 1 + web/src/views/container/ContainerView.vue | 7 +- web/src/views/container/ImageView.vue | 3 +- web/src/views/container/NetworkView.vue | 3 +- web/src/views/container/VolumeView.vue | 3 +- web/src/views/cron/IndexView.vue | 9 +- web/src/views/file/ArchiveModal.vue | 3 +- web/src/views/file/IndexView.vue | 8 +- web/src/views/file/ListTable.vue | 3 +- web/src/views/file/PathInput.vue | 3 +- web/src/views/file/PermissionModal.vue | 1 + web/src/views/file/ToolBar.vue | 1 + web/src/views/file/UploadModal.vue | 1 + web/src/views/home/IndexView.vue | 9 +- web/src/views/home/UpdateView.vue | 11 +- web/src/views/login/IndexView.vue | 9 +- web/src/views/monitor/IndexView.vue | 17 +- web/src/views/safe/IndexView.vue | 5 +- web/src/views/setting/IndexView.vue | 2 +- web/src/views/setting/SettingBase.vue | 25 +- web/src/views/setting/SettingHttps.vue | 30 +- web/src/views/setting/types.ts | 14 + web/src/views/ssh/IndexView.vue | 7 +- web/src/views/task/IndexView.vue | 9 +- web/src/views/website/EditView.vue | 9 +- web/src/views/website/IndexView.vue | 17 +- web/types/theme.d.ts | 2 +- 116 files changed, 1380 insertions(+), 237 deletions(-) create mode 100644 web/src/views/setting/types.ts diff --git a/internal/biz/setting.go b/internal/biz/setting.go index e4860d7c..40edbba0 100644 --- a/internal/biz/setting.go +++ b/internal/biz/setting.go @@ -1,6 +1,7 @@ package biz import ( + "context" "time" "github.com/TheTNB/panel/internal/http/request" @@ -34,6 +35,6 @@ type SettingRepo interface { Get(key SettingKey, defaultValue ...string) (string, error) Set(key SettingKey, value string) error Delete(key SettingKey) error - GetPanelSetting() (*request.PanelSetting, error) + GetPanelSetting(ctx context.Context) (*request.PanelSetting, error) UpdatePanelSetting(setting *request.PanelSetting) error } diff --git a/internal/data/setting.go b/internal/data/setting.go index 56129091..d2d7ab6c 100644 --- a/internal/data/setting.go +++ b/internal/data/setting.go @@ -1,13 +1,17 @@ package data import ( + "context" "errors" + "path/filepath" + "github.com/spf13/cast" "gorm.io/gorm" "github.com/TheTNB/panel/internal/app" "github.com/TheTNB/panel/internal/biz" "github.com/TheTNB/panel/internal/http/request" + "github.com/TheTNB/panel/pkg/io" ) type settingRepo struct{} @@ -50,16 +54,50 @@ func (r *settingRepo) Delete(key biz.SettingKey) error { return nil } -func (r *settingRepo) GetPanelSetting() (*request.PanelSetting, error) { - setting := new(biz.Setting) - if err := app.Orm.Where("key = ?", biz.SettingKeyName).First(setting).Error; err != nil { +func (r *settingRepo) GetPanelSetting(ctx context.Context) (*request.PanelSetting, error) { + name := new(biz.Setting) + if err := app.Orm.Where("key = ?", biz.SettingKeyName).First(name).Error; err != nil { + return nil, err + } + websitePath := new(biz.Setting) + if err := app.Orm.Where("key = ?", biz.SettingKeyWebsitePath).First(websitePath).Error; err != nil { + return nil, err + } + backupPath := new(biz.Setting) + if err := app.Orm.Where("key = ?", biz.SettingKeyBackupPath).First(backupPath).Error; err != nil { return nil, err } - // TODO fix + userID := cast.ToUint(ctx.Value("user_id")) + if userID == 0 { + return nil, errors.New("获取用户 ID 失败") + } + user := new(biz.User) + if err := app.Orm.Where("id = ?", userID).First(user).Error; err != nil { + return nil, err + } + + cert, err := io.Read(filepath.Join(app.Root, "panel/storage/cert.pem")) + if err != nil { + return nil, err + } + key, err := io.Read(filepath.Join(app.Root, "panel/storage/cert.key")) + if err != nil { + return nil, err + } return &request.PanelSetting{ - Name: setting.Value, + Name: name.Value, + Locale: app.Conf.String("app.locale"), + Entrance: app.Conf.String("http.entrance"), + WebsitePath: websitePath.Value, + BackupPath: backupPath.Value, + Username: user.Username, + Email: user.Email, + Port: app.Conf.Int("http.port"), + HTTPS: app.Conf.Bool("http.tls"), + Cert: cert, + Key: key, }, nil } @@ -67,8 +105,14 @@ func (r *settingRepo) UpdatePanelSetting(setting *request.PanelSetting) error { if err := r.Set(biz.SettingKeyName, setting.Name); err != nil { return err } + if err := r.Set(biz.SettingKeyWebsitePath, setting.WebsitePath); err != nil { + return err + } + if err := r.Set(biz.SettingKeyBackupPath, setting.BackupPath); err != nil { + return err + } - // TODO fix + // TODO fix other settings return nil } diff --git a/internal/http/request/setting.go b/internal/http/request/setting.go index 9575e6ba..4cdd5f40 100644 --- a/internal/http/request/setting.go +++ b/internal/http/request/setting.go @@ -2,14 +2,14 @@ package request type PanelSetting struct { Name string `json:"name"` - Language string `json:"language"` + Locale string `json:"locale"` Entrance string `json:"entrance"` WebsitePath string `json:"website_path"` BackupPath string `json:"backup_path"` Username string `json:"username"` Password string `json:"password"` Email string `json:"email"` - Port string `json:"port"` + Port int `json:"port"` HTTPS bool `json:"https"` Cert string `json:"cert"` Key string `json:"key"` diff --git a/internal/service/setting.go b/internal/service/setting.go index f30d2ac8..eee1ceb2 100644 --- a/internal/service/setting.go +++ b/internal/service/setting.go @@ -19,7 +19,7 @@ func NewSettingService() *SettingService { } func (s *SettingService) Get(w http.ResponseWriter, r *http.Request) { - setting, err := s.settingRepo.GetPanelSetting() + setting, err := s.settingRepo.GetPanelSetting(r.Context()) if err != nil { Error(w, http.StatusInternalServerError, err.Error()) return diff --git a/web/.eslintrc.cjs b/web/.eslintrc.cjs index 5528a658..682ae273 100644 --- a/web/.eslintrc.cjs +++ b/web/.eslintrc.cjs @@ -3,6 +3,16 @@ require('@rushstack/eslint-patch/modern-module-resolution') module.exports = { root: true, + plugins: ['import'], + rules: { + 'import/order': [ + 'error', + { + groups: [['builtin', 'external', 'internal']], + 'newlines-between': 'always' + } + ] + }, extends: [ 'plugin:vue/vue3-essential', 'eslint:recommended', diff --git a/web/.prettierrc.json b/web/.prettierrc.json index 66e23359..babaee87 100644 --- a/web/.prettierrc.json +++ b/web/.prettierrc.json @@ -4,5 +4,8 @@ "tabWidth": 2, "singleQuote": true, "printWidth": 100, - "trailingComma": "none" + "trailingComma": "none", + "plugins": [ + "prettier-plugin-organize-imports" + ] } \ No newline at end of file diff --git a/web/build/config/proxy.ts b/web/build/config/proxy.ts index 3c89f9c0..560c53aa 100644 --- a/web/build/config/proxy.ts +++ b/web/build/config/proxy.ts @@ -1,4 +1,5 @@ import type { ProxyOptions } from 'vite' + import { getProxyConfig } from '../../settings/proxy-config' export function createViteProxy(isUseProxy = true, proxyType: ProxyType) { diff --git a/web/build/plugins/unplugin.ts b/web/build/plugins/unplugin.ts index ebeaf1fa..9a71e5ed 100644 --- a/web/build/plugins/unplugin.ts +++ b/web/build/plugins/unplugin.ts @@ -1,14 +1,8 @@ import AutoImport from 'unplugin-auto-import/vite' -import Components from 'unplugin-vue-components/vite' -import { NaiveUiResolver } from 'unplugin-vue-components/resolvers' - -/** - * * unplugin-icons应用,自动引入iconify图标 - * usage: https://github.com/antfu/unplugin-icons - * 图标库: https://icones.js.org/ - */ -import Icons from 'unplugin-icons/vite' import IconsResolver from 'unplugin-icons/resolver' +import Icons from 'unplugin-icons/vite' +import { NaiveUiResolver } from 'unplugin-vue-components/resolvers' +import Components from 'unplugin-vue-components/vite' export default [ AutoImport({ diff --git a/web/package.json b/web/package.json index affbb3f0..d3be1e5c 100644 --- a/web/package.json +++ b/web/package.json @@ -31,6 +31,7 @@ "install": "^0.13.0", "lodash-es": "^4.17.21", "pinia": "^2.2.2", + "remove": "^0.1.5", "vue": "^3.5.5", "vue-echarts": "^7.0.3", "vue-i18n": "^10.0.1", @@ -50,12 +51,14 @@ "@vue/eslint-config-typescript": "^13.0.0", "@vue/tsconfig": "^0.5.1", "colord": "^2.9.3", - "eslint": "^8.57.0", + "eslint": "^8.57.1", + "eslint-plugin-import": "^2.30.0", "eslint-plugin-vue": "^9.28.0", "monaco-editor": "^0.52.0", "naive-ui": "^2.39.0", "npm-run-all2": "^6.2.3", "prettier": "^3.3.3", + "prettier-plugin-organize-imports": "^4.1.0", "sass": "^1.78.0", "typescript": "^5.5.4", "unocss": "^0.63.0", diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 337a8ca0..b7b7a423 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -41,6 +41,9 @@ importers: pinia: specifier: ^2.2.2 version: 2.2.2(typescript@5.6.2)(vue@3.5.10(typescript@5.6.2)) + remove: + specifier: ^0.1.5 + version: 0.1.5 vue: specifier: ^3.5.5 version: 3.5.10(typescript@5.6.2) @@ -94,8 +97,11 @@ importers: specifier: ^2.9.3 version: 2.9.3 eslint: - specifier: ^8.57.0 + specifier: ^8.57.1 version: 8.57.1 + eslint-plugin-import: + specifier: ^2.30.0 + version: 2.30.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1) eslint-plugin-vue: specifier: ^9.28.0 version: 9.28.0(eslint@8.57.1) @@ -111,6 +117,9 @@ importers: prettier: specifier: ^3.3.3 version: 3.3.3 + prettier-plugin-organize-imports: + specifier: ^4.1.0 + version: 4.1.0(prettier@3.3.3)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2)) sass: specifier: ^1.78.0 version: 1.79.4 @@ -621,46 +630,55 @@ packages: resolution: {integrity: sha512-PNqXYmdNFyWNg0ma5LdY8wP+eQfdvyaBAojAXgO7/gs0Q/6TQJVXAXe8gwW9URjbS0YAammur0fynYGiWsKlXw==} cpu: [arm] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.22.5': resolution: {integrity: sha512-kSSCZOKz3HqlrEuwKd9TYv7vxPYD77vHSUvM2y0YaTGnFc8AdI5TTQRrM1yIp3tXCKrSL9A7JLoILjtad5t8pQ==} cpu: [arm] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.22.5': resolution: {integrity: sha512-oTXQeJHRbOnwRnRffb6bmqmUugz0glXaPyspp4gbQOPVApdpRrY/j7KP3lr7M8kTfQTyrBUzFjj5EuHAhqH4/w==} cpu: [arm64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.22.5': resolution: {integrity: sha512-qnOTIIs6tIGFKCHdhYitgC2XQ2X25InIbZFor5wh+mALH84qnFHvc+vmWUpyX97B0hNvwNUL4B+MB8vJvH65Fw==} cpu: [arm64] os: [linux] + libc: [musl] '@rollup/rollup-linux-powerpc64le-gnu@4.22.5': resolution: {integrity: sha512-TMYu+DUdNlgBXING13rHSfUc3Ky5nLPbWs4bFnT+R6Vu3OvXkTkixvvBKk8uO4MT5Ab6lC3U7x8S8El2q5o56w==} cpu: [ppc64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.22.5': resolution: {integrity: sha512-PTQq1Kz22ZRvuhr3uURH+U/Q/a0pbxJoICGSprNLAoBEkyD3Sh9qP5I0Asn0y0wejXQBbsVMRZRxlbGFD9OK4A==} cpu: [riscv64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-s390x-gnu@4.22.5': resolution: {integrity: sha512-bR5nCojtpuMss6TDEmf/jnBnzlo+6n1UhgwqUvRoe4VIotC7FG1IKkyJbwsT7JDsF2jxR+NTnuOwiGv0hLyDoQ==} cpu: [s390x] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.22.5': resolution: {integrity: sha512-N0jPPhHjGShcB9/XXZQWuWBKZQnC1F36Ce3sDqWpujsGjDz/CQtOL9LgTrJ+rJC8MJeesMWrMWVLKKNR/tMOCA==} cpu: [x64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-musl@4.22.5': resolution: {integrity: sha512-uBa2e28ohzNNwjr6Uxm4XyaA1M/8aTgfF2T7UIlElLaeXkgpmIJ2EitVNQxjO9xLLLy60YqAgKn/AqSpCUkE9g==} cpu: [x64] os: [linux] + libc: [musl] '@rollup/rollup-win32-arm64-msvc@4.22.5': resolution: {integrity: sha512-RXT8S1HP8AFN/Kr3tg4fuYrNxZ/pZf1HemC5Tsddc6HzgGnJm0+Lh5rAHJkDuW3StI0ynNXukidROMXYl6ew8w==} @@ -677,6 +695,9 @@ packages: cpu: [x64] os: [win32] + '@rtsao/scc@1.1.0': + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} + '@rushstack/eslint-patch@1.10.4': resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==} @@ -689,6 +710,9 @@ packages: '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/json5@0.0.29': + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + '@types/katex@0.16.7': resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==} @@ -1008,10 +1032,34 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} + + array-includes@3.1.8: + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} + engines: {node: '>= 0.4'} + array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} + array.prototype.findlastindex@1.2.5: + resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} + engines: {node: '>= 0.4'} + + array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} + + array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} + + arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} + async-validator@4.2.5: resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} @@ -1021,6 +1069,10 @@ packages: asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + axios@1.7.7: resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} @@ -1063,6 +1115,10 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -1070,6 +1126,9 @@ packages: camel-case@4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + chainsaw@0.0.9: + resolution: {integrity: sha512-nG8PYH+/4xB+8zkV4G844EtfvZ5tTiLFoX3dZ4nhF4t3OCKIb9UvaFyNmeZO2zOSmRWzBoTD+napN6hiL+EgcA==} + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -1170,6 +1229,18 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} + date-fns-tz@3.1.3: resolution: {integrity: sha512-ZfbMu+nbzW0mEzC8VZrLiSWvUIaI3aRHeq33mTe7Y38UctKukgqPR4nTDwcwS4d64Gf8GghnVsroBuMY3eiTeA==} peerDependencies: @@ -1192,6 +1263,14 @@ packages: supports-color: optional: true + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debug@4.3.7: resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} @@ -1204,6 +1283,14 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} @@ -1218,6 +1305,10 @@ packages: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} + doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} @@ -1271,6 +1362,33 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + + es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + esbuild@0.21.5: resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} @@ -1298,6 +1416,40 @@ packages: peerDependencies: eslint: '>=7.0.0' + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-module-utils@2.12.0: + resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + + eslint-plugin-import@2.30.0: + resolution: {integrity: sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint-plugin-prettier@5.2.1: resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} engines: {node: ^14.18.0 || >=16.0.0} @@ -1422,6 +1574,9 @@ packages: debug: optional: true + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} @@ -1442,6 +1597,24 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + + get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} + get-tsconfig@4.8.1: resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} @@ -1461,10 +1634,17 @@ packages: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -1475,10 +1655,35 @@ packages: resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} engines: {node: '>=10'} + has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hashish@0.0.4: + resolution: {integrity: sha512-xyD4XgslstNAs72ENaoFvgMwtv8xhiDtC2AtzCG+8yF7W/Knxxm9BX+e2s25mm+HxMKh0rBmXVOEGF3zNImXvA==} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true @@ -1521,10 +1726,41 @@ packages: resolution: {integrity: sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==} engines: {node: '>= 0.10'} + internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} + + is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} + + is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} + is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + + is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -1533,6 +1769,14 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -1541,6 +1785,32 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} + is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} + + is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + + is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + + is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -1573,6 +1843,10 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} @@ -1647,6 +1921,9 @@ packages: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + mlly@1.7.1: resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} @@ -1708,6 +1985,30 @@ packages: nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} + + object.values@1.2.0: + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} + engines: {node: '>= 0.4'} + ofetch@1.4.0: resolution: {integrity: sha512-MuHgsEhU6zGeX+EMh+8mSMrYTnsqJQQrpM00Q6QHMKNqQ0bKy0B43tk8tL1wg+CnsSTy1kg4Ir2T5Ig6rD+dfQ==} @@ -1762,6 +2063,9 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-to-regexp@6.3.0: resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} @@ -1809,6 +2113,10 @@ packages: pkg-types@1.2.0: resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==} + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + postcss-selector-parser@6.1.2: resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} @@ -1825,6 +2133,16 @@ packages: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} + prettier-plugin-organize-imports@4.1.0: + resolution: {integrity: sha512-5aWRdCgv645xaa58X8lOxzZoiHAldAPChljr/MT0crXVOWTZ+Svl4hIWlz+niYSlO6ikE5UXkN1JrRvIP2ut0A==} + peerDependencies: + prettier: '>=2.0' + typescript: '>=2.9' + vue-tsc: ^2.1.0 + peerDependenciesMeta: + vue-tsc: + optional: true + prettier@3.3.3: resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} engines: {node: '>=14'} @@ -1852,10 +2170,17 @@ packages: resolution: {integrity: sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw==} engines: {node: '>= 14.16.0'} + regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} + relateurl@0.2.7: resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} engines: {node: '>= 0.10'} + remove@0.1.5: + resolution: {integrity: sha512-AJMA9oWvJzdTjwIGwSQZsjGQiRx73YTmiOWmfCp1fpLa/D4n7jKcpoA+CZiVLJqKcEKUuh1Suq80c5wF+L/qVQ==} + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -1863,6 +2188,10 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -1880,6 +2209,14 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} + + safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} + sass@1.79.4: resolution: {integrity: sha512-K0QDSNPXgyqO4GZq2HO5Q70TLxTH6cIT59RdoCHMivrC8rqzaTw5ab9prjz9KUN1El4FLXrBXJhik61JR4HcGg==} engines: {node: '>=14.0.0'} @@ -1891,11 +2228,26 @@ packages: seemly@0.3.8: resolution: {integrity: sha512-MW8Qs6vbzo0pHmDpFSYPna+lwpZ6Zk1ancbajw/7E8TKtHdV+1DfZZD+kKJEhG/cAoB/i+LiT+5msZOqj0DwRA==} + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + semver@7.6.3: resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} hasBin: true + seq@0.3.5: + resolution: {integrity: sha512-sisY2Ln1fj43KBkRtXkesnRHYNdswIkIibvNe/0UKm2GZxjMbqmccpiatoKr/k2qX5VKiLU8xm+tz/74LAho4g==} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -1907,6 +2259,10 @@ packages: shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + sirv@2.0.4: resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} @@ -1933,10 +2289,25 @@ packages: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} + string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -1948,6 +2319,10 @@ packages: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + synckit@0.9.1: resolution: {integrity: sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==} engines: {node: ^14.18.0 || >=16.0.0} @@ -1979,6 +2354,13 @@ packages: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} + traverse@0.3.9: + resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==} + + traverse@0.6.10: + resolution: {integrity: sha512-hN4uFRxbK+PX56DxYiGHsTn2dME3TVr9vbNqlQGcGcPhJAn+tdP126iA+TArMpI4YSgnTkMWyoLl5bf81Hi5TA==} + engines: {node: '>= 0.4'} + treemate@0.3.11: resolution: {integrity: sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg==} @@ -1988,6 +2370,9 @@ packages: peerDependencies: typescript: '>=4.2.0' + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + tslib@2.3.0: resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} @@ -2007,6 +2392,26 @@ packages: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} + typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} + + typedarray.prototype.slice@1.0.3: + resolution: {integrity: sha512-8WbVAQAUlENo1q3c3zZYuy5k9VzBQvp8AX9WOtbvyWlLM1v5JaSRmjubLjzHF4JFtptjH/5c/i95yaElvcjC0A==} + engines: {node: '>= 0.4'} + typescript@5.6.2: resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} engines: {node: '>=14.17'} @@ -2015,6 +2420,9 @@ packages: ufo@1.5.4: resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} + unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + unconfig@0.6.0: resolution: {integrity: sha512-4C67J0nIF2QwSXty2kW3zZx1pMZ3iXabylvJWWgHybWVUcMf9pxwsngoQt0gC+AVstRywFqrRBp3qOXJayhpOw==} @@ -2242,6 +2650,13 @@ packages: webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + + which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -2628,6 +3043,8 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.22.5': optional: true + '@rtsao/scc@1.1.0': {} + '@rushstack/eslint-patch@1.10.4': {} '@tsconfig/node20@20.1.4': {} @@ -2636,6 +3053,8 @@ snapshots: '@types/estree@1.0.6': {} + '@types/json5@0.0.29': {} + '@types/katex@0.16.7': {} '@types/lodash-es@4.17.12': @@ -3104,14 +3523,66 @@ snapshots: argparse@2.0.1: {} + array-buffer-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + is-array-buffer: 3.0.4 + + array-includes@3.1.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 + is-string: 1.0.7 + array-union@2.1.0: {} + array.prototype.findlastindex@1.2.5: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 + + array.prototype.flat@1.3.2: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 + + array.prototype.flatmap@1.3.2: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 + + arraybuffer.prototype.slice@1.0.3: + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 + async-validator@4.2.5: {} async@3.2.6: {} asynckit@0.4.0: {} + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.0.0 + axios@1.7.7: dependencies: follow-redirects: 1.15.9 @@ -3153,6 +3624,14 @@ snapshots: cac@6.7.14: {} + call-bind@1.0.7: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + callsites@3.1.0: {} camel-case@4.1.2: @@ -3160,6 +3639,10 @@ snapshots: pascal-case: 3.1.2 tslib: 2.7.0 + chainsaw@0.0.9: + dependencies: + traverse: 0.3.9 + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 @@ -3260,6 +3743,24 @@ snapshots: csstype@3.1.3: {} + data-view-buffer@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-offset@1.0.0: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + date-fns-tz@3.1.3(date-fns@3.6.0): dependencies: date-fns: 3.6.0 @@ -3274,12 +3775,28 @@ snapshots: dependencies: ms: 2.0.0 + debug@3.2.7: + dependencies: + ms: 2.1.3 + debug@4.3.7: dependencies: ms: 2.1.3 deep-is@0.1.4: {} + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + defu@6.1.4: {} delayed-stream@1.0.0: {} @@ -3290,6 +3807,10 @@ snapshots: dependencies: path-type: 4.0.0 + doctrine@2.1.0: + dependencies: + esutils: 2.0.3 + doctrine@3.0.0: dependencies: esutils: 2.0.3 @@ -3340,6 +3861,81 @@ snapshots: entities@4.5.0: {} + es-abstract@1.23.3: + dependencies: + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.0.3 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 + globalthis: 1.0.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 + is-callable: 1.2.7 + is-data-view: 1.0.1 + is-negative-zero: 2.0.3 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.3 + is-string: 1.0.7 + is-typed-array: 1.1.13 + is-weakref: 1.0.2 + object-inspect: 1.13.2 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.15 + + es-define-property@1.0.0: + dependencies: + get-intrinsic: 1.2.4 + + es-errors@1.3.0: {} + + es-object-atoms@1.0.0: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.0.3: + dependencies: + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + es-shim-unscopables@1.0.2: + dependencies: + hasown: 2.0.2 + + es-to-primitive@1.2.1: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + esbuild@0.21.5: optionalDependencies: '@esbuild/aix-ppc64': 0.21.5 @@ -3403,6 +3999,52 @@ snapshots: dependencies: eslint: 8.57.1 + eslint-import-resolver-node@0.3.9: + dependencies: + debug: 3.2.7 + is-core-module: 2.15.1 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + + eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.6.2) + eslint: 8.57.1 + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + + eslint-plugin-import@2.30.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1): + dependencies: + '@rtsao/scc': 1.1.0 + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.57.1 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1) + hasown: 2.0.2 + is-core-module: 2.15.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.0 + semver: 6.3.1 + tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.6.2) + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3): dependencies: eslint: 8.57.1 @@ -3565,6 +4207,10 @@ snapshots: follow-redirects@1.15.9: {} + for-each@0.3.3: + dependencies: + is-callable: 1.2.7 + form-data@4.0.0: dependencies: asynckit: 0.4.0 @@ -3588,6 +4234,31 @@ snapshots: fsevents@2.3.3: optional: true + function-bind@1.1.2: {} + + function.prototype.name@1.1.6: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + functions-have-names: 1.2.3 + + functions-have-names@1.2.3: {} + + get-intrinsic@1.2.4: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + + get-symbol-description@1.0.2: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + get-tsconfig@4.8.1: dependencies: resolve-pkg-maps: 1.0.0 @@ -3613,6 +4284,11 @@ snapshots: dependencies: type-fest: 0.20.2 + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.0.1 + globby@11.1.0: dependencies: array-union: 2.1.0 @@ -3622,6 +4298,10 @@ snapshots: merge2: 1.4.1 slash: 3.0.0 + gopd@1.0.1: + dependencies: + get-intrinsic: 1.2.4 + graceful-fs@4.2.11: {} graphemer@1.4.0: {} @@ -3630,8 +4310,30 @@ snapshots: dependencies: duplexer: 0.1.2 + has-bigints@1.0.2: {} + has-flag@4.0.0: {} + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.0 + + has-proto@1.0.3: {} + + has-symbols@1.0.3: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.0.3 + + hashish@0.0.4: + dependencies: + traverse: 0.6.10 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + he@1.2.0: {} highlight.js@11.10.0: {} @@ -3677,20 +4379,87 @@ snapshots: install@0.13.0: {} + internal-slot@1.0.7: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 + + is-array-buffer@3.0.4: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + + is-bigint@1.0.4: + dependencies: + has-bigints: 1.0.2 + is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 + is-boolean-object@1.1.2: + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + + is-callable@1.2.7: {} + + is-core-module@2.15.1: + dependencies: + hasown: 2.0.2 + + is-data-view@1.0.1: + dependencies: + is-typed-array: 1.1.13 + + is-date-object@1.0.5: + dependencies: + has-tostringtag: 1.0.2 + is-extglob@2.1.1: {} is-glob@4.0.3: dependencies: is-extglob: 2.1.1 + is-negative-zero@2.0.3: {} + + is-number-object@1.0.7: + dependencies: + has-tostringtag: 1.0.2 + is-number@7.0.0: {} is-path-inside@3.0.3: {} + is-regex@1.1.4: + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + + is-shared-array-buffer@1.0.3: + dependencies: + call-bind: 1.0.7 + + is-string@1.0.7: + dependencies: + has-tostringtag: 1.0.2 + + is-symbol@1.0.4: + dependencies: + has-symbols: 1.0.3 + + is-typed-array@1.1.13: + dependencies: + which-typed-array: 1.1.15 + + is-weakref@1.0.2: + dependencies: + call-bind: 1.0.7 + + isarray@2.0.5: {} + isexe@2.0.0: {} jake@10.9.2: @@ -3716,6 +4485,10 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} + json5@1.0.2: + dependencies: + minimist: 1.2.8 + jsonfile@6.1.0: dependencies: universalify: 2.0.1 @@ -3787,6 +4560,8 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minimist@1.2.8: {} + mlly@1.7.1: dependencies: acorn: 8.12.1 @@ -3865,6 +4640,36 @@ snapshots: dependencies: boolbase: 1.0.0 + object-inspect@1.13.2: {} + + object-keys@1.1.1: {} + + object.assign@4.1.5: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + + object.fromentries@2.0.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + + object.groupby@1.0.3: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + + object.values@1.2.0: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + ofetch@1.4.0: dependencies: destr: 2.0.3 @@ -3922,6 +4727,8 @@ snapshots: path-key@3.1.1: {} + path-parse@1.0.7: {} + path-to-regexp@6.3.0: {} path-type@4.0.0: {} @@ -3954,6 +4761,8 @@ snapshots: mlly: 1.7.1 pathe: 1.1.2 + possible-typed-array-names@1.0.0: {} + postcss-selector-parser@6.1.2: dependencies: cssesc: 3.0.0 @@ -3971,6 +4780,13 @@ snapshots: dependencies: fast-diff: 1.3.0 + prettier-plugin-organize-imports@4.1.0(prettier@3.3.3)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2)): + dependencies: + prettier: 3.3.3 + typescript: 5.6.2 + optionalDependencies: + vue-tsc: 2.1.6(typescript@5.6.2) + prettier@3.3.3: {} proxy-from-env@1.1.0: {} @@ -3990,12 +4806,29 @@ snapshots: readdirp@4.0.1: {} + regexp.prototype.flags@1.5.2: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 + relateurl@0.2.7: {} + remove@0.1.5: + dependencies: + seq: 0.3.5 + resolve-from@4.0.0: {} resolve-pkg-maps@1.0.0: {} + resolve@1.22.8: + dependencies: + is-core-module: 2.15.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + reusify@1.0.4: {} rimraf@3.0.2: @@ -4028,6 +4861,19 @@ snapshots: dependencies: queue-microtask: 1.2.3 + safe-array-concat@1.1.2: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + isarray: 2.0.5 + + safe-regex-test@1.0.3: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-regex: 1.1.4 + sass@1.79.4: dependencies: chokidar: 4.0.1 @@ -4038,8 +4884,31 @@ snapshots: seemly@0.3.8: {} + semver@6.3.1: {} + semver@7.6.3: {} + seq@0.3.5: + dependencies: + chainsaw: 0.0.9 + hashish: 0.0.4 + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -4048,6 +4917,13 @@ snapshots: shell-quote@1.8.1: {} + side-channel@1.0.6: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.2 + sirv@2.0.4: dependencies: '@polka/url': 1.0.0-next.28 @@ -4069,10 +4945,31 @@ snapshots: statuses@1.5.0: {} + string.prototype.trim@1.2.9: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + + string.prototype.trimend@1.0.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 + strip-bom@3.0.0: {} + strip-json-comments@3.1.1: {} strip-literal@2.1.0: @@ -4083,6 +4980,8 @@ snapshots: dependencies: has-flag: 4.0.0 + supports-preserve-symlinks-flag@1.0.0: {} + synckit@0.9.1: dependencies: '@pkgr/core': 0.1.1 @@ -4112,12 +5011,27 @@ snapshots: totalist@3.0.1: {} + traverse@0.3.9: {} + + traverse@0.6.10: + dependencies: + gopd: 1.0.1 + typedarray.prototype.slice: 1.0.3 + which-typed-array: 1.1.15 + treemate@0.3.11: {} ts-api-utils@1.3.0(typescript@5.6.2): dependencies: typescript: 5.6.2 + tsconfig-paths@3.15.0: + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + tslib@2.3.0: {} tslib@2.7.0: {} @@ -4135,10 +5049,58 @@ snapshots: type-fest@0.20.2: {} + typed-array-buffer@1.0.2: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 + + typed-array-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + + typed-array-byte-offset@1.0.2: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + + typed-array-length@1.0.6: + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 + + typedarray.prototype.slice@1.0.3: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + typed-array-buffer: 1.0.2 + typed-array-byte-offset: 1.0.2 + typescript@5.6.2: {} ufo@1.5.4: {} + unbox-primitive@1.0.2: + dependencies: + call-bind: 1.0.7 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + unconfig@0.6.0: dependencies: '@antfu/utils': 0.7.10 @@ -4397,6 +5359,22 @@ snapshots: webpack-virtual-modules@0.6.2: {} + which-boxed-primitive@1.0.2: + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + + which-typed-array@1.1.15: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.2 + which@2.0.2: dependencies: isexe: 2.0.0 diff --git a/web/settings/theme.json b/web/settings/theme.json index b4e1d049..4380f3f2 100644 --- a/web/settings/theme.json +++ b/web/settings/theme.json @@ -21,5 +21,5 @@ "warning": "#F0A020", "error": "#D03050" }, - "language": "zh_CN" + "locale": "zh_CN" } diff --git a/web/src/api/apps/fail2ban/index.ts b/web/src/api/apps/fail2ban/index.ts index 446559d6..856abd17 100644 --- a/web/src/api/apps/fail2ban/index.ts +++ b/web/src/api/apps/fail2ban/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 保护列表 jails: (page: number, limit: number): Promise> => diff --git a/web/src/api/apps/frp/index.ts b/web/src/api/apps/frp/index.ts index 1bd1c38c..f08cdb70 100644 --- a/web/src/api/apps/frp/index.ts +++ b/web/src/api/apps/frp/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 获取配置 config: (service: string): Promise> => diff --git a/web/src/api/apps/gitea/index.ts b/web/src/api/apps/gitea/index.ts index 755eab30..c6bfc906 100644 --- a/web/src/api/apps/gitea/index.ts +++ b/web/src/api/apps/gitea/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 获取配置 config: (): Promise> => request.get('/apps/gitea/config'), diff --git a/web/src/api/apps/mysql/index.ts b/web/src/api/apps/mysql/index.ts index 9cbcdfb8..427eb328 100644 --- a/web/src/api/apps/mysql/index.ts +++ b/web/src/api/apps/mysql/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 负载状态 load: (): Promise> => request.get('/apps/mysql/load'), diff --git a/web/src/api/apps/openresty/index.ts b/web/src/api/apps/openresty/index.ts index ef169f48..11aa8f6c 100644 --- a/web/src/api/apps/openresty/index.ts +++ b/web/src/api/apps/openresty/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 负载状态 load: (): Promise> => request.get('/apps/openresty/load'), diff --git a/web/src/api/apps/php/index.ts b/web/src/api/apps/php/index.ts index 0029e274..7cc097ce 100644 --- a/web/src/api/apps/php/index.ts +++ b/web/src/api/apps/php/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 负载状态 load: (version: number): Promise> => request.get(`/apps/php/${version}/load`), diff --git a/web/src/api/apps/phpmyadmin/index.ts b/web/src/api/apps/phpmyadmin/index.ts index 14d9887c..efe8c589 100644 --- a/web/src/api/apps/phpmyadmin/index.ts +++ b/web/src/api/apps/phpmyadmin/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 获取信息 info: (): Promise> => request.get('/apps/phpmyadmin/info'), diff --git a/web/src/api/apps/podman/index.ts b/web/src/api/apps/podman/index.ts index aa9710c8..11daae6d 100644 --- a/web/src/api/apps/podman/index.ts +++ b/web/src/api/apps/podman/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 获取注册表配置 registryConfig: (): Promise> => request.get('/apps/podman/registryConfig'), diff --git a/web/src/api/apps/postgresql/index.ts b/web/src/api/apps/postgresql/index.ts index ec169a04..d36a662e 100644 --- a/web/src/api/apps/postgresql/index.ts +++ b/web/src/api/apps/postgresql/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 负载状态 load: (): Promise> => request.get('/apps/postgresql/load'), diff --git a/web/src/api/apps/pureftpd/index.ts b/web/src/api/apps/pureftpd/index.ts index 622e25a3..6e464feb 100644 --- a/web/src/api/apps/pureftpd/index.ts +++ b/web/src/api/apps/pureftpd/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 列表 list: (page: number, limit: number): Promise> => diff --git a/web/src/api/apps/redis/index.ts b/web/src/api/apps/redis/index.ts index a8f27b57..5604c3a2 100644 --- a/web/src/api/apps/redis/index.ts +++ b/web/src/api/apps/redis/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 负载状态 load: (): Promise> => request.get('/apps/redis/load'), diff --git a/web/src/api/apps/rsync/index.ts b/web/src/api/apps/rsync/index.ts index c0bbf647..97a9c2ce 100644 --- a/web/src/api/apps/rsync/index.ts +++ b/web/src/api/apps/rsync/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 获取配置 config: (): Promise> => request.get('/apps/rsync/config'), diff --git a/web/src/api/apps/s3fs/index.ts b/web/src/api/apps/s3fs/index.ts index e4505413..fa5124c0 100644 --- a/web/src/api/apps/s3fs/index.ts +++ b/web/src/api/apps/s3fs/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 列表 list: (page: number, limit: number): Promise> => diff --git a/web/src/api/apps/supervisor/index.ts b/web/src/api/apps/supervisor/index.ts index d538b469..0dddd6b8 100644 --- a/web/src/api/apps/supervisor/index.ts +++ b/web/src/api/apps/supervisor/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 服务名称 service: (): Promise> => request.get('/apps/supervisor/service'), diff --git a/web/src/api/apps/toolbox/index.ts b/web/src/api/apps/toolbox/index.ts index 46995882..1fefb6fc 100644 --- a/web/src/api/apps/toolbox/index.ts +++ b/web/src/api/apps/toolbox/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // DNS dns: (): Promise> => request.get('/apps/toolbox/dns'), diff --git a/web/src/api/panel/app/index.ts b/web/src/api/panel/app/index.ts index c016cdde..aee650da 100644 --- a/web/src/api/panel/app/index.ts +++ b/web/src/api/panel/app/index.ts @@ -1,19 +1,18 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 获取应用列表 list: (page: number, limit: number): Promise> => request.get('/app/list', { params: { page, limit } }), // 安装应用 - install: (slug: string): Promise> => - request.post('/app/install', { slug }), + install: (slug: string): Promise> => request.post('/app/install', { slug }), // 卸载应用 uninstall: (slug: string): Promise> => request.post('/app/uninstall', { slug }), // 更新应用 - update: (slug: string): Promise> => - request.post('/app/update', { slug }), + update: (slug: string): Promise> => request.post('/app/update', { slug }), // 设置首页显示 updateShow: (slug: string, show: boolean): Promise> => request.post('/app/updateShow', { slug, show }), diff --git a/web/src/api/panel/cert/index.ts b/web/src/api/panel/cert/index.ts index f6897b75..85cb6270 100644 --- a/web/src/api/panel/cert/index.ts +++ b/web/src/api/panel/cert/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // CA 供应商列表 caProviders: (): Promise> => request.get('/cert/caProviders'), @@ -19,8 +20,7 @@ export default { userUpdate: (id: number, data: any): Promise> => request.put(`/cert/users/${id}`, data), // ACME 用户删除 - userDelete: (id: number): Promise> => - request.delete(`/cert/users/${id}`), + userDelete: (id: number): Promise> => request.delete(`/cert/users/${id}`), // DNS 记录列表 dns: (page: number, limit: number): Promise> => request.get('/cert/dns', { params: { page, limit } }), @@ -44,15 +44,13 @@ export default { certUpdate: (id: number, data: any): Promise> => request.put(`/cert/certs/${id}`, data), // 证书删除 - certDelete: (id: number): Promise> => - request.delete(`/cert/certs/${id}`), + certDelete: (id: number): Promise> => request.delete(`/cert/certs/${id}`), // 签发 obtain: (id: number): Promise> => request.post(`/cert/obtain`, { id }), // 续签 renew: (id: number): Promise> => request.post(`/cert/renew`, { id }), // 获取 DNS 记录 - manualDNS: (id: number): Promise> => - request.post(`/cert/manualDNS`, { id }), + manualDNS: (id: number): Promise> => request.post(`/cert/manualDNS`, { id }), // 部署 deploy: (id: number, website_id: number): Promise> => request.post(`/cert/deploy`, { id, website_id }) diff --git a/web/src/api/panel/container/index.ts b/web/src/api/panel/container/index.ts index eaf25972..90a61529 100644 --- a/web/src/api/panel/container/index.ts +++ b/web/src/api/panel/container/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 获取容器列表 containerList: (page: number, limit: number): Promise> => diff --git a/web/src/api/panel/cron/index.ts b/web/src/api/panel/cron/index.ts index 110953cd..b9460897 100644 --- a/web/src/api/panel/cron/index.ts +++ b/web/src/api/panel/cron/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 获取任务列表 list: (page: number, limit: number): Promise> => diff --git a/web/src/api/panel/file/index.ts b/web/src/api/panel/file/index.ts index 431b9a23..da648690 100644 --- a/web/src/api/panel/file/index.ts +++ b/web/src/api/panel/file/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 创建文件/文件夹 create: (path: string, dir: boolean): Promise> => @@ -12,8 +13,7 @@ export default { save: (path: string, content: string): Promise> => request.post('/file/save', { path, content }), // 删除文件 - delete: (path: string): Promise> => - request.post('/file/delete', { path }), + delete: (path: string): Promise> => request.post('/file/delete', { path }), // 上传文件 upload: (path: string, formData: FormData, onProgress: any): Promise> => { formData.append('path', path) @@ -42,8 +42,7 @@ export default { mode: string, owner: string, group: string - ): Promise> => - request.post('/file/permission', { path, mode, owner, group }), + ): Promise> => request.post('/file/permission', { path, mode, owner, group }), // 压缩文件 archive: (paths: string[], file: string): Promise> => request.post('/file/archive', { paths, file }), diff --git a/web/src/api/panel/info/index.ts b/web/src/api/panel/info/index.ts index 28b1d3f9..1e7d30a1 100644 --- a/web/src/api/panel/info/index.ts +++ b/web/src/api/panel/info/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 面板信息 panel: (): Promise => fetch('/api/info/panel'), diff --git a/web/src/api/panel/monitor/index.ts b/web/src/api/panel/monitor/index.ts index e578bc5d..20b8066b 100644 --- a/web/src/api/panel/monitor/index.ts +++ b/web/src/api/panel/monitor/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 开关 switch: (monitor: boolean): Promise> => diff --git a/web/src/api/panel/safe/index.ts b/web/src/api/panel/safe/index.ts index df11e7cf..0fa568c6 100644 --- a/web/src/api/panel/safe/index.ts +++ b/web/src/api/panel/safe/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 获取防火墙状态 firewallStatus: (): Promise> => request.get('/safe/firewallStatus'), diff --git a/web/src/api/panel/setting/index.ts b/web/src/api/panel/setting/index.ts index 6887327d..0fb791a9 100644 --- a/web/src/api/panel/setting/index.ts +++ b/web/src/api/panel/setting/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 获取设置 list: (): Promise> => request.get('/setting'), diff --git a/web/src/api/panel/ssh/index.ts b/web/src/api/panel/ssh/index.ts index 642c7335..3745f30e 100644 --- a/web/src/api/panel/ssh/index.ts +++ b/web/src/api/panel/ssh/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 获取信息 info: (): Promise> => request.get('/ssh/info'), diff --git a/web/src/api/panel/system/service/index.ts b/web/src/api/panel/system/service/index.ts index 343b2416..d0005e76 100644 --- a/web/src/api/panel/system/service/index.ts +++ b/web/src/api/panel/system/service/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 服务状态 status: (service: string): Promise> => diff --git a/web/src/api/panel/task/index.ts b/web/src/api/panel/task/index.ts index 1af7d840..cd5ae332 100644 --- a/web/src/api/panel/task/index.ts +++ b/web/src/api/panel/task/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 获取状态 status: (): Promise> => request.get('/task/status'), @@ -8,8 +9,7 @@ export default { list: (page: number, limit: number): Promise> => request.get('/task/list', { params: { page, limit } }), // 获取任务日志 - log: (id: number): Promise> => - request.get('/task/log', { params: { id } }), + log: (id: number): Promise> => request.get('/task/log', { params: { id } }), // 删除任务 delete: (id: number): Promise> => request.post('/task/delete', { id }) } diff --git a/web/src/api/panel/user/index.ts b/web/src/api/panel/user/index.ts index a0be3c30..d48581e9 100644 --- a/web/src/api/panel/user/index.ts +++ b/web/src/api/panel/user/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 登录 login: (username: string, password: string): Promise> => diff --git a/web/src/api/panel/website/index.ts b/web/src/api/panel/website/index.ts index 3e1d405d..ef45fe6f 100644 --- a/web/src/api/panel/website/index.ts +++ b/web/src/api/panel/website/index.ts @@ -1,6 +1,7 @@ -import { request } from '@/utils' import type { AxiosResponse } from 'axios' +import { request } from '@/utils' + export default { // 列表 list: (page: number, limit: number): Promise> => diff --git a/web/src/components/common/AppProvider.vue b/web/src/components/common/AppProvider.vue index 3212e222..fe1416b4 100644 --- a/web/src/components/common/AppProvider.vue +++ b/web/src/components/common/AppProvider.vue @@ -1,7 +1,8 @@ diff --git a/web/src/layout/header/IndexView.vue b/web/src/layout/header/IndexView.vue index f6802455..7ba8d0f6 100644 --- a/web/src/layout/header/IndexView.vue +++ b/web/src/layout/header/IndexView.vue @@ -1,10 +1,10 @@