@_tc/template-core 0.2.12 → 0.3.1

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 (403) hide show
  1. package/.skills/tc-component-usage-skills/SKILL.md +7 -9
  2. package/.skills/tc-component-usage-skills/reference/component-api.md +2 -2
  3. package/.skills/tc-component-usage-skills/reference/examples.md +9 -9
  4. package/.skills/tc-component-usage-skills/reference/patterns.md +5 -5
  5. package/.skills/tc-component-usage-skills/reference/template-core-frontend.md +1 -1
  6. package/.skills/tc-generator/SKILL.md +31 -14
  7. package/.skills/tc-generator/reference/example.md +4 -4
  8. package/.skills/tc-generator/reference/model-schema.md +9 -5
  9. package/.skills/tc-generator/reference/runtime-extensions.md +9 -7
  10. package/AGENT_README.md +66 -33
  11. package/CHANGE.md +48 -5
  12. package/README.md +161 -46
  13. package/cjs/app/controller/ssr.js +1 -0
  14. package/cjs/app/controller/view.js +1 -1
  15. package/cjs/app/html/shell.js +36 -0
  16. package/cjs/app/middleware.js +1 -1
  17. package/cjs/app/router/ssr.js +1 -0
  18. package/cjs/app/router/view.js +1 -1
  19. package/cjs/app/ssr/html.js +17 -0
  20. package/cjs/app/ssr/manifest.js +2 -0
  21. package/cjs/app/view/entry.tpl +2 -37
  22. package/cjs/bundler/buildBE.js +1 -1
  23. package/cjs/bundler/buildSSR.js +1 -0
  24. package/cjs/bundler/entryCollect.js +1 -0
  25. package/cjs/bundler/feSharedConfig.js +1 -0
  26. package/cjs/bundler/index.js +1 -1
  27. package/cjs/bundler/ssrClientManifest.js +1 -0
  28. package/cjs/bundler/ssrEntries.js +1 -0
  29. package/cjs/bundler/utils.js +3 -3
  30. package/cjs/packages/common/i18n/index.js +1 -1
  31. package/cjs/packages/common/index.js +1 -1
  32. package/cjs/packages/common/ssr/hydration.js +1 -0
  33. package/cjs/packages/common/ssr/index.js +1 -0
  34. package/cjs/packages/core/index.js +1 -1
  35. package/cjs/packages/core/loader/controller.js +1 -1
  36. package/cjs/packages/core/loader/extend.js +1 -1
  37. package/cjs/packages/core/loader/merge.js +1 -0
  38. package/cjs/packages/core/loader/middleware.js +1 -1
  39. package/cjs/packages/core/loader/model.js +1 -1
  40. package/cjs/packages/core/loader/router-schema.js +1 -1
  41. package/cjs/packages/core/loader/router.js +1 -1
  42. package/cjs/packages/core/loader/service.js +1 -1
  43. package/cjs/packages/core/paths.js +1 -1
  44. package/cjs/scripts/vite-build/build.js +3 -3
  45. package/cjs/scripts/vite-build/collect.js +1 -1
  46. package/cjs/scripts/vite-build/dts.js +1 -1
  47. package/cjs/scripts/vite-build/normalize.js +1 -1
  48. package/cjs/ssrSharedData/outputPaths.js +1 -0
  49. package/esm/app/controller/ssr.js +215 -0
  50. package/esm/app/controller/view.js +26 -25
  51. package/esm/app/html/shell.js +69 -0
  52. package/esm/app/middleware.js +18 -9
  53. package/esm/app/router/ssr.js +8 -0
  54. package/esm/app/router/view.js +5 -4
  55. package/esm/app/ssr/html.js +90 -0
  56. package/esm/app/ssr/manifest.js +47 -0
  57. package/esm/app/view/entry.tpl +2 -37
  58. package/esm/bundler/buildBE.js +1 -1
  59. package/esm/bundler/buildSSR.js +126 -0
  60. package/esm/bundler/entryCollect.js +45 -0
  61. package/esm/bundler/feSharedConfig.js +143 -0
  62. package/esm/bundler/index.js +4 -2
  63. package/esm/bundler/ssrClientManifest.js +14 -0
  64. package/esm/bundler/ssrEntries.js +13 -0
  65. package/esm/bundler/utils.js +248 -255
  66. package/esm/packages/common/i18n/index.js +5 -1
  67. package/esm/packages/common/index.js +4 -2
  68. package/esm/packages/common/ssr/hydration.js +55 -0
  69. package/esm/packages/common/ssr/index.js +20 -0
  70. package/esm/packages/core/index.js +42 -42
  71. package/esm/packages/core/loader/controller.js +11 -9
  72. package/esm/packages/core/loader/extend.js +20 -16
  73. package/esm/packages/core/loader/merge.js +7 -0
  74. package/esm/packages/core/loader/middleware.js +11 -12
  75. package/esm/packages/core/loader/model.js +2 -2
  76. package/esm/packages/core/loader/router-schema.js +22 -15
  77. package/esm/packages/core/loader/router.js +32 -26
  78. package/esm/packages/core/loader/service.js +11 -9
  79. package/esm/packages/core/paths.js +9 -1
  80. package/esm/scripts/vite-build/build.js +88 -83
  81. package/esm/scripts/vite-build/collect.js +31 -27
  82. package/esm/scripts/vite-build/dts.js +1 -1
  83. package/esm/scripts/vite-build/normalize.js +6 -3
  84. package/esm/ssrSharedData/outputPaths.js +33 -0
  85. package/fe/frontend/apps/dash/Dashboard.d.ts +5 -1
  86. package/fe/frontend/apps/dash/Dashboard.js +22 -13
  87. package/fe/frontend/apps/dash/types.d.ts +2 -0
  88. package/fe/frontend/src/api/baseInfo.d.ts +1 -1
  89. package/fe/frontend/src/common/CRUD/CRUD.js +1 -1
  90. package/fe/frontend/src/common/CRUD/index.js +1 -1
  91. package/fe/frontend/src/common/menu.d.ts +1 -1
  92. package/fe/frontend/src/common/menu.js +8 -7
  93. package/fe/frontend/src/common/request.js +1 -1
  94. package/fe/frontend/src/common/schemaForm.d.ts +1 -0
  95. package/fe/frontend/src/common/schemaForm.js +12 -0
  96. package/fe/frontend/src/components/AsyncSelect/AsyncSelect.d.ts +1 -1
  97. package/fe/frontend/src/components/Router/basename.d.ts +3 -0
  98. package/fe/frontend/src/components/Router/basename.js +11 -0
  99. package/fe/frontend/src/components/Router/index.d.ts +1 -1
  100. package/fe/frontend/src/components/Router/index.js +3 -1
  101. package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/builtIn.d.ts +1 -1
  102. package/fe/frontend/src/defaultPages/SchemaPage/components/SchemaTable/data.d.ts +1 -1
  103. package/fe/frontend/src/defaultPages/SchemaPage/schemaType.d.ts +2 -2
  104. package/fe/frontend/src/defaultPages/SchemaPage/utils/schemaConversion.d.ts +1 -1
  105. package/fe/frontend/src/defaultPages/SidebarSlotPage/SidebarSlotContainer.d.ts +2 -1
  106. package/fe/frontend/src/defaultPages/SidebarSlotPage/SidebarSlotContainer.js +8 -4
  107. package/fe/frontend/src/defaultPages/SidebarSlotPageTmp.js +2 -1
  108. package/fe/frontend/src/exportStore.js +2 -2
  109. package/fe/frontend/src/hooks/useCurrentMenuData.d.ts +1 -1
  110. package/fe/frontend/src/hooks/useCurrentMenuData.js +2 -2
  111. package/fe/frontend/src/hooks/useRouterParams.js +4 -3
  112. package/fe/frontend/src/index.d.ts +1 -0
  113. package/fe/frontend/src/index.js +4 -3
  114. package/fe/frontend/src/main.js +2 -0
  115. package/fe/frontend/src/stores/mode.d.ts +15 -2
  116. package/fe/frontend/src/stores/mode.js +19 -5
  117. package/fe/frontend/src/typing/window.d.ts +2 -0
  118. package/fe/packages/common/LRUCache.js +2 -0
  119. package/fe/packages/common/array/index.js +37 -0
  120. package/fe/packages/common/cache/index.js +2 -0
  121. package/fe/packages/common/guards/index.js +19 -1
  122. package/fe/packages/common/http/index.js +1 -1
  123. package/fe/packages/common/i18n/index.js +8 -4
  124. package/fe/packages/common/i18n/locales.js +1 -1
  125. package/fe/packages/common/i18n/types.d.ts +1 -0
  126. package/fe/packages/common/i18n/types.js +0 -0
  127. package/fe/packages/common/index.d.ts +1 -0
  128. package/fe/packages/common/index.js +17 -0
  129. package/fe/packages/common/log/index.js +146 -0
  130. package/fe/packages/common/number/index.js +11 -0
  131. package/fe/packages/common/object/filterEmpty.js +2 -1
  132. package/fe/packages/common/object/filtereEmpty.js +2 -0
  133. package/fe/packages/common/object/index.js +20 -0
  134. package/fe/packages/common/ssr/hydration.d.ts +23 -0
  135. package/fe/packages/common/ssr/hydration.js +88 -0
  136. package/fe/packages/common/ssr/index.d.ts +8 -0
  137. package/fe/packages/common/ssr/index.js +52 -0
  138. package/fe/packages/common/string/index.js +32 -0
  139. package/fe/packages/common/types/index.js +0 -0
  140. package/fe/packages/react/hooks/index.d.ts +2 -0
  141. package/fe/packages/react/hooks/index.js +3 -1
  142. package/fe/packages/react/hooks/useHydrationData.d.ts +2 -0
  143. package/fe/packages/react/hooks/useHydrationData.js +23 -0
  144. package/fe/packages/react/hooks/useSSR.d.ts +6 -0
  145. package/fe/packages/react/hooks/useSSR.js +46 -0
  146. package/fe/packages/react/ui/components/DataTable/index.js +16 -15
  147. package/fe/packages/react/ui/components/Form/SchemaForm/data.d.ts +3 -2
  148. package/fe/packages/react/ui/components/Form/SchemaForm/data.js +5 -6
  149. package/fe/packages/react/ui/components/Form/SchemaForm/index.d.ts +1 -0
  150. package/fe/packages/react/ui/components/Form/SchemaForm/index.js +2 -2
  151. package/fe/packages/react/ui/components/Form/index.js +2 -1
  152. package/fe/packages/react/ui/components/Input/Input.js +5 -1
  153. package/fe/packages/react/ui/components/Popup/Popup.js +6 -1
  154. package/fe/packages/react/ui/components/index.js +2 -1
  155. package/fe/packages/react/ui/components/testPage/demos/core/DataTableDemo.js +241 -211
  156. package/fe/packages/react/ui/components/testPage/demos/core/DataTableDemo2.js +1 -1
  157. package/fe/packages/react/ui/i18n/I18nProvider.js +4 -0
  158. package/fe/packages/react/ui/index.js +2 -1
  159. package/fe/ssr/apps/dash/dash.entry.d.ts +13 -0
  160. package/fe/ssr/apps/dash/dash.entry.js +162 -0
  161. package/fe/ssr/apps/demo/demo.entry.d.ts +13 -0
  162. package/fe/ssr/apps/demo/demo.entry.js +38 -0
  163. package/fe/ssr/apps/server-data/server-data.entry.d.ts +26 -0
  164. package/fe/ssr/apps/server-data/server-data.entry.js +275 -0
  165. package/fe/ssr/apps/ui-components/ui-components.entry.d.ts +5 -0
  166. package/fe/ssr/apps/ui-components/ui-components.entry.js +17 -0
  167. package/fe/ssr/components/StreamingRender/StreamingCache.d.ts +2 -0
  168. package/fe/ssr/components/StreamingRender/StreamingCache.js +31 -0
  169. package/fe/ssr/components/StreamingRender/StreamingRender.d.ts +3 -0
  170. package/fe/ssr/components/StreamingRender/StreamingRender.js +48 -0
  171. package/fe/ssr/components/StreamingRender/StreamingScript.d.ts +8 -0
  172. package/fe/ssr/components/StreamingRender/StreamingScript.js +58 -0
  173. package/fe/ssr/components/StreamingRender/index.d.ts +4 -0
  174. package/fe/ssr/components/StreamingRender/index.js +5 -0
  175. package/fe/ssr/components/StreamingRender/type.d.ts +9 -0
  176. package/fe/ssr/components/StreamingRender/type.js +0 -0
  177. package/fe/ssr/components/index.d.ts +2 -0
  178. package/fe/ssr/components/index.js +2 -0
  179. package/fe/ssr/createSSREntry.d.ts +6 -0
  180. package/fe/ssr/createSSREntry.js +42 -0
  181. package/fe/ssr/hooks/index.d.ts +1 -0
  182. package/fe/ssr/hooks/index.js +2 -0
  183. package/fe/ssr/hooks/useSuspensePromise.d.ts +1 -0
  184. package/fe/ssr/hooks/useSuspensePromise.js +31 -0
  185. package/fe/ssr/index.d.ts +4 -0
  186. package/fe/ssr/index.js +6 -0
  187. package/fe/ssr/types.d.ts +13 -0
  188. package/fe/ssr/types.js +0 -0
  189. package/{model → models}/frontend/src/typing/window.d.ts +2 -0
  190. package/{model → models}/packages/common/i18n/types.d.ts +1 -0
  191. package/{model → models}/packages/common/index.d.ts +1 -0
  192. package/models/packages/common/ssr/hydration.d.ts +23 -0
  193. package/models/packages/common/ssr/index.d.ts +8 -0
  194. package/{model → models}/packages/react/ui/components/Form/SchemaForm/data.d.ts +3 -2
  195. package/{model → models}/packages/react/ui/components/Form/SchemaForm/index.d.ts +1 -0
  196. package/package.json +43 -6
  197. package/types/app/controller/ssr.d.ts +14 -0
  198. package/types/app/html/shell.d.ts +101 -0
  199. package/types/app/router/ssr.d.ts +6 -0
  200. package/types/app/ssr/html.d.ts +53 -0
  201. package/types/app/ssr/manifest.d.ts +17 -0
  202. package/types/app/typings.d.ts +2 -0
  203. package/types/bundler/buildSSR.d.ts +56 -0
  204. package/types/bundler/entryCollect.d.ts +36 -0
  205. package/types/bundler/feSharedConfig.d.ts +35 -0
  206. package/types/bundler/index.d.ts +4 -0
  207. package/types/bundler/ssrClientManifest.d.ts +4 -0
  208. package/types/bundler/ssrEntries.d.ts +23 -0
  209. package/types/bundler/state.d.ts +2 -2
  210. package/types/bundler/utils.d.ts +35 -2
  211. package/types/config/config.default.d.ts +10 -0
  212. package/types/packages/common/i18n/types.d.ts +2 -0
  213. package/types/packages/common/index.d.ts +1 -0
  214. package/types/packages/common/ssr/hydration.d.ts +72 -0
  215. package/types/packages/common/ssr/index.d.ts +34 -0
  216. package/types/packages/core/loader/merge.d.ts +3 -0
  217. package/types/packages/core/loader/model.d.ts +2 -2
  218. package/types/packages/core/paths.d.ts +5 -0
  219. package/types/packages/core/types.d.ts +10 -1
  220. package/types/scripts/vite-build/build.d.ts +1 -0
  221. package/types/scripts/vite-build/types.d.ts +3 -0
  222. package/types/ssrSharedData/outputPaths.d.ts +59 -0
  223. package/fe/packages/react/hooks/useWatch.test.js +0 -24
  224. package/fe/packages/react/ui/assets/table/no-result.js +0 -4
  225. package/fe/packages/react/ui/components/DataTable/dataTableWidth.test.js +0 -39
  226. package/fe/packages/react/ui/components/InputNumber/inputNumberUtils.test.js +0 -59
  227. /package/.skills/tc-generator/reference/project-template/{model → models}/product/mode.js +0 -0
  228. /package/.skills/tc-generator/reference/project-template/{model → models}/product/project/default.js +0 -0
  229. /package/fe/{model → models}/types/data/button.d.ts +0 -0
  230. /package/fe/{model → models}/types/data/component.d.ts +0 -0
  231. /package/fe/{model → models}/types/data/fetchInfo.d.ts +0 -0
  232. /package/fe/{model → models}/types/data/schema.d.ts +0 -0
  233. /package/fe/{model → models}/types/data/search.d.ts +0 -0
  234. /package/fe/{model → models}/types/index.d.ts +0 -0
  235. /package/fe/{model → models}/types/menuType.d.ts +0 -0
  236. /package/fe/{model → models}/types/model.d.ts +0 -0
  237. /package/{model → models}/frontend/extended/SchemaForm/data.d.ts +0 -0
  238. /package/{model → models}/frontend/src/common/auth/index.d.ts +0 -0
  239. /package/{model → models}/frontend/src/common/fetchErrorShow.d.ts +0 -0
  240. /package/{model → models}/frontend/src/common/language.d.ts +0 -0
  241. /package/{model → models}/frontend/src/common/logFn/index.d.ts +0 -0
  242. /package/{model → models}/frontend/src/common/request.d.ts +0 -0
  243. /package/{model → models}/frontend/src/components/AsyncSelect/AsyncSelect.d.ts +0 -0
  244. /package/{model → models}/frontend/src/components/AsyncSelect/index.d.ts +0 -0
  245. /package/{model → models}/frontend/src/defaultPages/SchemaPage/components/CallCom/DetailPanel.d.ts +0 -0
  246. /package/{model → models}/frontend/src/defaultPages/SchemaPage/components/CallCom/PopFrom.d.ts +0 -0
  247. /package/{model → models}/frontend/src/defaultPages/SchemaPage/components/CallCom/builtIn.d.ts +0 -0
  248. /package/{model → models}/frontend/src/defaultPages/SchemaPage/data/eventInfo.d.ts +0 -0
  249. /package/{model → models}/frontend/src/defaultPages/SchemaPage/data/index.d.ts +0 -0
  250. /package/{model → models}/frontend/src/defaultPages/SchemaPage/hooks/useComConfig.d.ts +0 -0
  251. /package/{model → models}/frontend/src/defaultPages/SchemaPage/schemaType.d.ts +0 -0
  252. /package/{model → models}/frontend/src/defaultPages/SchemaPage/utils/permissions.d.ts +0 -0
  253. /package/{model → models}/frontend/src/defaultPages/SchemaPage/utils/validator.d.ts +0 -0
  254. /package/{model → models}/frontend/src/hooks/useText.d.ts +0 -0
  255. /package/{model → models}/frontend/src/language/en-US.d.ts +0 -0
  256. /package/{model → models}/frontend/src/language/index.d.ts +0 -0
  257. /package/{model → models}/frontend/src/language/resources.d.ts +0 -0
  258. /package/{model → models}/frontend/src/language/zh-CN.d.ts +0 -0
  259. /package/{model → models}/frontend/src/stores/apiFreezer.d.ts +0 -0
  260. /package/{model → models}/frontend/src/stores/schemaEventBus.d.ts +0 -0
  261. /package/{model → models}/frontend/src/stores/schemaStore.d.ts +0 -0
  262. /package/{model → models}/frontend/src/typing/scalability.d.ts +0 -0
  263. /package/{model/model → models/models}/index.d.ts +0 -0
  264. /package/{model/model → models/models}/test.d.ts +0 -0
  265. /package/{model/model → models/models}/types/data/button.d.ts +0 -0
  266. /package/{model/model → models/models}/types/data/component.d.ts +0 -0
  267. /package/{model/model → models/models}/types/data/fetchInfo.d.ts +0 -0
  268. /package/{model/model → models/models}/types/data/schema.d.ts +0 -0
  269. /package/{model/model → models/models}/types/data/search.d.ts +0 -0
  270. /package/{model/model → models/models}/types/index.d.ts +0 -0
  271. /package/{model/model → models/models}/types/menuType.d.ts +0 -0
  272. /package/{model/model → models/models}/types/model.d.ts +0 -0
  273. /package/{model → models}/packages/common/array/index.d.ts +0 -0
  274. /package/{model → models}/packages/common/cache/LRUCache.d.ts +0 -0
  275. /package/{model → models}/packages/common/cache/index.d.ts +0 -0
  276. /package/{model → models}/packages/common/guards/index.d.ts +0 -0
  277. /package/{model → models}/packages/common/http/index.d.ts +0 -0
  278. /package/{model → models}/packages/common/i18n/default.d.ts +0 -0
  279. /package/{model → models}/packages/common/i18n/en-US.d.ts +0 -0
  280. /package/{model → models}/packages/common/i18n/index.d.ts +0 -0
  281. /package/{model → models}/packages/common/i18n/locales.d.ts +0 -0
  282. /package/{model → models}/packages/common/log/index.d.ts +0 -0
  283. /package/{model → models}/packages/common/number/index.d.ts +0 -0
  284. /package/{model → models}/packages/common/object/filterEmpty.d.ts +0 -0
  285. /package/{model → models}/packages/common/object/index.d.ts +0 -0
  286. /package/{model → models}/packages/common/rafTimer.d.ts +0 -0
  287. /package/{model → models}/packages/common/string/index.d.ts +0 -0
  288. /package/{model → models}/packages/common/types/index.d.ts +0 -0
  289. /package/{model → models}/packages/react/hooks/useBreadcrumb.d.ts +0 -0
  290. /package/{model → models}/packages/react/hooks/useExecuteOnce.d.ts +0 -0
  291. /package/{model → models}/packages/react/hooks/useLanguage.d.ts +0 -0
  292. /package/{model → models}/packages/react/ui/components/Button/Button.d.ts +0 -0
  293. /package/{model → models}/packages/react/ui/components/Button/SubmitButton.d.ts +0 -0
  294. /package/{model → models}/packages/react/ui/components/Button/index.d.ts +0 -0
  295. /package/{model → models}/packages/react/ui/components/Card/Card.d.ts +0 -0
  296. /package/{model → models}/packages/react/ui/components/Card/index.d.ts +0 -0
  297. /package/{model → models}/packages/react/ui/components/Checkbox/Checkbox.d.ts +0 -0
  298. /package/{model → models}/packages/react/ui/components/Checkbox/index.d.ts +0 -0
  299. /package/{model → models}/packages/react/ui/components/ConfirmDialog/ConfirmDialog.d.ts +0 -0
  300. /package/{model → models}/packages/react/ui/components/ConfirmDialog/index.d.ts +0 -0
  301. /package/{model → models}/packages/react/ui/components/DataTable/ActionBtn.d.ts +0 -0
  302. /package/{model → models}/packages/react/ui/components/DataTable/dataTableWidth.d.ts +0 -0
  303. /package/{model → models}/packages/react/ui/components/DataTable/index.d.ts +0 -0
  304. /package/{model → models}/packages/react/ui/components/Date/Calendar.d.ts +0 -0
  305. /package/{model → models}/packages/react/ui/components/Date/Date.d.ts +0 -0
  306. /package/{model → models}/packages/react/ui/components/Date/LocaleContext.d.ts +0 -0
  307. /package/{model → models}/packages/react/ui/components/Date/LocaleProvider.d.ts +0 -0
  308. /package/{model → models}/packages/react/ui/components/Date/TimePicker.d.ts +0 -0
  309. /package/{model → models}/packages/react/ui/components/Date/data.d.ts +0 -0
  310. /package/{model → models}/packages/react/ui/components/Date/dateLocaleStore.d.ts +0 -0
  311. /package/{model → models}/packages/react/ui/components/Date/dropdownPositioning.d.ts +0 -0
  312. /package/{model → models}/packages/react/ui/components/Date/index.d.ts +0 -0
  313. /package/{model → models}/packages/react/ui/components/Date/locales.d.ts +0 -0
  314. /package/{model → models}/packages/react/ui/components/Drawer/Drawer.d.ts +0 -0
  315. /package/{model → models}/packages/react/ui/components/Drawer/index.d.ts +0 -0
  316. /package/{model → models}/packages/react/ui/components/Dropdown/Dropdown.d.ts +0 -0
  317. /package/{model → models}/packages/react/ui/components/Dropdown/index.d.ts +0 -0
  318. /package/{model → models}/packages/react/ui/components/Form/Form.d.ts +0 -0
  319. /package/{model → models}/packages/react/ui/components/Form/FormItem.d.ts +0 -0
  320. /package/{model → models}/packages/react/ui/components/Form/index.d.ts +0 -0
  321. /package/{model → models}/packages/react/ui/components/Form/useForm.d.ts +0 -0
  322. /package/{model → models}/packages/react/ui/components/ImagePreview/ImagePreview.d.ts +0 -0
  323. /package/{model → models}/packages/react/ui/components/ImagePreview/PreviewImage.d.ts +0 -0
  324. /package/{model → models}/packages/react/ui/components/ImagePreview/index.d.ts +0 -0
  325. /package/{model → models}/packages/react/ui/components/Input/Input.d.ts +0 -0
  326. /package/{model → models}/packages/react/ui/components/Input/index.d.ts +0 -0
  327. /package/{model → models}/packages/react/ui/components/InputNumber/InputNumber.d.ts +0 -0
  328. /package/{model → models}/packages/react/ui/components/InputNumber/index.d.ts +0 -0
  329. /package/{model → models}/packages/react/ui/components/InputNumber/inputNumberUtils.d.ts +0 -0
  330. /package/{model → models}/packages/react/ui/components/Label/Label.d.ts +0 -0
  331. /package/{model → models}/packages/react/ui/components/Label/index.d.ts +0 -0
  332. /package/{model → models}/packages/react/ui/components/Layout/Layout.d.ts +0 -0
  333. /package/{model → models}/packages/react/ui/components/Layout/index.d.ts +0 -0
  334. /package/{model → models}/packages/react/ui/components/Loading/Loading.d.ts +0 -0
  335. /package/{model → models}/packages/react/ui/components/Loading/index.d.ts +0 -0
  336. /package/{model → models}/packages/react/ui/components/Menu/Menu.d.ts +0 -0
  337. /package/{model → models}/packages/react/ui/components/Menu/MenuContext.d.ts +0 -0
  338. /package/{model → models}/packages/react/ui/components/Menu/MenuItem.d.ts +0 -0
  339. /package/{model → models}/packages/react/ui/components/Menu/SubMenu.d.ts +0 -0
  340. /package/{model → models}/packages/react/ui/components/Menu/index.d.ts +0 -0
  341. /package/{model → models}/packages/react/ui/components/Menu/menuTypes.d.ts +0 -0
  342. /package/{model → models}/packages/react/ui/components/Menu/utils.d.ts +0 -0
  343. /package/{model → models}/packages/react/ui/components/Message/Message.d.ts +0 -0
  344. /package/{model → models}/packages/react/ui/components/Message/MessageManager.d.ts +0 -0
  345. /package/{model → models}/packages/react/ui/components/Message/data.d.ts +0 -0
  346. /package/{model → models}/packages/react/ui/components/Message/index.d.ts +0 -0
  347. /package/{model → models}/packages/react/ui/components/Modal/Modal.d.ts +0 -0
  348. /package/{model → models}/packages/react/ui/components/Modal/ModalManager.d.ts +0 -0
  349. /package/{model → models}/packages/react/ui/components/Modal/index.d.ts +0 -0
  350. /package/{model → models}/packages/react/ui/components/Notification/Notification.d.ts +0 -0
  351. /package/{model → models}/packages/react/ui/components/Notification/index.d.ts +0 -0
  352. /package/{model → models}/packages/react/ui/components/Overlay/Overlay.d.ts +0 -0
  353. /package/{model → models}/packages/react/ui/components/Overlay/index.d.ts +0 -0
  354. /package/{model → models}/packages/react/ui/components/Pagination/Pagination.d.ts +0 -0
  355. /package/{model → models}/packages/react/ui/components/Pagination/index.d.ts +0 -0
  356. /package/{model → models}/packages/react/ui/components/Popup/Popup.d.ts +0 -0
  357. /package/{model → models}/packages/react/ui/components/Popup/index.d.ts +0 -0
  358. /package/{model → models}/packages/react/ui/components/Radio/Radio.d.ts +0 -0
  359. /package/{model → models}/packages/react/ui/components/Radio/RadioGroup.d.ts +0 -0
  360. /package/{model → models}/packages/react/ui/components/Radio/index.d.ts +0 -0
  361. /package/{model → models}/packages/react/ui/components/Search/Search.d.ts +0 -0
  362. /package/{model → models}/packages/react/ui/components/Search/index.d.ts +0 -0
  363. /package/{model → models}/packages/react/ui/components/Select/Select.d.ts +0 -0
  364. /package/{model → models}/packages/react/ui/components/Select/dropdownPositioning.d.ts +0 -0
  365. /package/{model → models}/packages/react/ui/components/Select/index.d.ts +0 -0
  366. /package/{model → models}/packages/react/ui/components/Skeleton/Skeleton.d.ts +0 -0
  367. /package/{model → models}/packages/react/ui/components/Skeleton/index.d.ts +0 -0
  368. /package/{model → models}/packages/react/ui/components/Switch/Switch.d.ts +0 -0
  369. /package/{model → models}/packages/react/ui/components/Switch/index.d.ts +0 -0
  370. /package/{model → models}/packages/react/ui/components/TableSearch/TableSearch.d.ts +0 -0
  371. /package/{model → models}/packages/react/ui/components/TableSearch/index.d.ts +0 -0
  372. /package/{model → models}/packages/react/ui/components/TableSearch/lang.d.ts +0 -0
  373. /package/{model → models}/packages/react/ui/components/TableSearch/tableSearchLocaleStore.d.ts +0 -0
  374. /package/{model → models}/packages/react/ui/components/Tabs/Tabs.d.ts +0 -0
  375. /package/{model → models}/packages/react/ui/components/Tabs/index.d.ts +0 -0
  376. /package/{model → models}/packages/react/ui/components/Textarea/Textarea.d.ts +0 -0
  377. /package/{model → models}/packages/react/ui/components/Textarea/index.d.ts +0 -0
  378. /package/{model → models}/packages/react/ui/components/Tooltip/Tooltip.d.ts +0 -0
  379. /package/{model → models}/packages/react/ui/components/Tooltip/index.d.ts +0 -0
  380. /package/{model → models}/packages/react/ui/components/TreeSelect/TreeSelect.d.ts +0 -0
  381. /package/{model → models}/packages/react/ui/components/TreeSelect/index.d.ts +0 -0
  382. /package/{model → models}/packages/react/ui/components/Upload/ImageUpload.d.ts +0 -0
  383. /package/{model → models}/packages/react/ui/components/Upload/Upload.d.ts +0 -0
  384. /package/{model → models}/packages/react/ui/components/Upload/index.d.ts +0 -0
  385. /package/{model → models}/packages/react/ui/components/breadcrumb/breadcrumb.d.ts +0 -0
  386. /package/{model → models}/packages/react/ui/components/breadcrumb/index.d.ts +0 -0
  387. /package/{model → models}/packages/react/ui/components/hooks/useDropdownPositioning.d.ts +0 -0
  388. /package/{model → models}/packages/react/ui/components/hooks/useInputController.d.ts +0 -0
  389. /package/{model → models}/packages/react/ui/components/index.d.ts +0 -0
  390. /package/{model → models}/packages/react/ui/components/table/index.d.ts +0 -0
  391. /package/{model → models}/packages/react/ui/components/table/table.d.ts +0 -0
  392. /package/{model → models}/packages/react/ui/components/types/baseType.d.ts +0 -0
  393. /package/{model → models}/packages/react/ui/i18n/I18nProvider.d.ts +0 -0
  394. /package/{model → models}/packages/react/ui/i18n/index.d.ts +0 -0
  395. /package/{model → models}/packages/react/ui/i18n/useI18n.d.ts +0 -0
  396. /package/{model → models}/packages/react/ui/index.d.ts +0 -0
  397. /package/{model → models}/packages/react/ui/lib/createStoreHook.d.ts +0 -0
  398. /package/{model → models}/packages/react/ui/lib/export.d.ts +0 -0
  399. /package/{model → models}/packages/react/ui/lib/utils.d.ts +0 -0
  400. /package/{model → models}/packages/react/ui/stores/breadcrumb.d.ts +0 -0
  401. /package/{model → models}/packages/react/ui/stores/language.d.ts +0 -0
  402. /package/{model → models}/packages/react/ui/types/index.d.ts +0 -0
  403. /package/{model → models}/typings/type.d.ts +0 -0
