@qlover/create-app 1.0.2 → 2.0.0

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 +43 -0
  2. package/dist/index.cjs +9 -9
  3. package/dist/index.js +9 -9
  4. package/package.json +4 -3
  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 -51
  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,53 +0,0 @@
1
- import { appConfig as globalsAppConfig } from '@/core/globals';
2
- import { IOCContext } from '@/uikit/contexts/IOCContext';
3
- import { TestRouter } from './TestRouter';
4
- import { testIOC } from '../testIOC/TestIOC';
5
- import type { EnvConfigInterface } from '@qlover/corekit-bridge';
6
- export interface TestBootstrapsProviderProps {
7
- children: React.ReactNode;
8
- /**
9
- * Initial URL path for the router
10
- * @default ['/en/']
11
- */
12
- routerInitialEntries?: string[];
13
- /**
14
- * Initial index of the entries array
15
- * @default 0
16
- */
17
- routerInitialIndex?: number;
18
-
19
- /**
20
- * The boot href
21
- *
22
- * @default `https://localhost.test:3000/en/`
23
- */
24
- bootHref?: string;
25
-
26
- appConfig?: EnvConfigInterface;
27
- }
28
-
29
- const defaultBootHref = 'https://localhost.test:3000/en/';
30
-
31
- export function TestBootstrapsProvider({
32
- children,
33
- routerInitialEntries,
34
- routerInitialIndex,
35
- bootHref,
36
- appConfig
37
- }: TestBootstrapsProviderProps) {
38
- const IOC = testIOC.create({
39
- pathname: bootHref ?? defaultBootHref,
40
- appConfig: appConfig ?? globalsAppConfig
41
- });
42
-
43
- return (
44
- <IOCContext.Provider value={IOC}>
45
- <TestRouter
46
- initialEntries={routerInitialEntries}
47
- initialIndex={routerInitialIndex}
48
- >
49
- {children}
50
- </TestRouter>
51
- </IOCContext.Provider>
52
- );
53
- }
@@ -1,46 +0,0 @@
1
- import { MemoryRouter } from 'react-router-dom';
2
- import type { ReactNode } from 'react';
3
-
4
- interface TestRouterProps {
5
- children: ReactNode;
6
- /**
7
- * Initial URL path for the router
8
- * @default '/en/'
9
- */
10
- initialEntries?: string[];
11
- /**
12
- * Initial index of the entries array
13
- * @default 0
14
- */
15
- initialIndex?: number;
16
- }
17
-
18
- /**
19
- * TestRouter - A reusable router wrapper for tests
20
- *
21
- * Usage:
22
- * ```tsx
23
- * import { TestRouter } from '__tests__/__mocks__/components/TestRouter';
24
- *
25
- * render(
26
- * <TestRouter initialEntries={['/en/dashboard']}>
27
- * <YourComponent />
28
- * </TestRouter>
29
- * );
30
- * ```
31
- */
32
- export function TestRouter({
33
- children,
34
- initialEntries = ['/en/'],
35
- initialIndex = 0
36
- }: TestRouterProps) {
37
- return (
38
- <MemoryRouter
39
- data-testid="TestRouter"
40
- initialEntries={initialEntries}
41
- initialIndex={initialIndex}
42
- >
43
- {children}
44
- </MemoryRouter>
45
- );
46
- }
@@ -1,12 +0,0 @@
1
- /**
2
- * Test Components - Reusable test wrappers
3
- *
4
- * These components provide common test infrastructure:
5
- * - TestRouter: Provides React Router context
6
- * - TestBootstrapsProvider: Provides IOC context + Router
7
- * - TestApp: Complete test wrapper (IOC + Router)
8
- */
9
-
10
- export { TestRouter } from './TestRouter';
11
- export { TestBootstrapsProvider } from './TestBootstrapsProvider';
12
- export { TestApp } from './TestApp';
@@ -1,96 +0,0 @@
1
- import { vi } from 'vitest';
2
- import { MockAppConfig } from './MockAppConfig';
3
- import { MockDialogHandler } from './MockDialogHandler';
4
- import { MockLogger } from './MockLogger';
5
-
6
- export function createMockGlobals() {
7
- const mockLogger = new MockLogger();
8
- const mockAppConfig = new MockAppConfig();
9
- const mockDialogHandler = new MockDialogHandler();
10
-
11
- // Mock JSON serializer
12
- const mockJSON = {
13
- serialize: vi.fn((data) => JSON.stringify(data)),
14
- deserialize: vi.fn((data) => JSON.parse(data)),
15
- stringify: vi.fn((data) => JSON.stringify(data)),
16
- parse: vi.fn((data) => JSON.parse(data))
17
- };
18
-
19
- const storageOptions: Record<string, any> = {
20
- localStorage: {},
21
- cookieStorage: {},
22
- localStorageEncrypt: {}
23
- };
24
-
25
- // Mock localStorage with actual storage simulation
26
- const mockLocalStorageData = storageOptions.localStorage ?? {};
27
- const mockLocalStorage = {
28
- get: vi.fn((key: string) => mockLocalStorageData[key]),
29
- set: vi.fn((key: string, value: unknown) => {
30
- mockLocalStorageData[key] = value;
31
- }),
32
- getItem: vi.fn((key: string) => mockLocalStorageData[key]),
33
- setItem: vi.fn((key: string, value: unknown) => {
34
- mockLocalStorageData[key] = value;
35
- }),
36
- remove: vi.fn((key: string) => {
37
- delete mockLocalStorageData[key];
38
- }),
39
- removeItem: vi.fn((key: string) => {
40
- delete mockLocalStorageData[key];
41
- }),
42
- clear: vi.fn(() => {
43
- Object.keys(mockLocalStorageData).forEach((key) => {
44
- delete mockLocalStorageData[key];
45
- });
46
- }),
47
- has: vi.fn((key: string) => key in mockLocalStorageData),
48
- keys: vi.fn(() => Object.keys(mockLocalStorageData)),
49
- size: vi.fn(() => Object.keys(mockLocalStorageData).length)
50
- };
51
-
52
- // Mock localStorageEncrypt (same as localStorage for now)
53
- const mockLocalStorageEncrypt = { ...mockLocalStorage };
54
-
55
- // Mock cookieStorage
56
- const mockCookieStorageData = storageOptions.cookieStorage ?? {};
57
- const mockCookieStorage = {
58
- get: vi.fn((key: string) => mockCookieStorageData[key]),
59
- set: vi.fn((key: string, value: unknown, _options?: unknown) => {
60
- mockCookieStorageData[key] = value;
61
- }),
62
- getItem: vi.fn((key: string) => mockCookieStorageData[key]),
63
- setItem: vi.fn((key: string, value: unknown, _options?: unknown) => {
64
- mockCookieStorageData[key] = value;
65
- }),
66
- remove: vi.fn((key: string) => {
67
- delete mockCookieStorageData[key];
68
- }),
69
- removeItem: vi.fn((key: string) => {
70
- delete mockCookieStorageData[key];
71
- }),
72
- clear: vi.fn(() => {
73
- Object.keys(mockCookieStorageData).forEach((key) => {
74
- delete mockCookieStorageData[key];
75
- });
76
- }),
77
- has: vi.fn((key: string) => key in mockCookieStorageData),
78
- keys: vi.fn(() => Object.keys(mockCookieStorageData)),
79
- size: vi.fn(() => Object.keys(mockCookieStorageData).length)
80
- };
81
-
82
- // Add length property to prevent lodash.omit from treating this as array-like
83
- // This is needed because BootstrapClient uses omit(globals, ...) and lodash
84
- // checks for length property to determine if object is array-like
85
- return {
86
- logger: mockLogger,
87
- appConfig: mockAppConfig,
88
- dialogHandler: mockDialogHandler,
89
- JSON: mockJSON,
90
- localStorage: mockLocalStorage,
91
- localStorageEncrypt: mockLocalStorageEncrypt,
92
- cookieStorage: mockCookieStorage,
93
- // Explicitly define length as undefined to satisfy lodash's isArrayLike check
94
- length: undefined
95
- };
96
- }
@@ -1,110 +0,0 @@
1
- /**
2
- * Mock i18next-http-backend for testing
3
- *
4
- * This mock prevents network requests while still allowing i18next to work properly.
5
- * It loads translation data directly from JSON files, enabling translation testing.
6
- */
7
-
8
- import enCommon from '../../public/locales/en/common.json';
9
- import zhCommon from '../../public/locales/zh/common.json';
10
- import type { i18n as I18nType } from 'i18next';
11
-
12
- // Translation resources loaded from JSON files
13
- const resources: Record<string, Record<string, Record<string, string>>> = {
14
- en: {
15
- common: enCommon as Record<string, string>
16
- },
17
- zh: {
18
- common: zhCommon as Record<string, string>
19
- }
20
- };
21
-
22
- /**
23
- * Mock HttpApi backend class for i18next
24
- * Implements the backend interface to avoid network requests
25
- */
26
- export class MockHttpBackend {
27
- public type = 'backend';
28
-
29
- /**
30
- * Initialize the backend
31
- * This is called by i18next when .use() is called
32
- */
33
- public init(
34
- _services: unknown,
35
- _backendOptions: unknown,
36
- _i18nextOptions: unknown,
37
- i18nextInstance: I18nType
38
- ): void {
39
- // Preload resources directly into i18next
40
- if (
41
- i18nextInstance &&
42
- typeof i18nextInstance.addResourceBundle === 'function'
43
- ) {
44
- // Add resources for all languages and namespaces
45
- Object.keys(resources).forEach((lng) => {
46
- Object.keys(resources[lng]).forEach((ns) => {
47
- i18nextInstance.addResourceBundle(
48
- lng,
49
- ns,
50
- resources[lng][ns],
51
- true,
52
- true
53
- );
54
- });
55
- });
56
- }
57
- }
58
-
59
- /**
60
- * Read translation data for a language and namespace
61
- * This method is called by i18next to load translations
62
- */
63
- public read(
64
- language: string,
65
- namespace: string,
66
- callback: (error: Error | null, data?: Record<string, string>) => void
67
- ): void {
68
- try {
69
- const data = resources[language]?.[namespace];
70
- if (data) {
71
- // Return immediately with the data
72
- callback(null, data);
73
- } else {
74
- callback(new Error(`Translation not found: ${language}/${namespace}`));
75
- }
76
- } catch (error) {
77
- callback(error as Error);
78
- }
79
- }
80
-
81
- /**
82
- * Load URL - called by i18next-http-backend to load from URL
83
- * We intercept this and return data from memory instead
84
- */
85
- public loadUrl(
86
- _url: string,
87
- callback: (error: Error | null, data?: Record<string, string>) => void
88
- ): void {
89
- // Extract language and namespace from URL if possible
90
- // Format: /locales/{{lng}}/{{ns}}.json
91
- const match = _url.match(/locales\/([^/]+)\/([^/]+)\.json/);
92
- if (match) {
93
- const [, lng, ns] = match;
94
- const data = resources[lng]?.[ns];
95
- if (data) {
96
- callback(null, data);
97
- return;
98
- }
99
- }
100
- // Fallback: return empty object
101
- callback(null, {});
102
- }
103
-
104
- /**
105
- * Create - not used in our mock
106
- */
107
- public create(): void {
108
- // No-op
109
- }
110
- }
@@ -1,55 +0,0 @@
1
- import { createIOCFunction } from '@qlover/corekit-bridge';
2
- import { InversifyContainer } from '@/base/cases/InversifyContainer';
3
- import type {
4
- IOCInterface,
5
- IocRegisterOptions
6
- } from '@/base/port/IOCInterface';
7
- import type { IOCIdentifierMap } from '@config/IOCIdentifier';
8
- import { TestIOCRegister } from './TestIOCRegister';
9
- import type {
10
- IOCContainerInterface,
11
- IOCFunctionInterface
12
- } from '@qlover/corekit-bridge';
13
-
14
- export class TestIOC implements IOCInterface<
15
- IOCIdentifierMap,
16
- IOCContainerInterface
17
- > {
18
- protected ioc: IOCFunctionInterface<
19
- IOCIdentifierMap,
20
- IOCContainerInterface
21
- > | null = null;
22
-
23
- public getIoc(): IOCFunctionInterface<
24
- IOCIdentifierMap,
25
- IOCContainerInterface
26
- > | null {
27
- return this.ioc;
28
- }
29
-
30
- /**
31
- * @override
32
- */
33
- public create(
34
- options: IocRegisterOptions
35
- ): IOCFunctionInterface<IOCIdentifierMap, IOCContainerInterface> {
36
- if (this.ioc) {
37
- return this.ioc;
38
- }
39
-
40
- this.ioc = createIOCFunction<IOCIdentifierMap>(new InversifyContainer());
41
-
42
- // move to BootstrapClient
43
- const register = new TestIOCRegister(options);
44
- // const register = new ClientIOCRegister({
45
- // pathname: '/en/test',
46
- // appConfig: appConfig
47
- // });
48
-
49
- register.register(this.ioc.implemention!, this.ioc);
50
-
51
- return this.ioc;
52
- }
53
- }
54
-
55
- export const testIOC = new TestIOC();
@@ -1,74 +0,0 @@
1
- import { baseNoLocaleRoutes, baseRoutes } from '@config/app.router';
2
- import { routerPrefix, useLocaleRoutes } from '@config/common';
3
- import { I } from '@config/IOCIdentifier';
4
- import { themeConfig } from '@config/theme';
5
- import { ThemeService } from '@qlover/corekit-bridge';
6
- import type { IocRegisterOptions } from '@/base/port/IOCInterface';
7
- import { I18nService } from '@/base/services/I18nService';
8
- import { RouteService } from '@/base/services/RouteService';
9
- import * as globals from '@/core/globals';
10
- import { NavigateBridge } from '@/uikit/bridges/NavigateBridge';
11
- import type {
12
- IOCContainerInterface,
13
- IOCManagerInterface,
14
- IOCRegisterInterface,
15
- ThemeServiceProps
16
- } from '@qlover/corekit-bridge';
17
-
18
- /**
19
- * TestIOCRegister - Register mock services for testing
20
- */
21
- export class TestIOCRegister implements IOCRegisterInterface<
22
- IOCContainerInterface,
23
- IocRegisterOptions
24
- > {
25
- constructor(protected options: IocRegisterOptions) {}
26
-
27
- protected registerGlobals(ioc: IOCContainerInterface): void {
28
- const { appConfig, dialogHandler, localStorageEncrypt, JSON, logger } =
29
- globals;
30
-
31
- ioc.bind(I.JSONSerializer, JSON);
32
- ioc.bind(I.Logger, logger);
33
- ioc.bind(I.AppConfig, appConfig);
34
- ioc.bind(I.EnvConfigInterface, appConfig);
35
- ioc.bind(I.DialogHandler, dialogHandler);
36
- ioc.bind(I.UIDialogInterface, dialogHandler);
37
- ioc.bind(I.AntdStaticApiInterface, dialogHandler);
38
- ioc.bind(I.LocalStorage, globals.localStorage);
39
- ioc.bind(I.LocalStorageEncrypt, localStorageEncrypt);
40
- ioc.bind(I.CookieStorage, globals.cookieStorage);
41
- }
42
-
43
- /**
44
- * @override
45
- */
46
- public register(
47
- ioc: IOCContainerInterface,
48
- _manager: IOCManagerInterface<IOCContainerInterface>
49
- ): void {
50
- this.registerGlobals(ioc);
51
-
52
- ioc.bind(I.I18nServiceInterface, new I18nService(this.options.pathname));
53
- ioc.bind(
54
- I.RouteServiceInterface,
55
- new RouteService(
56
- ioc.get(NavigateBridge),
57
- ioc.get(I.I18nServiceInterface),
58
- {
59
- routes: useLocaleRoutes ? baseRoutes : baseNoLocaleRoutes,
60
- logger: ioc.get(I.Logger),
61
- hasLocalRoutes: useLocaleRoutes,
62
- routerPrefix: routerPrefix
63
- }
64
- )
65
- );
66
- ioc.bind(
67
- I.ThemeService,
68
- new ThemeService({
69
- ...(themeConfig as unknown as ThemeServiceProps),
70
- storage: ioc.get(I.LocalStorage)
71
- })
72
- );
73
- }
74
- }
@@ -1 +0,0 @@
1
- import './setupGlobal';
@@ -1,64 +0,0 @@
1
- import { createMockGlobals } from '__tests__/__mocks__/createMockGlobals';
2
-
3
- // 设置测试环境
4
- beforeEach(() => {
5
- // 清理DOM
6
- document.body.innerHTML = '';
7
-
8
- // 创建root元素(如果不存在)
9
- if (!document.getElementById('root')) {
10
- const rootElement = document.createElement('div');
11
- rootElement.id = 'root';
12
- document.body.appendChild(rootElement);
13
- }
14
- });
15
-
16
- afterEach(() => {
17
- // 清理所有mock
18
- vi.clearAllMocks();
19
- });
20
-
21
- // 全局测试配置
22
- global.ResizeObserver = vi.fn().mockImplementation(() => ({
23
- observe: vi.fn(),
24
- unobserve: vi.fn(),
25
- disconnect: vi.fn()
26
- }));
27
-
28
- // Mock window.matchMedia
29
- Object.defineProperty(window, 'matchMedia', {
30
- writable: true,
31
- value: vi.fn().mockImplementation((query) => ({
32
- matches: false,
33
- media: query,
34
- onchange: null,
35
- addListener: vi.fn(), // deprecated
36
- removeListener: vi.fn(), // deprecated
37
- addEventListener: vi.fn(),
38
- removeEventListener: vi.fn(),
39
- dispatchEvent: vi.fn()
40
- }))
41
- });
42
-
43
- // Mock IntersectionObserver
44
- global.IntersectionObserver = vi.fn().mockImplementation(() => ({
45
- observe: vi.fn(),
46
- unobserve: vi.fn(),
47
- disconnect: vi.fn()
48
- }));
49
-
50
- // Mock globals
51
- vi.mock('@/core/globals', () => createMockGlobals());
52
-
53
- // Mock i18next-http-backend to avoid network requests in tests
54
- // This prevents timeout issues when I18nService tries to load language files
55
- // The mock loads translations directly from JSON files, enabling translation testing
56
- vi.mock('i18next-http-backend', async () => {
57
- const { MockHttpBackend } = await import('@__mocks__/i18nextHttpBackend');
58
- return { default: MockHttpBackend };
59
- });
60
-
61
- // Mock i18next-browser-languagedetector to avoid browser API calls
62
- vi.mock('i18next-browser-languagedetector', () => ({
63
- default: {}
64
- }));
@@ -1,115 +0,0 @@
1
- import { routerPrefix } from '@config/common';
2
- import { render, screen } from '@testing-library/react';
3
- import { testIOC } from '__tests__/__mocks__/testIOC/TestIOC';
4
- import { describe, it, expect, vi, beforeAll } from 'vitest';
5
- import App from '@/App';
6
- import { BootstrapClient } from '@/core/bootstraps/BootstrapClient';
7
-
8
- // Mock CSS imports
9
- vi.mock('@/styles/css/index.css', () => ({}));
10
-
11
- // Mock RouterProvider
12
- vi.mock('react-router-dom', () => ({
13
- createBrowserRouter: vi.fn((routes, options) => ({
14
- routes,
15
- basename: options?.basename
16
- })),
17
- RouterProvider: ({ router }: any) => (
18
- <div data-testid="router-provider">
19
- <div data-testid="router-basename">{router?.basename}</div>
20
- <div data-testid="router-routes-count">{router?.routes?.length || 0}</div>
21
- </div>
22
- ),
23
- useNavigate: () => vi.fn()
24
- }));
25
-
26
- // Mock AntdThemeProvider
27
- vi.mock('@brain-toolkit/antd-theme-override/react', () => ({
28
- AntdThemeProvider: ({ children, theme }: any) => (
29
- <div data-testid="antd-theme-provider">
30
- <div data-testid="theme-key">{theme?.cssVar?.key}</div>
31
- <div data-testid="theme-prefix">{theme?.cssVar?.prefix}</div>
32
- {children}
33
- </div>
34
- )
35
- }));
36
-
37
- // Mock react-kit
38
- vi.mock('@brain-toolkit/react-kit', () => ({
39
- useMountedClient: () => true,
40
- useStore: (_service: any, selector?: any) => {
41
- if (selector) {
42
- return [
43
- { path: '/', component: 'HomePage' },
44
- { path: '/about', component: 'AboutPage' }
45
- ];
46
- }
47
- return [];
48
- }
49
- }));
50
-
51
- // Mock ComboProvider - force children to render
52
- vi.mock('@/uikit/components/ComboProvider', () => ({
53
- ComboProvider: ({ children }: any) => children
54
- }));
55
-
56
- // Mock AppRouterProvider - return our mocked router structure
57
- vi.mock('@/uikit/components/AppRouterProvider', () => ({
58
- AppRouterProvider: () => (
59
- <div data-testid="router-provider">
60
- <div data-testid="router-basename">{routerPrefix}</div>
61
- <div data-testid="router-routes-count">0</div>
62
- </div>
63
- )
64
- }));
65
-
66
- // Import App after all mocks
67
- import { ClientIOCRegister } from '@/core/clientIoc/ClientIOCRegister';
68
- import { appConfig } from '@/core/globals';
69
-
70
- describe('App Component with IOC Initialization', () => {
71
- beforeAll(async () => {
72
- /**
73
- * Initialize IOC container with BootstrapClient.main()
74
- * This is essential to register all services including DialogHandler
75
- *
76
- * Without this initialization, you'll get:
77
- * "No bindings found for service: DialogHandler"
78
- */
79
- await BootstrapClient.main({
80
- root: globalThis,
81
- bootHref: 'http://localhost:3000',
82
- ioc: testIOC,
83
- iocRegister: new ClientIOCRegister({
84
- pathname: '/',
85
- appConfig: appConfig
86
- })
87
- });
88
- });
89
-
90
- it('should render without crashing', () => {
91
- const { container } = render(<App />);
92
- expect(container).toBeDefined();
93
- });
94
-
95
- it('should initialize and render the app structure', () => {
96
- render(<App />);
97
-
98
- // App should render successfully after IOC initialization
99
- const routerProvider = screen.getByTestId('router-provider');
100
- expect(routerProvider).toBeDefined();
101
- });
102
-
103
- it('should configure router with correct basename', () => {
104
- render(<App />);
105
-
106
- const routerBasename = screen.getByTestId('router-basename');
107
- expect(routerBasename.textContent).toBe(routerPrefix);
108
- });
109
-
110
- it('should render without DialogHandler binding errors', () => {
111
- // This test verifies that BootstrapClient.main() correctly initialized the IOC container
112
- // If DialogHandler was not registered, this would throw an error
113
- expect(() => render(<App />)).not.toThrow();
114
- });
115
- });