dsh-plugin-image-workbench 1.1.5 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/LICENSE +21 -21
  2. package/README.en.md +5 -3
  3. package/README.md +7 -3
  4. package/client.js +241 -241
  5. package/cordis.patch.yml +14 -14
  6. package/host.js +51 -0
  7. package/install.mjs +333 -387
  8. package/package.json +3 -2
  9. package/scripts/fetch-style-images.mjs +104 -0
  10. package/scripts/vendor-snapshot.py +154 -154
  11. package/server/access.py +26 -26
  12. package/server/app.py +1371 -1329
  13. package/server/catalog.py +147 -147
  14. package/server/composer.py +391 -391
  15. package/server/drafts.py +158 -158
  16. package/server/history.py +575 -575
  17. package/server/imaging.py +172 -172
  18. package/server/pool.py +1335 -1335
  19. package/server/pool_admin.py +921 -921
  20. package/server/pool_service.py +1073 -1073
  21. package/server/requirements.txt +6 -6
  22. package/server/smoke_check.py +402 -402
  23. package/server/static/access.html +202 -202
  24. package/server/static/index.html +15 -0
  25. package/vendor/chatgpt2api/source/.env.example +82 -82
  26. package/vendor/chatgpt2api/source/.python-version +1 -1
  27. package/vendor/chatgpt2api/source/LICENSE +21 -21
  28. package/vendor/chatgpt2api/source/README.md +391 -391
  29. package/vendor/chatgpt2api/source/VERSION +1 -1
  30. package/vendor/chatgpt2api/source/api/__init__.py +2 -2
  31. package/vendor/chatgpt2api/source/api/accounts.py +537 -537
  32. package/vendor/chatgpt2api/source/api/ai.py +217 -217
  33. package/vendor/chatgpt2api/source/api/app.py +62 -62
  34. package/vendor/chatgpt2api/source/api/errors.py +46 -46
  35. package/vendor/chatgpt2api/source/api/image_inputs.py +309 -309
  36. package/vendor/chatgpt2api/source/api/image_tasks.py +120 -120
  37. package/vendor/chatgpt2api/source/api/support.py +134 -134
  38. package/vendor/chatgpt2api/source/api/system.py +365 -365
  39. package/vendor/chatgpt2api/source/assets/kunrouai.svg +50 -50
  40. package/vendor/chatgpt2api/source/config.default.json +108 -108
  41. package/vendor/chatgpt2api/source/main.py +9 -9
  42. package/vendor/chatgpt2api/source/pyproject.toml +27 -27
  43. package/vendor/chatgpt2api/source/scripts/init_proxy_config.py +186 -186
  44. package/vendor/chatgpt2api/source/scripts/migrate_storage.py +163 -163
  45. package/vendor/chatgpt2api/source/scripts/privoxy-warp.conf +13 -13
  46. package/vendor/chatgpt2api/source/scripts/test_outlook_token_mailbox.py +385 -385
  47. package/vendor/chatgpt2api/source/scripts/test_storage.py +129 -129
  48. package/vendor/chatgpt2api/source/scripts/verify_oauth_refresh.py +92 -92
  49. package/vendor/chatgpt2api/source/services/account_service.py +1757 -1757
  50. package/vendor/chatgpt2api/source/services/auth_service.py +253 -253
  51. package/vendor/chatgpt2api/source/services/backup_service.py +671 -671
  52. package/vendor/chatgpt2api/source/services/config.py +667 -667
  53. package/vendor/chatgpt2api/source/services/content_filter.py +242 -242
  54. package/vendor/chatgpt2api/source/services/cpa_service.py +315 -315
  55. package/vendor/chatgpt2api/source/services/editable_file_task_service.py +260 -260
  56. package/vendor/chatgpt2api/source/services/image_service.py +376 -376
  57. package/vendor/chatgpt2api/source/services/image_storage_service.py +405 -405
  58. package/vendor/chatgpt2api/source/services/image_tags_service.py +76 -76
  59. package/vendor/chatgpt2api/source/services/image_task_service.py +550 -550
  60. package/vendor/chatgpt2api/source/services/log_service.py +337 -337
  61. package/vendor/chatgpt2api/source/services/model_service.py +182 -182
  62. package/vendor/chatgpt2api/source/services/oauth_login_service.py +267 -267
  63. package/vendor/chatgpt2api/source/services/openai_backend_api.py +2763 -2763
  64. package/vendor/chatgpt2api/source/services/openai_oauth.py +32 -32
  65. package/vendor/chatgpt2api/source/services/protocol/__init__.py +2 -2
  66. package/vendor/chatgpt2api/source/services/protocol/anthropic_v1_messages.py +307 -307
  67. package/vendor/chatgpt2api/source/services/protocol/chat_completion_cache.py +238 -238
  68. package/vendor/chatgpt2api/source/services/protocol/conversation.py +1644 -1644
  69. package/vendor/chatgpt2api/source/services/protocol/error_response.py +124 -124
  70. package/vendor/chatgpt2api/source/services/protocol/openai_search.py +19 -19
  71. package/vendor/chatgpt2api/source/services/protocol/openai_v1_chat_complete.py +316 -316
  72. package/vendor/chatgpt2api/source/services/protocol/openai_v1_image_edit.py +86 -86
  73. package/vendor/chatgpt2api/source/services/protocol/openai_v1_image_generations.py +42 -42
  74. package/vendor/chatgpt2api/source/services/protocol/openai_v1_models.py +53 -53
  75. package/vendor/chatgpt2api/source/services/protocol/openai_v1_response.py +453 -453
  76. package/vendor/chatgpt2api/source/services/protocol/web_search_tool.py +160 -160
  77. package/vendor/chatgpt2api/source/services/proxy_service.py +648 -648
  78. package/vendor/chatgpt2api/source/services/storage/__init__.py +5 -5
  79. package/vendor/chatgpt2api/source/services/storage/base.py +38 -38
  80. package/vendor/chatgpt2api/source/services/storage/database_storage.py +194 -194
  81. package/vendor/chatgpt2api/source/services/storage/factory.py +104 -104
  82. package/vendor/chatgpt2api/source/services/storage/git_storage.py +183 -183
  83. package/vendor/chatgpt2api/source/services/storage/json_storage.py +95 -95
  84. package/vendor/chatgpt2api/source/services/sub2api_service.py +531 -531
  85. package/vendor/chatgpt2api/source/utils/helper.py +469 -469
  86. package/vendor/chatgpt2api/source/utils/image_tokens.py +346 -346
  87. package/vendor/chatgpt2api/source/utils/log.py +110 -110
  88. package/vendor/chatgpt2api/source/utils/pkce.py +19 -19
  89. package/vendor/chatgpt2api/source/utils/pow.py +207 -207
  90. package/vendor/chatgpt2api/source/utils/sentinel.py +159 -159
  91. package/vendor/chatgpt2api/source/utils/turnstile.py +184 -184
  92. package/vendor/chatgpt2api/source/uv.lock +904 -904
  93. package/vendor/chatgpt2api/source/web/bun.lock +1501 -1501
  94. package/vendor/chatgpt2api/source/web/components.json +24 -24
  95. package/vendor/chatgpt2api/source/web/eslint.config.mjs +17 -17
  96. package/vendor/chatgpt2api/source/web/next.config.ts +40 -40
  97. package/vendor/chatgpt2api/source/web/package.json +58 -58
  98. package/vendor/chatgpt2api/source/web/postcss.config.mjs +5 -5
  99. package/vendor/chatgpt2api/source/web/src/app/accounts/components/account-import-dialog.tsx +925 -925
  100. package/vendor/chatgpt2api/source/web/src/app/accounts/page.tsx +1307 -1307
  101. package/vendor/chatgpt2api/source/web/src/app/debug/components/chat-panel.tsx +224 -224
  102. package/vendor/chatgpt2api/source/web/src/app/debug/components/editable-file-panel.tsx +444 -444
  103. package/vendor/chatgpt2api/source/web/src/app/debug/components/ppt-panel.tsx +9 -9
  104. package/vendor/chatgpt2api/source/web/src/app/debug/components/psd-panel.tsx +9 -9
  105. package/vendor/chatgpt2api/source/web/src/app/debug/components/search-panel.tsx +172 -172
  106. package/vendor/chatgpt2api/source/web/src/app/debug/components/skill-panel.tsx +169 -169
  107. package/vendor/chatgpt2api/source/web/src/app/debug/components/types.ts +39 -39
  108. package/vendor/chatgpt2api/source/web/src/app/debug/page.tsx +59 -59
  109. package/vendor/chatgpt2api/source/web/src/app/globals.css +230 -230
  110. package/vendor/chatgpt2api/source/web/src/app/image/components/image-composer.tsx +542 -542
  111. package/vendor/chatgpt2api/source/web/src/app/image/components/image-results.tsx +554 -554
  112. package/vendor/chatgpt2api/source/web/src/app/image/components/image-sidebar.tsx +176 -176
  113. package/vendor/chatgpt2api/source/web/src/app/image/page.tsx +1799 -1799
  114. package/vendor/chatgpt2api/source/web/src/app/image-manager/page.tsx +732 -732
  115. package/vendor/chatgpt2api/source/web/src/app/layout.tsx +50 -50
  116. package/vendor/chatgpt2api/source/web/src/app/login/page.tsx +101 -101
  117. package/vendor/chatgpt2api/source/web/src/app/logs/page.tsx +356 -356
  118. package/vendor/chatgpt2api/source/web/src/app/page.tsx +30 -30
  119. package/vendor/chatgpt2api/source/web/src/app/settings/components/api-docs-card.tsx +341 -341
  120. package/vendor/chatgpt2api/source/web/src/app/settings/components/backup-settings-card.tsx +447 -447
  121. package/vendor/chatgpt2api/source/web/src/app/settings/components/base-url-card.tsx +71 -71
  122. package/vendor/chatgpt2api/source/web/src/app/settings/components/config-card.tsx +491 -491
  123. package/vendor/chatgpt2api/source/web/src/app/settings/components/cpa-pool-dialog.tsx +108 -108
  124. package/vendor/chatgpt2api/source/web/src/app/settings/components/cpa-pools-card.tsx +169 -169
  125. package/vendor/chatgpt2api/source/web/src/app/settings/components/import-browser-dialog.tsx +185 -185
  126. package/vendor/chatgpt2api/source/web/src/app/settings/components/proxy-runtime-card.tsx +379 -379
  127. package/vendor/chatgpt2api/source/web/src/app/settings/components/proxy-settings-card.tsx +127 -127
  128. package/vendor/chatgpt2api/source/web/src/app/settings/components/proxy-settings.tsx +200 -200
  129. package/vendor/chatgpt2api/source/web/src/app/settings/components/settings-header.tsx +12 -12
  130. package/vendor/chatgpt2api/source/web/src/app/settings/components/sub2api-connections.tsx +886 -886
  131. package/vendor/chatgpt2api/source/web/src/app/settings/components/third-party-apps-card.tsx +81 -81
  132. package/vendor/chatgpt2api/source/web/src/app/settings/components/user-keys-card.tsx +422 -422
  133. package/vendor/chatgpt2api/source/web/src/app/settings/page.tsx +135 -135
  134. package/vendor/chatgpt2api/source/web/src/app/settings/store.ts +1069 -1069
  135. package/vendor/chatgpt2api/source/web/src/components/date-range-filter.tsx +49 -49
  136. package/vendor/chatgpt2api/source/web/src/components/header-actions.tsx +24 -24
  137. package/vendor/chatgpt2api/source/web/src/components/image-lightbox.tsx +434 -434
  138. package/vendor/chatgpt2api/source/web/src/components/image-thumbnail.tsx +46 -46
  139. package/vendor/chatgpt2api/source/web/src/components/theme-script.tsx +18 -18
  140. package/vendor/chatgpt2api/source/web/src/components/theme-toggle.tsx +14 -14
  141. package/vendor/chatgpt2api/source/web/src/components/top-nav.tsx +263 -263
  142. package/vendor/chatgpt2api/source/web/src/components/ui/animated-theme-toggler.tsx +256 -256
  143. package/vendor/chatgpt2api/source/web/src/components/ui/badge.tsx +41 -41
  144. package/vendor/chatgpt2api/source/web/src/components/ui/button.tsx +59 -59
  145. package/vendor/chatgpt2api/source/web/src/components/ui/calendar.tsx +46 -46
  146. package/vendor/chatgpt2api/source/web/src/components/ui/card.tsx +61 -61
  147. package/vendor/chatgpt2api/source/web/src/components/ui/checkbox.tsx +27 -27
  148. package/vendor/chatgpt2api/source/web/src/components/ui/dia-text-reveal.tsx +267 -267
  149. package/vendor/chatgpt2api/source/web/src/components/ui/dialog.tsx +132 -132
  150. package/vendor/chatgpt2api/source/web/src/components/ui/field.tsx +13 -13
  151. package/vendor/chatgpt2api/source/web/src/components/ui/input.tsx +19 -19
  152. package/vendor/chatgpt2api/source/web/src/components/ui/label.tsx +24 -24
  153. package/vendor/chatgpt2api/source/web/src/components/ui/morphing-text.tsx +149 -149
  154. package/vendor/chatgpt2api/source/web/src/components/ui/popover.tsx +38 -38
  155. package/vendor/chatgpt2api/source/web/src/components/ui/select.tsx +175 -175
  156. package/vendor/chatgpt2api/source/web/src/components/ui/sheet.tsx +143 -143
  157. package/vendor/chatgpt2api/source/web/src/components/ui/table.tsx +29 -29
  158. package/vendor/chatgpt2api/source/web/src/components/ui/tabs.tsx +91 -91
  159. package/vendor/chatgpt2api/source/web/src/components/ui/text-3d-flip.tsx +269 -269
  160. package/vendor/chatgpt2api/source/web/src/components/ui/textarea.tsx +18 -18
  161. package/vendor/chatgpt2api/source/web/src/components/version-release-dialog.tsx +127 -127
  162. package/vendor/chatgpt2api/source/web/src/constants/common-env.ts +6 -6
  163. package/vendor/chatgpt2api/source/web/src/hooks/use-version-check.ts +85 -85
  164. package/vendor/chatgpt2api/source/web/src/lib/api.ts +926 -926
  165. package/vendor/chatgpt2api/source/web/src/lib/auth-session.ts +26 -26
  166. package/vendor/chatgpt2api/source/web/src/lib/release.ts +25 -25
  167. package/vendor/chatgpt2api/source/web/src/lib/request.ts +93 -93
  168. package/vendor/chatgpt2api/source/web/src/lib/use-auth-guard.ts +89 -89
  169. package/vendor/chatgpt2api/source/web/src/lib/utils.ts +6 -6
  170. package/vendor/chatgpt2api/source/web/src/store/auth.ts +112 -112
  171. package/vendor/chatgpt2api/source/web/src/store/editable-file-history.ts +33 -33
  172. package/vendor/chatgpt2api/source/web/src/store/image-conversations.ts +318 -318
  173. package/vendor/chatgpt2api/source/web/tsconfig.json +42 -42