@@ -0,0 +1,55 @@
1
+ //#region packages/common/ssr/hydration.ts
2
+ var e = "__SSR_DATA__";
3
+ function t() {
4
+ return globalThis.Buffer;
5
+ }
6
+ function n(e) {
7
+ let n = t();
8
+ if (n) return n.from(e, "utf-8").toString("base64");
9
+ let r = new TextEncoder().encode(e), i = "";
10
+ return r.forEach((e) => {
11
+ i += String.fromCharCode(e);
12
+ }), btoa(i);
13
+ }
14
+ function r(e) {
15
+ let n = t();
16
+ if (n) return n.from(e, "base64").toString("utf-8");
17
+ let r = atob(e), i = Uint8Array.from(r, (e) => e.charCodeAt(0));
18
+ return new TextDecoder().decode(i);
19
+ }
20
+ function i(e) {
21
+ return typeof e == "string" ? JSON.parse(r(e)) : e;
22
+ }
23
+ function a(t) {
24
+ let r = n(JSON.stringify(t));
25
+ return `window.${e}=${JSON.stringify(r)}`;
26
+ }
27
+ function o(e) {
28
+ return `<script>${a(e)}<\/script>`;
29
+ }
30
+ function s() {
31
+ if (typeof window > "u") return null;
32
+ let t = window[e];
33
+ if (!t) return null;
34
+ let n = i(t);
35
+ return window[e] = n, n;
36
+ }
37
+ function c() {
38
+ typeof window > "u" || delete window[e];
39
+ }
40
+ function l() {
41
+ let e = s();
42
+ return e ? (c(), e) : null;
43
+ }
44
+ function u(e, t, n) {
45
+ return {
46
+ props: e,
47
+ state: n ?? {},
48
+ meta: {
49
+ ...t,
50
+ renderedAt: Date.now()
51
+ }
52
+ };
53
+ }
54
+ //#endregion
55
+ export { e as SSR_DATA_KEY, c as clearHydrationData, u as createHydrationData, s as peekHydrationData, l as readHydrationData, o as serializeHydrationData, a as serializeHydrationDataScriptContent };
@@ -0,0 +1,20 @@
1
+ import { SSR_DATA_KEY as e, clearHydrationData as t, createHydrationData as n, peekHydrationData as r, readHydrationData as i, serializeHydrationData as a, serializeHydrationDataScriptContent as o } from "./hydration.js";
2
+ //#region packages/common/ssr/index.ts
3
+ var s = typeof window < "u" && typeof document < "u", c = !s;
4
+ function l(e, t) {
5
+ return c ? t : e();
6
+ }
7
+ function u() {
8
+ if (!c) return window;
9
+ }
10
+ function d() {
11
+ if (!c) return document;
12
+ }
13
+ function f(e, t = "") {
14
+ return c ? t : localStorage.getItem(e) ?? t;
15
+ }
16
+ function p(e, t) {
17
+ c || localStorage.setItem(e, t);
18
+ }
19
+ //#endregion
20
+ export { e as SSR_DATA_KEY, t as clearHydrationData, l as clientOnly, n as createHydrationData, s as isBrowser, c as isServer, r as peekHydrationData, i as readHydrationData, d as safeDocument, f as safeLocalStorage, p as safeSetLocalStorage, u as safeWindow, a as serializeHydrationData, o as serializeHydrationDataScriptContent };
@@ -1,60 +1,60 @@
1
- import e from "./env.js";
2
- import { resolve as t } from "../utils/path.js";
3
- import { runFileFn as n } from "../utils/runFileFn.js";
1
+ import { assertRouteBasePathNotConflict as e, getAppPath as t } from "./paths.js";
2
+ import n from "./env.js";
3
+ import { resolve as r } from "../utils/path.js";
4
+ import { runFileFn as i } from "../utils/runFileFn.js";
4
5
  import "../utils/index.js";
