@qlover/create-app 1.1.0 → 2.0.2

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 (556) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/index.cjs +9 -9
  3. package/dist/index.js +9 -9
  4. package/package.json +5 -4
  5. package/dist/configs/_common/.editorconfig +0 -23
  6. package/dist/configs/_common/.env.template +0 -13
  7. package/dist/configs/_common/.gitattributes +0 -2
  8. package/dist/configs/_common/.github/workflows/general-check.yml +0 -41
  9. package/dist/configs/_common/.github/workflows/release.yml +0 -81
  10. package/dist/configs/_common/.gitignore.template +0 -64
  11. package/dist/configs/_common/.husky/commit-msg +0 -3
  12. package/dist/configs/_common/.husky/pre-commit +0 -3
  13. package/dist/configs/_common/.prettierignore +0 -17
  14. package/dist/configs/_common/.prettierrc.js +0 -7
  15. package/dist/configs/_common/.vscode/extensions.json +0 -9
  16. package/dist/configs/_common/.vscode/react.code-snippets +0 -19
  17. package/dist/configs/_common/.vscode/settings.json +0 -16
  18. package/dist/configs/_common/commitlint.config.js +0 -10
  19. package/dist/configs/_common/package.json.template +0 -75
  20. package/dist/configs/node-lib/eslint.config.js +0 -50
  21. package/dist/templates/next-app/.env.template +0 -25
  22. package/dist/templates/next-app/.prettierignore +0 -58
  23. package/dist/templates/next-app/README.en.md +0 -130
  24. package/dist/templates/next-app/README.md +0 -130
  25. package/dist/templates/next-app/config/IOCIdentifier.ts +0 -74
  26. package/dist/templates/next-app/config/Identifier/api.ts +0 -41
  27. package/dist/templates/next-app/config/Identifier/common/admint.table.ts +0 -69
  28. package/dist/templates/next-app/config/Identifier/common/common.ts +0 -90
  29. package/dist/templates/next-app/config/Identifier/common/index.ts +0 -3
  30. package/dist/templates/next-app/config/Identifier/common/validators.ts +0 -34
  31. package/dist/templates/next-app/config/Identifier/index.ts +0 -3
  32. package/dist/templates/next-app/config/Identifier/pages/index.ts +0 -7
  33. package/dist/templates/next-app/config/Identifier/pages/page.about.ts +0 -20
  34. package/dist/templates/next-app/config/Identifier/pages/page.admin.home.ts +0 -27
  35. package/dist/templates/next-app/config/Identifier/pages/page.admin.locales.ts +0 -266
  36. package/dist/templates/next-app/config/Identifier/pages/page.admin.user.ts +0 -293
  37. package/dist/templates/next-app/config/Identifier/pages/page.home.ts +0 -56
  38. package/dist/templates/next-app/config/Identifier/pages/page.login.ts +0 -159
  39. package/dist/templates/next-app/config/Identifier/pages/page.register.ts +0 -177
  40. package/dist/templates/next-app/config/adminNavs.ts +0 -19
  41. package/dist/templates/next-app/config/common.ts +0 -43
  42. package/dist/templates/next-app/config/cookies.ts +0 -23
  43. package/dist/templates/next-app/config/i18n/AboutI18n.ts +0 -14
  44. package/dist/templates/next-app/config/i18n/HomeI18n.ts +0 -24
  45. package/dist/templates/next-app/config/i18n/PageI18nInterface.ts +0 -51
  46. package/dist/templates/next-app/config/i18n/admin18n.ts +0 -75
  47. package/dist/templates/next-app/config/i18n/i18nConfig.ts +0 -16
  48. package/dist/templates/next-app/config/i18n/i18nKeyScheam.ts +0 -36
  49. package/dist/templates/next-app/config/i18n/index.ts +0 -7
  50. package/dist/templates/next-app/config/i18n/loginI18n.ts +0 -50
  51. package/dist/templates/next-app/config/i18n/register18n.ts +0 -44
  52. package/dist/templates/next-app/config/route.ts +0 -9
  53. package/dist/templates/next-app/config/theme.ts +0 -28
  54. package/dist/templates/next-app/docs/en/api.md +0 -387
  55. package/dist/templates/next-app/docs/en/component.md +0 -544
  56. package/dist/templates/next-app/docs/en/database.md +0 -496
  57. package/dist/templates/next-app/docs/en/development-guide.md +0 -727
  58. package/dist/templates/next-app/docs/en/env.md +0 -563
  59. package/dist/templates/next-app/docs/en/i18n.md +0 -287
  60. package/dist/templates/next-app/docs/en/index.md +0 -165
  61. package/dist/templates/next-app/docs/en/page.md +0 -457
  62. package/dist/templates/next-app/docs/en/project-structure.md +0 -176
  63. package/dist/templates/next-app/docs/en/router.md +0 -427
  64. package/dist/templates/next-app/docs/en/theme.md +0 -532
  65. package/dist/templates/next-app/docs/en/validator.md +0 -478
  66. package/dist/templates/next-app/docs/zh/api.md +0 -387
  67. package/dist/templates/next-app/docs/zh/component.md +0 -544
  68. package/dist/templates/next-app/docs/zh/database.md +0 -496
  69. package/dist/templates/next-app/docs/zh/development-guide.md +0 -727
  70. package/dist/templates/next-app/docs/zh/env.md +0 -563
  71. package/dist/templates/next-app/docs/zh/i18n.md +0 -287
  72. package/dist/templates/next-app/docs/zh/index.md +0 -165
  73. package/dist/templates/next-app/docs/zh/page.md +0 -457
  74. package/dist/templates/next-app/docs/zh/project-structure.md +0 -176
  75. package/dist/templates/next-app/docs/zh/router.md +0 -427
  76. package/dist/templates/next-app/docs/zh/theme.md +0 -532
  77. package/dist/templates/next-app/docs/zh/validator.md +0 -476
  78. package/dist/templates/next-app/eslint.config.mjs +0 -285
  79. package/dist/templates/next-app/make/generateLocales.ts +0 -32
  80. package/dist/templates/next-app/migrations/schema/LocalesSchema.ts +0 -15
  81. package/dist/templates/next-app/migrations/schema/UserSchema.ts +0 -38
  82. package/dist/templates/next-app/migrations/sql/1694244000000.sql +0 -21
  83. package/dist/templates/next-app/next.config.ts +0 -25
  84. package/dist/templates/next-app/package.json +0 -87
  85. package/dist/templates/next-app/postcss.config.mjs +0 -5
  86. package/dist/templates/next-app/public/favicon.ico +0 -0
  87. package/dist/templates/next-app/public/file.svg +0 -1
  88. package/dist/templates/next-app/public/globe.svg +0 -1
  89. package/dist/templates/next-app/public/locales/en.json +0 -182
  90. package/dist/templates/next-app/public/locales/zh.json +0 -182
  91. package/dist/templates/next-app/public/next.svg +0 -1
  92. package/dist/templates/next-app/public/vercel.svg +0 -1
  93. package/dist/templates/next-app/public/window.svg +0 -1
  94. package/dist/templates/next-app/src/app/[locale]/admin/AdminI18nProvider.tsx +0 -37
  95. package/dist/templates/next-app/src/app/[locale]/admin/layout.tsx +0 -42
  96. package/dist/templates/next-app/src/app/[locale]/admin/locales/page.tsx +0 -153
  97. package/dist/templates/next-app/src/app/[locale]/admin/page.tsx +0 -20
  98. package/dist/templates/next-app/src/app/[locale]/admin/users/page.tsx +0 -67
  99. package/dist/templates/next-app/src/app/[locale]/auth/layout.tsx +0 -18
  100. package/dist/templates/next-app/src/app/[locale]/auth/login/LoginForm.tsx +0 -126
  101. package/dist/templates/next-app/src/app/[locale]/auth/login/page.tsx +0 -90
  102. package/dist/templates/next-app/src/app/[locale]/auth/page.tsx +0 -8
  103. package/dist/templates/next-app/src/app/[locale]/auth/register/RegisterForm.tsx +0 -197
  104. package/dist/templates/next-app/src/app/[locale]/auth/register/page.tsx +0 -90
  105. package/dist/templates/next-app/src/app/[locale]/layout.tsx +0 -63
  106. package/dist/templates/next-app/src/app/[locale]/not-found.tsx +0 -24
  107. package/dist/templates/next-app/src/app/[locale]/page.tsx +0 -98
  108. package/dist/templates/next-app/src/app/api/admin/locales/create/route.ts +0 -13
  109. package/dist/templates/next-app/src/app/api/admin/locales/import/route.ts +0 -13
  110. package/dist/templates/next-app/src/app/api/admin/locales/route.ts +0 -20
  111. package/dist/templates/next-app/src/app/api/admin/locales/update/route.ts +0 -13
  112. package/dist/templates/next-app/src/app/api/admin/users/route.ts +0 -20
  113. package/dist/templates/next-app/src/app/api/ai/completions/route.ts +0 -32
  114. package/dist/templates/next-app/src/app/api/auth/callback/route.ts +0 -11
  115. package/dist/templates/next-app/src/app/api/callback/route.ts +0 -49
  116. package/dist/templates/next-app/src/app/api/locales/json/route.ts +0 -33
  117. package/dist/templates/next-app/src/app/api/user/login/route.ts +0 -10
  118. package/dist/templates/next-app/src/app/api/user/logout/route.ts +0 -8
  119. package/dist/templates/next-app/src/app/api/user/register/route.ts +0 -11
  120. package/dist/templates/next-app/src/app/manifest.ts +0 -16
  121. package/dist/templates/next-app/src/app/robots.txt +0 -2
  122. package/dist/templates/next-app/src/base/cases/AdminPageManager.ts +0 -28
  123. package/dist/templates/next-app/src/base/cases/AppConfig.ts +0 -40
  124. package/dist/templates/next-app/src/base/cases/Datetime.ts +0 -18
  125. package/dist/templates/next-app/src/base/cases/DialogErrorPlugin.ts +0 -57
  126. package/dist/templates/next-app/src/base/cases/DialogHandler.ts +0 -116
  127. package/dist/templates/next-app/src/base/cases/InversifyContainer.ts +0 -45
  128. package/dist/templates/next-app/src/base/cases/NavigateBridge.ts +0 -32
  129. package/dist/templates/next-app/src/base/cases/RequestEncryptPlugin.ts +0 -77
  130. package/dist/templates/next-app/src/base/cases/ResourceState.ts +0 -17
  131. package/dist/templates/next-app/src/base/cases/RouterService.ts +0 -52
  132. package/dist/templates/next-app/src/base/cases/StringEncryptor.ts +0 -73
  133. package/dist/templates/next-app/src/base/cases/TranslateI18nUtil.ts +0 -53
  134. package/dist/templates/next-app/src/base/cases/ZodColumnBuilder.ts +0 -212
  135. package/dist/templates/next-app/src/base/port/AdminLayoutInterface.ts +0 -26
  136. package/dist/templates/next-app/src/base/port/AppApiInterface.ts +0 -36
  137. package/dist/templates/next-app/src/base/port/AppUserApiInterface.ts +0 -27
  138. package/dist/templates/next-app/src/base/port/I18nServiceInterface.ts +0 -25
  139. package/dist/templates/next-app/src/base/port/IOCInterface.ts +0 -33
  140. package/dist/templates/next-app/src/base/port/RouterInterface.ts +0 -11
  141. package/dist/templates/next-app/src/base/port/UserServiceInterface.ts +0 -25
  142. package/dist/templates/next-app/src/base/port/ZodBuilderInterface.ts +0 -8
  143. package/dist/templates/next-app/src/base/services/AdminPageEvent.ts +0 -26
  144. package/dist/templates/next-app/src/base/services/AdminPageScheduler.ts +0 -42
  145. package/dist/templates/next-app/src/base/services/AppApiRequester.ts +0 -67
  146. package/dist/templates/next-app/src/base/services/AppUserGateway.ts +0 -110
  147. package/dist/templates/next-app/src/base/services/I18nService.ts +0 -87
  148. package/dist/templates/next-app/src/base/services/ResourceService.ts +0 -139
  149. package/dist/templates/next-app/src/base/services/UserService.ts +0 -68
  150. package/dist/templates/next-app/src/base/services/adminApi/AdminLocalesApi.ts +0 -106
  151. package/dist/templates/next-app/src/base/services/adminApi/AdminUserApi.ts +0 -87
  152. package/dist/templates/next-app/src/base/services/appApi/AppApiPlugin.ts +0 -110
  153. package/dist/templates/next-app/src/base/services/appApi/AppUserApiBootstrap.ts +0 -52
  154. package/dist/templates/next-app/src/base/types/AppPageRouter.ts +0 -12
  155. package/dist/templates/next-app/src/base/types/PagesRouter.ts +0 -9
  156. package/dist/templates/next-app/src/core/bootstraps/BootstrapClient.ts +0 -76
  157. package/dist/templates/next-app/src/core/bootstraps/BootstrapServer.ts +0 -125
  158. package/dist/templates/next-app/src/core/bootstraps/BootstrapsRegistry.ts +0 -50
  159. package/dist/templates/next-app/src/core/bootstraps/IocIdentifierTest.ts +0 -26
  160. package/dist/templates/next-app/src/core/bootstraps/PrintBootstrap.ts +0 -18
  161. package/dist/templates/next-app/src/core/clientIoc/ClientIOC.ts +0 -68
  162. package/dist/templates/next-app/src/core/clientIoc/ClientIOCRegister.ts +0 -100
  163. package/dist/templates/next-app/src/core/globals.ts +0 -28
  164. package/dist/templates/next-app/src/core/serverIoc/ServerIOC.ts +0 -80
  165. package/dist/templates/next-app/src/core/serverIoc/ServerIOCRegister.ts +0 -66
  166. package/dist/templates/next-app/src/i18n/loadMessages.ts +0 -103
  167. package/dist/templates/next-app/src/i18n/request.ts +0 -31
  168. package/dist/templates/next-app/src/i18n/routing.ts +0 -35
  169. package/dist/templates/next-app/src/lib/supabase/client.ts +0 -8
  170. package/dist/templates/next-app/src/lib/supabase/conts.ts +0 -2
  171. package/dist/templates/next-app/src/lib/supabase/proxy.ts +0 -84
  172. package/dist/templates/next-app/src/lib/supabase/server.ts +0 -38
  173. package/dist/templates/next-app/src/pages/[locale]/about.tsx +0 -61
  174. package/dist/templates/next-app/src/pages/_app.tsx +0 -50
  175. package/dist/templates/next-app/src/pages/_document.tsx +0 -13
  176. package/dist/templates/next-app/src/proxy.ts +0 -33
  177. package/dist/templates/next-app/src/server/AppErrorApi.ts +0 -10
  178. package/dist/templates/next-app/src/server/AppPageRouteParams.ts +0 -110
  179. package/dist/templates/next-app/src/server/AppSuccessApi.ts +0 -7
  180. package/dist/templates/next-app/src/server/NextApiServer.ts +0 -61
  181. package/dist/templates/next-app/src/server/PagesRouteParams.ts +0 -145
  182. package/dist/templates/next-app/src/server/PasswordEncrypt.ts +0 -18
  183. package/dist/templates/next-app/src/server/ServerAuth.ts +0 -81
  184. package/dist/templates/next-app/src/server/SupabaseBridge.ts +0 -262
  185. package/dist/templates/next-app/src/server/UserCredentialToken.ts +0 -53
  186. package/dist/templates/next-app/src/server/controllers/AdminLocalesController.ts +0 -86
  187. package/dist/templates/next-app/src/server/controllers/AdminUserController.ts +0 -42
  188. package/dist/templates/next-app/src/server/controllers/LocalesController.ts +0 -36
  189. package/dist/templates/next-app/src/server/controllers/UserController.ts +0 -91
  190. package/dist/templates/next-app/src/server/port/AIControllerInterface.ts +0 -8
  191. package/dist/templates/next-app/src/server/port/AdminLocalesControllerInterface.ts +0 -21
  192. package/dist/templates/next-app/src/server/port/AdminUserControllerInterface.ts +0 -11
  193. package/dist/templates/next-app/src/server/port/CrentialTokenInterface.ts +0 -5
  194. package/dist/templates/next-app/src/server/port/DBBridgeInterface.ts +0 -36
  195. package/dist/templates/next-app/src/server/port/DBTableInterface.ts +0 -12
  196. package/dist/templates/next-app/src/server/port/LocalesControllerInterface.ts +0 -10
  197. package/dist/templates/next-app/src/server/port/LocalesRepositoryInterface.ts +0 -43
  198. package/dist/templates/next-app/src/server/port/PaginationInterface.ts +0 -6
  199. package/dist/templates/next-app/src/server/port/RouteParamsnHandlerInterface.ts +0 -18
  200. package/dist/templates/next-app/src/server/port/ServerAuthInterface.ts +0 -15
  201. package/dist/templates/next-app/src/server/port/ServerInterface.ts +0 -23
  202. package/dist/templates/next-app/src/server/port/UserRepositoryInterface.ts +0 -15
  203. package/dist/templates/next-app/src/server/port/UserServiceInterface.ts +0 -14
  204. package/dist/templates/next-app/src/server/port/ValidatorInterface.ts +0 -23
  205. package/dist/templates/next-app/src/server/repositorys/LocalesRepository.ts +0 -216
  206. package/dist/templates/next-app/src/server/repositorys/UserRepository.ts +0 -102
  207. package/dist/templates/next-app/src/server/services/AIService.ts +0 -45
  208. package/dist/templates/next-app/src/server/services/AdminAuthPlugin.ts +0 -21
  209. package/dist/templates/next-app/src/server/services/AdminLocalesService.ts +0 -20
  210. package/dist/templates/next-app/src/server/services/ApiLocaleService.ts +0 -137
  211. package/dist/templates/next-app/src/server/services/ApiUserService.ts +0 -29
  212. package/dist/templates/next-app/src/server/services/UserService.ts +0 -134
  213. package/dist/templates/next-app/src/server/validators/ExtendedExecutorError.ts +0 -6
  214. package/dist/templates/next-app/src/server/validators/LocalesValidator.ts +0 -145
  215. package/dist/templates/next-app/src/server/validators/LoginValidator.ts +0 -82
  216. package/dist/templates/next-app/src/server/validators/PaginationValidator.ts +0 -70
  217. package/dist/templates/next-app/src/server/validators/SignupVerifyValidator.ts +0 -68
  218. package/dist/templates/next-app/src/styles/css/antd-themes/_common/_default.css +0 -280
  219. package/dist/templates/next-app/src/styles/css/antd-themes/_common/dark.css +0 -233
  220. package/dist/templates/next-app/src/styles/css/antd-themes/_common/index.css +0 -3
  221. package/dist/templates/next-app/src/styles/css/antd-themes/_common/pink.css +0 -246
  222. package/dist/templates/next-app/src/styles/css/antd-themes/index.css +0 -4
  223. package/dist/templates/next-app/src/styles/css/antd-themes/menu/_default.css +0 -108
  224. package/dist/templates/next-app/src/styles/css/antd-themes/menu/dark.css +0 -67
  225. package/dist/templates/next-app/src/styles/css/antd-themes/menu/index.css +0 -3
  226. package/dist/templates/next-app/src/styles/css/antd-themes/menu/pink.css +0 -67
  227. package/dist/templates/next-app/src/styles/css/antd-themes/no-context.css +0 -34
  228. package/dist/templates/next-app/src/styles/css/antd-themes/pagination/_default.css +0 -34
  229. package/dist/templates/next-app/src/styles/css/antd-themes/pagination/dark.css +0 -31
  230. package/dist/templates/next-app/src/styles/css/antd-themes/pagination/index.css +0 -3
  231. package/dist/templates/next-app/src/styles/css/antd-themes/pagination/pink.css +0 -36
  232. package/dist/templates/next-app/src/styles/css/antd-themes/table/_default.css +0 -44
  233. package/dist/templates/next-app/src/styles/css/antd-themes/table/dark.css +0 -43
  234. package/dist/templates/next-app/src/styles/css/antd-themes/table/index.css +0 -3
  235. package/dist/templates/next-app/src/styles/css/antd-themes/table/pink.css +0 -43
  236. package/dist/templates/next-app/src/styles/css/index.css +0 -6
  237. package/dist/templates/next-app/src/styles/css/page.css +0 -20
  238. package/dist/templates/next-app/src/styles/css/scrollbar.css +0 -34
  239. package/dist/templates/next-app/src/styles/css/tailwind.css +0 -5
  240. package/dist/templates/next-app/src/styles/css/themes/_default.css +0 -30
  241. package/dist/templates/next-app/src/styles/css/themes/dark.css +0 -30
  242. package/dist/templates/next-app/src/styles/css/themes/index.css +0 -3
  243. package/dist/templates/next-app/src/styles/css/themes/pink.css +0 -30
  244. package/dist/templates/next-app/src/styles/css/zIndex.css +0 -9
  245. package/dist/templates/next-app/src/uikit/components/AdminLayout.tsx +0 -150
  246. package/dist/templates/next-app/src/uikit/components/BootstrapsProvider.tsx +0 -39
  247. package/dist/templates/next-app/src/uikit/components/ClientRootProvider.tsx +0 -64
  248. package/dist/templates/next-app/src/uikit/components/ClientSeo.tsx +0 -36
  249. package/dist/templates/next-app/src/uikit/components/ClinetRenderProvider.tsx +0 -42
  250. package/dist/templates/next-app/src/uikit/components/EditableCell.tsx +0 -118
  251. package/dist/templates/next-app/src/uikit/components/FeatureItem.tsx +0 -13
  252. package/dist/templates/next-app/src/uikit/components/IOCProvider.tsx +0 -34
  253. package/dist/templates/next-app/src/uikit/components/LocaleLink.tsx +0 -50
  254. package/dist/templates/next-app/src/uikit/components/With.tsx +0 -17
  255. package/dist/templates/next-app/src/uikit/components/localesImportButton/LocalesImportButton.tsx +0 -62
  256. package/dist/templates/next-app/src/uikit/components/localesImportButton/LocalesImportEvent.ts +0 -28
  257. package/dist/templates/next-app/src/uikit/components/localesImportButton/import.module.css +0 -6
  258. package/dist/templates/next-app/src/uikit/components-app/AdminButton.tsx +0 -29
  259. package/dist/templates/next-app/src/uikit/components-app/AppBridge.tsx +0 -17
  260. package/dist/templates/next-app/src/uikit/components-app/AppRoutePage.tsx +0 -105
  261. package/dist/templates/next-app/src/uikit/components-app/AuthButton.tsx +0 -20
  262. package/dist/templates/next-app/src/uikit/components-app/LanguageSwitcher.tsx +0 -75
  263. package/dist/templates/next-app/src/uikit/components-app/LogoutButton.tsx +0 -45
  264. package/dist/templates/next-app/src/uikit/components-app/ThemeSwitcher.tsx +0 -144
  265. package/dist/templates/next-app/src/uikit/components-pages/LanguageSwitcher.tsx +0 -98
  266. package/dist/templates/next-app/src/uikit/components-pages/PagesRoutePage.tsx +0 -93
  267. package/dist/templates/next-app/src/uikit/context/IOCContext.ts +0 -25
  268. package/dist/templates/next-app/src/uikit/hook/useI18nInterface.ts +0 -22
  269. package/dist/templates/next-app/src/uikit/hook/useIOC.ts +0 -37
  270. package/dist/templates/next-app/src/uikit/hook/useStrictEffect.ts +0 -32
  271. package/dist/templates/next-app/src/uikit/hook/useWarnTranslations.ts +0 -11
  272. package/dist/templates/next-app/src/uikit/utils/getHashParams.ts +0 -8
  273. package/dist/templates/next-app/src/uikit/utils/getHashVerifyEmailParams.ts +0 -42
  274. package/dist/templates/next-app/tailwind.config.ts +0 -8
  275. package/dist/templates/next-app/tsconfig.json +0 -39
  276. package/dist/templates/node-lib/__tests__/readJson.test.ts +0 -26
  277. package/dist/templates/node-lib/bin/test.js +0 -30
  278. package/dist/templates/node-lib/package.json +0 -66
  279. package/dist/templates/node-lib/rollup.config.js +0 -79
  280. package/dist/templates/node-lib/src/index.ts +0 -7
  281. package/dist/templates/node-lib/src/readJson.ts +0 -12
  282. package/dist/templates/node-lib/tsconfig.json +0 -23
  283. package/dist/templates/pack-app/README.md +0 -108
  284. package/dist/templates/pack-app/eslint.config.js +0 -97
  285. package/dist/templates/pack-app/fe-config.json +0 -35
  286. package/dist/templates/pack-app/package.json +0 -86
  287. package/dist/templates/pack-app/pnpm-workspace.yaml +0 -2
  288. package/dist/templates/pack-app/tsconfig.json +0 -9
  289. package/dist/templates/pack-app/tsconfig.test.json +0 -10
  290. package/dist/templates/pack-app/vite.config.ts +0 -14
  291. package/dist/templates/react-app/.env.template +0 -22
  292. package/dist/templates/react-app/.prettierignore +0 -17
  293. package/dist/templates/react-app/README.en.md +0 -274
  294. package/dist/templates/react-app/README.md +0 -273
  295. package/dist/templates/react-app/__tests__/__mocks__/BootstrapTest.ts +0 -16
  296. package/dist/templates/react-app/__tests__/__mocks__/MockAppConfig.ts +0 -48
  297. package/dist/templates/react-app/__tests__/__mocks__/MockDialogHandler.ts +0 -17
  298. package/dist/templates/react-app/__tests__/__mocks__/MockLogger.ts +0 -14
  299. package/dist/templates/react-app/__tests__/__mocks__/components/TestApp.tsx +0 -38
  300. package/dist/templates/react-app/__tests__/__mocks__/components/TestBootstrapsProvider.tsx +0 -53
  301. package/dist/templates/react-app/__tests__/__mocks__/components/TestRouter.tsx +0 -46
  302. package/dist/templates/react-app/__tests__/__mocks__/components/index.ts +0 -12
  303. package/dist/templates/react-app/__tests__/__mocks__/createMockGlobals.ts +0 -96
  304. package/dist/templates/react-app/__tests__/__mocks__/i18nextHttpBackend.ts +0 -110
  305. package/dist/templates/react-app/__tests__/__mocks__/testIOC/TestIOC.ts +0 -55
  306. package/dist/templates/react-app/__tests__/__mocks__/testIOC/TestIOCRegister.ts +0 -74
  307. package/dist/templates/react-app/__tests__/setup/index.ts +0 -1
  308. package/dist/templates/react-app/__tests__/setup/setupGlobal.ts +0 -64
  309. package/dist/templates/react-app/__tests__/src/App.structure.test.tsx +0 -115
  310. package/dist/templates/react-app/__tests__/src/base/cases/AppConfig.test.ts +0 -288
  311. package/dist/templates/react-app/__tests__/src/base/cases/DialogHandler.test.ts +0 -226
  312. package/dist/templates/react-app/__tests__/src/base/cases/I18nKeyErrorPlugin.test.ts +0 -178
  313. package/dist/templates/react-app/__tests__/src/base/cases/InversifyContainer.test.ts +0 -181
  314. package/dist/templates/react-app/__tests__/src/base/cases/PublicAssetsPath.test.ts +0 -61
  315. package/dist/templates/react-app/__tests__/src/base/cases/RequestLogger.test.ts +0 -177
  316. package/dist/templates/react-app/__tests__/src/base/cases/RequestStatusCatcher.test.ts +0 -191
  317. package/dist/templates/react-app/__tests__/src/base/cases/RouterLoader.test.ts +0 -245
  318. package/dist/templates/react-app/__tests__/src/base/services/I18nService.test.ts +0 -240
  319. package/dist/templates/react-app/__tests__/src/core/IOC.test.ts +0 -242
  320. package/dist/templates/react-app/__tests__/src/core/bootstraps/BootstrapClient.test.ts +0 -135
  321. package/dist/templates/react-app/__tests__/src/core/bootstraps/BootstrapsApp.test.ts +0 -74
  322. package/dist/templates/react-app/__tests__/src/main.test.tsx +0 -46
  323. package/dist/templates/react-app/__tests__/src/uikit/components/BaseHeader.test.tsx +0 -97
  324. package/dist/templates/react-app/__tests__/src/uikit/components/chatMessage/ChatRoot.test.tsx +0 -274
  325. package/dist/templates/react-app/config/IOCIdentifier.ts +0 -91
  326. package/dist/templates/react-app/config/Identifier/common/common.error.ts +0 -34
  327. package/dist/templates/react-app/config/Identifier/common/common.ts +0 -62
  328. package/dist/templates/react-app/config/Identifier/common/index.ts +0 -2
  329. package/dist/templates/react-app/config/Identifier/components/component.chatMessage.ts +0 -56
  330. package/dist/templates/react-app/config/Identifier/components/component.messageBaseList.ts +0 -103
  331. package/dist/templates/react-app/config/Identifier/index.ts +0 -2
  332. package/dist/templates/react-app/config/Identifier/pages/index.ts +0 -9
  333. package/dist/templates/react-app/config/Identifier/pages/page.about.ts +0 -189
  334. package/dist/templates/react-app/config/Identifier/pages/page.executor.ts +0 -275
  335. package/dist/templates/react-app/config/Identifier/pages/page.home.ts +0 -71
  336. package/dist/templates/react-app/config/Identifier/pages/page.identifiter.ts +0 -102
  337. package/dist/templates/react-app/config/Identifier/pages/page.jsonStorage.ts +0 -77
  338. package/dist/templates/react-app/config/Identifier/pages/page.login.ts +0 -162
  339. package/dist/templates/react-app/config/Identifier/pages/page.message.ts +0 -20
  340. package/dist/templates/react-app/config/Identifier/pages/page.register.ts +0 -159
  341. package/dist/templates/react-app/config/Identifier/pages/page.request.ts +0 -169
  342. package/dist/templates/react-app/config/app.router.ts +0 -338
  343. package/dist/templates/react-app/config/common.ts +0 -85
  344. package/dist/templates/react-app/config/feapi.mock.json +0 -34
  345. package/dist/templates/react-app/config/i18n/PageI18nInterface.ts +0 -53
  346. package/dist/templates/react-app/config/i18n/aboutI18n.ts +0 -42
  347. package/dist/templates/react-app/config/i18n/chatMessageI18n.ts +0 -17
  348. package/dist/templates/react-app/config/i18n/executorI18n.ts +0 -51
  349. package/dist/templates/react-app/config/i18n/homeI18n.ts +0 -24
  350. package/dist/templates/react-app/config/i18n/i18nConfig.ts +0 -30
  351. package/dist/templates/react-app/config/i18n/identifiter18n.ts +0 -30
  352. package/dist/templates/react-app/config/i18n/jsonStorage18n.ts +0 -27
  353. package/dist/templates/react-app/config/i18n/login18n.ts +0 -42
  354. package/dist/templates/react-app/config/i18n/messageBaseListI18n.ts +0 -22
  355. package/dist/templates/react-app/config/i18n/messageI18n.ts +0 -14
  356. package/dist/templates/react-app/config/i18n/notFoundI18n.ts +0 -34
  357. package/dist/templates/react-app/config/i18n/register18n.ts +0 -40
  358. package/dist/templates/react-app/config/i18n/request18n.ts +0 -41
  359. package/dist/templates/react-app/config/theme.ts +0 -21
  360. package/dist/templates/react-app/docs/en/bootstrap.md +0 -1891
  361. package/dist/templates/react-app/docs/en/components/chat-message-component.md +0 -320
  362. package/dist/templates/react-app/docs/en/components/chat-message-refactor.md +0 -283
  363. package/dist/templates/react-app/docs/en/components/message-base-list-component.md +0 -171
  364. package/dist/templates/react-app/docs/en/development-guide.md +0 -1199
  365. package/dist/templates/react-app/docs/en/env.md +0 -1336
  366. package/dist/templates/react-app/docs/en/global.md +0 -509
  367. package/dist/templates/react-app/docs/en/i18n.md +0 -979
  368. package/dist/templates/react-app/docs/en/index.md +0 -802
  369. package/dist/templates/react-app/docs/en/ioc.md +0 -1365
  370. package/dist/templates/react-app/docs/en/playwright/e2e-tests.md +0 -321
  371. package/dist/templates/react-app/docs/en/playwright/index.md +0 -19
  372. package/dist/templates/react-app/docs/en/playwright/installation-summary.md +0 -332
  373. package/dist/templates/react-app/docs/en/playwright/overview.md +0 -222
  374. package/dist/templates/react-app/docs/en/playwright/quickstart.md +0 -325
  375. package/dist/templates/react-app/docs/en/playwright/reorganization-notes.md +0 -340
  376. package/dist/templates/react-app/docs/en/playwright/setup-complete.md +0 -290
  377. package/dist/templates/react-app/docs/en/playwright/testing-guide.md +0 -565
  378. package/dist/templates/react-app/docs/en/request.md +0 -423
  379. package/dist/templates/react-app/docs/en/router.md +0 -404
  380. package/dist/templates/react-app/docs/en/store.md +0 -1331
  381. package/dist/templates/react-app/docs/en/test-guide.md +0 -976
  382. package/dist/templates/react-app/docs/en/theme.md +0 -424
  383. package/dist/templates/react-app/docs/en/typescript-guide.md +0 -473
  384. package/dist/templates/react-app/docs/en/why-no-globals.md +0 -797
  385. package/dist/templates/react-app/docs/zh/bootstrap.md +0 -1891
  386. package/dist/templates/react-app/docs/zh/components/chat-message-component.md +0 -320
  387. package/dist/templates/react-app/docs/zh/components/chat-message-refactor.md +0 -283
  388. package/dist/templates/react-app/docs/zh/components/message-base-list-component.md +0 -171
  389. package/dist/templates/react-app/docs/zh/development-guide.md +0 -1199
  390. package/dist/templates/react-app/docs/zh/env.md +0 -1336
  391. package/dist/templates/react-app/docs/zh/global.md +0 -511
  392. package/dist/templates/react-app/docs/zh/i18n.md +0 -979
  393. package/dist/templates/react-app/docs/zh/index.md +0 -786
  394. package/dist/templates/react-app/docs/zh/ioc.md +0 -1364
  395. package/dist/templates/react-app/docs/zh/playwright/e2e-tests.md +0 -321
  396. package/dist/templates/react-app/docs/zh/playwright/index.md +0 -19
  397. package/dist/templates/react-app/docs/zh/playwright/installation-summary.md +0 -332
  398. package/dist/templates/react-app/docs/zh/playwright/overview.md +0 -222
  399. package/dist/templates/react-app/docs/zh/playwright/quickstart.md +0 -325
  400. package/dist/templates/react-app/docs/zh/playwright/reorganization-notes.md +0 -340
  401. package/dist/templates/react-app/docs/zh/playwright/setup-complete.md +0 -290
  402. package/dist/templates/react-app/docs/zh/playwright/testing-guide.md +0 -565
  403. package/dist/templates/react-app/docs/zh/request.md +0 -427
  404. package/dist/templates/react-app/docs/zh/router.md +0 -408
  405. package/dist/templates/react-app/docs/zh/store.md +0 -1329
  406. package/dist/templates/react-app/docs/zh/test-guide.md +0 -976
  407. package/dist/templates/react-app/docs/zh/theme.md +0 -424
  408. package/dist/templates/react-app/docs/zh/typescript-guide.md +0 -473
  409. package/dist/templates/react-app/docs/zh/why-no-globals.md +0 -797
  410. package/dist/templates/react-app/e2e/App.spec.ts +0 -319
  411. package/dist/templates/react-app/e2e/fixtures/base.fixture.ts +0 -40
  412. package/dist/templates/react-app/e2e/main.spec.ts +0 -20
  413. package/dist/templates/react-app/e2e/utils/test-helpers.ts +0 -19
  414. package/dist/templates/react-app/eslint.config.mjs +0 -325
  415. package/dist/templates/react-app/index.html +0 -13
  416. package/dist/templates/react-app/makes/generateTs2LocalesOptions.ts +0 -26
  417. package/dist/templates/react-app/package.json +0 -125
  418. package/dist/templates/react-app/playwright.config.ts +0 -79
  419. package/dist/templates/react-app/postcss.config.js +0 -5
  420. package/dist/templates/react-app/public/locales/en/common.json +0 -235
  421. package/dist/templates/react-app/public/locales/zh/common.json +0 -235
  422. package/dist/templates/react-app/public/logo.svg +0 -1
  423. package/dist/templates/react-app/public/router-root/logo.svg +0 -1
  424. package/dist/templates/react-app/src/App.tsx +0 -35
  425. package/dist/templates/react-app/src/assets/react.svg +0 -1
  426. package/dist/templates/react-app/src/base/apis/AiApi.ts +0 -68
  427. package/dist/templates/react-app/src/base/apis/feApi/FeApi.ts +0 -29
  428. package/dist/templates/react-app/src/base/apis/feApi/FeApiAdapter.ts +0 -14
  429. package/dist/templates/react-app/src/base/apis/feApi/FeApiBootstarp.ts +0 -86
  430. package/dist/templates/react-app/src/base/apis/feApi/FeApiType.ts +0 -21
  431. package/dist/templates/react-app/src/base/apis/userApi/UserApi.ts +0 -142
  432. package/dist/templates/react-app/src/base/apis/userApi/UserApiAdapter.ts +0 -14
  433. package/dist/templates/react-app/src/base/apis/userApi/UserApiBootstarp.ts +0 -86
  434. package/dist/templates/react-app/src/base/apis/userApi/UserApiType.ts +0 -70
  435. package/dist/templates/react-app/src/base/cases/AppConfig.ts +0 -123
  436. package/dist/templates/react-app/src/base/cases/DialogHandler.ts +0 -115
  437. package/dist/templates/react-app/src/base/cases/I18nKeyErrorPlugin.ts +0 -64
  438. package/dist/templates/react-app/src/base/cases/InversifyContainer.ts +0 -45
  439. package/dist/templates/react-app/src/base/cases/PublicAssetsPath.ts +0 -23
  440. package/dist/templates/react-app/src/base/cases/RequestLanguages.ts +0 -55
  441. package/dist/templates/react-app/src/base/cases/RequestLogger.ts +0 -80
  442. package/dist/templates/react-app/src/base/cases/RequestStatusCatcher.ts +0 -40
  443. package/dist/templates/react-app/src/base/cases/ResourceState.ts +0 -23
  444. package/dist/templates/react-app/src/base/cases/RouterLoader.ts +0 -173
  445. package/dist/templates/react-app/src/base/cases/TranslateI18nInterface.ts +0 -26
  446. package/dist/templates/react-app/src/base/port/ExecutorPageBridgeInterface.ts +0 -23
  447. package/dist/templates/react-app/src/base/port/I18nServiceInterface.ts +0 -10
  448. package/dist/templates/react-app/src/base/port/IOCInterface.ts +0 -38
  449. package/dist/templates/react-app/src/base/port/JSONStoragePageBridgeInterface.ts +0 -21
  450. package/dist/templates/react-app/src/base/port/RequestPageBridgeInterface.ts +0 -23
  451. package/dist/templates/react-app/src/base/port/RequestStatusInterface.ts +0 -5
  452. package/dist/templates/react-app/src/base/port/RouteServiceInterface.ts +0 -29
  453. package/dist/templates/react-app/src/base/port/UserServiceInterface.ts +0 -20
  454. package/dist/templates/react-app/src/base/services/BaseLayoutService.ts +0 -61
  455. package/dist/templates/react-app/src/base/services/I18nService.ts +0 -146
  456. package/dist/templates/react-app/src/base/services/IdentifierService.ts +0 -162
  457. package/dist/templates/react-app/src/base/services/RouteService.ts +0 -115
  458. package/dist/templates/react-app/src/base/services/UserBootstrap.ts +0 -45
  459. package/dist/templates/react-app/src/base/services/UserService.ts +0 -88
  460. package/dist/templates/react-app/src/base/types/Page.ts +0 -47
  461. package/dist/templates/react-app/src/base/types/deprecated-antd.d.ts +0 -60
  462. package/dist/templates/react-app/src/base/types/global.d.ts +0 -8
  463. package/dist/templates/react-app/src/core/IOC.ts +0 -28
  464. package/dist/templates/react-app/src/core/bootstraps/BootstrapClient.ts +0 -108
  465. package/dist/templates/react-app/src/core/bootstraps/BootstrapsRegistry.ts +0 -54
  466. package/dist/templates/react-app/src/core/bootstraps/IocIdentifierTest.ts +0 -26
  467. package/dist/templates/react-app/src/core/bootstraps/PrintBootstrap.ts +0 -14
  468. package/dist/templates/react-app/src/core/bootstraps/SaveAppInfo.ts +0 -28
  469. package/dist/templates/react-app/src/core/clientIoc/ClientIOC.ts +0 -47
  470. package/dist/templates/react-app/src/core/clientIoc/ClientIOCRegister.ts +0 -142
  471. package/dist/templates/react-app/src/core/globals.ts +0 -47
  472. package/dist/templates/react-app/src/main.tsx +0 -19
  473. package/dist/templates/react-app/src/pages/404.tsx +0 -19
  474. package/dist/templates/react-app/src/pages/500.tsx +0 -18
  475. package/dist/templates/react-app/src/pages/NoRouteFound.tsx +0 -5
  476. package/dist/templates/react-app/src/pages/auth/Layout.tsx +0 -27
  477. package/dist/templates/react-app/src/pages/auth/LoginPage.tsx +0 -166
  478. package/dist/templates/react-app/src/pages/auth/RegisterPage.tsx +0 -226
  479. package/dist/templates/react-app/src/pages/base/AboutPage.tsx +0 -123
  480. package/dist/templates/react-app/src/pages/base/ExecutorPage.tsx +0 -467
  481. package/dist/templates/react-app/src/pages/base/HomePage.tsx +0 -81
  482. package/dist/templates/react-app/src/pages/base/IdentifierPage.tsx +0 -117
  483. package/dist/templates/react-app/src/pages/base/JSONStoragePage.tsx +0 -132
  484. package/dist/templates/react-app/src/pages/base/Layout.tsx +0 -20
  485. package/dist/templates/react-app/src/pages/base/MessagePage.tsx +0 -71
  486. package/dist/templates/react-app/src/pages/base/RedirectPathname.tsx +0 -18
  487. package/dist/templates/react-app/src/pages/base/RequestPage.tsx +0 -193
  488. package/dist/templates/react-app/src/styles/css/antd-themes/_common/_default.css +0 -280
  489. package/dist/templates/react-app/src/styles/css/antd-themes/_common/dark.css +0 -233
  490. package/dist/templates/react-app/src/styles/css/antd-themes/_common/index.css +0 -3
  491. package/dist/templates/react-app/src/styles/css/antd-themes/_common/pink.css +0 -246
  492. package/dist/templates/react-app/src/styles/css/antd-themes/index.css +0 -4
  493. package/dist/templates/react-app/src/styles/css/antd-themes/menu/_default.css +0 -108
  494. package/dist/templates/react-app/src/styles/css/antd-themes/menu/dark.css +0 -67
  495. package/dist/templates/react-app/src/styles/css/antd-themes/menu/index.css +0 -3
  496. package/dist/templates/react-app/src/styles/css/antd-themes/menu/pink.css +0 -67
  497. package/dist/templates/react-app/src/styles/css/antd-themes/no-context.css +0 -34
  498. package/dist/templates/react-app/src/styles/css/antd-themes/pagination/_default.css +0 -34
  499. package/dist/templates/react-app/src/styles/css/antd-themes/pagination/dark.css +0 -31
  500. package/dist/templates/react-app/src/styles/css/antd-themes/pagination/index.css +0 -3
  501. package/dist/templates/react-app/src/styles/css/antd-themes/pagination/pink.css +0 -36
  502. package/dist/templates/react-app/src/styles/css/antd-themes/table/_default.css +0 -44
  503. package/dist/templates/react-app/src/styles/css/antd-themes/table/dark.css +0 -43
  504. package/dist/templates/react-app/src/styles/css/antd-themes/table/index.css +0 -3
  505. package/dist/templates/react-app/src/styles/css/antd-themes/table/pink.css +0 -43
  506. package/dist/templates/react-app/src/styles/css/index.css +0 -6
  507. package/dist/templates/react-app/src/styles/css/page.css +0 -20
  508. package/dist/templates/react-app/src/styles/css/scrollbar.css +0 -34
  509. package/dist/templates/react-app/src/styles/css/tailwind.css +0 -5
  510. package/dist/templates/react-app/src/styles/css/themes/_default.css +0 -30
  511. package/dist/templates/react-app/src/styles/css/themes/dark.css +0 -30
  512. package/dist/templates/react-app/src/styles/css/themes/index.css +0 -3
  513. package/dist/templates/react-app/src/styles/css/themes/pink.css +0 -30
  514. package/dist/templates/react-app/src/styles/css/zIndex.css +0 -9
  515. package/dist/templates/react-app/src/uikit/bridges/ExecutorPageBridge.ts +0 -72
  516. package/dist/templates/react-app/src/uikit/bridges/JSONStoragePageBridge.ts +0 -41
  517. package/dist/templates/react-app/src/uikit/bridges/NavigateBridge.ts +0 -22
  518. package/dist/templates/react-app/src/uikit/bridges/RequestPageBridge.ts +0 -136
  519. package/dist/templates/react-app/src/uikit/components/AppRouterProvider.tsx +0 -35
  520. package/dist/templates/react-app/src/uikit/components/BaseHeader.tsx +0 -51
  521. package/dist/templates/react-app/src/uikit/components/BaseLayoutProvider.tsx +0 -44
  522. package/dist/templates/react-app/src/uikit/components/BaseRouteProvider.tsx +0 -21
  523. package/dist/templates/react-app/src/uikit/components/BaseRouteSeo.tsx +0 -18
  524. package/dist/templates/react-app/src/uikit/components/BootstrapsProvider.tsx +0 -11
  525. package/dist/templates/react-app/src/uikit/components/ClientSeo.tsx +0 -62
  526. package/dist/templates/react-app/src/uikit/components/ComboProvider.tsx +0 -38
  527. package/dist/templates/react-app/src/uikit/components/LanguageSwitcher.tsx +0 -78
  528. package/dist/templates/react-app/src/uikit/components/Loading.tsx +0 -49
  529. package/dist/templates/react-app/src/uikit/components/LocaleLink.tsx +0 -43
  530. package/dist/templates/react-app/src/uikit/components/LogoutButton.tsx +0 -58
  531. package/dist/templates/react-app/src/uikit/components/MessageBaseList.tsx +0 -258
  532. package/dist/templates/react-app/src/uikit/components/RouterRenderComponent.tsx +0 -19
  533. package/dist/templates/react-app/src/uikit/components/ThemeSwitcher.tsx +0 -137
  534. package/dist/templates/react-app/src/uikit/components/With.tsx +0 -17
  535. package/dist/templates/react-app/src/uikit/components/chatMessage/ChatMessageBridge.ts +0 -205
  536. package/dist/templates/react-app/src/uikit/components/chatMessage/ChatRoot.tsx +0 -21
  537. package/dist/templates/react-app/src/uikit/components/chatMessage/FocusBar.tsx +0 -108
  538. package/dist/templates/react-app/src/uikit/components/chatMessage/MessageApi.ts +0 -282
  539. package/dist/templates/react-app/src/uikit/components/chatMessage/MessageItem.tsx +0 -102
  540. package/dist/templates/react-app/src/uikit/components/chatMessage/MessagesList.tsx +0 -86
  541. package/dist/templates/react-app/src/uikit/contexts/BaseRouteContext.ts +0 -42
  542. package/dist/templates/react-app/src/uikit/contexts/IOCContext.ts +0 -13
  543. package/dist/templates/react-app/src/uikit/hooks/useAppTranslation.ts +0 -26
  544. package/dist/templates/react-app/src/uikit/hooks/useI18nInterface.ts +0 -25
  545. package/dist/templates/react-app/src/uikit/hooks/useIOC.ts +0 -35
  546. package/dist/templates/react-app/src/uikit/hooks/useNavigateBridge.ts +0 -21
  547. package/dist/templates/react-app/src/uikit/hooks/useRouterI18nGuard.ts +0 -25
  548. package/dist/templates/react-app/src/uikit/hooks/useStrictEffect.ts +0 -31
  549. package/dist/templates/react-app/src/vite-env.d.ts +0 -1
  550. package/dist/templates/react-app/tailwind.config.js +0 -4
  551. package/dist/templates/react-app/tsconfig.app.json +0 -36
  552. package/dist/templates/react-app/tsconfig.e2e.json +0 -24
  553. package/dist/templates/react-app/tsconfig.json +0 -22
  554. package/dist/templates/react-app/tsconfig.node.json +0 -27
  555. package/dist/templates/react-app/tsconfig.test.json +0 -18
  556. package/dist/templates/react-app/vite.config.ts +0 -144
