@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,64 +0,0 @@
1
- import { IOCIdentifier } from '@config/IOCIdentifier';
2
- import {
3
- ExecutorContextInterface,
4
- ExecutorError,
5
- LifecyclePluginInterface
6
- } from '@qlover/fe-corekit';
7
- import { inject, injectable } from 'inversify';
8
- import type { I18nServiceInterface } from '../port/I18nServiceInterface';
9
- import type { LoggerInterface } from '@qlover/logger';
10
-
11
- /**
12
- * When throw error, it will be converted to i18n key
13
- *
14
- * If the error thrown is an i18n key, it will be converted to the corresponding text
15
- */
16
- @injectable()
17
- export class I18nKeyErrorPlugin implements LifecyclePluginInterface<
18
- ExecutorContextInterface<unknown, unknown>
19
- > {
20
- public readonly pluginName = 'I18nKeyErrorPlugin';
21
-
22
- constructor(
23
- @inject(IOCIdentifier.Logger) protected logger: LoggerInterface,
24
- @inject(IOCIdentifier.I18nServiceInterface)
25
- protected i18nService: I18nServiceInterface
26
- ) {}
27
-
28
- protected translateById(id: string): string {
29
- return this.i18nService.t(id);
30
- }
31
-
32
- /**
33
- * @override
34
- */
35
- public onError(
36
- context: ExecutorContextInterface<unknown, unknown>
37
- ): ExecutorError | void {
38
- const { error } = context;
39
-
40
- if (!error) {
41
- return;
42
- }
43
-
44
- if (error instanceof ExecutorError) {
45
- const i18nText = this.translateById(error.id);
46
- this.logger.error('i18nText', i18nText);
47
- return new ExecutorError(error.id, i18nText);
48
- }
49
-
50
- if (error instanceof Error) {
51
- const i18nKey = error.message;
52
-
53
- if (i18nKey && typeof i18nKey === 'string') {
54
- const i18nText = this.translateById(i18nKey);
55
-
56
- if (i18nText && i18nText !== i18nKey) {
57
- this.logger.debug('I18nKeyErrorPlugin Error:', i18nText);
58
- // Use i18nText as cause (string) so ExecutorError.message will be the translated text
59
- return new ExecutorError(i18nKey, i18nText);
60
- }
61
- }
62
- }
63
- }
64
- }
@@ -1,45 +0,0 @@
1
- import { Container } from 'inversify';
2
- import type { IOCIdentifierMap } from '@config/IOCIdentifier';
3
- import type {
4
- IOCContainerInterface,
5
- ServiceIdentifier
6
- } from '@qlover/corekit-bridge';
7
-
8
- export class InversifyContainer implements IOCContainerInterface {
9
- protected container: Container;
10
-
11
- constructor() {
12
- this.container = new Container({
13
- // allow `@injectable` decorator, auto bind injectable classes
14
- autobind: true,
15
- // use singleton scope
16
- defaultScope: 'Singleton'
17
- });
18
- }
19
-
20
- /**
21
- * @override
22
- */
23
- public bind<T>(key: ServiceIdentifier<T>, value: T): void {
24
- this.container.bind<T>(key).toConstantValue(value);
25
- }
26
-
27
- /**
28
- * @override
29
- */
30
- public get<K extends keyof IOCIdentifierMap>(
31
- serviceIdentifier: K
32
- ): IOCIdentifierMap[K];
33
- /**
34
- * @override
35
- */
36
- public get<T>(serviceIdentifier: ServiceIdentifier<T>): T;
37
- /**
38
- * @override
39
- */
40
- public get<T, K extends keyof IOCIdentifierMap>(
41
- serviceIdentifier: ServiceIdentifier<T> | K
42
- ): T | IOCIdentifierMap[K] {
43
- return this.container.get<T>(serviceIdentifier);
44
- }
45
- }
@@ -1,23 +0,0 @@
1
- import { routerPrefix } from '@config/common';
2
- import { injectable } from 'inversify';
3
-
4
- /**
5
- * Get Publish Assets Path
6
- *
7
- * - If router has prefix, the path will be `prefix/path`
8
- * - If router has no prefix, the path will be `path`
9
- */
10
- @injectable()
11
- export class PublicAssetsPath {
12
- constructor(protected prefix: string = routerPrefix) {}
13
-
14
- public getPath(path: string): string {
15
- if (!this.prefix) {
16
- return path.startsWith('/') ? path : `/${path}`;
17
- }
18
- const prefix = this.prefix.endsWith('/')
19
- ? this.prefix.slice(0, -1)
20
- : this.prefix;
21
- return prefix + (path.startsWith('/') ? path : `/${path}`);
22
- }
23
- }
@@ -1,55 +0,0 @@
1
- import type { I18nServiceInterface } from '@/base/port/I18nServiceInterface';
2
- import type {
3
- ExecutorContextInterface,
4
- LifecyclePluginInterface,
5
- RequestAdapterConfig
6
- } from '@qlover/fe-corekit';
7
-
8
- export class RequestLanguages implements LifecyclePluginInterface<
9
- ExecutorContextInterface<RequestAdapterConfig, unknown>
10
- > {
11
- public readonly pluginName = 'RequestLanguages';
12
-
13
- constructor(
14
- protected i18nService: I18nServiceInterface,
15
- protected headerName = 'accept-language'
16
- ) {}
17
-
18
- public buildAcceptLanguage(langs: string[]): string {
19
- return langs
20
- .map((lang, index) => {
21
- const q = Math.max(1 - index * 0.1, 0.1).toFixed(1);
22
- return index === 0 ? lang : `${lang};q=${q}`;
23
- })
24
- .join(',');
25
- }
26
-
27
- /**
28
- * @override
29
- */
30
- public onBefore(
31
- context: ExecutorContextInterface<RequestAdapterConfig, unknown>
32
- ): void {
33
- const currentLanguage = this.i18nService.getCurrentLanguage();
34
- const languages = this.i18nService.getSupportedLanguages();
35
-
36
- if (!context.parameters.headers) {
37
- context.setParameters({
38
- ...context.parameters,
39
- headers: {}
40
- });
41
- }
42
-
43
- const languageValue = this.buildAcceptLanguage(
44
- Array.from(new Set([currentLanguage, ...languages]))
45
- );
46
-
47
- context.setParameters({
48
- ...context.parameters,
49
- headers: {
50
- ...context.parameters.headers,
51
- [this.headerName]: languageValue
52
- }
53
- });
54
- }
55
- }
@@ -1,80 +0,0 @@
1
- import { IOCIdentifier } from '@config/IOCIdentifier';
2
- import { type ApiCatchPluginResponse } from '@qlover/corekit-bridge';
3
- import {
4
- type LifecyclePluginInterface,
5
- type ExecutorContextInterface,
6
- type RequestAdapterFetchConfig,
7
- type RequestAdapterResponse
8
- } from '@qlover/fe-corekit';
9
- import { injectable, inject } from 'inversify';
10
- import type { LoggerInterface } from '@qlover/logger';
11
-
12
- @injectable()
13
- export class RequestLogger implements LifecyclePluginInterface<
14
- ExecutorContextInterface<RequestAdapterFetchConfig, unknown>
15
- > {
16
- public readonly pluginName = 'RequestLogger';
17
-
18
- constructor(@inject(IOCIdentifier.Logger) public logger: LoggerInterface) {}
19
-
20
- /**
21
- * @override
22
- */
23
- public onBefore(
24
- context: ExecutorContextInterface<RequestAdapterFetchConfig, unknown>
25
- ): void {
26
- this.logger.log(
27
- `%c[Request before]%c [${new Date().toLocaleString()}] ${context.parameters.method} ${context.parameters.url}`,
28
- 'color: #0ff;',
29
- 'color: inherit;',
30
- context.parameters
31
- );
32
- }
33
-
34
- /**
35
- * @override
36
- */
37
- public async onSuccess({
38
- parameters,
39
- returnValue
40
- }: ExecutorContextInterface<
41
- RequestAdapterFetchConfig,
42
- unknown
43
- >): Promise<void> {
44
- const _returnValue = returnValue as RequestAdapterResponse &
45
- ApiCatchPluginResponse;
46
-
47
- // If the apiCatchResult is not null, it means that the error has been caught
48
- // from `ApiCatchPlugin`
49
- if (_returnValue.apiCatchResult) {
50
- this.loggerError(parameters, _returnValue.apiCatchResult);
51
- return;
52
- }
53
-
54
- this.logger.log(
55
- `%c[Request success]%c [${new Date().toLocaleString()}] ${parameters.method} ${parameters.url}`,
56
- 'color: #0f0;',
57
- 'color: inherit;',
58
- _returnValue
59
- );
60
- }
61
-
62
- /**
63
- * @override
64
- */
65
- public onError({
66
- parameters,
67
- error
68
- }: ExecutorContextInterface<RequestAdapterFetchConfig, unknown>): void {
69
- this.loggerError(parameters, error);
70
- }
71
-
72
- public loggerError(config: RequestAdapterFetchConfig, error: unknown): void {
73
- this.logger.log(
74
- `%c[Request error]%c [${new Date().toLocaleString()}] ${config.method} ${config.url}`,
75
- 'color: #f00;',
76
- 'color: inherit;',
77
- error
78
- );
79
- }
80
- }
@@ -1,40 +0,0 @@
1
- import { IOCIdentifier } from '@config/IOCIdentifier';
2
- import { inject, injectable } from 'inversify';
3
- import type { RequestCatcherInterface } from '@qlover/corekit-bridge';
4
- import type { RequestAdapterResponse } from '@qlover/fe-corekit';
5
- import type { LoggerInterface } from '@qlover/logger';
6
-
7
- @injectable()
8
- export class RequestStatusCatcher implements RequestCatcherInterface<RequestAdapterResponse> {
9
- constructor(
10
- @inject(IOCIdentifier.Logger) protected logger: LoggerInterface
11
- ) {}
12
-
13
- /**
14
- * default handler
15
- * @override
16
- */
17
- public default(context: RequestAdapterResponse<unknown, unknown>): void {
18
- this.logger.warn(`RequestStatusCatcher default handler`, context);
19
- }
20
-
21
- /**
22
- * handler
23
- * @override
24
- */
25
- public handler(context: RequestAdapterResponse<unknown, unknown>): void {
26
- const { status } = context;
27
-
28
- const _handler = this[`case${status}` as keyof RequestStatusCatcher];
29
-
30
- if (typeof _handler === 'function') {
31
- return _handler.call(this, context);
32
- }
33
-
34
- return this.default(context);
35
- }
36
-
37
- public case200(_context: RequestAdapterResponse<unknown, unknown>): void {
38
- // this.logger.info(`RequestStatusCatcher case200 handler`, context);
39
- }
40
- }
@@ -1,23 +0,0 @@
1
- import { RequestState } from '@qlover/corekit-bridge';
2
- import type {
3
- ResourceQuery,
4
- ResourceStateInterface
5
- } from '@qlover/corekit-bridge';
6
-
7
- export interface PaginationInterface<T> {
8
- list: T[];
9
- total: number;
10
- page: number;
11
- pageSize: number;
12
- }
13
-
14
- export class ResourceState implements ResourceStateInterface {
15
- public searchParams: ResourceQuery = {
16
- page: 1,
17
- pageSize: 10,
18
- orderBy: 'updated_at',
19
- order: 1
20
- };
21
- public initState = new RequestState<unknown>();
22
- public listState = new RequestState<PaginationInterface<unknown>>();
23
- }
@@ -1,173 +0,0 @@
1
- import isString from 'lodash/isString';
2
- import type { RouteMeta } from '../types/Page';
3
- import type { LoggerInterface } from '@qlover/logger';
4
- import type { ComponentType, LazyExoticComponent, ReactNode } from 'react';
5
- import type { RouteObject } from 'react-router-dom';
6
-
7
- /**
8
- * Component mapping type for lazy-loaded components
9
- * @description Maps component identifiers to their lazy-loaded implementations
10
- */
11
- export type ComponentValue = Record<string, () => unknown>;
12
-
13
- /**
14
- * Route component type definition supporting both regular and lazy-loaded components
15
- */
16
- type RouteComponentType<T = unknown> =
17
- | ComponentType<T>
18
- | LazyExoticComponent<ComponentType<T>>;
19
-
20
- /**
21
- * Extended route configuration interface
22
- * @description Extends React Router's RouteObject with additional meta information
23
- */
24
- export type RouteConfigValue = Omit<RouteObject, 'element' | 'children'> & {
25
- /**
26
- * Component identifier string that maps to a component in componentMaps
27
- *
28
- * TODO: support `ReactNode`
29
- *
30
- * @description Used to lookup the actual component implementation
31
- */
32
- element?: string;
33
-
34
- /**
35
- * Nested route configurations
36
- */
37
- children?: RouteConfigValue[];
38
-
39
- /**
40
- * Additional metadata for the route
41
- * @description Can store any route-specific data like permissions, titles, etc.
42
- */
43
- meta?: RouteMeta;
44
- };
45
-
46
- /**
47
- * Route rendering function type
48
- * @description Function to customize how route components are rendered
49
- */
50
- export type RouterLoaderRender = (
51
- route: Omit<RouteConfigValue, 'element'> & {
52
- element: () => RouteComponentType;
53
- }
54
- ) => ReactNode;
55
-
56
- /**
57
- * Router loader configuration options
58
- */
59
- export type RouterLoaderOptions = {
60
- /**
61
- * Route configuration array
62
- * @description Defines the application's routing structure
63
- */
64
- routes?: RouteConfigValue[];
65
-
66
- /**
67
- * Component mapping object
68
- * @description Maps component identifiers to their actual implementations
69
- * @example
70
- * {
71
- * 'Home': () => import('./pages/Home'),
72
- * 'About': () => import('./pages/About')
73
- * }
74
- */
75
- componentMaps?: ComponentValue;
76
-
77
- /**
78
- * Custom route rendering function
79
- * @description Controls how route components are rendered
80
- * @required
81
- */
82
- render: RouterLoaderRender;
83
-
84
- /**
85
- * Logger
86
- */
87
- logger?: LoggerInterface;
88
- };
89
-
90
- /**
91
- * Router Configuration Loader
92
- *
93
- * Significance: Manages dynamic route configuration and component loading
94
- * Core idea: Separate route definitions from component implementations
95
- * Main function: Transform route configurations into React Router compatible routes
96
- * Main purpose: Enable dynamic and code-split routing with lazy loading
97
- *
98
- * @example
99
- * const loader = new RouterLoader({
100
- * routes: [{
101
- * path: '/',
102
- * element: 'Home',
103
- * children: [{
104
- * path: 'about',
105
- * element: 'About'
106
- * }]
107
- * }],
108
- * componentMaps: {
109
- * 'Home': () => import('./pages/Home'),
110
- * 'About': () => import('./pages/About')
111
- * },
112
- * render: (route) => <Suspense><route.element /></Suspense>
113
- * });
114
- */
115
- export class RouterLoader {
116
- constructor(protected options: RouterLoaderOptions) {
117
- if (!options.render) {
118
- throw new Error('RouterLoader render is required');
119
- }
120
- }
121
-
122
- /**
123
- * Get the component mapping object
124
- * @returns Component mapping dictionary
125
- */
126
- public getComponentMaps(): ComponentValue {
127
- const { componentMaps = {} } = this.options;
128
- return componentMaps;
129
- }
130
-
131
- /**
132
- * Retrieve a component implementation by its identifier
133
- * @param element Component identifier string
134
- * @returns Component loader function
135
- * @throws Error if component is not found in componentMaps
136
- */
137
- public getComponent(element: string): () => RouteComponentType {
138
- const maps = this.getComponentMaps();
139
- const component = maps[element];
140
-
141
- if (!component) {
142
- throw new Error(`Component not found: ${element}`);
143
- }
144
-
145
- return component as () => RouteComponentType;
146
- }
147
-
148
- /**
149
- * Transform a route configuration into a React Router compatible route
150
- * @param route Route configuration object
151
- * @returns React Router route object
152
- */
153
- public toRoute(route: RouteConfigValue): RouteObject {
154
- const { render } = this.options;
155
- const { element, children, ...rest } = route;
156
-
157
- if (!element || !isString(element)) {
158
- this.options.logger?.warn(
159
- `Invalid route, path is: ${route.path}, element is: ${element}`
160
- );
161
- }
162
-
163
- const componet = this.getComponent(element || '404');
164
- const Element = render({ ...rest, element: componet });
165
-
166
- // @ts-expect-error
167
- return {
168
- ...rest,
169
- element: Element,
170
- children: children?.map((child) => this.toRoute(child))
171
- };
172
- }
173
- }
@@ -1,26 +0,0 @@
1
- import type { PageI18nInterface } from '@config/i18n/PageI18nInterface';
2
- import type { TFunction } from 'i18next';
3
-
4
- /**
5
- * Translate I18n Interface tools class
6
- *
7
- * @param i18nInterface - The i18n interface to translate
8
- * @param t - The translations function
9
- * @returns The translated i18n interface
10
- */
11
- export class TranslateI18nInterface {
12
- public static translate<T extends PageI18nInterface | Record<string, string>>(
13
- source: T,
14
- t: TFunction<string, string>
15
- ): T {
16
- return Object.fromEntries(
17
- Object.entries(source).map(([key, value]) => {
18
- if (typeof value === 'string') {
19
- // 禁用命名空间分隔符,避免冒号被解析为命名空间
20
- return [key, t(value, { nsSeparator: false })];
21
- }
22
- return [key, value];
23
- })
24
- ) as T;
25
- }
26
- }
@@ -1,23 +0,0 @@
1
- import { StoreInterface } from '@qlover/corekit-bridge';
2
- import type { StoreStateInterface, RequestState } from '@qlover/corekit-bridge';
3
-
4
- export interface ExecutorPageStateInterface extends StoreStateInterface {
5
- helloState: RequestState<any>;
6
- }
7
-
8
- /**
9
- * Executor Page Bridge Interface
10
- *
11
- * This interface provides a bridge for the ExecutorPage component to interact with the ExecutorController.
12
- * It allows the ExecutorPage component to subscribe to the ExecutorController's state and trigger actions.
13
- *
14
- * @example
15
- * const executorPageBridge = new ExecutorPageBridge();
16
- */
17
- export abstract class ExecutorPageBridgeInterface extends StoreInterface<ExecutorPageStateInterface> {
18
- public selector = {
19
- helloState: (state: ExecutorPageStateInterface) => state.helloState
20
- };
21
-
22
- public abstract onTestPlugins: () => Promise<void>;
23
- }
@@ -1,10 +0,0 @@
1
- import type { BootstrapExecutorPlugin } from '@qlover/corekit-bridge';
2
-
3
- export interface I18nServiceInterface extends BootstrapExecutorPlugin {
4
- t(key: string, params?: Record<string, unknown>): string;
5
- changeLanguage(language: string): void;
6
- changeLoading(loading: boolean): void;
7
- getCurrentLanguage(): string;
8
- isValidLanguage(language: string): boolean;
9
- getSupportedLanguages(): string[];
10
- }
@@ -1,38 +0,0 @@
1
- import type {
2
- EnvConfigInterface,
3
- IOCContainerInterface,
4
- IOCFunctionInterface,
5
- IOCRegisterInterface
6
- } from '@qlover/corekit-bridge';
7
-
8
- /**
9
- * IOC register options
10
- */
11
- export type IocRegisterOptions = {
12
- /**
13
- * The pathname of the current page
14
- */
15
- pathname: string;
16
-
17
- /**
18
- * The app config
19
- */
20
- appConfig: EnvConfigInterface;
21
- };
22
-
23
- export interface IOCInterface<
24
- IdentifierMap,
25
- IOCContainer extends IOCContainerInterface
26
- > {
27
- create(
28
- options: IocRegisterOptions
29
- ): IOCFunctionInterface<IdentifierMap, IOCContainer>;
30
- }
31
-
32
- /**
33
- * 提供一个快捷的注册器类型名
34
- */
35
- export interface IOCRegister extends IOCRegisterInterface<
36
- IOCContainerInterface,
37
- IocRegisterOptions
38
- > {}
@@ -1,21 +0,0 @@
1
- import { StoreInterface } from '@qlover/corekit-bridge';
2
- import type { StoreStateInterface } from '@qlover/corekit-bridge';
3
-
4
- export interface JSONStoragePageStateInterface extends StoreStateInterface {
5
- testKey1?: number;
6
- testKey2?: number;
7
- expireTime: number;
8
- requestTimeout: number;
9
- }
10
-
11
- export abstract class JSONStoragePageBridgeInterface extends StoreInterface<JSONStoragePageStateInterface> {
12
- public selector = {
13
- requestTimeout: (state: JSONStoragePageStateInterface) =>
14
- state.requestTimeout
15
- };
16
-
17
- public abstract changeRandomTestKey1: () => void;
18
- public abstract onChangeRandomTestKey2: () => void;
19
- public abstract changeExpireTime: (expireTime: number) => void;
20
- public abstract changeRequestTimeout: (requestTimeout: number) => void;
21
- }
@@ -1,23 +0,0 @@
1
- import { StoreInterface } from '@qlover/corekit-bridge';
2
- import type { StoreStateInterface, RequestState } from '@qlover/corekit-bridge';
3
-
4
- export interface RequestPageStateInterface extends StoreStateInterface {
5
- helloState: RequestState<unknown>;
6
- ipInfoState: RequestState<unknown>;
7
- randomUserState: RequestState<unknown>;
8
- abortState: RequestState<unknown>;
9
- apiCatchResultState: RequestState<unknown>;
10
- }
11
-
12
- export abstract class RequestPageBridgeInterface extends StoreInterface<RequestPageStateInterface> {
13
- public abstract onHello: () => void;
14
- public abstract onIpInfo: () => void;
15
- public abstract onRandomUser: () => void;
16
- public abstract onTriggerApiCatchResult: () => void;
17
- public abstract onTriggerAbortRequest: () => void;
18
- public abstract stopAbortRequest: () => void;
19
-
20
- public emitState(state: Partial<RequestPageStateInterface>): void {
21
- this.emit(this.cloneState(state));
22
- }
23
- }
@@ -1,5 +0,0 @@
1
- export interface RequestStatusInterface {
2
- loading: boolean;
3
- result: unknown | null;
4
- error: unknown | null;
5
- }
@@ -1,29 +0,0 @@
1
- import { StoreInterface } from '@qlover/corekit-bridge';
2
- import type { RouteConfigValue } from '../cases/RouterLoader';
3
- import type { StoreStateInterface } from '@qlover/corekit-bridge';
4
- import type { LoggerInterface } from '@qlover/logger';
5
- import type { NavigateFunction, NavigateOptions } from 'react-router-dom';
6
-
7
- export interface RouteServiceStateInterface extends StoreStateInterface {
8
- routes: RouteConfigValue[];
9
- localeRoutes: boolean;
10
- }
11
-
12
- export abstract class RouteServiceInterface extends StoreInterface<RouteServiceStateInterface> {
13
- public abstract get logger(): LoggerInterface;
14
-
15
- public abstract getRoutes(): RouteConfigValue[];
16
- public abstract changeRoutes(routes: RouteConfigValue[]): void;
17
- public abstract goto(
18
- path: string,
19
- options?: NavigateOptions & { navigate?: NavigateFunction }
20
- ): void;
21
- public abstract gotoLogin(): void;
22
- public abstract replaceToHome(): void;
23
- public abstract redirectToDefault(navigate: NavigateFunction): void;
24
- public abstract i18nGuard(
25
- currentPath: string,
26
- lng: string,
27
- navigate?: NavigateFunction
28
- ): void;
29
- }