5
- import r from "./loader/config.js";
6
- import { getAppPath as i } from "./paths.js";
7
- import a from "./loader/controller.js";
8
- import o from "./loader/extend.js";
9
- import s from "./loader/middleware.js";
10
- import c from "./loader/model.js";
11
- import l from "./loader/router.js";
12
- import u from "./loader/router-schema.js";
13
- import d from "./loader/service.js";
14
- import f from "koa";
6
+ import a from "./loader/config.js";
7
+ import o from "./loader/controller.js";
8
+ import s from "./loader/extend.js";
9
+ import c from "./loader/middleware.js";
10
+ import l from "./loader/model.js";
11
+ import u from "./loader/router.js";
12
+ import d from "./loader/router-schema.js";
13
+ import f from "./loader/service.js";
14
+ import p from "koa";
15
15
  //#region packages/core/index.ts
16
- var p = c, m = async (n = {}) => {
17
- let c = new f();
18
- c.hooks = {}, c.hooks.initing?.();
19
- let { frameBaseDir: p, baseDir: m, ...g } = n;
20
- c.options = g, c.options.pageBasePage = c.options.pageBasePage ?? "/", c.options.apiPrefix = c.options.apiPrefix || "/api";
21
- let _ = c.baseDir = m ?? process.cwd(), v = c.frameBaseDir = p ?? t(__dirname, "..");
22
- c.businessAppPath = t(_, "app"), c.frameAppPath = t(v, "app"), c.paths = [{
16
+ var m = l, h = async (i = {}) => {
17
+ let l = new p();
18
+ l.hooks = {}, l.hooks.initing?.();
19
+ let { frameBaseDir: m, baseDir: h, ..._ } = i;
20
+ l.options = _, l.options.pageBasePath = l.options.pageBasePath ?? "/", l.options.ssrPageBasePath = l.options.ssrPageBasePath ?? "/fessr", l.options.apiPrefix = l.options.apiPrefix || "/api", e(l.options.pageBasePath, l.options.ssrPageBasePath);
21
+ let v = l.baseDir = h ?? process.cwd(), y = l.frameBaseDir = m ?? r(__dirname, "..");
22
+ l.businessAppPath = r(v, "app"), l.frameAppPath = r(y, "app"), l.paths = [{
23
23
  type: "frame",
24
- path: c.frameAppPath
24
+ path: l.frameAppPath
25
25
  }, {
26
26
  type: "business",
27
- path: c.businessAppPath
27
+ path: l.businessAppPath
28
28
  }];
29
- let y = c.options.additionalPublicPaths ?? [];
30
- y = Array.isArray(y) ? y : [y], c.publicsPath = [
31
- t(i(c, "business"), "./public"),
32
- t(i(c, "frame"), "./public"),
33
- ...y
34
- ], c.envs = e(), console.log(`-- [init] env: ${c.envs.get()} --`), r(c), console.log("-- [init] loader config done --"), await o(c), console.log("-- [init] loader extends done --"), u(c), console.log("-- [init] loader routerSchema done --"), d(c), console.log("-- [init] loader service done --"), a(c), console.log("-- [init] loader controller done --"), s(c), console.log("-- [init] loader middleware done --"), h(c), l(c), console.log("-- [init] loader router done --");
29
+ let b = l.options.additionalPublicPaths ?? [];
30
+ b = Array.isArray(b) ? b : [b], l.publicsPath = [
31
+ r(t(l, "business"), "./public"),
32
+ r(t(l, "frame"), "./public"),
33
+ ...b
34
+ ], l.envs = n(), console.log(`-- [init] env: ${l.envs.get()} --`), a(l), console.log("-- [init] loader config done --"), await s(l), console.log("-- [init] loader extends done --"), d(l), console.log("-- [init] loader routerSchema done --"), f(l), console.log("-- [init] loader service done --"), o(l), console.log("-- [init] loader controller done --"), c(l), console.log("-- [init] loader middleware done --"), g(l), u(l), console.log("-- [init] loader router done --");
35
35
  try {
36
- let t = c.config.port || process.env.PORT || "8080", n = parseInt(t + "", 10), r = process.env.IP || "0.0.0.0";
37
- c.listen(n, r), console.log(`Server port: http://localhost:${n}`), console.log(`run env is ${e().get()}`);
36
+ let e = l.config.port || process.env.PORT || "8080", t = parseInt(e + "", 10), r = process.env.IP || "0.0.0.0";
37
+ l.listen(t, r), console.log(`Server port: http://localhost:${t}`), console.log(`run env is ${n().get()}`);
38
38
  } catch (e) {
39
39
  console.error(e);
40
40
  }
41
- return c.hooks.inited?.(), c;
42
- }, h = (e) => {
43
- ["frame", "business"].map((t) => ({
44
- type: t,
45
- path: i(e, t)
46
- })).forEach((r) => {
47
- for (let i of ["ts", "js"]) {
48
- let a = `middleware.${i}`, o = t(r.path, a);
41
+ return l.hooks.inited?.(), l;
42
+ }, g = (e) => {
43
+ ["frame", "business"].map((n) => ({
44
+ type: n,
45
+ path: t(e, n)
46
+ })).forEach((t) => {
47
+ for (let n of ["ts", "js"]) {
48
+ let a = `middleware.${n}`, o = r(t.path, a);
49
49
  try {
50
- n(o)?.(e), console.log(`-- [init] loader ${r.type} appMiddleware ${a} done -- (${r.path})`);
50
+ i(o)?.(e), console.log(`-- [init] loader ${t.type} appMiddleware ${a} done -- (${t.path})`);
51
51
  break;
52
52
  } catch (e) {
53
- let t = e;
54
- if (!(t?.code === "MODULE_NOT_FOUND" && typeof t?.message == "string" && (t.message.includes(`Cannot find module '${o}'`) || t.message.includes(`Cannot find module "${o}"`)))) throw console.log(`-- [error] loader ${r.type} appMiddleware ${a} error -- (${o})`), e;
53
+ let n = e;
54
+ if (!(n?.code === "MODULE_NOT_FOUND" && typeof n?.message == "string" && (n.message.includes(`Cannot find module '${o}'`) || n.message.includes(`Cannot find module "${o}"`)))) throw console.log(`-- [error] loader ${t.type} appMiddleware ${a} error -- (${o})`), e;
55
55
  }
56
56
  }
57
57
  });
58
58
  };
59
59
  //#endregion
60
- export { p as loaderModel, m as start };
60
+ export { m as loaderModel, h as start };
@@ -1,13 +1,15 @@
1
- import { loadFileFn as e } from "../../utils/loadFile.js";
2
- import { runFileFn as t } from "../../utils/runFileFn.js";
1
+ import { getAppPath as e } from "../paths.js";
2
+ import { loadFileFn as t } from "../../utils/loadFile.js";
3
+ import { runFileFn as n } from "../../utils/runFileFn.js";
3
4
  import "../../utils/index.js";
4
- import { getAppPaths as n } from "../paths.js";
5
+ import { warnFrameBusinessOverrides as r } from "./merge.js";
5
6
  //#region packages/core/loader/controller.ts
6
- var r = (r) => {
7
- r.controller = n(r).reduce((n, i) => ({
8
- ...n,
9
- ...e(i, "controller", { loadFileCallback: (e) => new (t(e)(r))() })
10
- }), {});
7
+ var i = (i) => {
8
+ let a = e(i, "frame"), o = e(i, "business"), s = a ? t(a, "controller", { loadFileCallback: (e) => new (n(e)(i))() }) : {}, c = o ? t(o, "controller", { loadFileCallback: (e) => new (n(e)(i))() }) : {};
9
+ r("controller", s, c), i.controller = {
10
+ ...s,
11
+ ...c
12
+ };
11
13
  };
12
14
  //#endregion
13
- export { r as default };
15
+ export { i as default };
@@ -1,28 +1,32 @@
1
- import { loadFileFn as e } from "../../utils/loadFile.js";
2
- import { runFileFn as t } from "../../utils/runFileFn.js";
1
+ import { getAppPath as e } from "../paths.js";
2
+ import { loadFileFn as t } from "../../utils/loadFile.js";
3
+ import { runFileFn as n } from "../../utils/runFileFn.js";
3
4
  import "../../utils/index.js";
4
- import { getAppPaths as n } from "../paths.js";
5
+ import { warnFrameBusinessOverrides as r } from "./merge.js";
5
6
  //#region packages/core/loader/extend.ts
6
- var r = async (r) => {
7
- r.extends = { ...r.extends };
8
- let i = [];
9
- n(r).forEach((n) => {
10
- e(n, "extends", { processingFileCallback: ((e, n, a) => {
7
+ var i = async (i) => {
8
+ i.extends = { ...i.extends };
9
+ let a = e(i, "frame"), o = e(i, "business"), s = (e) => {
10
+ let r = [];
11
+ return e && t(e, "extends", { processingFileCallback: ((e, t, a) => {
11
12
  if (!a) {
12
- for (let t in r) if (t === e) {
13
+ for (let t in i) if (t === e) {
13
14
  console.log("\x1B[31m%s\x1B[0m", `[extend loader error] name:${e} is already in app`);
14
15
  return;
15
16
  }
16
- let a = t(n)(r);
17
- i.push(Promise.resolve(a).then((t) => ({
17
+ let a = n(t)(i);
18
+ r.push(Promise.resolve(a).then((t) => ({
18
19
  fileName: e,
19
20
  value: t
20
21
  })));
21
22
  }
22
- }) });
23
- }), (await Promise.all(i)).forEach(({ fileName: e, value: t }) => {
24
- r.extends[e] = t;
25
- });
23
+ }) }), r;
24
+ }, [c, l] = await Promise.all([Promise.all(s(a)), Promise.all(s(o))]), u = Object.fromEntries(c.map(({ fileName: e, value: t }) => [e, t])), d = Object.fromEntries(l.map(({ fileName: e, value: t }) => [e, t]));
25
+ r("extend", u, d), i.extends = {
26
+ ...i.extends,
27
+ ...u,
28
+ ...d
29
+ };
26
30
  };
27
31
  //#endregion
28
- export { r as default };
32
+ export { i as default };
@@ -0,0 +1,7 @@
1
+ //#region packages/core/loader/merge.ts
2
+ function e(e, t, n) {
3
+ let r = Object.keys(n).filter((e) => Object.hasOwn(t, e));
4
+ r.length && console.log("\x1B[33m%s\x1B[0m", `[${e} loader warn] business modules override frame modules: ${r.join(", ")}`);
5
+ }
6
+ //#endregion
7
+ export { e as warnFrameBusinessOverrides };
@@ -1,16 +1,15 @@
1
- import { loadFileFn as e } from "../../utils/loadFile.js";
2
- import { runFileFn as t } from "../../utils/runFileFn.js";
1
+ import { getAppPath as e } from "../paths.js";
2
+ import { loadFileFn as t } from "../../utils/loadFile.js";
3
+ import { runFileFn as n } from "../../utils/runFileFn.js";
3
4
  import "../../utils/index.js";
4
- import { getAppPaths as n } from "../paths.js";
5
+ import { warnFrameBusinessOverrides as r } from "./merge.js";
5
6
  //#region packages/core/loader/middleware.ts
6
- var r = (r) => {
7
- r.middlewares = n(r).reduce((n, i) => {
8
- let a = e(i, "middlewares", { loadFileCallback: (e) => t(e)(r) });
9
- return {
10
- ...n,
11
- ...a
12
- };
13
- }, {});
7
+ var i = (i) => {
8
+ let a = e(i, "frame"), o = e(i, "business"), s = a ? t(a, "middlewares", { loadFileCallback: (e) => n(e)(i) }) : {}, c = o ? t(o, "middlewares", { loadFileCallback: (e) => n(e)(i) }) : {};
9
+ r("middleware", s, c), i.middlewares = {
10
+ ...s,
11
+ ...c
12
+ };
14
13
  };
15
14
  //#endregion
16
- export { r as default };
15
+ export { i as default };
@@ -5,7 +5,7 @@ import r from "lodash";
5
5
  //#region packages/core/loader/model.ts
6
6
  var i = (t) => {
7
7
  let r = [];
8
- return e(t.baseDir, "model", { loadFileCallback: (e) => {
8
+ return e(t.baseDir, "models", { loadFileCallback: (e) => {
9
9
  if (!c(e)) {
10
10
  let t = e.split(n);
11
11
  if (t[t.length - 2] === "project") {
@@ -62,7 +62,7 @@ var o = (e, n, r, i) => {
62
62
  }), i;
63
63
  };
64
64
  function c(e) {
65
- return e.indexOf(`model${n}index.js`) !== -1 || e.indexOf(`model${n}index.ts`) !== -1;
65
+ return e.indexOf(`models${n}index.js`) !== -1 || e.indexOf(`models${n}index.ts`) !== -1;
66
66
  }
67
67
  //#endregion
68
68
  export { i as default };
@@ -1,19 +1,26 @@
1
- import { resolve as e } from "../../utils/path.js";
2
- import { loadFileFn as t } from "../../utils/loadFile.js";
3
- import { runFileFn as n } from "../../utils/runFileFn.js";
1
+ import { getAppPath as e } from "../paths.js";
2
+ import { resolve as t } from "../../utils/path.js";
3
+ import { loadFileFn as n } from "../../utils/loadFile.js";
4
+ import { runFileFn as r } from "../../utils/runFileFn.js";
4
5
  import "../../utils/index.js";
5
- import { getAppPaths as r } from "../paths.js";
6
+ import { warnFrameBusinessOverrides as i } from "./merge.js";
6
7
  //#region packages/core/loader/router-schema.ts
7
- var i = (i) => {
8
- let a = {};
9
- r(i).forEach((r) => {
10
- t(r, "router-schema", { preProcessingFileCallback(t) {
11
- a = {
12
- ...a,
13
- ...n(e(t))
14
- };
15
- } });
16
- }), i.routerSchema = a;
8
+ var a = (a) => {
9
+ let o = e(a, "frame"), s = e(a, "business"), c = {}, l = {};
10
+ o && n(o, "router-schema", { preProcessingFileCallback(e) {
11
+ c = {
12
+ ...c,
13
+ ...r(t(e))
14
+ };
15
+ } }), s && n(s, "router-schema", { preProcessingFileCallback(e) {
16
+ l = {
17
+ ...l,
18
+ ...r(t(e))
19
+ };
20
+ } }), i("router-schema", c, l), a.routerSchema = {
21
+ ...c,
22
+ ...l
23
+ };
17
24
  };
18
25
  //#endregion
19
- export { i as default };
26
+ export { a as default };
@@ -1,39 +1,45 @@
1
- import { resolve as e } from "../../utils/path.js";
2
- import { loadFileFn as t } from "../../utils/loadFile.js";
3
- import { runFileFn as n } from "../../utils/runFileFn.js";
1
+ import { getAppPath as e, getAppPaths as t } from "../paths.js";
2
+ import { resolve as n } from "../../utils/path.js";
3
+ import { getAllFilesInFolder as r } from "../../utils/getAllFilesInFolder.js";
4
+ import { loadFileFn as i } from "../../utils/loadFile.js";
5
+ import { runFileFn as a } from "../../utils/runFileFn.js";
4
6
  import "../../utils/index.js";
5
- import { getAppPath as r, getAppPaths as i } from "../paths.js";
6
- import { existsSync as a } from "fs";
7
- import o from "koa-router";
7
+ import { existsSync as o } from "fs";
8
+ import { relative as s } from "path";
9
+ import c from "koa-router";
8
10
  //#region packages/core/loader/router.ts
9
- var s = (s) => {
10
- let c, l = r(s, "business");
11
- if (l) for (let t of ["router-guard.ts", "router-guard.js"]) {
12
- let r = e(l, t);
13
- if (a(r)) {
14
- c = n(r)(s);
11
+ var l = (l) => {
12
+ let u, d = e(l, "business");
13
+ if (d) for (let e of ["router-guard.ts", "router-guard.js"]) {
14
+ let t = n(d, e);
15
+ if (o(t)) {
16
+ u = a(t)(l);
15
17
  break;
16
18
  }
17
19
  }
18
- c || console.info("-- [router-guard] -- not router-guard.(ts|js) file");
19
- let u = [];
20
- i(s).forEach((r) => {
21
- t(r, "router", { preProcessingFileCallback: (t) => {
22
- let r = new o();
23
- r.level = 0, u.push(r), n(e(t))(s, r);
20
+ u || console.info("-- [router-guard] -- not router-guard.(ts|js) file");
21
+ let f = [], [p, m] = t(l);
22
+ if (p && m) {
23
+ let e = new Set(r(p, "router").map((e) => s(p, e))), t = r(m, "router").map((e) => s(m, e)).filter((t) => e.has(t));
24
+ t.length && console.log("\x1B[33m%s\x1B[0m", `[router loader warn] business router files override frame router files: ${t.join(", ")}`);
25
+ }
26
+ t(l).forEach((e) => {
27
+ i(e, "router", { preProcessingFileCallback: (e) => {
28
+ let t = new c();
29
+ t.level = 0, f.push(t), a(n(e))(l, t);
24
30
  } });
25
31
  });
26
- let d = new o();
27
- d.level = 99, d.get("(.*)", async (e, t) => {
32
+ let h = new c();
33
+ h.level = 99, h.get("(.*)", async (e, t) => {
28
34
  console.info("\x1B[31m%s\x1B[0m", `-- notFound path: ${e.path} --`);
29
- let n = c?.(e);
30
- e.status = 302, n ? typeof n == "string" ? e.redirect(n ?? "/") : (e.status = n.status, e.body = n.body) : e.path.includes(`${s.options.apiPrefix}/`) ? (e.status = 200, e.body = {
35
+ let n = u?.(e);
36
+ e.status = 302, n ? typeof n == "string" ? e.redirect(n ?? "/") : (e.status = n.status, e.body = n.body) : e.path.includes(`${l.options.apiPrefix}/`) ? (e.status = 200, e.body = {
31
37
  code: 404,
32
38
  message: `${e.path} not found`
33
39
  }) : (e.status = 404, e.body = "notFound");
34
- }), u.push(d), u.sort((e, t) => (e.level ?? 0) < (t.level ?? 0) ? -1 : 1), u.forEach((e) => {
35
- s.use(e.routes()), s.use(e.allowedMethods());
36
- }), s.currentUseRouter = u;
40
+ }), f.push(h), f.sort((e, t) => (e.level ?? 0) < (t.level ?? 0) ? -1 : 1), f.forEach((e) => {
41
+ l.use(e.routes()), l.use(e.allowedMethods());
42
+ }), l.currentUseRouter = f;
37
43
  };
38
44
  //#endregion
39
- export { s as default };
45
+ export { l as default };
@@ -1,13 +1,15 @@
1
- import { loadFileFn as e } from "../../utils/loadFile.js";
2
- import { runFileFn as t } from "../../utils/runFileFn.js";
1
+ import { getAppPath as e } from "../paths.js";
2
+ import { loadFileFn as t } from "../../utils/loadFile.js";
3
+ import { runFileFn as n } from "../../utils/runFileFn.js";
3
4
  import "../../utils/index.js";
4
- import { getAppPaths as n } from "../paths.js";
5
+ import { warnFrameBusinessOverrides as r } from "./merge.js";
5
6
  //#region packages/core/loader/service.ts
6
- var r = (r) => {
7
- r.service = n(r).reduce((n, i) => ({
8
- ...n,
9
- ...e(i, "service", { loadFileCallback: (e) => new (t(e)(r))() })
10
- }), {});
7
+ var i = (i) => {
8
+ let a = e(i, "frame"), o = e(i, "business"), s = a ? t(a, "service", { loadFileCallback: (e) => new (n(e)(i))() }) : {}, c = o ? t(o, "service", { loadFileCallback: (e) => new (n(e)(i))() }) : {};
9
+ r("service", s, c), i.service = {
10
+ ...s,
11
+ ...c
12
+ };
11
13
  };
12
14
  //#endregion
13
- export { r as default };
15
+ export { i as default };
@@ -5,5 +5,13 @@ function e(e, t) {
5
5
  function t(e) {
6
6
  return (e.paths ?? []).map((e) => e.path);
7
7
  }
8
+ function n(e, t = "/") {
9
+ let n = String(e ?? t).replace(/^\/+|\/+$/g, "");
10
+ return n ? `/${n}` : "";
11
+ }
12
+ function r(e, t) {
13
+ let r = n(e);
14
+ if (r === n(t, "/fessr")) throw Error(`[core] pageBasePath and ssrPageBasePath cannot be the same: ${r || "/"}`);
15
+ }
8
16
  //#endregion
9
- export { e as getAppPath, t as getAppPaths };
17
+ export { r as assertRouteBasePathNotConflict, e as getAppPath, t as getAppPaths, n as normalizeRouteBasePath };