diff --git a/api/certificate/acme_user.go b/api/certificate/acme_user.go new file mode 100644 index 00000000..cbab749a --- /dev/null +++ b/api/certificate/acme_user.go @@ -0,0 +1,96 @@ +package certificate + +import ( + "github.com/0xJacky/Nginx-UI/api" + "github.com/0xJacky/Nginx-UI/internal/cosy" + "github.com/0xJacky/Nginx-UI/model" + "github.com/0xJacky/Nginx-UI/query" + "github.com/0xJacky/Nginx-UI/settings" + "github.com/gin-gonic/gin" + "github.com/spf13/cast" + "net/http" +) + +func GetAcmeUser(c *gin.Context) { + u := query.AcmeUser + id := cast.ToInt(c.Param("id")) + user, err := u.FirstByID(id) + if err != nil { + api.ErrHandler(c, err) + return + } + c.JSON(http.StatusOK, user) +} + +func CreateAcmeUser(c *gin.Context) { + cosy.Core[model.AcmeUser](c).SetValidRules(gin.H{ + "name": "required", + "email": "required,email", + "ca_dir": "omitempty", + }).BeforeExecuteHook(func(ctx *cosy.Ctx[model.AcmeUser]) { + if ctx.Model.CADir == "" { + ctx.Model.CADir = settings.ServerSettings.CADir + } + err := ctx.Model.Register() + if err != nil { + ctx.AbortWithError(err) + return + } + }).Create() +} + +func ModifyAcmeUser(c *gin.Context) { + cosy.Core[model.AcmeUser](c).SetValidRules(gin.H{ + "name": "omitempty", + "email": "omitempty,email", + "ca_dir": "omitempty", + }).BeforeExecuteHook(func(ctx *cosy.Ctx[model.AcmeUser]) { + if ctx.Model.CADir == "" { + ctx.Model.CADir = settings.ServerSettings.CADir + } + + if ctx.OriginModel.Email != ctx.Model.Email || + ctx.OriginModel.CADir != ctx.Model.CADir { + err := ctx.Model.Register() + if err != nil { + ctx.AbortWithError(err) + return + } + } + }).Modify() +} + +func GetAcmeUserList(c *gin.Context) { + cosy.Core[model.AcmeUser](c). + SetFussy("name", "email"). + PagingList() +} + +func DestroyAcmeUser(c *gin.Context) { + cosy.Core[model.AcmeUser](c).Destroy() +} + +func RecoverAcmeUser(c *gin.Context) { + cosy.Core[model.AcmeUser](c).Recover() +} + +func RegisterAcmeUser(c *gin.Context) { + id := cast.ToInt(c.Param("id")) + u := query.AcmeUser + user, err := u.FirstByID(id) + if err != nil { + api.ErrHandler(c, err) + return + } + err = user.Register() + if err != nil { + api.ErrHandler(c, err) + return + } + _, err = u.Where(u.ID.Eq(id)).Updates(user) + if err != nil { + api.ErrHandler(c, err) + return + } + c.JSON(http.StatusOK, user) +} diff --git a/api/certificate/certificate.go b/api/certificate/certificate.go index b5f9ba77..bcd5d261 100644 --- a/api/certificate/certificate.go +++ b/api/certificate/certificate.go @@ -2,8 +2,8 @@ package certificate import ( "github.com/0xJacky/Nginx-UI/api" - "github.com/0xJacky/Nginx-UI/api/cosy" "github.com/0xJacky/Nginx-UI/internal/cert" + "github.com/0xJacky/Nginx-UI/internal/cosy" "github.com/0xJacky/Nginx-UI/model" "github.com/0xJacky/Nginx-UI/query" "github.com/gin-gonic/gin" diff --git a/api/certificate/dns_credential.go b/api/certificate/dns_credential.go index 424562f4..bdf2f6b0 100644 --- a/api/certificate/dns_credential.go +++ b/api/certificate/dns_credential.go @@ -2,8 +2,8 @@ package certificate import ( "github.com/0xJacky/Nginx-UI/api" - "github.com/0xJacky/Nginx-UI/api/cosy" "github.com/0xJacky/Nginx-UI/internal/cert/dns" + "github.com/0xJacky/Nginx-UI/internal/cosy" "github.com/0xJacky/Nginx-UI/model" "github.com/0xJacky/Nginx-UI/query" "github.com/gin-gonic/gin" diff --git a/api/certificate/router.go b/api/certificate/router.go index 8b8b2bba..071de493 100644 --- a/api/certificate/router.go +++ b/api/certificate/router.go @@ -23,3 +23,13 @@ func InitCertificateRouter(r *gin.RouterGroup) { func InitCertificateWebSocketRouter(r *gin.RouterGroup) { r.GET("domain/:name/cert", IssueCert) } + +func InitAcmeUserRouter(r *gin.RouterGroup) { + r.GET("acme_users", GetAcmeUserList) + r.GET("acme_user/:id", GetAcmeUser) + r.POST("acme_user", CreateAcmeUser) + r.POST("acme_user/:id", ModifyAcmeUser) + r.POST("acme_user/:id/register", RegisterAcmeUser) + r.DELETE("acme_user/:id", DestroyAcmeUser) + r.PATCH("acme_user/:id", RecoverAcmeUser) +} diff --git a/api/notification/notification.go b/api/notification/notification.go index 952a6f02..f54348b9 100644 --- a/api/notification/notification.go +++ b/api/notification/notification.go @@ -2,7 +2,7 @@ package notification import ( "github.com/0xJacky/Nginx-UI/api" - "github.com/0xJacky/Nginx-UI/api/cosy" + "github.com/0xJacky/Nginx-UI/internal/cosy" "github.com/0xJacky/Nginx-UI/model" "github.com/0xJacky/Nginx-UI/query" "github.com/gin-gonic/gin" diff --git a/api/user/user.go b/api/user/user.go index 83d8dba8..3eb2cb65 100644 --- a/api/user/user.go +++ b/api/user/user.go @@ -2,7 +2,7 @@ package user import ( "github.com/0xJacky/Nginx-UI/api" - "github.com/0xJacky/Nginx-UI/api/cosy" + "github.com/0xJacky/Nginx-UI/internal/cosy" "github.com/0xJacky/Nginx-UI/model" "github.com/0xJacky/Nginx-UI/query" "github.com/0xJacky/Nginx-UI/settings" diff --git a/app/.eslintrc.cjs b/app/.eslintrc.cjs index 7bad4118..7c53c969 100644 --- a/app/.eslintrc.cjs +++ b/app/.eslintrc.cjs @@ -40,7 +40,7 @@ module.exports = { before: false, after: true, }], - 'key-spacing': ['error', { afterColon: true }], + 'key-spacing': ['error', {afterColon: true}], 'vue/first-attribute-linebreak': ['error', { singleline: 'beside', @@ -78,7 +78,7 @@ module.exports = { ], // Ignore _ as unused variable - '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_+$' }], + '@typescript-eslint/no-unused-vars': ['error', {argsIgnorePattern: '^_+$'}], 'array-element-newline': ['error', 'consistent'], 'array-bracket-newline': ['error', 'consistent'], @@ -111,7 +111,7 @@ module.exports = { // Plugin: eslint-plugin-import 'import/prefer-default-export': 'off', - 'import/newline-after-import': ['error', { count: 1 }], + 'import/newline-after-import': ['error', {count: 1}], 'no-restricted-imports': ['error', 'vuetify/components'], // For omitting extension for ts files @@ -150,7 +150,7 @@ module.exports = { // ESLint plugin vue 'vue/component-api-style': 'error', - 'vue/component-name-in-template-casing': ['error', 'PascalCase', { registeredComponentsOnly: false }], + 'vue/component-name-in-template-casing': ['error', 'PascalCase', {registeredComponentsOnly: false}], 'vue/custom-event-name-casing': ['error', 'camelCase', { ignores: [ '/^(click):[a-z]+((\d)|([A-Z0-9][a-z0-9]+))*([A-Z])?/', diff --git a/app/auto-imports.d.ts b/app/auto-imports.d.ts index 41ab67ab..ef98aa91 100644 --- a/app/auto-imports.d.ts +++ b/app/auto-imports.d.ts @@ -5,6 +5,10 @@ // Generated by unplugin-auto-import export {} declare global { + const $gettext: typeof import('@/gettext')['$gettext'] + const $ngettext: typeof import('@/gettext')['$ngettext'] + const $npgettext: typeof import('@/gettext')['$npgettext'] + const $pgettext: typeof import('@/gettext')['$pgettext'] const EffectScope: typeof import('vue')['EffectScope'] const acceptHMRUpdate: typeof import('pinia')['acceptHMRUpdate'] const computed: typeof import('vue')['computed'] @@ -86,6 +90,10 @@ import { UnwrapRef } from 'vue' declare module 'vue' { interface GlobalComponents {} interface ComponentCustomProperties { + readonly $gettext: UnwrapRef + readonly $ngettext: UnwrapRef + readonly $npgettext: UnwrapRef + readonly $pgettext: UnwrapRef readonly EffectScope: UnwrapRef readonly acceptHMRUpdate: UnwrapRef readonly computed: UnwrapRef @@ -160,6 +168,10 @@ declare module 'vue' { declare module '@vue/runtime-core' { interface GlobalComponents {} interface ComponentCustomProperties { + readonly $gettext: UnwrapRef + readonly $ngettext: UnwrapRef + readonly $npgettext: UnwrapRef + readonly $pgettext: UnwrapRef readonly EffectScope: UnwrapRef readonly acceptHMRUpdate: UnwrapRef readonly computed: UnwrapRef diff --git a/app/components.d.ts b/app/components.d.ts index f60a877d..fa57e402 100644 --- a/app/components.d.ts +++ b/app/components.d.ts @@ -21,6 +21,8 @@ declare module 'vue' { ACollapsePanel: typeof import('ant-design-vue/es')['CollapsePanel'] AComment: typeof import('ant-design-vue/es')['Comment'] AConfigProvider: typeof import('ant-design-vue/es')['ConfigProvider'] + ADescriptions: typeof import('ant-design-vue/es')['Descriptions'] + ADescriptionsItem: typeof import('ant-design-vue/es')['DescriptionsItem'] ADivider: typeof import('ant-design-vue/es')['Divider'] ADrawer: typeof import('ant-design-vue/es')['Drawer'] ADropdown: typeof import('ant-design-vue/es')['Dropdown'] @@ -80,6 +82,7 @@ declare module 'vue' { SetLanguageSetLanguage: typeof import('./src/components/SetLanguage/SetLanguage.vue')['default'] StdDesignStdDataDisplayStdBatchEdit: typeof import('./src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue')['default'] StdDesignStdDataDisplayStdCurd: typeof import('./src/components/StdDesign/StdDataDisplay/StdCurd.vue')['default'] + StdDesignStdDataDisplayStdCurdDetail: typeof import('./src/components/StdDesign/StdDataDisplay/StdCurdDetail.vue')['default'] StdDesignStdDataDisplayStdPagination: typeof import('./src/components/StdDesign/StdDataDisplay/StdPagination.vue')['default'] StdDesignStdDataDisplayStdTable: typeof import('./src/components/StdDesign/StdDataDisplay/StdTable.vue')['default'] StdDesignStdDataEntryComponentsStdPassword: typeof import('./src/components/StdDesign/StdDataEntry/components/StdPassword.vue')['default'] diff --git a/app/package.json b/app/package.json index 68a8bf88..2e0b57ff 100644 --- a/app/package.json +++ b/app/package.json @@ -29,14 +29,14 @@ "reconnecting-websocket": "^4.4.0", "sortablejs": "^1.15.2", "vite-plugin-build-id": "^0.2.8", - "vue": "^3.4.25", + "vue": "^3.4.26", "vue-github-button": "github:0xJacky/vue-github-button", "vue-router": "^4.3.2", "vue3-ace-editor": "2.2.4", "vue3-apexcharts": "1.4.4", "vue3-gettext": "3.0.0-beta.4", "vuedraggable": "^4.1.0", - "xterm": "^5.3.0", + "@xterm/xterm": "^5.5.0", "@xterm/addon-attach": "^0.11.0", "@xterm/addon-fit": "^0.10.0" }, @@ -63,7 +63,7 @@ "less": "^4.2.0", "postcss": "^8.4.38", "tailwindcss": "^3.4.3", - "typescript": "^5.4.5", + "typescript": "5.3.3", "unplugin-auto-import": "^0.17.5", "unplugin-vue-components": "^0.26.0", "unplugin-vue-define-options": "^1.4.3", diff --git a/app/pnpm-lock.yaml b/app/pnpm-lock.yaml index a1a1c8a6..63609ddd 100644 --- a/app/pnpm-lock.yaml +++ b/app/pnpm-lock.yaml @@ -7,28 +7,31 @@ settings: dependencies: '@ant-design/icons-vue': specifier: ^7.0.1 - version: 7.0.1(vue@3.4.25) + version: 7.0.1(vue@3.4.26) '@formkit/auto-animate': specifier: ^0.8.2 version: 0.8.2 '@vue/reactivity': specifier: ^3.4.25 - version: 3.4.25 + version: 3.4.26 '@vue/shared': specifier: ^3.4.25 - version: 3.4.25 + version: 3.4.26 '@vueuse/core': specifier: ^10.9.0 - version: 10.9.0(vue@3.4.25) + version: 10.9.0(vue@3.4.26) '@xterm/addon-attach': specifier: ^0.11.0 version: 0.11.0(@xterm/xterm@5.5.0) '@xterm/addon-fit': specifier: ^0.10.0 version: 0.10.0(@xterm/xterm@5.5.0) + '@xterm/xterm': + specifier: ^5.5.0 + version: 5.5.0 ant-design-vue: specifier: ^4.2.1 - version: 4.2.1(vue@3.4.25) + version: 4.2.1(vue@3.4.26) apexcharts: specifier: ^3.49.0 version: 3.49.0 @@ -37,7 +40,7 @@ dependencies: version: 1.6.8 dayjs: specifier: ^1.11.10 - version: 1.11.10 + version: 1.11.11 highlight.js: specifier: ^11.9.0 version: 11.9.0 @@ -52,7 +55,7 @@ dependencies: version: 0.2.0 pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.4.5)(vue@3.4.25) + version: 2.1.7(typescript@5.3.3)(vue@3.4.26) pinia-plugin-persistedstate: specifier: ^3.2.1 version: 3.2.1(pinia@2.1.7) @@ -66,34 +69,31 @@ dependencies: specifier: ^0.2.8 version: 0.2.8(less@4.2.0) vue: - specifier: ^3.4.25 - version: 3.4.25(typescript@5.4.5) + specifier: ^3.4.26 + version: 3.4.26(typescript@5.3.3) vue-github-button: specifier: github:0xJacky/vue-github-button version: github.com/0xJacky/vue-github-button/fc3c93355a790d3249de6610de3ebe35949ee314 vue-router: specifier: ^4.3.2 - version: 4.3.2(vue@3.4.25) + version: 4.3.2(vue@3.4.26) vue3-ace-editor: specifier: 2.2.4 - version: 2.2.4(ace-builds@1.33.1)(vue@3.4.25) + version: 2.2.4(ace-builds@1.33.1)(vue@3.4.26) vue3-apexcharts: specifier: 1.4.4 - version: 1.4.4(apexcharts@3.49.0)(vue@3.4.25) + version: 1.4.4(apexcharts@3.49.0)(vue@3.4.26) vue3-gettext: specifier: 3.0.0-beta.4 - version: 3.0.0-beta.4(@vue/compiler-sfc@3.4.25)(typescript@5.4.5)(vue@3.4.25) + version: 3.0.0-beta.4(@vue/compiler-sfc@3.4.26)(typescript@5.3.3)(vue@3.4.26) vuedraggable: specifier: ^4.1.0 - version: 4.1.0(vue@3.4.25) - xterm: - specifier: ^5.3.0 - version: 5.3.0 + version: 4.1.0(vue@3.4.26) devDependencies: '@antfu/eslint-config-vue': specifier: ^0.43.1 - version: 0.43.1(@typescript-eslint/eslint-plugin@6.21.0)(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)(typescript@5.4.5) + version: 0.43.1(@typescript-eslint/eslint-plugin@6.21.0)(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)(typescript@5.3.3) '@types/lodash': specifier: ^4.17.0 version: 4.17.0 @@ -105,19 +105,19 @@ devDependencies: version: 1.15.8 '@typescript-eslint/eslint-plugin': specifier: ^6.21.0 - version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5) + version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3) '@typescript-eslint/parser': specifier: ^6.21.0 - version: 6.21.0(eslint@8.57.0)(typescript@5.4.5) + version: 6.21.0(eslint@8.57.0)(typescript@5.3.3) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.2.10)(vue@3.4.25) + version: 5.0.4(vite@5.2.10)(vue@3.4.26) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.2.10)(vue@3.4.25) + version: 3.1.0(vite@5.2.10)(vue@3.4.26) '@vue/compiler-sfc': specifier: ^3.4.25 - version: 3.4.25 + version: 3.4.26 '@vue/tsconfig': specifier: ^0.5.1 version: 0.5.1 @@ -158,26 +158,26 @@ devDependencies: specifier: ^3.4.3 version: 3.4.3 typescript: - specifier: ^5.4.5 - version: 5.4.5 + specifier: 5.3.3 + version: 5.3.3 unplugin-auto-import: specifier: ^0.17.5 version: 0.17.5(@vueuse/core@10.9.0) unplugin-vue-components: specifier: ^0.26.0 - version: 0.26.0(vue@3.4.25) + version: 0.26.0(vue@3.4.26) unplugin-vue-define-options: specifier: ^1.4.3 - version: 1.4.3(vue@3.4.25) + version: 1.4.3(vue@3.4.26) vite: specifier: ^5.2.10 version: 5.2.10(@types/node@20.12.7)(less@4.2.0) vite-svg-loader: specifier: ^5.1.0 - version: 5.1.0(vue@3.4.25) + version: 5.1.0(vue@3.4.26) vue-tsc: specifier: ^1.8.27 - version: 1.8.27(typescript@5.4.5) + version: 1.8.27(typescript@5.3.3) packages: @@ -204,24 +204,24 @@ packages: resolution: {integrity: sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==} dev: false - /@ant-design/icons-vue@7.0.1(vue@3.4.25): + /@ant-design/icons-vue@7.0.1(vue@3.4.26): resolution: {integrity: sha512-eCqY2unfZK6Fe02AwFlDHLfoyEFreP6rBwAZMIJ1LugmfMiVgwWDYlp1YsRugaPtICYOabV1iWxXdP12u9U43Q==} peerDependencies: vue: '>=3.0.3' dependencies: '@ant-design/colors': 6.0.0 '@ant-design/icons-svg': 4.4.2 - vue: 3.4.25(typescript@5.4.5) + vue: 3.4.26(typescript@5.3.3) dev: false - /@antfu/eslint-config-basic@0.43.1(@typescript-eslint/eslint-plugin@6.21.0)(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)(typescript@5.4.5): + /@antfu/eslint-config-basic@0.43.1(@typescript-eslint/eslint-plugin@6.21.0)(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-SW6hmGmqI985fsCJ+oivo4MbiMmRMgCJ0Ne8j/hwCB6O6Mc0m5bDqYeKn5HqFhvZhG84GEg5jPDKNiHrBYnQjw==} peerDependencies: eslint: '>=7.4.0' dependencies: '@stylistic/eslint-plugin-js': 0.0.4 eslint: 8.57.0 - eslint-plugin-antfu: 0.43.1(eslint@8.57.0)(typescript@5.4.5) + eslint-plugin-antfu: 0.43.1(eslint@8.57.0)(typescript@5.3.3) eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0) eslint-plugin-html: 7.1.0 eslint-plugin-import: /eslint-plugin-i@2.28.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) @@ -245,19 +245,19 @@ packages: - typescript dev: true - /@antfu/eslint-config-ts@0.43.1(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)(typescript@5.4.5): + /@antfu/eslint-config-ts@0.43.1(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-s3zItBSopYbM/3eii/JKas1PmWR+wCPRNS89qUi4zxPvpuIgN5mahkBvbsCiWacrNFtLxe1zGgo5qijBhVfuvA==} peerDependencies: eslint: '>=7.4.0' typescript: '>=3.9' dependencies: - '@antfu/eslint-config-basic': 0.43.1(@typescript-eslint/eslint-plugin@6.21.0)(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)(typescript@5.4.5) - '@stylistic/eslint-plugin-ts': 0.0.4(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@antfu/eslint-config-basic': 0.43.1(@typescript-eslint/eslint-plugin@6.21.0)(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)(typescript@5.3.3) + '@stylistic/eslint-plugin-ts': 0.0.4(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) eslint: 8.57.0 - eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(typescript@5.4.5) - typescript: 5.4.5 + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -265,13 +265,13 @@ packages: - supports-color dev: true - /@antfu/eslint-config-vue@0.43.1(@typescript-eslint/eslint-plugin@6.21.0)(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)(typescript@5.4.5): + /@antfu/eslint-config-vue@0.43.1(@typescript-eslint/eslint-plugin@6.21.0)(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-HxOfe8Vl+DPrzssbs5LHRDCnBtCy1LSA1DIeV71IC+iTpzoASFahSsVX5qckYu1InFgUm93XOhHCWm34LzPsvg==} peerDependencies: eslint: '>=7.4.0' dependencies: - '@antfu/eslint-config-basic': 0.43.1(@typescript-eslint/eslint-plugin@6.21.0)(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)(typescript@5.4.5) - '@antfu/eslint-config-ts': 0.43.1(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)(typescript@5.4.5) + '@antfu/eslint-config-basic': 0.43.1(@typescript-eslint/eslint-plugin@6.21.0)(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)(typescript@5.3.3) + '@antfu/eslint-config-ts': 0.43.1(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)(typescript@5.3.3) eslint: 8.57.0 eslint-plugin-vue: 9.25.0(eslint@8.57.0) local-pkg: 0.4.3 @@ -933,113 +933,113 @@ packages: picomatch: 2.3.1 dev: true - /@rollup/rollup-android-arm-eabi@4.17.0: - resolution: {integrity: sha512-nNvLvC2fjC+3+bHYN9uaGF3gcyy7RHGZhtl8TB/kINj9hiOQza8kWJGZh47GRPMrqeseO8U+Z8ElDMCZlWBdHA==} + /@rollup/rollup-android-arm-eabi@4.17.1: + resolution: {integrity: sha512-P6Wg856Ou/DLpR+O0ZLneNmrv7QpqBg+hK4wE05ijbC/t349BRfMfx+UFj5Ha3fCFopIa6iSZlpdaB4agkWp2Q==} cpu: [arm] os: [android] requiresBuild: true optional: true - /@rollup/rollup-android-arm64@4.17.0: - resolution: {integrity: sha512-+kjt6dvxnyTIAo7oHeYseYhDyZ7xRKTNl/FoQI96PHkJVxoChldJnne/LzYqpqidoK1/0kX0/q+5rrYqjpth6w==} + /@rollup/rollup-android-arm64@4.17.1: + resolution: {integrity: sha512-piwZDjuW2WiHr05djVdUkrG5JbjnGbtx8BXQchYCMfib/nhjzWoiScelZ+s5IJI7lecrwSxHCzW026MWBL+oJQ==} cpu: [arm64] os: [android] requiresBuild: true optional: true - /@rollup/rollup-darwin-arm64@4.17.0: - resolution: {integrity: sha512-Oj6Tp0unMpGTBjvNwbSRv3DopMNLu+mjBzhKTt2zLbDJ/45fB1pltr/rqrO4bE95LzuYwhYn127pop+x/pzf5w==} + /@rollup/rollup-darwin-arm64@4.17.1: + resolution: {integrity: sha512-LsZXXIsN5Q460cKDT4Y+bzoPDhBmO5DTr7wP80d+2EnYlxSgkwdPfE3hbE+Fk8dtya+8092N9srjBTJ0di8RIA==} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-darwin-x64@4.17.0: - resolution: {integrity: sha512-3nJx0T+yptxMd+v93rBRxSPTAVCv8szu/fGZDJiKX7kvRe9sENj2ggXjCH/KK1xZEmJOhaNo0c9sGMgGdfkvEw==} + /@rollup/rollup-darwin-x64@4.17.1: + resolution: {integrity: sha512-S7TYNQpWXB9APkxu/SLmYHezWwCoZRA9QLgrDeml+SR2A1LLPD2DBUdUlvmCF7FUpRMKvbeeWky+iizQj65Etw==} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.17.0: - resolution: {integrity: sha512-Vb2e8p9b2lxxgqyOlBHmp6hJMu/HSU6g//6Tbr7x5V1DlPCHWLOm37nSIVK314f+IHzORyAQSqL7+9tELxX3zQ==} + /@rollup/rollup-linux-arm-gnueabihf@4.17.1: + resolution: {integrity: sha512-Lq2JR5a5jsA5um2ZoLiXXEaOagnVyCpCW7xvlcqHC7y46tLwTEgUSTM3a2TfmmTMmdqv+jknUioWXlmxYxE9Yw==} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm-musleabihf@4.17.0: - resolution: {integrity: sha512-Md60KsmC5ZIaRq/bYYDloklgU+XLEZwS2EXXVcSpiUw+13/ZASvSWQ/P92rQ9YDCL6EIoXxuQ829JkReqdYbGg==} + /@rollup/rollup-linux-arm-musleabihf@4.17.1: + resolution: {integrity: sha512-9BfzwyPNV0IizQoR+5HTNBGkh1KXE8BqU0DBkqMngmyFW7BfuIZyMjQ0s6igJEiPSBvT3ZcnIFohZ19OqjhDPg==} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.17.0: - resolution: {integrity: sha512-zL5rBFtJ+2EGnMRm2TqKjdjgFqlotSU+ZJEN37nV+fiD3I6Gy0dUh3jBWN0wSlcXVDEJYW7YBe+/2j0N9unb2w==} + /@rollup/rollup-linux-arm64-gnu@4.17.1: + resolution: {integrity: sha512-e2uWaoxo/rtzA52OifrTSXTvJhAXb0XeRkz4CdHBK2KtxrFmuU/uNd544Ogkpu938BzEfvmWs8NZ8Axhw33FDw==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-musl@4.17.0: - resolution: {integrity: sha512-s2xAyNkJqUdtRVgNK4NK4P9QttS538JuX/kfVQOdZDI5FIKVAUVdLW7qhGfmaySJ1EvN/Bnj9oPm5go9u8navg==} + /@rollup/rollup-linux-arm64-musl@4.17.1: + resolution: {integrity: sha512-ekggix/Bc/d/60H1Mi4YeYb/7dbal1kEDZ6sIFVAE8pUSx7PiWeEh+NWbL7bGu0X68BBIkgF3ibRJe1oFTksQQ==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.17.0: - resolution: {integrity: sha512-7F99yzVT67B7IUNMjLD9QCFDCyHkyCJMS1dywZrGgVFJao4VJ9szrIEgH67cR+bXQgEaY01ur/WSL6B0jtcLyA==} + /@rollup/rollup-linux-powerpc64le-gnu@4.17.1: + resolution: {integrity: sha512-UGV0dUo/xCv4pkr/C8KY7XLFwBNnvladt8q+VmdKrw/3RUd3rD0TptwjisvE2TTnnlENtuY4/PZuoOYRiGp8Gw==} cpu: [ppc64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.17.0: - resolution: {integrity: sha512-leFtyiXisfa3Sg9pgZJwRKITWnrQfhtqDjCamnZhkZuIsk1FXmYwKoTkp6lsCgimIcneFFkHKp/yGLxDesga4g==} + /@rollup/rollup-linux-riscv64-gnu@4.17.1: + resolution: {integrity: sha512-gEYmYYHaehdvX46mwXrU49vD6Euf1Bxhq9pPb82cbUU9UT2NV+RSckQ5tKWOnNXZixKsy8/cPGtiUWqzPuAcXQ==} cpu: [riscv64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-s390x-gnu@4.17.0: - resolution: {integrity: sha512-FtOgui6qMJ4jbSXTxElsy/60LEe/3U0rXkkz2G5CJ9rbHPAvjMvI+3qF0A0fwLQ5hW+/ZC6PbnS2KfRW9JkgDQ==} + /@rollup/rollup-linux-s390x-gnu@4.17.1: + resolution: {integrity: sha512-xeae5pMAxHFp6yX5vajInG2toST5lsCTrckSRUFwNgzYqnUjNBcQyqk1bXUxX5yhjWFl2Mnz3F8vQjl+2FRIcw==} cpu: [s390x] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-gnu@4.17.0: - resolution: {integrity: sha512-v6eiam/1w3HUfU/ZjzIDodencqgrSqzlNuNtiwH7PFJHYSo1ezL0/UIzmS2lpSJF1ORNaplXeKHYmmdt81vV2g==} + /@rollup/rollup-linux-x64-gnu@4.17.1: + resolution: {integrity: sha512-AsdnINQoDWfKpBzCPqQWxSPdAWzSgnYbrJYtn6W0H2E9It5bZss99PiLA8CgmDRfvKygt20UpZ3xkhFlIfX9zQ==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-musl@4.17.0: - resolution: {integrity: sha512-OUhkSdpM5ofVlVU2k4CwVubYwiwu1a4jYWPpubzN7Vzao73GoPBowHcCfaRSFRz1SszJ3HIsk3dZYk4kzbqjgw==} + /@rollup/rollup-linux-x64-musl@4.17.1: + resolution: {integrity: sha512-KoB4fyKXTR+wYENkIG3fFF+5G6N4GFvzYx8Jax8BR4vmddtuqSb5oQmYu2Uu067vT/Fod7gxeQYKupm8gAcMSQ==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.17.0: - resolution: {integrity: sha512-uL7UYO/MNJPGL/yflybI+HI+n6+4vlfZmQZOCb4I+z/zy1wisHT3exh7oNQsnL6Eso0EUTEfgQ/PaGzzXf6XyQ==} + /@rollup/rollup-win32-arm64-msvc@4.17.1: + resolution: {integrity: sha512-J0d3NVNf7wBL9t4blCNat+d0PYqAx8wOoY+/9Q5cujnafbX7BmtYk3XvzkqLmFECaWvXGLuHmKj/wrILUinmQg==} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.17.0: - resolution: {integrity: sha512-4WnSgaUiUmXILwFqREdOcqvSj6GD/7FrvSjhaDjmwakX9w4Z2F8JwiSP1AZZbuRkPqzi444UI5FPv33VKOWYFQ==} + /@rollup/rollup-win32-ia32-msvc@4.17.1: + resolution: {integrity: sha512-xjgkWUwlq7IbgJSIxvl516FJ2iuC/7ttjsAxSPpC9kkI5iQQFHKyEN5BjbhvJ/IXIZ3yIBcW5QDlWAyrA+TFag==} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-x64-msvc@4.17.0: - resolution: {integrity: sha512-ve+D8t1prRSRnF2S3pyDtTXDlvW1Pngbz76tjgYFQW1jxVSysmQCZfPoDAo4WP+Ano8zeYp85LsArZBI12HfwQ==} + /@rollup/rollup-win32-x64-msvc@4.17.1: + resolution: {integrity: sha512-0QbCkfk6cnnVKWqqlC0cUrrUMDMfu5ffvYMTUHf+qMN2uAb3MKP31LPcwiMXBNsvoFGs/kYdFOsuLmvppCopXA==} cpu: [x64] os: [win32] requiresBuild: true @@ -1063,7 +1063,7 @@ packages: graphemer: 1.4.0 dev: true - /@stylistic/eslint-plugin-ts@0.0.4(eslint@8.57.0)(typescript@5.4.5): + /@stylistic/eslint-plugin-ts@0.0.4(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-sWL4Km5j8S+TLyzya/3adxMWGkCm3lVasJIVQqhxVfwnlGkpMI0GgYVIu/ubdKPS+dSvqjUHpsXgqWfMRF2+cQ==} peerDependencies: eslint: '*' @@ -1071,11 +1071,11 @@ packages: dependencies: '@stylistic/eslint-plugin-js': 0.0.4 '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) eslint: 8.57.0 graphemer: 1.4.0 - typescript: 5.4.5 + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true @@ -1149,7 +1149,7 @@ packages: /@types/web-bluetooth@0.0.20: resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} - /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5): + /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1161,10 +1161,10 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4 eslint: 8.57.0 @@ -1172,13 +1172,13 @@ packages: ignore: 5.3.1 natural-compare: 1.4.0 semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.4.5) - typescript: 5.4.5 + ts-api-utils: 1.3.0(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5): + /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1190,11 +1190,11 @@ packages: dependencies: '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4 eslint: 8.57.0 - typescript: 5.4.5 + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true @@ -1215,7 +1215,7 @@ packages: '@typescript-eslint/visitor-keys': 6.21.0 dev: true - /@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.5): + /@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1225,12 +1225,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) debug: 4.3.4 eslint: 8.57.0 - ts-api-utils: 1.3.0(typescript@5.4.5) - typescript: 5.4.5 + ts-api-utils: 1.3.0(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true @@ -1245,7 +1245,7 @@ packages: engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5): + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.3.3): resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1260,13 +1260,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.0 - tsutils: 3.21.0(typescript@5.4.5) - typescript: 5.4.5 + tsutils: 3.21.0(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5): + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.3.3): resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1282,13 +1282,13 @@ packages: is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.4.5) - typescript: 5.4.5 + ts-api-utils: 1.3.0(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5): + /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1299,7 +1299,7 @@ packages: '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.3) eslint: 8.57.0 eslint-scope: 5.1.1 semver: 7.6.0 @@ -1308,7 +1308,7 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.5): + /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1319,7 +1319,7 @@ packages: '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: @@ -1347,7 +1347,7 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.10)(vue@3.4.25): + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.10)(vue@3.4.26): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -1358,12 +1358,12 @@ packages: '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.4) '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.4) vite: 5.2.10(@types/node@20.12.7)(less@4.2.0) - vue: 3.4.25(typescript@5.4.5) + vue: 3.4.26(typescript@5.3.3) transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-vue@5.0.4(vite@5.2.10)(vue@3.4.25): + /@vitejs/plugin-vue@5.0.4(vite@5.2.10)(vue@3.4.26): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: @@ -1371,7 +1371,7 @@ packages: vue: ^3.2.25 dependencies: vite: 5.2.10(@types/node@20.12.7)(less@4.2.0) - vue: 3.4.25(typescript@5.4.5) + vue: 3.4.26(typescript@5.3.3) dev: true /@volar/language-core@1.11.1: @@ -1393,7 +1393,7 @@ packages: path-browserify: 1.0.1 dev: true - /@vue-macros/common@1.10.2(vue@3.4.25): + /@vue-macros/common@1.10.2(vue@3.4.26): resolution: {integrity: sha512-WC66NPVh2mJWqm4L0l/u/cOqm4pNOIwVdMGnDYAH2rHcOWy5x68GkhpkYTBu1+xwCSeHWOQn1TCGGbD+98fFpA==} engines: {node: '>=16.14.0'} peerDependencies: @@ -1404,11 +1404,11 @@ packages: dependencies: '@babel/types': 7.24.0 '@rollup/pluginutils': 5.1.0 - '@vue/compiler-sfc': 3.4.25 + '@vue/compiler-sfc': 3.4.26 ast-kit: 0.12.1 local-pkg: 0.5.0 magic-string-ast: 0.3.0 - vue: 3.4.25(typescript@5.4.5) + vue: 3.4.26(typescript@5.3.3) transitivePeerDependencies: - rollup dev: true @@ -1451,48 +1451,48 @@ packages: '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.24.0 '@babel/parser': 7.24.4 - '@vue/compiler-sfc': 3.4.25 + '@vue/compiler-sfc': 3.4.26 dev: true - /@vue/compiler-core@3.4.25: - resolution: {integrity: sha512-Y2pLLopaElgWnMNolgG8w3C5nNUVev80L7hdQ5iIKPtMJvhVpG0zhnBG/g3UajJmZdvW0fktyZTotEHD1Srhbg==} + /@vue/compiler-core@3.4.26: + resolution: {integrity: sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==} dependencies: '@babel/parser': 7.24.4 - '@vue/shared': 3.4.25 + '@vue/shared': 3.4.26 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 - /@vue/compiler-dom@3.4.25: - resolution: {integrity: sha512-Ugz5DusW57+HjllAugLci19NsDK+VyjGvmbB2TXaTcSlQxwL++2PETHx/+Qv6qFwNLzSt7HKepPe4DcTE3pBWg==} + /@vue/compiler-dom@3.4.26: + resolution: {integrity: sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==} dependencies: - '@vue/compiler-core': 3.4.25 - '@vue/shared': 3.4.25 + '@vue/compiler-core': 3.4.26 + '@vue/shared': 3.4.26 - /@vue/compiler-sfc@3.4.25: - resolution: {integrity: sha512-m7rryuqzIoQpOBZ18wKyq05IwL6qEpZxFZfRxlNYuIPDqywrXQxgUwLXIvoU72gs6cRdY6wHD0WVZIFE4OEaAQ==} + /@vue/compiler-sfc@3.4.26: + resolution: {integrity: sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==} dependencies: '@babel/parser': 7.24.4 - '@vue/compiler-core': 3.4.25 - '@vue/compiler-dom': 3.4.25 - '@vue/compiler-ssr': 3.4.25 - '@vue/shared': 3.4.25 + '@vue/compiler-core': 3.4.26 + '@vue/compiler-dom': 3.4.26 + '@vue/compiler-ssr': 3.4.26 + '@vue/shared': 3.4.26 estree-walker: 2.0.2 magic-string: 0.30.10 postcss: 8.4.38 source-map-js: 1.2.0 - /@vue/compiler-ssr@3.4.25: - resolution: {integrity: sha512-H2ohvM/Pf6LelGxDBnfbbXFPyM4NE3hrw0e/EpwuSiYu8c819wx+SVGdJ65p/sFrYDd6OnSDxN1MB2mN07hRSQ==} + /@vue/compiler-ssr@3.4.26: + resolution: {integrity: sha512-FNwLfk7LlEPRY/g+nw2VqiDKcnDTVdCfBREekF8X74cPLiWHUX6oldktf/Vx28yh4STNy7t+/yuLoMBBF7YDiQ==} dependencies: - '@vue/compiler-dom': 3.4.25 - '@vue/shared': 3.4.25 + '@vue/compiler-dom': 3.4.26 + '@vue/shared': 3.4.26 /@vue/devtools-api@6.6.1: resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} dev: false - /@vue/language-core@1.8.27(typescript@5.4.5): + /@vue/language-core@1.8.27(typescript@5.3.3): resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} peerDependencies: typescript: '*' @@ -1502,57 +1502,57 @@ packages: dependencies: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.4.25 - '@vue/shared': 3.4.25 + '@vue/compiler-dom': 3.4.26 + '@vue/shared': 3.4.26 computeds: 0.0.1 minimatch: 9.0.4 muggle-string: 0.3.1 path-browserify: 1.0.1 - typescript: 5.4.5 + typescript: 5.3.3 vue-template-compiler: 2.7.16 dev: true - /@vue/reactivity@3.4.25: - resolution: {integrity: sha512-mKbEtKr1iTxZkAG3vm3BtKHAOhuI4zzsVcN0epDldU/THsrvfXRKzq+lZnjczZGnTdh3ojd86/WrP+u9M51pWQ==} + /@vue/reactivity@3.4.26: + resolution: {integrity: sha512-E/ynEAu/pw0yotJeLdvZEsp5Olmxt+9/WqzvKff0gE67tw73gmbx6tRkiagE/eH0UCubzSlGRebCbidB1CpqZQ==} dependencies: - '@vue/shared': 3.4.25 + '@vue/shared': 3.4.26 - /@vue/runtime-core@3.4.25: - resolution: {integrity: sha512-3qhsTqbEh8BMH3pXf009epCI5E7bKu28fJLi9O6W+ZGt/6xgSfMuGPqa5HRbUxLoehTNp5uWvzCr60KuiRIL0Q==} + /@vue/runtime-core@3.4.26: + resolution: {integrity: sha512-AFJDLpZvhT4ujUgZSIL9pdNcO23qVFh7zWCsNdGQBw8ecLNxOOnPcK9wTTIYCmBJnuPHpukOwo62a2PPivihqw==} dependencies: - '@vue/reactivity': 3.4.25 - '@vue/shared': 3.4.25 + '@vue/reactivity': 3.4.26 + '@vue/shared': 3.4.26 - /@vue/runtime-dom@3.4.25: - resolution: {integrity: sha512-ode0sj77kuwXwSc+2Yhk8JMHZh1sZp9F/51wdBiz3KGaWltbKtdihlJFhQG4H6AY+A06zzeMLkq6qu8uDSsaoA==} + /@vue/runtime-dom@3.4.26: + resolution: {integrity: sha512-UftYA2hUXR2UOZD/Fc3IndZuCOOJgFxJsWOxDkhfVcwLbsfh2CdXE2tG4jWxBZuDAs9J9PzRTUFt1PgydEtItw==} dependencies: - '@vue/runtime-core': 3.4.25 - '@vue/shared': 3.4.25 + '@vue/runtime-core': 3.4.26 + '@vue/shared': 3.4.26 csstype: 3.1.3 - /@vue/server-renderer@3.4.25(vue@3.4.25): - resolution: {integrity: sha512-8VTwq0Zcu3K4dWV0jOwIVINESE/gha3ifYCOKEhxOj6MEl5K5y8J8clQncTcDhKF+9U765nRw4UdUEXvrGhyVQ==} + /@vue/server-renderer@3.4.26(vue@3.4.26): + resolution: {integrity: sha512-xoGAqSjYDPGAeRWxeoYwqJFD/gw7mpgzOvSxEmjWaFO2rE6qpbD1PC172YRpvKhrihkyHJkNDADFXTfCyVGhKw==} peerDependencies: - vue: 3.4.25 + vue: 3.4.26 dependencies: - '@vue/compiler-ssr': 3.4.25 - '@vue/shared': 3.4.25 - vue: 3.4.25(typescript@5.4.5) + '@vue/compiler-ssr': 3.4.26 + '@vue/shared': 3.4.26 + vue: 3.4.26(typescript@5.3.3) - /@vue/shared@3.4.25: - resolution: {integrity: sha512-k0yappJ77g2+KNrIaF0FFnzwLvUBLUYr8VOwz+/6vLsmItFp51AcxLL7Ey3iPd7BIRyWPOcqUjMnm7OkahXllA==} + /@vue/shared@3.4.26: + resolution: {integrity: sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==} /@vue/tsconfig@0.5.1: resolution: {integrity: sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==} dev: true - /@vueuse/core@10.9.0(vue@3.4.25): + /@vueuse/core@10.9.0(vue@3.4.26): resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.9.0 - '@vueuse/shared': 10.9.0(vue@3.4.25) - vue-demi: 0.14.7(vue@3.4.25) + '@vueuse/shared': 10.9.0(vue@3.4.26) + vue-demi: 0.14.7(vue@3.4.26) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -1560,10 +1560,10 @@ packages: /@vueuse/metadata@10.9.0: resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} - /@vueuse/shared@10.9.0(vue@3.4.25): + /@vueuse/shared@10.9.0(vue@3.4.26): resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} dependencies: - vue-demi: 0.14.7(vue@3.4.25) + vue-demi: 0.14.7(vue@3.4.26) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -1642,14 +1642,14 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - /ant-design-vue@4.2.1(vue@3.4.25): + /ant-design-vue@4.2.1(vue@3.4.26): resolution: {integrity: sha512-3u6fmfCEJ5AFTsYhogP8lJ/vcqiAJO16o+gGQkWYRGLl0NxmY4hje4cPyv+pcxpeJgcG0vNEmkb1vVHKcnxd+g==} engines: {node: '>=12.22.0'} peerDependencies: vue: '>=3.2.0' dependencies: '@ant-design/colors': 6.0.0 - '@ant-design/icons-vue': 7.0.1(vue@3.4.25) + '@ant-design/icons-vue': 7.0.1(vue@3.4.26) '@babel/runtime': 7.24.4 '@ctrl/tinycolor': 3.6.1 '@emotion/hash': 0.9.1 @@ -1658,7 +1658,7 @@ packages: array-tree-filter: 2.1.0 async-validator: 4.2.5 csstype: 3.1.3 - dayjs: 1.11.10 + dayjs: 1.11.11 dom-align: 1.12.4 dom-scroll-into-view: 2.0.1 lodash: 4.17.21 @@ -1668,8 +1668,8 @@ packages: shallow-equal: 1.2.1 stylis: 4.3.2 throttle-debounce: 5.0.0 - vue: 3.4.25(typescript@5.4.5) - vue-types: 3.0.2(vue@3.4.25) + vue: 3.4.26(typescript@5.3.3) + vue-types: 3.0.2(vue@3.4.26) warning: 4.0.3 dev: false @@ -1821,7 +1821,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.23.0 - caniuse-lite: 1.0.30001612 + caniuse-lite: 1.0.30001614 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -1881,7 +1881,7 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001612 + caniuse-lite: 1.0.30001614 electron-to-chromium: 1.4.750 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) @@ -1923,8 +1923,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001612: - resolution: {integrity: sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==} + /caniuse-lite@1.0.30001614: + resolution: {integrity: sha512-jmZQ1VpmlRwHgdP1/uiKzgiAuGOfLEJsYFP4+GBou/QQ4U6IOJCB4NP1c+1p9RGLpwObcT94jA5/uO+F1vBbog==} dev: true /chalk@2.4.2: @@ -2059,7 +2059,7 @@ packages: requiresBuild: true dev: false - /cosmiconfig@9.0.0(typescript@5.4.5): + /cosmiconfig@9.0.0(typescript@5.3.3): resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} peerDependencies: @@ -2072,7 +2072,7 @@ packages: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 - typescript: 5.4.5 + typescript: 5.3.3 dev: false /cross-spawn@7.0.3: @@ -2161,8 +2161,8 @@ packages: is-data-view: 1.0.1 dev: true - /dayjs@1.11.10: - resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + /dayjs@1.11.11: + resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==} dev: false /de-indent@1.0.2: @@ -2543,7 +2543,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 @@ -2552,10 +2552,10 @@ packages: - supports-color dev: true - /eslint-plugin-antfu@0.43.1(eslint@8.57.0)(typescript@5.4.5): + /eslint-plugin-antfu@0.43.1(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-Nak+Qpy5qEK10dCXtVaabPTUmLBPLhsVKAFXAtxYGYRlY/SuuZUBhW2YIsLsixNROiICGuov8sN+eNOCC7Wb5g==} dependencies: - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) transitivePeerDependencies: - eslint - supports-color @@ -2624,7 +2624,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 @@ -2649,7 +2649,7 @@ packages: - supports-color dev: true - /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(typescript@5.4.5): + /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -2662,8 +2662,8 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.3.3) eslint: 8.57.0 transitivePeerDependencies: - supports-color @@ -2804,7 +2804,7 @@ packages: '@typescript-eslint/eslint-plugin': optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3) eslint: 8.57.0 eslint-rule-composer: 0.3.0 dev: true @@ -3148,7 +3148,7 @@ packages: glob: 7.2.3 parse5: 6.0.1 pofile: 1.0.11 - typescript: 5.4.5 + typescript: 5.3.3 dev: false /github-buttons@2.28.0: @@ -3712,8 +3712,8 @@ packages: js-tokens: 4.0.0 dev: false - /lru-cache@10.2.1: - resolution: {integrity: sha512-tS24spDe/zXhWbNPErCHs/AGOzbKGHT+ybSBqmdLm8WZ1xXLWvH8Qn71QPAlqVhd0qUTWjy+Kl9JmISgDdEjsA==} + /lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} engines: {node: 14 || >=16.14} /lru-cache@5.1.1: @@ -4109,7 +4109,7 @@ packages: resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 10.2.1 + lru-cache: 10.2.2 minipass: 7.0.4 /path-type@4.0.0: @@ -4145,10 +4145,10 @@ packages: peerDependencies: pinia: ^2.0.0 dependencies: - pinia: 2.1.7(typescript@5.4.5)(vue@3.4.25) + pinia: 2.1.7(typescript@5.3.3)(vue@3.4.26) dev: false - /pinia@2.1.7(typescript@5.4.5)(vue@3.4.25): + /pinia@2.1.7(typescript@5.3.3)(vue@3.4.26): resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==} peerDependencies: '@vue/composition-api': ^1.4.0 @@ -4161,9 +4161,9 @@ packages: optional: true dependencies: '@vue/devtools-api': 6.6.1 - typescript: 5.4.5 - vue: 3.4.25(typescript@5.4.5) - vue-demi: 0.14.7(vue@3.4.25) + typescript: 5.3.3 + vue: 3.4.26(typescript@5.3.3) + vue-demi: 0.14.7(vue@3.4.26) dev: false /pirates@4.0.6: @@ -4233,7 +4233,7 @@ packages: dependencies: lilconfig: 3.1.1 postcss: 8.4.38 - yaml: 2.4.1 + yaml: 2.4.2 dev: true /postcss-nested@6.0.1(postcss@8.4.38): @@ -4392,29 +4392,29 @@ packages: glob: 10.3.12 dev: false - /rollup@4.17.0: - resolution: {integrity: sha512-wZJSn0WMtWrxhYKQRt5Z6GIXlziOoMDFmbHmRfL3v+sBTAshx2DBq1AfMArB7eIjF63r4ocn2ZTAyUptg/7kmQ==} + /rollup@4.17.1: + resolution: {integrity: sha512-0gG94inrUtg25sB2V/pApwiv1lUb0bQ25FPNuzO89Baa+B+c0ccaaBKM5zkZV/12pUUdH+lWCSm9wmHqyocuVQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.17.0 - '@rollup/rollup-android-arm64': 4.17.0 - '@rollup/rollup-darwin-arm64': 4.17.0 - '@rollup/rollup-darwin-x64': 4.17.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.17.0 - '@rollup/rollup-linux-arm-musleabihf': 4.17.0 - '@rollup/rollup-linux-arm64-gnu': 4.17.0 - '@rollup/rollup-linux-arm64-musl': 4.17.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.17.0 - '@rollup/rollup-linux-riscv64-gnu': 4.17.0 - '@rollup/rollup-linux-s390x-gnu': 4.17.0 - '@rollup/rollup-linux-x64-gnu': 4.17.0 - '@rollup/rollup-linux-x64-musl': 4.17.0 - '@rollup/rollup-win32-arm64-msvc': 4.17.0 - '@rollup/rollup-win32-ia32-msvc': 4.17.0 - '@rollup/rollup-win32-x64-msvc': 4.17.0 + '@rollup/rollup-android-arm-eabi': 4.17.1 + '@rollup/rollup-android-arm64': 4.17.1 + '@rollup/rollup-darwin-arm64': 4.17.1 + '@rollup/rollup-darwin-x64': 4.17.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.17.1 + '@rollup/rollup-linux-arm-musleabihf': 4.17.1 + '@rollup/rollup-linux-arm64-gnu': 4.17.1 + '@rollup/rollup-linux-arm64-musl': 4.17.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.17.1 + '@rollup/rollup-linux-riscv64-gnu': 4.17.1 + '@rollup/rollup-linux-s390x-gnu': 4.17.1 + '@rollup/rollup-linux-x64-gnu': 4.17.1 + '@rollup/rollup-linux-x64-musl': 4.17.1 + '@rollup/rollup-win32-arm64-msvc': 4.17.1 + '@rollup/rollup-win32-ia32-msvc': 4.17.1 + '@rollup/rollup-win32-x64-msvc': 4.17.1 fsevents: 2.3.3 /run-parallel@1.2.0: @@ -4842,13 +4842,13 @@ packages: is-number: 7.0.0 dev: true - /ts-api-utils@1.3.0(typescript@5.4.5): + /ts-api-utils@1.3.0(typescript@5.3.3): resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.4.5 + typescript: 5.3.3 dev: true /ts-interface-checker@0.1.13: @@ -4871,14 +4871,14 @@ packages: /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - /tsutils@3.21.0(typescript@5.4.5): + /tsutils@3.21.0(typescript@5.3.3): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 5.4.5 + typescript: 5.3.3 dev: true /type-check@0.4.0: @@ -4947,8 +4947,8 @@ packages: possible-typed-array-names: 1.0.0 dev: true - /typescript@5.4.5: - resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + /typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} engines: {node: '>=14.17'} hasBin: true @@ -5013,7 +5013,7 @@ packages: dependencies: '@antfu/utils': 0.7.7 '@rollup/pluginutils': 5.1.0 - '@vueuse/core': 10.9.0(vue@3.4.25) + '@vueuse/core': 10.9.0(vue@3.4.26) fast-glob: 3.3.2 local-pkg: 0.5.0 magic-string: 0.30.10 @@ -5024,7 +5024,7 @@ packages: - rollup dev: true - /unplugin-vue-components@0.26.0(vue@3.4.25): + /unplugin-vue-components@0.26.0(vue@3.4.26): resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==} engines: {node: '>=14'} peerDependencies: @@ -5047,17 +5047,17 @@ packages: minimatch: 9.0.4 resolve: 1.22.8 unplugin: 1.10.1 - vue: 3.4.25(typescript@5.4.5) + vue: 3.4.26(typescript@5.3.3) transitivePeerDependencies: - rollup - supports-color dev: true - /unplugin-vue-define-options@1.4.3(vue@3.4.25): + /unplugin-vue-define-options@1.4.3(vue@3.4.26): resolution: {integrity: sha512-CN5xF8l8bySD6okw6PCt1zWFHf5vX+q4Cg2ssn9usANHtxmeyCgMccC7ywZyzI32dQS+pq6hvuSz/GewtYnbEQ==} engines: {node: '>=16.14.0'} dependencies: - '@vue-macros/common': 1.10.2(vue@3.4.25) + '@vue-macros/common': 1.10.2(vue@3.4.26) ast-walker-scope: 0.6.1 unplugin: 1.10.1 transitivePeerDependencies: @@ -5108,7 +5108,7 @@ packages: dependencies: '@types/node': 20.12.7 rimraf: 5.0.5 - typescript: 5.4.5 + typescript: 5.3.3 vite: 5.2.10(@types/node@20.12.7)(less@4.2.0) transitivePeerDependencies: - less @@ -5119,13 +5119,13 @@ packages: - terser dev: false - /vite-svg-loader@5.1.0(vue@3.4.25): + /vite-svg-loader@5.1.0(vue@3.4.26): resolution: {integrity: sha512-M/wqwtOEjgb956/+m5ZrYT/Iq6Hax0OakWbokj8+9PXOnB7b/4AxESHieEtnNEy7ZpjsjYW1/5nK8fATQMmRxw==} peerDependencies: vue: '>=3.2.13' dependencies: svgo: 3.2.0 - vue: 3.4.25(typescript@5.4.5) + vue: 3.4.26(typescript@5.3.3) dev: true /vite@5.2.10(@types/node@20.12.7)(less@4.2.0): @@ -5160,11 +5160,11 @@ packages: esbuild: 0.20.2 less: 4.2.0 postcss: 8.4.38 - rollup: 4.17.0 + rollup: 4.17.1 optionalDependencies: fsevents: 2.3.3 - /vue-demi@0.14.7(vue@3.4.25): + /vue-demi@0.14.7(vue@3.4.26): resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} engines: {node: '>=12'} hasBin: true @@ -5176,7 +5176,7 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.25(typescript@5.4.5) + vue: 3.4.26(typescript@5.3.3) /vue-eslint-parser@9.4.2(eslint@8.57.0): resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} @@ -5196,13 +5196,13 @@ packages: - supports-color dev: true - /vue-router@4.3.2(vue@3.4.25): + /vue-router@4.3.2(vue@3.4.26): resolution: {integrity: sha512-hKQJ1vDAZ5LVkKEnHhmm1f9pMiWIBNGF5AwU67PdH7TyXCj/a4hTccuUuYCAMgJK6rO/NVYtQIEN3yL8CECa7Q==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.6.1 - vue: 3.4.25(typescript@5.4.5) + vue: 3.4.26(typescript@5.3.3) dev: false /vue-template-compiler@2.7.16: @@ -5212,29 +5212,29 @@ packages: he: 1.2.0 dev: true - /vue-tsc@1.8.27(typescript@5.4.5): + /vue-tsc@1.8.27(typescript@5.3.3): resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==} hasBin: true peerDependencies: typescript: '*' dependencies: '@volar/typescript': 1.11.1 - '@vue/language-core': 1.8.27(typescript@5.4.5) + '@vue/language-core': 1.8.27(typescript@5.3.3) semver: 7.6.0 - typescript: 5.4.5 + typescript: 5.3.3 dev: true - /vue-types@3.0.2(vue@3.4.25): + /vue-types@3.0.2(vue@3.4.26): resolution: {integrity: sha512-IwUC0Aq2zwaXqy74h4WCvFCUtoV0iSWr0snWnE9TnU18S66GAQyqQbRf2qfJtUuiFsBf6qp0MEwdonlwznlcrw==} engines: {node: '>=10.15.0'} peerDependencies: vue: ^3.0.0 dependencies: is-plain-object: 3.0.1 - vue: 3.4.25(typescript@5.4.5) + vue: 3.4.26(typescript@5.3.3) dev: false - /vue3-ace-editor@2.2.4(ace-builds@1.33.1)(vue@3.4.25): + /vue3-ace-editor@2.2.4(ace-builds@1.33.1)(vue@3.4.26): resolution: {integrity: sha512-FZkEyfpbH068BwjhMyNROxfEI8135Sc+x8ouxkMdCNkuj/Tuw83VP/gStFQqZHqljyX9/VfMTCdTqtOnJZGN8g==} peerDependencies: ace-builds: '*' @@ -5242,20 +5242,20 @@ packages: dependencies: ace-builds: 1.33.1 resize-observer-polyfill: 1.5.1 - vue: 3.4.25(typescript@5.4.5) + vue: 3.4.26(typescript@5.3.3) dev: false - /vue3-apexcharts@1.4.4(apexcharts@3.49.0)(vue@3.4.25): + /vue3-apexcharts@1.4.4(apexcharts@3.49.0)(vue@3.4.26): resolution: {integrity: sha512-TH89uZrxGjaDvkaYAISvj8+k6Bf1rUKFillc8oJirs5XZEPiwM1ELKZQ786wz0rfPqkSHHny2lqqUCK7Rw+LcQ==} peerDependencies: apexcharts: '> 3.0.0' vue: '> 3.0.0' dependencies: apexcharts: 3.49.0 - vue: 3.4.25(typescript@5.4.5) + vue: 3.4.26(typescript@5.3.3) dev: false - /vue3-gettext@3.0.0-beta.4(@vue/compiler-sfc@3.4.25)(typescript@5.4.5)(vue@3.4.25): + /vue3-gettext@3.0.0-beta.4(@vue/compiler-sfc@3.4.26)(typescript@5.3.3)(vue@3.4.26): resolution: {integrity: sha512-EW9F5NexUQW9GNJMjujmMJo8hUQvw6POCVQN9ya0RdapPVEfmkXjuxuhkVEKyBNxq5lRPCepfYkMT8Pu3M6T6w==} engines: {node: '>= 12.0.0'} hasBin: true @@ -5263,43 +5263,43 @@ packages: '@vue/compiler-sfc': '>=3.0.0' vue: '>=3.0.0' dependencies: - '@vue/compiler-sfc': 3.4.25 + '@vue/compiler-sfc': 3.4.26 chalk: 4.1.2 command-line-args: 5.2.1 - cosmiconfig: 9.0.0(typescript@5.4.5) + cosmiconfig: 9.0.0(typescript@5.3.3) gettext-extractor: 3.8.0 glob: 7.2.3 parse5: 6.0.1 parse5-htmlparser2-tree-adapter: 6.0.1 pofile: 1.1.4 tslib: 2.6.2 - vue: 3.4.25(typescript@5.4.5) + vue: 3.4.26(typescript@5.3.3) transitivePeerDependencies: - typescript dev: false - /vue@3.4.25(typescript@5.4.5): - resolution: {integrity: sha512-HWyDqoBHMgav/OKiYA2ZQg+kjfMgLt/T0vg4cbIF7JbXAjDexRf5JRg+PWAfrAkSmTd2I8aPSXtooBFWHB98cg==} + /vue@3.4.26(typescript@5.3.3): + resolution: {integrity: sha512-bUIq/p+VB+0xrJubaemrfhk1/FiW9iX+pDV+62I/XJ6EkspAO9/DXEjbDFoe8pIfOZBqfk45i9BMc41ptP/uRg==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.4.25 - '@vue/compiler-sfc': 3.4.25 - '@vue/runtime-dom': 3.4.25 - '@vue/server-renderer': 3.4.25(vue@3.4.25) - '@vue/shared': 3.4.25 - typescript: 5.4.5 + '@vue/compiler-dom': 3.4.26 + '@vue/compiler-sfc': 3.4.26 + '@vue/runtime-dom': 3.4.26 + '@vue/server-renderer': 3.4.26(vue@3.4.26) + '@vue/shared': 3.4.26 + typescript: 5.3.3 - /vuedraggable@4.1.0(vue@3.4.25): + /vuedraggable@4.1.0(vue@3.4.26): resolution: {integrity: sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==} peerDependencies: vue: ^3.0.1 dependencies: sortablejs: 1.14.0 - vue: 3.4.25(typescript@5.4.5) + vue: 3.4.26(typescript@5.3.3) dev: false /warning@4.0.3: @@ -5374,11 +5374,6 @@ packages: engines: {node: '>=12'} dev: true - /xterm@5.3.0: - resolution: {integrity: sha512-8QqjlekLUFTrU6x7xck1MsPzPA571K5zNqWm0M0oroYEWVOptZ0+ubQSkQ3uxIEhcIHRujJy6emDWX4A7qyFzg==} - deprecated: This package is now deprecated. Move to @xterm/xterm instead. - dev: false - /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} dev: true @@ -5393,11 +5388,11 @@ packages: dependencies: eslint-visitor-keys: 3.4.3 lodash: 4.17.21 - yaml: 2.4.1 + yaml: 2.4.2 dev: true - /yaml@2.4.1: - resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} + /yaml@2.4.2: + resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==} engines: {node: '>= 14'} hasBin: true dev: true diff --git a/app/src/App.vue b/app/src/App.vue index e4a7281b..19b31e09 100644 --- a/app/src/App.vue +++ b/app/src/App.vue @@ -7,8 +7,9 @@ import { theme } from 'ant-design-vue' import zh_CN from 'ant-design-vue/es/locale/zh_CN' import zh_TW from 'ant-design-vue/es/locale/zh_TW' import en_US from 'ant-design-vue/es/locale/en_US' -import gettext from '@/gettext' + import { useSettingsStore } from '@/pinia' +import gettext from '@/gettext' const media = window.matchMedia('(prefers-color-scheme: dark)') diff --git a/app/src/api/acme_user.ts b/app/src/api/acme_user.ts new file mode 100644 index 00000000..76a7885a --- /dev/null +++ b/app/src/api/acme_user.ts @@ -0,0 +1,24 @@ +import type { ModelBase } from '@/api/curd' +import Curd from '@/api/curd' +import http from '@/lib/http' + +export interface AcmeUser extends ModelBase { + name: string + email: string + ca_dir: string + registration: { body?: { status: string } } +} + +class ACMEUserCurd extends Curd { + constructor() { + super('acme_user', 'acme_users') + } + + public async register(id: number) { + return http.post(`${this.baseUrl}/${id}/register`) + } +} + +const acme_user = new ACMEUserCurd() + +export default acme_user diff --git a/app/src/api/curd.ts b/app/src/api/curd.ts index c553392b..a8c529db 100644 --- a/app/src/api/curd.ts +++ b/app/src/api/curd.ts @@ -26,6 +26,7 @@ class Curd { get = this._get.bind(this) save = this._save.bind(this) destroy = this._destroy.bind(this) + recover = this._recover.bind(this) update_order = this._update_order.bind(this) constructor(baseUrl: string, plural: string | null = null) { @@ -39,8 +40,8 @@ class Curd { } // eslint-disable-next-line @typescript-eslint/no-explicit-any - _get(id: any = null): Promise { - return http.get(this.baseUrl + (id ? `/${id}` : '')) + _get(id: any = null, params: any = {}): Promise { + return http.get(this.baseUrl + (id ? `/${id}` : ''), { params }) } // eslint-disable-next-line @typescript-eslint/no-explicit-any @@ -53,6 +54,11 @@ class Curd { return http.delete(`${this.baseUrl}/${id}`) } + // eslint-disable-next-line @typescript-eslint/no-explicit-any + _recover(id: any = null) { + return http.patch(`${this.baseUrl}/${id}`) + } + _update_order(data: { target_id: number direction: number diff --git a/app/src/components/Breadcrumb/Breadcrumb.vue b/app/src/components/Breadcrumb/Breadcrumb.vue index ab4937aa..f96de909 100644 --- a/app/src/components/Breadcrumb/Breadcrumb.vue +++ b/app/src/components/Breadcrumb/Breadcrumb.vue @@ -12,12 +12,12 @@ const route = useRoute() const breadList = computed(() => { const _breadList: bread[] = [] - name.value = route.name + name.value = route.meta.name route.matched.forEach(item => { // item.name !== 'index' && this.breadList.push(item) _breadList.push({ - name: item.name as never as () => string, + name: item.meta.name as never as () => string, path: item.path, }) }) diff --git a/app/src/components/ChatGPT/ChatGPT.vue b/app/src/components/ChatGPT/ChatGPT.vue index 6599bf81..e00fa3d3 100644 --- a/app/src/components/ChatGPT/ChatGPT.vue +++ b/app/src/components/ChatGPT/ChatGPT.vue @@ -1,6 +1,5 @@ diff --git a/app/src/components/SetLanguage/SetLanguage.vue b/app/src/components/SetLanguage/SetLanguage.vue index eca9f460..c14aaf48 100644 --- a/app/src/components/SetLanguage/SetLanguage.vue +++ b/app/src/components/SetLanguage/SetLanguage.vue @@ -1,9 +1,9 @@