@@ -1,24 +1,24 @@
1
- {
2
- "$schema": "https://ui.shadcn.com/schema.json",
3
- "style": "new-york",
4
- "rsc": true,
5
- "tsx": true,
6
- "tailwind": {
7
- "config": "",
8
- "css": "src/app/globals.css",
9
- "baseColor": "neutral",
10
- "cssVariables": true,
11
- "prefix": ""
12
- },
13
- "iconLibrary": "lucide",
14
- "aliases": {
15
- "components": "@/components",
16
- "utils": "@/lib/utils",
17
- "ui": "@/components/ui",
18
- "lib": "@/lib",
19
- "hooks": "@/hooks"
20
- },
21
- "registries": {
22
- "@magicui": "https://magicui.design/r/{name}"
23
- }
24
- }
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema.json",
3
+ "style": "new-york",
4
+ "rsc": true,
5
+ "tsx": true,
6
+ "tailwind": {
7
+ "config": "",
8
+ "css": "src/app/globals.css",
9
+ "baseColor": "neutral",
10
+ "cssVariables": true,
11
+ "prefix": ""
12
+ },
13
+ "iconLibrary": "lucide",
14
+ "aliases": {
15
+ "components": "@/components",
16
+ "utils": "@/lib/utils",
17
+ "ui": "@/components/ui",
18
+ "lib": "@/lib",
19
+ "hooks": "@/hooks"
20
+ },
21
+ "registries": {
22
+ "@magicui": "https://magicui.design/r/{name}"
23
+ }
24
+ }
@@ -1,17 +1,17 @@
1
- import nextCoreWebVitals from 'eslint-config-next/core-web-vitals';
2
- import nextTypescript from 'eslint-config-next/typescript';
3
- import prettier from 'eslint-config-prettier/flat';
4
-
5
- const eslintConfig = [
6
- ...nextCoreWebVitals,
7
- ...nextTypescript,
8
- prettier,
9
- {
10
- rules: {
11
- '@typescript-eslint/no-unused-vars': 'off', // 不检查未使用的变量
12
- '@typescript-eslint/no-explicit-any': 'off', // 关闭 any 报错
13
- },
14
- },
15
- ];
16
-
17
- export default eslintConfig;
1
+ import nextCoreWebVitals from 'eslint-config-next/core-web-vitals';
2
+ import nextTypescript from 'eslint-config-next/typescript';
3
+ import prettier from 'eslint-config-prettier/flat';
4
+
5
+ const eslintConfig = [
6
+ ...nextCoreWebVitals,
7
+ ...nextTypescript,
8
+ prettier,
9
+ {
10
+ rules: {
11
+ '@typescript-eslint/no-unused-vars': 'off', // 不检查未使用的变量
12
+ '@typescript-eslint/no-explicit-any': 'off', // 关闭 any 报错
13
+ },
14
+ },
15
+ ];
16
+
17
+ export default eslintConfig;
@@ -1,40 +1,40 @@
1
- import { readFileSync } from 'node:fs'
2
- import { dirname, join } from 'node:path'
3
- import { fileURLToPath } from 'node:url'
4
- import type { NextConfig } from 'next'
5
- import { parseChangelog } from './src/lib/release'
6
-
7
- const projectRoot = join(dirname(fileURLToPath(import.meta.url)), '..')
8
-
9
- function readAppVersion() {
10
- try {
11
- const version = readFileSync(join(projectRoot, 'VERSION'), 'utf-8').trim()
12
- return version || '0.0.0'
13
- } catch {
14
- return '0.0.0'
15
- }
16
- }
17
-
18
- const appVersion = process.env.NEXT_PUBLIC_APP_VERSION || readAppVersion()
19
- let appReleases = '[]'
20
- try {
21
- appReleases = JSON.stringify(parseChangelog(readFileSync(join(projectRoot, 'CHANGELOG.md'), 'utf-8')))
22
- } catch {}
23
-
24
- const nextConfig: NextConfig = {
25
- allowedDevOrigins: ['127.0.0.1'],
26
- env: {
27
- NEXT_PUBLIC_APP_VERSION: appVersion,
28
- NEXT_PUBLIC_APP_RELEASES: appReleases,
29
- },
30
- output: 'export',
31
- trailingSlash: true,
32
- images: {
33
- unoptimized: true,
34
- },
35
- typescript: {
36
- ignoreBuildErrors: true,
37
- },
38
- }
39
-
40
- export default nextConfig
1
+ import { readFileSync } from 'node:fs'
2
+ import { dirname, join } from 'node:path'
3
+ import { fileURLToPath } from 'node:url'
4
+ import type { NextConfig } from 'next'
5
+ import { parseChangelog } from './src/lib/release'
6
+
7
+ const projectRoot = join(dirname(fileURLToPath(import.meta.url)), '..')
8
+
9
+ function readAppVersion() {
10
+ try {
11
+ const version = readFileSync(join(projectRoot, 'VERSION'), 'utf-8').trim()
12
+ return version || '0.0.0'
13
+ } catch {
14
+ return '0.0.0'
15
+ }
16
+ }
17
+
18
+ const appVersion = process.env.NEXT_PUBLIC_APP_VERSION || readAppVersion()
19
+ let appReleases = '[]'
20
+ try {
21
+ appReleases = JSON.stringify(parseChangelog(readFileSync(join(projectRoot, 'CHANGELOG.md'), 'utf-8')))
22
+ } catch {}
23
+
24
+ const nextConfig: NextConfig = {
25
+ allowedDevOrigins: ['127.0.0.1'],
26
+ env: {
27
+ NEXT_PUBLIC_APP_VERSION: appVersion,
28
+ NEXT_PUBLIC_APP_RELEASES: appReleases,
29
+ },
30
+ output: 'export',
31
+ trailingSlash: true,
32
+ images: {
33
+ unoptimized: true,
34
+ },
35
+ typescript: {
36
+ ignoreBuildErrors: true,
37
+ },
38
+ }
39
+
40
+ export default nextConfig
@@ -1,58 +1,58 @@
1
- {
2
- "name": "next-starter",
3
- "version": "0.1.0",
4
- "private": true,
5
- "type": "module",
6
- "scripts": {
7
- "dev": "next dev --webpack -H 0.0.0.0",
8
- "build": "next build",
9
- "start": "next start"
10
- },
11
- "dependencies": {
12
- "@radix-ui/react-checkbox": "^1.3.3",
13
- "@radix-ui/react-dialog": "^1.1.15",
14
- "@radix-ui/react-popover": "^1.1.15",
15
- "@radix-ui/react-select": "^2.2.6",
16
- "@radix-ui/react-slot": "^1.2.3",
17
- "axios": "^1.9.0",
18
- "class-variance-authority": "^0.7.1",
19
- "clsx": "^2.1.1",
20
- "date-fns": "^4.1.0",
21
- "immer": "^10.1.3",
22
- "localforage": "^1.10.0",
23
- "lucide-react": "^1.17.0",
24
- "motion": "^12.38.0",
25
- "next": "16.2.3",
26
- "radix-ui": "^1.4.3",
27
- "react": "19.2.5",
28
- "react-day-picker": "^9.14.0",
29
- "react-dom": "19.2.5",
30
- "react-hook-form": "^7.62.0",
31
- "react-markdown": "^10.1.0",
32
- "react-medium-image-zoom": "^5.3.0",
33
- "remark-gfm": "^4.0.1",
34
- "sonner": "^2.0.6",
35
- "tailwind-merge": "^3.3.1",
36
- "zustand": "^5.0.8"
37
- },
38
- "devDependencies": {
39
- "@eslint/eslintrc": "^3",
40
- "@tailwindcss/postcss": "^4",
41
- "@types/node": "^20",
42
- "@types/react": "19.1.12",
43
- "@types/react-dom": "19.1.9",
44
- "@umijs/openapi": "^1.13.15",
45
- "eslint": "^9",
46
- "eslint-config-next": "16.2.3",
47
- "eslint-config-prettier": "^10.1.8",
48
- "prettier-plugin-organize-imports": "^4.2.0",
49
- "prettier-plugin-tailwindcss": "^0.6.14",
50
- "tailwindcss": "^4",
51
- "tw-animate-css": "^1.3.4",
52
- "typescript": "^5"
53
- },
54
- "overrides": {
55
- "@types/react": "19.1.12",
56
- "@types/react-dom": "19.1.9"
57
- }
58
- }
1
+ {
2
+ "name": "next-starter",
3
+ "version": "0.1.0",
4
+ "private": true,
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "next dev --webpack -H 0.0.0.0",
8
+ "build": "next build",
9
+ "start": "next start"
10
+ },
11
+ "dependencies": {
12
+ "@radix-ui/react-checkbox": "^1.3.3",
13
+ "@radix-ui/react-dialog": "^1.1.15",
14
+ "@radix-ui/react-popover": "^1.1.15",
15
+ "@radix-ui/react-select": "^2.2.6",
16
+ "@radix-ui/react-slot": "^1.2.3",
17
+ "axios": "^1.9.0",
18
+ "class-variance-authority": "^0.7.1",
19
+ "clsx": "^2.1.1",
20
+ "date-fns": "^4.1.0",
21
+ "immer": "^10.1.3",
22
+ "localforage": "^1.10.0",
23
+ "lucide-react": "^1.17.0",
24
+ "motion": "^12.38.0",
25
+ "next": "16.2.3",
26
+ "radix-ui": "^1.4.3",
27
+ "react": "19.2.5",
28
+ "react-day-picker": "^9.14.0",
29
+ "react-dom": "19.2.5",
30
+ "react-hook-form": "^7.62.0",
31
+ "react-markdown": "^10.1.0",
32
+ "react-medium-image-zoom": "^5.3.0",
33
+ "remark-gfm": "^4.0.1",
34
+ "sonner": "^2.0.6",
35
+ "tailwind-merge": "^3.3.1",
36
+ "zustand": "^5.0.8"
37
+ },
38
+ "devDependencies": {
39
+ "@eslint/eslintrc": "^3",
40
+ "@tailwindcss/postcss": "^4",
41
+ "@types/node": "^20",
42
+ "@types/react": "19.1.12",
43
+ "@types/react-dom": "19.1.9",
44
+ "@umijs/openapi": "^1.13.15",
45
+ "eslint": "^9",
46
+ "eslint-config-next": "16.2.3",
47
+ "eslint-config-prettier": "^10.1.8",
48
+ "prettier-plugin-organize-imports": "^4.2.0",
49
+ "prettier-plugin-tailwindcss": "^0.6.14",
50
+ "tailwindcss": "^4",
51
+ "tw-animate-css": "^1.3.4",
52
+ "typescript": "^5"
53
+ },
54
+ "overrides": {
55
+ "@types/react": "19.1.12",
56
+ "@types/react-dom": "19.1.9"
57
+ }
58
+ }
@@ -1,5 +1,5 @@
1
- const config = {
2
- plugins: ['@tailwindcss/postcss'],
3
- };
4
-
5
- export default config;
1
+ const config = {
2
+ plugins: ['@tailwindcss/postcss'],
3
+ };
4
+
5
+ export default config;