@@ -1,288 +0,0 @@
1
- /**
2
- * AppConfig test suite
3
- *
4
- * Coverage:
5
- * 1. constructor - Constructor initialization
6
- * 2. basic properties - App name, version, etc.
7
- * 3. OpenAI configuration
8
- * 4. Login configuration
9
- * 5. API endpoints
10
- * 6. Environment detection
11
- * 7. Default values
12
- * 8. Configuration validation
13
- */
14
-
15
- import { envBlackList, envPrefix } from '@config/common';
16
- import { InjectEnv } from '@qlover/corekit-bridge';
17
- import { describe, it, expect, beforeEach, afterEach } from 'vitest';
18
- import { AppConfig } from '@/base/cases/AppConfig';
19
-
20
- // Mock import.meta.env
21
- const mockImportMetaEnv = {
22
- VITE_USER_NODE_ENV: 'test',
23
- VITE_APP_NAME: 'TestApp',
24
- VITE_APP_VERSION: '1.0.0',
25
- VITE_USER_TOKEN_STORAGE_KEY: 'test_user_token',
26
- VITE_USER_INFO_STORAGE_KEY: 'test_user_info',
27
- VITE_OPEN_AI_BASE_URL: 'https://api.openai.com',
28
- VITE_OPEN_AI_TOKEN: 'test_openai_token',
29
- VITE_OPEN_AI_TOKEN_PREFIX: 'Bearer',
30
- VITE_OPEN_AI_REQUIRE_TOKEN: 'true',
31
- VITE_LOGIN_USER: 'testuser',
32
- VITE_LOGIN_PASSWORD: 'testpass',
33
- VITE_FE_API_BASE_URL: 'https://api.fe.com',
34
- VITE_USER_API_BASE_URL: 'https://api.user.com',
35
- VITE_AI_API_BASE_URL: 'https://api.ai.com',
36
- VITE_AI_API_TOKEN: 'test_ai_token',
37
- VITE_AI_API_TOKEN_PREFIX: 'Bearer',
38
- VITE_AI_API_REQUIRE_TOKEN: 'true',
39
- VITE_BOOT_HREF: 'https://test.com'
40
- };
41
-
42
- // Mock window.location
43
- const mockLocation = {
44
- href: 'https://test.com/app'
45
- };
46
-
47
- // Helper function to inject environment variables using InjectEnv plugin
48
- function injectEnvVariables(
49
- config: AppConfig,
50
- envVars: Record<string, string>
51
- ) {
52
- const injectEnv = new InjectEnv({
53
- target: config,
54
- source: envVars,
55
- prefix: envPrefix,
56
- blackList: envBlackList
57
- });
58
-
59
- injectEnv.onBefore();
60
- }
61
-
62
- describe('AppConfig', () => {
63
- let appConfig: AppConfig;
64
- let originalImportMetaEnv: Record<string, string>;
65
- let originalLocation: Location;
66
-
67
- beforeEach(() => {
68
- // Save original values
69
- originalImportMetaEnv = { ...import.meta.env };
70
- originalLocation = window.location;
71
-
72
- // Mock import.meta.env
73
- Object.defineProperty(import.meta, 'env', {
74
- value: { ...mockImportMetaEnv },
75
- writable: true
76
- });
77
-
78
- // Mock window.location
79
- Object.defineProperty(window, 'location', {
80
- value: mockLocation,
81
- writable: true
82
- });
83
-
84
- appConfig = new AppConfig();
85
-
86
- // Simulate environment variable injection
87
- injectEnvVariables(appConfig, mockImportMetaEnv);
88
- });
89
-
90
- afterEach(() => {
91
- // Restore original values
92
- Object.defineProperty(import.meta, 'env', {
93
- value: originalImportMetaEnv,
94
- writable: true
95
- });
96
- Object.defineProperty(window, 'location', {
97
- value: originalLocation,
98
- writable: true
99
- });
100
- });
101
-
102
- describe('Basic Properties', () => {
103
- it('should have correct appName', () => {
104
- expect(appConfig.appName).toBe('TestApp');
105
- });
106
-
107
- it('should have correct appVersion', () => {
108
- expect(appConfig.appVersion).toBe('1.0.0');
109
- });
110
-
111
- it('should have correct env', () => {
112
- // because blackList
113
- expect(appConfig.env).toBeUndefined();
114
- });
115
-
116
- it('should have correct userTokenStorageKey', () => {
117
- expect(appConfig.userTokenStorageKey).toBe('test_user_token');
118
- });
119
-
120
- it('should have correct userInfoStorageKey', () => {
121
- expect(appConfig.userInfoStorageKey).toBe('test_user_info');
122
- });
123
- });
124
-
125
- describe('OpenAI Configuration', () => {
126
- it('should have correct openAiModels', () => {
127
- const expectedModels = [
128
- 'gpt-4o-mini',
129
- 'gpt-3.5-turbo',
130
- 'gpt-3.5-turbo-2',
131
- 'gpt-4',
132
- 'gpt-4-32k'
133
- ];
134
- expect(appConfig.openAiModels).toEqual(expectedModels);
135
- });
136
-
137
- it('should have correct openAiBaseUrl', () => {
138
- expect(appConfig.openAiBaseUrl).toBe('https://api.openai.com');
139
- });
140
-
141
- it('should have correct openAiToken', () => {
142
- expect(appConfig.openAiToken).toBe('test_openai_token');
143
- });
144
-
145
- it('should have correct openAiTokenPrefix', () => {
146
- expect(appConfig.openAiTokenPrefix).toBe('Bearer');
147
- });
148
-
149
- it('should have correct openAiRequireToken', () => {
150
- expect(appConfig.openAiRequireToken).toBe(true);
151
- });
152
- });
153
-
154
- describe('Login Configuration', () => {
155
- it('should have correct loginUser', () => {
156
- expect(appConfig.loginUser).toBe('testuser');
157
- });
158
-
159
- it('should have correct loginPassword', () => {
160
- expect(appConfig.loginPassword).toBe('testpass');
161
- });
162
- });
163
-
164
- describe('API Configuration', () => {
165
- it('should have correct feApiBaseUrl', () => {
166
- expect(appConfig.feApiBaseUrl).toBe('https://api.fe.com');
167
- });
168
-
169
- it('should have correct userApiBaseUrl', () => {
170
- expect(appConfig.userApiBaseUrl).toBe('https://api.user.com');
171
- });
172
-
173
- it('should have correct aiApiBaseUrl', () => {
174
- expect(appConfig.aiApiBaseUrl).toBe('https://api.ai.com');
175
- });
176
-
177
- it('should have correct aiApiToken', () => {
178
- expect(appConfig.aiApiToken).toBe('test_ai_token');
179
- });
180
-
181
- it('should have correct aiApiTokenPrefix', () => {
182
- expect(appConfig.aiApiTokenPrefix).toBe('Bearer');
183
- });
184
-
185
- it('should have correct aiApiRequireToken', () => {
186
- expect(appConfig.aiApiRequireToken).toBe(true);
187
- });
188
- });
189
-
190
- describe('Boot Configuration', () => {
191
- it('should have correct bootHref', () => {
192
- expect(appConfig.bootHref).toBe('https://test.com');
193
- });
194
- });
195
-
196
- describe('Environment Detection', () => {
197
- it('should correctly identify production environment', () => {
198
- const productionConfig = new AppConfig('production');
199
- expect(productionConfig.isProduction).toBe(true);
200
- });
201
-
202
- it('should correctly identify non-production environment', () => {
203
- // Mock development environment
204
- Object.defineProperty(import.meta, 'env', {
205
- value: { ...mockImportMetaEnv, VITE_USER_NODE_ENV: 'development' },
206
- writable: true
207
- });
208
-
209
- const developmentConfig = new AppConfig();
210
- expect(developmentConfig.isProduction).toBe(false);
211
- });
212
-
213
- it('should correctly identify test environment', () => {
214
- expect(appConfig.isProduction).toBe(false);
215
- });
216
- });
217
-
218
- describe('Property Types', () => {
219
- it('should have correct property types', () => {
220
- expect(typeof appConfig.appName).toBe('string');
221
- expect(typeof appConfig.appVersion).toBe('string');
222
- expect(appConfig.env).toBeUndefined(); // because blackList
223
- expect(typeof appConfig.userInfoStorageKey).toBe('string');
224
- });
225
- });
226
-
227
- describe('Default Values', () => {
228
- it('should have sensible default values when environment variables are not set', () => {
229
- // Mock empty environment
230
- Object.defineProperty(import.meta, 'env', {
231
- value: {},
232
- writable: true
233
- });
234
-
235
- const defaultConfig = new AppConfig();
236
- // Don't inject environment variables to test defaults
237
-
238
- expect(defaultConfig.appName).toBe('');
239
- expect(defaultConfig.appVersion).toBe('');
240
- expect(defaultConfig.userTokenStorageKey).toBe('__fe_user_token__');
241
- expect(defaultConfig.userInfoStorageKey).toBe('__fe_user_info__');
242
- expect(defaultConfig.openAiRequireToken).toBe(true);
243
- expect(defaultConfig.aiApiBaseUrl).toBe('https://api.openai.com/v1');
244
- expect(defaultConfig.aiApiTokenPrefix).toBe('Bearer');
245
- expect(defaultConfig.aiApiRequireToken).toBe(true);
246
- });
247
- });
248
-
249
- describe('Configuration Validation', () => {
250
- it('should have valid OpenAI models configuration', () => {
251
- expect(Array.isArray(appConfig.openAiModels)).toBe(true);
252
- expect(appConfig.openAiModels.length).toBeGreaterThan(0);
253
-
254
- // Check that all models are strings
255
- appConfig.openAiModels.forEach((model) => {
256
- expect(typeof model).toBe('string');
257
- expect(model.length).toBeGreaterThan(0);
258
- });
259
- });
260
-
261
- it('should have valid storage keys', () => {
262
- expect(typeof appConfig.userTokenStorageKey).toBe('string');
263
- expect(typeof appConfig.userInfoStorageKey).toBe('string');
264
- expect(appConfig.userTokenStorageKey.length).toBeGreaterThan(0);
265
- expect(appConfig.userInfoStorageKey.length).toBeGreaterThan(0);
266
- });
267
-
268
- it('should have valid API URLs when provided', () => {
269
- // Test with valid URLs
270
- const validUrlConfig = new AppConfig();
271
- if (validUrlConfig.aiApiBaseUrl) {
272
- expect(validUrlConfig.aiApiBaseUrl).toMatch(/^https?:\/\//);
273
- }
274
- });
275
- });
276
-
277
- describe('Instance Creation', () => {
278
- it('should create new instance with default values', () => {
279
- const newConfig = new AppConfig();
280
- expect(newConfig).toBeInstanceOf(AppConfig);
281
- });
282
-
283
- it('should create new instance with custom environment', () => {
284
- const customConfig = new AppConfig('custom');
285
- expect(customConfig.env).toBe('custom');
286
- });
287
- });
288
- });
@@ -1,226 +0,0 @@
1
- /**
2
- * DialogHandler test suite
3
- *
4
- * Coverage:
5
- * 1. constructor - Constructor initialization
6
- * 2. setters - Message, Modal, Notification setters
7
- * 3. formatErrorMessage - Error message formatting
8
- * 4. notification methods - success, error, info, warn
9
- * 5. confirm method - Modal confirmation
10
- * 6. edge cases - Null/undefined handling
11
- */
12
-
13
- import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
14
- import { DialogHandler } from '@/base/cases/DialogHandler';
15
- import type {
16
- MessageApi,
17
- ModalApi,
18
- NotificationApi
19
- } from '@brain-toolkit/antd-theme-override/react';
20
-
21
- describe('DialogHandler', () => {
22
- let dialogHandler: DialogHandler;
23
- let mockMessage: MessageApi;
24
- let mockModal: ModalApi;
25
- let mockNotification: NotificationApi;
26
-
27
- beforeEach(() => {
28
- // Create mock APIs
29
- mockMessage = {
30
- success: vi.fn(),
31
- error: vi.fn(),
32
- info: vi.fn(),
33
- warning: vi.fn()
34
- } as unknown as MessageApi;
35
-
36
- mockModal = {
37
- confirm: vi.fn()
38
- } as unknown as ModalApi;
39
-
40
- mockNotification = {
41
- success: vi.fn(),
42
- error: vi.fn(),
43
- info: vi.fn(),
44
- warning: vi.fn()
45
- } as unknown as NotificationApi;
46
-
47
- // Initialize DialogHandler
48
- dialogHandler = new DialogHandler();
49
- });
50
-
51
- afterEach(() => {
52
- vi.clearAllMocks();
53
- });
54
-
55
- describe('constructor', () => {
56
- it('should create instance with empty antds object', () => {
57
- expect(dialogHandler).toBeInstanceOf(DialogHandler);
58
- expect((dialogHandler as any).antds).toEqual({});
59
- });
60
- });
61
-
62
- describe('setters', () => {
63
- it('should set message api', () => {
64
- dialogHandler.setMessage(mockMessage);
65
- expect((dialogHandler as any).antds.message).toBe(mockMessage);
66
- });
67
-
68
- it('should set modal api', () => {
69
- dialogHandler.setModal(mockModal);
70
- expect((dialogHandler as any).antds.modal).toBe(mockModal);
71
- });
72
-
73
- it('should set notification api', () => {
74
- dialogHandler.setNotification(mockNotification);
75
- expect((dialogHandler as any).antds.notification).toBe(mockNotification);
76
- });
77
- });
78
-
79
- describe('formatErrorMessage', () => {
80
- it('should format Error object', () => {
81
- const error = new Error('test error');
82
- const result = (dialogHandler as any).formatErrorMessage(error);
83
- expect(result).toBe('test error');
84
- });
85
-
86
- it('should format string error', () => {
87
- const result = (dialogHandler as any).formatErrorMessage('test error');
88
- expect(result).toBe('test error');
89
- });
90
-
91
- it('should handle unknown error type', () => {
92
- const result = (dialogHandler as any).formatErrorMessage({});
93
- expect(result).toBe('An unknown error occurred');
94
- });
95
- });
96
-
97
- describe('notification methods', () => {
98
- beforeEach(() => {
99
- dialogHandler.setMessage(mockMessage);
100
- });
101
-
102
- describe('success', () => {
103
- it('should call message.success with content', () => {
104
- dialogHandler.success('test success');
105
- expect(mockMessage.success).toHaveBeenCalledWith({
106
- content: 'test success'
107
- });
108
- });
109
-
110
- it('should pass through options', () => {
111
- const options = { duration: 5000 };
112
- dialogHandler.success('test success', options);
113
- expect(mockMessage.success).toHaveBeenCalledWith({
114
- content: 'test success',
115
- ...options
116
- });
117
- });
118
- });
119
-
120
- describe('error', () => {
121
- it('should call message.error with content', () => {
122
- dialogHandler.error('test error');
123
- expect(mockMessage.error).toHaveBeenCalledWith({
124
- content: 'test error'
125
- });
126
- });
127
-
128
- it('should format error from options', () => {
129
- const error = new Error('formatted error');
130
- const options = { error };
131
- dialogHandler.error('test error', options);
132
- expect(mockMessage.error).toHaveBeenCalledWith({
133
- content: 'formatted error',
134
- error
135
- });
136
- });
137
-
138
- it('should pass through additional options', () => {
139
- const error = new Error('formatted error');
140
- const options = { error, duration: 5000 };
141
- dialogHandler.error('test error', options);
142
- expect(mockMessage.error).toHaveBeenCalledWith({
143
- content: 'formatted error',
144
- error,
145
- duration: 5000
146
- });
147
- });
148
- });
149
-
150
- describe('info', () => {
151
- it('should call message.info with content', () => {
152
- dialogHandler.info('test info');
153
- expect(mockMessage.info).toHaveBeenCalledWith({
154
- content: 'test info'
155
- });
156
- });
157
-
158
- it('should pass through options', () => {
159
- const options = { duration: 5000 };
160
- dialogHandler.info('test info', options);
161
- expect(mockMessage.info).toHaveBeenCalledWith({
162
- content: 'test info',
163
- ...options
164
- });
165
- });
166
- });
167
-
168
- describe('warn', () => {
169
- it('should call message.warning with content', () => {
170
- dialogHandler.warn('test warning');
171
- expect(mockMessage.warning).toHaveBeenCalledWith({
172
- content: 'test warning'
173
- });
174
- });
175
-
176
- it('should pass through options', () => {
177
- const options = { duration: 5000 };
178
- dialogHandler.warn('test warning', options);
179
- expect(mockMessage.warning).toHaveBeenCalledWith({
180
- content: 'test warning',
181
- ...options
182
- });
183
- });
184
- });
185
- });
186
-
187
- describe('confirm', () => {
188
- beforeEach(() => {
189
- dialogHandler.setModal(mockModal);
190
- });
191
-
192
- it('should call modal.confirm with options', () => {
193
- const options = {
194
- title: 'Confirm',
195
- content: 'Are you sure?',
196
- onOk: vi.fn(),
197
- onCancel: vi.fn()
198
- };
199
- dialogHandler.confirm(options);
200
- expect(mockModal.confirm).toHaveBeenCalledWith(options);
201
- });
202
- });
203
-
204
- describe('edge cases', () => {
205
- it('should handle undefined message api', () => {
206
- expect(() => dialogHandler.success('test')).not.toThrow();
207
- expect(() => dialogHandler.error('test')).not.toThrow();
208
- expect(() => dialogHandler.info('test')).not.toThrow();
209
- expect(() => dialogHandler.warn('test')).not.toThrow();
210
- });
211
-
212
- it('should handle undefined modal api', () => {
213
- const options = {
214
- title: 'test',
215
- content: 'test content'
216
- };
217
- expect(() => dialogHandler.confirm(options)).not.toThrow();
218
- });
219
-
220
- it('should handle undefined notification api', () => {
221
- expect(() =>
222
- dialogHandler.setNotification(undefined as any)
223
- ).not.toThrow();
224
- });
225
- });
226
- });
@@ -1,178 +0,0 @@
1
- /**
2
- * I18nKeyErrorPlugin test suite
3
- *
4
- * Coverage:
5
- * 1. constructor - Constructor initialization
6
- * 2. plugin name - Plugin name verification
7
- * 3. onError handling - Error translation behavior
8
- * 4. edge cases - Various error scenarios
9
- */
10
-
11
- import { MockLogger } from '@__mocks__/MockLogger';
12
- import { ExecutorContextImpl } from '@qlover/fe-corekit';
13
- import { describe, it, expect, beforeEach } from 'vitest';
14
- import { I18nKeyErrorPlugin } from '@/base/cases/I18nKeyErrorPlugin';
15
- import { I18nService } from '@/base/services/I18nService';
16
-
17
- class MockI18nService extends I18nService {
18
- constructor() {
19
- super('/');
20
- }
21
-
22
- public t = vi.fn((key: string) => key);
23
- public changeLanguage = vi.fn();
24
- public changeLoading = vi.fn();
25
- public onBefore = vi.fn();
26
- }
27
-
28
- describe('I18nKeyErrorPlugin', () => {
29
- let plugin: I18nKeyErrorPlugin;
30
- let mockLogger: MockLogger;
31
- let mockI18nService: MockI18nService;
32
-
33
- beforeEach(() => {
34
- mockLogger = new MockLogger();
35
- mockI18nService = new MockI18nService();
36
- plugin = new I18nKeyErrorPlugin(mockLogger, mockI18nService);
37
- });
38
-
39
- describe('plugin properties', () => {
40
- it('should have correct plugin name', () => {
41
- expect(plugin.pluginName).toBe('I18nKeyErrorPlugin');
42
- });
43
- });
44
-
45
- describe('onError handling', () => {
46
- it('should handle non-Error objects', () => {
47
- const context = new ExecutorContextImpl({});
48
- context.setError(new Error('not an error'));
49
- const result = plugin.onError(context);
50
- expect(result).toBeUndefined();
51
- expect(mockLogger.debug).not.toHaveBeenCalled();
52
- expect(mockI18nService.t).toHaveBeenCalledWith('not an error');
53
- });
54
-
55
- it('should handle Error objects without i18n key', () => {
56
- const error = new Error('regular error');
57
- const context = new ExecutorContextImpl({});
58
- context.setError(error);
59
- const result = plugin.onError(context);
60
- expect(result).toBeUndefined();
61
- expect(mockLogger.debug).not.toHaveBeenCalled();
62
- expect(mockI18nService.t).toHaveBeenCalledWith('regular error');
63
- });
64
-
65
- it('should translate i18n key errors', () => {
66
- const error = new Error('error.key');
67
- mockI18nService.t.mockReturnValueOnce('Translated error message');
68
-
69
- const context = new ExecutorContextImpl({});
70
- context.setError(error);
71
-
72
- const result = plugin.onError(context);
73
-
74
- expect(result).toBeInstanceOf(Error);
75
- expect(result?.message).toBe('Translated error message');
76
- expect(mockLogger.debug).toHaveBeenCalledWith(
77
- 'I18nKeyErrorPlugin Error:',
78
- 'Translated error message'
79
- );
80
- expect(mockI18nService.t).toHaveBeenCalledWith('error.key');
81
- });
82
-
83
- it('should not translate when i18n returns same key', () => {
84
- const error = new Error('error.key');
85
- mockI18nService.t.mockReturnValueOnce('error.key');
86
-
87
- const context = new ExecutorContextImpl({});
88
- context.setError(error);
89
-
90
- const result = plugin.onError(context);
91
-
92
- expect(result).toBeUndefined();
93
- expect(mockLogger.debug).not.toHaveBeenCalled();
94
- expect(mockI18nService.t).toHaveBeenCalledWith('error.key');
95
- });
96
- });
97
-
98
- describe('error translation', () => {
99
- it('should handle complex i18n keys with parameters', () => {
100
- const error = new Error('error.with.params');
101
- mockI18nService.t.mockReturnValueOnce(
102
- 'Error with param1: {0} and param2: {1}'
103
- );
104
-
105
- const context = new ExecutorContextImpl({});
106
- context.setError(error);
107
-
108
- const result = plugin.onError(context);
109
-
110
- expect(result).toBeInstanceOf(Error);
111
- expect(mockI18nService.t).toHaveBeenCalledWith('error.with.params');
112
- expect(mockLogger.debug).toHaveBeenCalled();
113
- });
114
-
115
- it('should handle nested error objects', () => {
116
- const originalError = new Error('original.error');
117
- const wrappedError = new Error('wrapped.error');
118
- // @ts-expect-error
119
- wrappedError.cause = originalError;
120
-
121
- mockI18nService.t
122
- .mockReturnValueOnce('Wrapped Error')
123
- .mockReturnValueOnce('Original Error');
124
-
125
- const context = new ExecutorContextImpl({});
126
- context.setError(wrappedError);
127
-
128
- const result = plugin.onError(context);
129
-
130
- expect(result).toBeInstanceOf(Error);
131
- expect(mockI18nService.t).toHaveBeenCalledWith('wrapped.error');
132
- expect(mockLogger.debug).toHaveBeenCalled();
133
- });
134
- });
135
-
136
- describe('edge cases', () => {
137
- it('should handle empty error message', () => {
138
- const error = new Error('');
139
- const context = new ExecutorContextImpl({});
140
- context.setError(error);
141
- const result = plugin.onError(context);
142
- expect(result).toBeUndefined();
143
- expect(mockLogger.debug).not.toHaveBeenCalled();
144
- // Empty string is not a valid i18n key, so t() should not be called
145
- expect(mockI18nService.t).not.toHaveBeenCalled();
146
- });
147
-
148
- it('should handle null error message', () => {
149
- const error = new Error();
150
- error.message = ''; // Force empty message
151
- const context = new ExecutorContextImpl({});
152
- context.setError(error);
153
- const result = plugin.onError(context);
154
- expect(result).toBeUndefined();
155
- expect(mockLogger.debug).not.toHaveBeenCalled();
156
- // Empty string is not a valid i18n key, so t() should not be called
157
- expect(mockI18nService.t).not.toHaveBeenCalled();
158
- });
159
-
160
- it('should handle undefined context error', () => {
161
- const context = new ExecutorContextImpl({});
162
- context.setError(undefined);
163
- const result = plugin.onError(context);
164
- expect(result).toBeUndefined();
165
- expect(mockLogger.debug).not.toHaveBeenCalled();
166
- expect(mockI18nService.t).not.toHaveBeenCalled();
167
- });
168
-
169
- it('should handle null context error', () => {
170
- const context = new ExecutorContextImpl({});
171
- context.setError(null);
172
- const result = plugin.onError(context);
173
- expect(result).toBeUndefined();
174
- expect(mockLogger.debug).not.toHaveBeenCalled();
175
- expect(mockI18nService.t).not.toHaveBeenCalled();
176
- });
177
- });
178
- });