diff --git a/knip.config.ts b/knip.config.ts index a9f6310f767..e9790d8c0c5 100644 --- a/knip.config.ts +++ b/knip.config.ts @@ -29,7 +29,6 @@ const config: KnipConfig = { // Weird importmap things '@iconify-json/lucide', '@iconify/json', - '@primeuix/forms', '@primeuix/styled', '@primeuix/utils', '@primevue/icons' diff --git a/package.json b/package.json index e85987dff55..74b87dba753 100644 --- a/package.json +++ b/package.json @@ -61,11 +61,9 @@ "@comfyorg/shared-frontend-utils": "workspace:*", "@comfyorg/tailwind-utils": "workspace:*", "@iconify/json": "catalog:", - "@primeuix/forms": "catalog:", "@primeuix/styled": "catalog:", "@primeuix/utils": "catalog:", "@primevue/core": "catalog:", - "@primevue/forms": "catalog:", "@primevue/icons": "catalog:", "@primevue/themes": "catalog:", "@sentry/vue": "catalog:", @@ -106,6 +104,7 @@ "three": "^0.170.0", "tiptap-markdown": "^0.8.10", "typegpu": "catalog:", + "vee-validate": "catalog:", "vue": "catalog:", "vue-i18n": "catalog:", "vue-router": "catalog:", @@ -194,6 +193,18 @@ "pnpm": { "overrides": { "vite": "catalog:" + }, + "packageExtensions": { + "openai@4.104.0": { + "peerDependencies": { + "zod": "^3.23.8 || ^4.0.0" + } + } + }, + "peerDependencyRules": { + "allowedVersions": { + "zod": "^4.0.0" + } } } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 604bc26a923..15e7dae7fd7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -48,9 +48,6 @@ catalogs: '@playwright/test': specifier: ^1.58.1 version: 1.58.1 - '@primeuix/forms': - specifier: 0.0.2 - version: 0.0.2 '@primeuix/styled': specifier: 0.3.2 version: 0.3.2 @@ -60,9 +57,6 @@ catalogs: '@primevue/core': specifier: ^4.2.5 version: 4.2.5 - '@primevue/forms': - specifier: ^4.2.5 - version: 4.2.5 '@primevue/icons': specifier: 4.2.5 version: 4.2.5 @@ -276,6 +270,9 @@ catalogs: unplugin-vue-components: specifier: ^30.0.0 version: 30.0.0 + vee-validate: + specifier: 5.0.0-beta.0 + version: 5.0.0-beta.0 vite-plugin-dts: specifier: ^4.5.4 version: 4.5.4 @@ -316,18 +313,20 @@ catalogs: specifier: ^13.6.27 version: 13.6.27 zod: - specifier: ^3.23.8 - version: 3.24.1 + specifier: ^4.3.6 + version: 4.3.6 zod-to-json-schema: - specifier: ^3.24.1 - version: 3.24.1 + specifier: ^3.25.1 + version: 3.25.1 zod-validation-error: - specifier: ^3.3.0 - version: 3.3.0 + specifier: ^5.0.0 + version: 5.0.0 overrides: vite: 8.0.0-beta.13 +packageExtensionsChecksum: sha256-49yZu1KDcXKFdjguhO09kXpBzb+YokPynnw5gHOLOps= + importers: .: @@ -356,9 +355,6 @@ importers: '@iconify/json': specifier: 'catalog:' version: 2.2.380 - '@primeuix/forms': - specifier: 'catalog:' - version: 0.0.2 '@primeuix/styled': specifier: 'catalog:' version: 0.3.2 @@ -368,9 +364,6 @@ importers: '@primevue/core': specifier: 'catalog:' version: 4.2.5(vue@3.5.13(typescript@5.9.3)) - '@primevue/forms': - specifier: 'catalog:' - version: 4.2.5(vue@3.5.13(typescript@5.9.3)) '@primevue/icons': specifier: 'catalog:' version: 4.2.5(vue@3.5.13(typescript@5.9.3)) @@ -491,6 +484,9 @@ importers: typegpu: specifier: 'catalog:' version: 0.8.2 + vee-validate: + specifier: 'catalog:' + version: 5.0.0-beta.0(vue@3.5.13(typescript@5.9.3)) vue: specifier: 'catalog:' version: 3.5.13(typescript@5.9.3) @@ -511,10 +507,10 @@ importers: version: 13.6.27 zod: specifier: 'catalog:' - version: 3.24.1 + version: 4.3.6 zod-validation-error: specifier: 'catalog:' - version: 3.3.0(zod@3.24.1) + version: 5.0.0(zod@4.3.6) devDependencies: '@eslint/js': specifier: 'catalog:' @@ -524,7 +520,7 @@ importers: version: 4.1.0(eslint@9.39.1(jiti@2.6.1))(jsonc-eslint-parser@2.4.0)(vue-eslint-parser@10.2.0(eslint@9.39.1(jiti@2.6.1)))(yaml-eslint-parser@1.3.0) '@lobehub/i18n-cli': specifier: 'catalog:' - version: 1.26.1(@types/react@19.1.9)(typescript@5.9.3)(use-sync-external-store@1.6.0(react@19.2.3))(ws@8.18.3)(zod@3.24.1) + version: 1.26.1(@types/react@19.1.9)(typescript@5.9.3)(use-sync-external-store@1.6.0(react@19.2.3))(ws@8.18.3)(zod@4.3.6) '@nx/eslint': specifier: 'catalog:' version: 22.2.6(@babel/traverse@7.28.5)(@zkochan/js-yaml@0.0.7)(eslint@9.39.1(jiti@2.6.1))(nx@22.2.6) @@ -737,7 +733,7 @@ importers: version: 2.0.0 zod-to-json-schema: specifier: 'catalog:' - version: 3.24.1(zod@3.24.1) + version: 3.25.1(zod@4.3.6) apps/desktop-ui: dependencies: @@ -2804,10 +2800,6 @@ packages: '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} - '@primeuix/forms@0.0.2': - resolution: {integrity: sha512-DpecPQd/Qf/kav4LKCaIeGuT3AkwhJzuHCkLANTVlN/zBvo8KIj3OZHsCkm0zlIMVVnaJdtx1ULNlRQdudef+A==} - engines: {node: '>=12.11.0'} - '@primeuix/styled@0.3.2': resolution: {integrity: sha512-ColZes0+/WKqH4ob2x8DyNYf1NENpe5ZguOvx5yCLxaP8EIMVhLjWLO/3umJiDnQU4XXMLkn2mMHHw+fhTX/mw==} engines: {node: '>=12.11.0'} @@ -2822,10 +2814,6 @@ packages: peerDependencies: vue: ^3.3.0 - '@primevue/forms@4.2.5': - resolution: {integrity: sha512-5jarJQ9Qv32bOo/0tY5bqR3JZI6+YmmoUQ2mjhVSbVElQsE4FNfhT7a7JwF+xgBPMPc8KWGNA1QB248HhPNVAg==} - engines: {node: '>=12.11.0'} - '@primevue/icons@4.2.5': resolution: {integrity: sha512-WFbUMZhQkXf/KmwcytkjGVeJ9aGEDXjP3uweOjQZMmRdEIxFnqYYpd90wE90JE1teZn3+TVnT4ZT7ejGyEXnFQ==} engines: {node: '>=12.11.0'} @@ -3224,6 +3212,9 @@ packages: '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + '@standard-schema/utils@0.3.0': + resolution: {integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==} + '@storybook/addon-docs@10.1.9': resolution: {integrity: sha512-SvwEZ32lyk5p3PRmE3pmfAhs4HMiVo5zxjTBVmK9kgz9zGgWCTlikb56tJ998hVe52CFyCvt3I9rkHeYMCKPww==} peerDependencies: @@ -8127,6 +8118,11 @@ packages: typescript: optional: true + vee-validate@5.0.0-beta.0: + resolution: {integrity: sha512-uGIRnODDMM0A8Weu8AJcZFFJceUpgbSX6G4UYZgWhBc90VcXDK+v7yO16G+sj+6vU1eML11M2BH4HxwoPE62rw==} + peerDependencies: + vue: ^3.4.26 + vfile-message@4.0.3: resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} @@ -8276,6 +8272,9 @@ packages: vue-component-type-helpers@3.2.4: resolution: {integrity: sha512-05lR16HeZDcDpB23ku5b5f1fBOoHqFnMiKRr2CiEvbG5Ux4Yi0McmQBOET0dR0nxDXosxyVqv67q6CzS3AK8rw==} + vue-component-type-helpers@3.2.5: + resolution: {integrity: sha512-tkvNr+bU8+xD/onAThIe7CHFvOJ/BO6XCOrxMzeytJq40nTfpGDJuVjyCM8ccGZKfAbGk2YfuZyDMXM56qheZQ==} + vue-demi@0.14.10: resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} engines: {node: '>=12'} @@ -8566,22 +8565,19 @@ packages: zip-dir@2.0.0: resolution: {integrity: sha512-uhlsJZWz26FLYXOD6WVuq+fIcZ3aBPGo/cFdiLlv3KNwpa52IF3ISV8fLhQLiqVu5No3VhlqlgthN6gehil1Dg==} - zod-to-json-schema@3.24.1: - resolution: {integrity: sha512-3h08nf3Vw3Wl3PK+q3ow/lIil81IT2Oa7YpQyUUDsEWbXveMesdfK1xBd2RhCkynwZndAxixji/7SYJJowr62w==} + zod-to-json-schema@3.25.1: + resolution: {integrity: sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==} peerDependencies: - zod: ^3.24.1 + zod: ^3.25 || ^4 - zod-validation-error@3.3.0: - resolution: {integrity: sha512-Syib9oumw1NTqEv4LT0e6U83Td9aVRk9iTXPUQr1otyV1PuXQKOvOwhMNqZIq5hluzHP2pMgnOmHEo7kPdI2mw==} + zod-validation-error@5.0.0: + resolution: {integrity: sha512-hmk+pkyKq7Q71PiWVSDUc3VfpzpvcRHZ3QPw9yEMVvmtCekaMeOHnbr3WbxfrgEnQTv6haGP4cmv0Ojmihzsxw==} engines: {node: '>=18.0.0'} peerDependencies: - zod: ^3.18.0 + zod: ^3.25.0 || ^4.0.0 - zod@3.24.1: - resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} - - zod@4.2.1: - resolution: {integrity: sha512-0wZ1IRqGGhMP76gLqz8EyfBXKk0J2qo2+H3fi4mcUP/KtTocoX08nmIAHl1Z2kJIZbZee8KOpBCSNPRgauucjw==} + zod@4.3.6: + resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} zustand@5.0.8: resolution: {integrity: sha512-gyPKpIaxY9XcO2vSMrLbiER7QMAMGOQZVRdJ6Zi782jkbzZygq5GI9nG8g+sMgitRtndwaBSl7uiqC49o1SSiw==} @@ -10241,7 +10237,7 @@ snapshots: - react-devtools-core - utf-8-validate - '@lobehub/i18n-cli@1.26.1(@types/react@19.1.9)(typescript@5.9.3)(use-sync-external-store@1.6.0(react@19.2.3))(ws@8.18.3)(zod@3.24.1)': + '@lobehub/i18n-cli@1.26.1(@types/react@19.1.9)(typescript@5.9.3)(use-sync-external-store@1.6.0(react@19.2.3))(ws@8.18.3)(zod@4.3.6)': dependencies: '@lobehub/cli-ui': 1.13.0(@types/react@19.1.9) '@yutengjing/eld': 0.0.2 @@ -10260,7 +10256,7 @@ snapshots: json-stable-stringify: 1.3.0 just-diff: 6.0.2 lodash-es: 4.17.21 - openai: 4.104.0(ws@8.18.3)(zod@3.24.1) + openai: 4.104.0(ws@8.18.3)(zod@4.3.6) p-map: 7.0.3 pangu: 4.0.7 react: 19.2.3 @@ -10892,10 +10888,6 @@ snapshots: '@polka/url@1.0.0-next.29': {} - '@primeuix/forms@0.0.2': - dependencies: - '@primeuix/utils': 0.3.2 - '@primeuix/styled@0.3.2': dependencies: '@primeuix/utils': 0.3.2 @@ -10908,14 +10900,6 @@ snapshots: '@primeuix/utils': 0.3.2 vue: 3.5.13(typescript@5.9.3) - '@primevue/forms@4.2.5(vue@3.5.13(typescript@5.9.3))': - dependencies: - '@primeuix/forms': 0.0.2 - '@primeuix/utils': 0.3.2 - '@primevue/core': 4.2.5(vue@3.5.13(typescript@5.9.3)) - transitivePeerDependencies: - - vue - '@primevue/icons@4.2.5(vue@3.5.13(typescript@5.9.3))': dependencies: '@primeuix/utils': 0.3.2 @@ -11225,6 +11209,8 @@ snapshots: '@standard-schema/spec@1.1.0': {} + '@standard-schema/utils@0.3.0': {} + '@storybook/addon-docs@10.1.9(@types/react@19.1.9)(esbuild@0.27.1)(rollup@4.53.5)(storybook@10.1.9(@testing-library/dom@10.4.1)(prettier@3.7.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(vite@8.0.0-beta.13(@types/node@24.10.4)(esbuild@0.27.1)(jiti@2.6.1)(terser@5.39.2)(tsx@4.19.4)(yaml@2.8.2))': dependencies: '@mdx-js/react': 3.1.1(@types/react@19.1.9)(react@19.2.3) @@ -11322,7 +11308,7 @@ snapshots: storybook: 10.1.9(@testing-library/dom@10.4.1)(prettier@3.7.4)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) type-fest: 2.19.0 vue: 3.5.13(typescript@5.9.3) - vue-component-type-helpers: 3.2.4 + vue-component-type-helpers: 3.2.5 '@swc/helpers@0.5.17': dependencies: @@ -14620,7 +14606,7 @@ snapshots: smol-toml: 1.5.2 strip-json-comments: 5.0.3 typescript: 5.9.3 - zod: 4.2.1 + zod: 4.3.6 known-css-properties@0.37.0: {} @@ -15517,7 +15503,7 @@ snapshots: is-docker: 2.2.1 is-wsl: 2.2.0 - openai@4.104.0(ws@8.18.3)(zod@3.24.1): + openai@4.104.0(ws@8.18.3)(zod@4.3.6): dependencies: '@types/node': 18.19.130 '@types/node-fetch': 2.6.13 @@ -15528,7 +15514,7 @@ snapshots: node-fetch: 2.7.0 optionalDependencies: ws: 8.18.3 - zod: 3.24.1 + zod: 4.3.6 transitivePeerDependencies: - encoding @@ -17099,6 +17085,14 @@ snapshots: optionalDependencies: typescript: 5.9.3 + vee-validate@5.0.0-beta.0(vue@3.5.13(typescript@5.9.3)): + dependencies: + '@standard-schema/spec': 1.1.0 + '@standard-schema/utils': 0.3.0 + '@vue/devtools-api': 7.7.9 + type-fest: 4.41.0 + vue: 3.5.13(typescript@5.9.3) + vfile-message@4.0.3: dependencies: '@types/unist': 3.0.3 @@ -17362,6 +17356,8 @@ snapshots: vue-component-type-helpers@3.2.4: {} + vue-component-type-helpers@3.2.5: {} + vue-demi@0.14.10(vue@3.5.13(typescript@5.9.3)): dependencies: vue: 3.5.13(typescript@5.9.3) @@ -17655,17 +17651,15 @@ snapshots: async: 3.2.5 jszip: 3.10.1 - zod-to-json-schema@3.24.1(zod@3.24.1): + zod-to-json-schema@3.25.1(zod@4.3.6): dependencies: - zod: 3.24.1 + zod: 4.3.6 - zod-validation-error@3.3.0(zod@3.24.1): + zod-validation-error@5.0.0(zod@4.3.6): dependencies: - zod: 3.24.1 - - zod@3.24.1: {} + zod: 4.3.6 - zod@4.2.1: {} + zod@4.3.6: {} zustand@5.0.8(@types/react@19.1.9)(react@19.2.3)(use-sync-external-store@1.6.0(react@19.2.3)): optionalDependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 99c88edcb05..0d715f00979 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -17,11 +17,9 @@ catalog: '@nx/vite': 22.2.6 '@pinia/testing': ^1.0.3 '@playwright/test': ^1.58.1 - '@primeuix/forms': 0.0.2 '@primeuix/styled': 0.3.2 '@primeuix/utils': ^0.3.2 '@primevue/core': ^4.2.5 - '@primevue/forms': ^4.2.5 '@primevue/icons': 4.2.5 '@primevue/themes': ^4.2.5 '@sentry/vite-plugin': ^4.6.0 @@ -93,6 +91,7 @@ catalog: unplugin-icons: ^22.5.0 unplugin-typegpu: 0.8.0 unplugin-vue-components: ^30.0.0 + vee-validate: 5.0.0-beta.0 vite: 8.0.0-beta.13 vite-plugin-dts: ^4.5.4 vite-plugin-html: ^3.2.2 @@ -107,9 +106,9 @@ catalog: vuefire: ^3.2.1 wwobjloader2: ^6.2.1 yjs: ^13.6.27 - zod: ^3.23.8 - zod-to-json-schema: ^3.24.1 - zod-validation-error: ^3.3.0 + zod: ^4.3.6 + zod-to-json-schema: ^3.25.1 + zod-validation-error: ^5.0.0 cleanupUnusedCatalogs: true diff --git a/src/components/dialog/content/UpdatePasswordContent.vue b/src/components/dialog/content/UpdatePasswordContent.vue index ef99a77880b..d1c46d0393c 100644 --- a/src/components/dialog/content/UpdatePasswordContent.vue +++ b/src/components/dialog/content/UpdatePasswordContent.vue @@ -1,22 +1,16 @@ - + diff --git a/src/components/dialog/content/signin/ApiKeyForm.test.ts b/src/components/dialog/content/signin/ApiKeyForm.test.ts index 4d073cb0883..41efd96f7e4 100644 --- a/src/components/dialog/content/signin/ApiKeyForm.test.ts +++ b/src/components/dialog/content/signin/ApiKeyForm.test.ts @@ -1,6 +1,5 @@ import type { ComponentProps } from 'vue-component-type-helpers' -import { Form } from '@primevue/forms' import { mount } from '@vue/test-utils' import { createPinia } from 'pinia' import Button from '@/components/ui/button/Button.vue' @@ -69,7 +68,7 @@ describe('ApiKeyForm', () => { return mount(ApiKeyForm, { global: { plugins: [PrimeVue, createPinia(), i18n], - components: { Button, Form, InputText, Message } + components: { Button, InputText, Message } }, props }) diff --git a/src/components/dialog/content/signin/ApiKeyForm.vue b/src/components/dialog/content/signin/ApiKeyForm.vue index 22ecb3205af..17ccc3e8852 100644 --- a/src/components/dialog/content/signin/ApiKeyForm.vue +++ b/src/components/dialog/content/signin/ApiKeyForm.vue @@ -18,14 +18,9 @@ -