@_tc/template-core 0.2.12 → 0.3.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 (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 +30 -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 +52 -33
  11. package/CHANGE.md +48 -5
  12. package/README.md +147 -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 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../_virtual/_rolldown/runtime.js`);let t=require(`path`);t=e.__toESM(t);let n=require(`glob`);n=e.__toESM(n);var r=[`js`,`jsx`,`ts`,`tsx`],i=e=>e.replace(/\\/g,`/`),a=e=>{let t=i(e).split(`/`);return t.some((e,n)=>e===`ssr`&&t[n+1]===`apps`)},o=e=>t.default.basename(e).replace(/\.entry\.[^.]+$/,``);function s(e,t){return e.flatMap(e=>{let a=i(e),o=r.map(e=>`${a}/**/*.${e}`);return n.sync(o,{nodir:!0}).filter(e=>e.includes(`.entry.`)).filter(e=>!e.includes(`.d.ts`)).filter(t).sort()})}function c(e){return s(e,e=>!a(e))}function l(e){return s(e,a)}function u(e){return e.reduce((e,t)=>(e[o(t)]=t,e),{})}function d(e,n){return t.default.resolve(n?.baseDir??process.cwd(),e)}function f(e){let t=e?.ssrEntries;return t?Object.entries(t).reduce((t,[n,r])=>(t[n]=d(r,e),t),{}):{}}function p(e,t){let n=f(t);if(t?.ssrEntriesMode===`replace`)return n;let r=u(l(e));return t?.ssrEntries?{...r,...n}:r}exports.collectCSREntryFiles=c,exports.collectSSREntries=p,exports.collectSSREntryFiles=l,exports.createEntryMap=u,exports.isSSRAppsPath=a,exports.normalizeConfiguredSSREntries=f,exports.toEntryName=o;
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../_virtual/_rolldown/runtime.js`),t=require(`../ssrSharedData/outputPaths.js`);let n=require(`fs`),r=require(`path`);r=e.__toESM(r);let i=require(`glob`);i=e.__toESM(i);let a=require(`@tailwindcss/vite`);a=e.__toESM(a);let o=require(`module`),s=require(`url`);var c=typeof __filename==`string`?__filename:(0,s.fileURLToPath)({}.url),l=r.default.dirname(c),u=(0,o.createRequire)(c),d=[``,`.ts`,`.tsx`,`.js`,`.jsx`];function f(){let e=r.default.resolve(l,`../`),t=r.default.resolve(e,`../`),a=r.default.resolve(e,`./ssr`),o=r.default.resolve(t,`./fe/ssr`),s=r.default.resolve(o,`./apps`),c=i.sync(r.default.resolve(s,`**/*.entry.*`)).length>0,u=c?o:a,d=r.default.resolve(e,`./frontend`),f=r.default.resolve(t,`./fe/frontend`),p=r.default.resolve(e,`./packages/react/ui`),m=r.default.resolve(t,`./fe/packages/react/ui`),h=r.default.resolve(e,`./packages/react/hooks`),g=r.default.resolve(t,`./fe/packages/react/hooks`),_=r.default.resolve(e,`./packages/common`),v=r.default.resolve(t,`./fe/packages/common`);return{currentDir:l,frameNodePath:e,framePackagePath:t,frameFEPath:(0,n.existsSync)(f)?f:d,frameSSRPath:u,frameSSRAppsPath:r.default.resolve(u,`./apps`),frameReactUIPath:(0,n.existsSync)(m)?m:p,frameReactHooksPath:(0,n.existsSync)(g)?g:h,frameCommonPath:(0,n.existsSync)(v)?v:_,hasFramePublishedSSREntries:c}}function p(e){return r.default.dirname(u.resolve(`${e}/package.json`))}function m(){return{react:p(`react`),"react-dom":p(`react-dom`)}}function h(e,t){return e.reduce((e,[i,a,o,s=`./defaultAlias`])=>(e[i]=d.map(e=>r.default.resolve(o,a+e)).find(e=>(0,n.existsSync)(e))??r.default.resolve(t.currentDir,s),e),{})}function g(e,t){return h([[`@tc/scalability/SchemaPage/CallCom/data`,`./extended/SchemaPage/CallCom/data`,e],[`@tc/scalability/SchemaPage/SchemaTable/data`,`./extended/SchemaPage/SchemaTable/data`,e],[`@tc/scalability/dash/customRoutes`,`./extended/dash/customRoutes`,e],[`@tc/scalability/dash/init`,`./extended/dash/init`,e],[`@tc/scalability/dash/components`,`./extended/dash/components`,e],[`@tc/scalability/dash/routeGuard`,`./extended/dash/routeGuard`,e,`./defaultRouteGuard`]],t)}function _(e){let{runFEPath:t,paths:n,includeSourceOnlyAliases:i=!1}=e;return{...m(),...i?{"@fe":n.frameFEPath,"@":r.default.resolve(n.frameFEPath,`./src`),"@ssr":n.frameSSRPath,"@model":r.default.resolve(n.frameNodePath,`./models/types`),typings:r.default.resolve(n.frameNodePath,`./typings`)}:{},"@tc/common":n.frameCommonPath,"@tc/ui-react/hooks":n.frameReactHooksPath,"@tc/ui-react":n.frameReactUIPath,"@tc/schema-page-call-com/builtIn":r.default.resolve(n.frameFEPath,`./src/defaultPages/SchemaPage/components/CallCom/builtIn`),...g(t,n)}}function v(e,n){let i=t.resolveRunPath(n);return{..._({runFEPath:r.default.resolve(i,`./frontend`),paths:e}),"@fe":e.frameFEPath,"@":r.default.resolve(e.frameFEPath,`./src`),"@ssr":e.frameSSRPath,"@store":r.default.resolve(e.frameFEPath,`./src/stores`),"@model":r.default.resolve(e.frameNodePath,`./models/types`),typings:r.default.resolve(e.frameNodePath,`./typings`)}}function y(e,n){return _({runFEPath:r.default.resolve(t.resolveRunPath(n),`./frontend`),paths:e,includeSourceOnlyAliases:!0})}var b=[`react`,`react-dom`,`react-dom/server`,`react-dom/client`,`react/jsx-runtime`,`react/jsx-dev-runtime`];function x(e,t){let n=r.default.basename(e.framePackagePath),i=r.default.basename(r.default.dirname(e.framePackagePath)),a=i.startsWith(`@`)?`${i}/${n}`:n;return[...new Set([a,`${a}/fe`,`rc-field-form`,`rc-util`,`tailwind-merge`,`@babel/runtime`,`async-validator`,...t??[]])]}function S(){return[(0,a.default)()]}exports.createBundlerPaths=f,exports.createCSRResolveAlias=v,exports.createFEBasePlugins=S,exports.createFECompatibleResolveAlias=_,exports.createReactResolveAlias=m,exports.createSSRNoExternal=x,exports.createSSRResolveAlias=y,exports.createScalabilityAliases=g,exports.resolveAliasWithFallback=h,exports.resolvePackageDir=p,exports.ssrReactExternal=b;
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./buildBE.js`),t=require(`./buildFE.js`);exports.buildBE=e.buildBE,exports.buildFE=t.buildFE;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./buildBE.js`),t=require(`./utils.js`),n=require(`./buildFE.js`),r=require(`./buildSSR.js`);exports.buildBE=e.buildBE,exports.buildFE=n.buildFE,exports.buildSSR=r.buildSSR,exports.resolveFEOutDir=t.resolveFEOutDir,exports.ssrClientOutDir=r.ssrClientOutDir,exports.ssrEntries=r.ssrEntries,exports.ssrManifestOutDir=r.ssrManifestOutDir,exports.ssrServerOutDir=r.ssrServerOutDir,exports.watchSSRFiles=r.watchSSRFiles;
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../_virtual/_rolldown/runtime.js`),t=require(`../ssrSharedData/outputPaths.js`);let n=require(`fs`),r=require(`path`);r=e.__toESM(r);function i(e,i){let a=r.default.join(e,`.vite`),o=r.default.join(a,t.SSR_CLIENT_MANIFEST_FILE),s=r.default.join(i,t.SSR_CLIENT_MANIFEST_FILE);if(!(0,n.existsSync)(o))throw Error(`Vite client manifest was not generated: ${o}`);(0,n.mkdirSync)(i,{recursive:!0}),(0,n.copyFileSync)(o,s),(0,n.rmSync)(a,{recursive:!0,force:!0})}exports.moveClientManifestToSSRPrivate=i;
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../_virtual/_rolldown/runtime.js`),t=require(`../packages/common/log/index.js`),n=require(`../ssrSharedData/outputPaths.js`),r=require(`./entryCollect.js`);let i=require(`path`);i=e.__toESM(i);function a(e,a,o={}){let s=o.enabled??!0,c=i.default.resolve(n.resolveRunPath(a),`./ssr/apps`),l=[e.frameSSRAppsPath,c];s&&(t.logWhite(`SSR frame entry scan path: `+e.frameSSRAppsPath),t.logWhite(`SSR run entry scan path: `+c));let u=r.collectSSREntries(l,a);return Object.keys(u).length?s&&t.logGreen(`SSR entries: `+JSON.stringify(Object.keys(u))):s&&t.logYellow(o.emptyMessage??`no SSR entry found, skipping SSR build`),u}exports.collectBundlerSSREntries=a;
@@ -1,3 +1,3 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../_virtual/_rolldown/runtime.js`),t=require(`../packages/common/log/index.js`),n=require(`../packages/utils/path.js`);require(`../packages/utils/index.js`);const r=require(`./state.js`);let i=require(`fs`),a=require(`path`);a=e.__toESM(a);let o=require(`glob`);o=e.__toESM(o);let s=require(`vite`),c=require(`@tailwindcss/vite`);c=e.__toESM(c);let l=require(`module`),u=require(`url`);var d=typeof __filename==`string`?__filename:(0,u.fileURLToPath)({}.url),f=a.default.dirname(d),p=process.cwd(),m=(0,l.createRequire)(d),h=a.default.resolve(f,`../../`),g=a.default.resolve(f,`../`),_=a.default.resolve(h,`./fe/frontend`),v=a.default.resolve(p,`.`),y=a.default.resolve(v,`./frontend`),b=e=>a.default.dirname(m.resolve(`${e}/package.json`)),x=a.default.join(v,`.tc-entry-html`),S=`<!-- {{InsertScript}} -->`,C={head:`<!-- TC_HEAD_SLOT -->`,bodyBeforeRoot:`<!-- TC_BODY_BEFORE_ROOT_SLOT -->`,bodyAfterRoot:`<!-- TC_BODY_AFTER_ROOT_SLOT -->`},w=[`head`,`body-before-root`,`body-after-root`],T=()=>({head:``,"body-before-root":``,"body-after-root":``}),E=e=>e.trim().replace(/<!--(?!\s*(?:tc-slot:|\/tc-slot:))[\s\S]*?-->/g,``).replace(/>\s+</g,`><`),D=e=>{let t=[],n=e.replace(/<(script|style|textarea|pre)\b[\s\S]*?<\/\1>/gi,e=>{let n=`__TC_HTML_PRESERVED_${t.length}__`;return t.push(e),n}).replace(/<!--(?!\s*(?:tc-slot:|\/tc-slot:|\{\{InsertScript\}\}|TC_))[\s\S]*?-->/g,``).replace(/>\s+</g,`><`).trim();return t.reduce((e,t,n)=>e.replace(`__TC_HTML_PRESERVED_${n}__`,t),n)},O=e=>e.split(a.default.sep).join(`/`),k=e=>{let t=O(e);return t.startsWith(`.`)||t.startsWith(`/`)?t:`./${t}`},A=e=>/<html[\s>]/i.test(e)&&e.includes(`window['_basePath']`)&&/<div\s+id=["']root["']\s*><\/div>/i.test(e),j=e=>{let n=T(),r=(0,i.readFileSync)(e,`utf-8`),a=/<!--\s*tc-slot:([\w-]+)\s*-->([\s\S]*?)<!--\s*\/tc-slot:\1\s*-->/g,o=!1,s=r;if(r.replace(a,(t,r,i)=>{if(o=!0,!w.includes(r))throw Error(`Invalid html slot "${r}" in ${e}. Allowed slots: ${w.join(`, `)}.`);return n[r]+=i.trim()?`${i}\n`:``,s=s.replace(t,``),t}),s.trim()){if(A(r))return t.logYellow(`ignored legacy generated entry html: ${e}`),T();throw Error([`Invalid custom entry html: ${e}.`,`Custom entry html can only contain tc-slot blocks, for example:`,`<!-- tc-slot:head -->`,`<meta name="description" content="..." />`,`<!-- /tc-slot:head -->`].join(`
2
- `))}return o&&t.logYellow(`using custom entry html slots: ${e}`),n},M=(e,t)=>{let r=a.default.basename(e),s=[a.default.join(e,`${t}.html`),a.default.join(e,`${r}.html`)].find(e=>(0,i.existsSync)(e));if(s)return s;if(o.sync(n.resolve(e,`*.html`)).length)throw Error([`Entry html filename is not supported in ${e}.`,`Use ${t}.html or ${r}.html as a tc-slot file.`].join(`
3
- `))},N=(e,t)=>e.replace(C.head,E(t.head)).replace(C.bodyBeforeRoot,E(t[`body-before-root`])).replace(C.bodyAfterRoot,E(t[`body-after-root`])),P=(e=new Date)=>{let t=(e,t=2)=>e.toString().padStart(t,`0`);return[e.getFullYear(),t(e.getMonth()+1),t(e.getDate()),t(e.getHours())].join(`/`)+`:${t(e.getMinutes())}:${t(e.getSeconds())}:${t(e.getMilliseconds(),3)}`},F=(e,t,n,r)=>{let o=a.default.join(x,`${n}.html`),s=k(a.default.relative(a.default.dirname(o),t));return(0,i.writeFileSync)(o,N(e,r).replace(S,`<script type="module" src="${s}"><\/script>`)),o};function I(){t.logWhite(`frameFEPath: `+_),t.logWhite(`runFEPath: `+y);let e=[_,y].reduce((e,t)=>{let r=[`js`,`jsx`,`ts`,`tsx`].map(e=>n.resolve(t,`/**`,`/*.`+e)),i=o.sync(r).filter(e=>e.includes(`.entry.`)).filter(e=>!e.includes(`.d.ts`));return[...e,...i]},[]),r={};if(!e.length)return r;(0,i.rmSync)(x,{recursive:!0,force:!0}),(0,i.mkdirSync)(x,{recursive:!0});let s=(0,i.readFileSync)(a.default.resolve(g,`./app/view/entry.tpl`),`utf-8`);for(let t=0;t<e.length;t++){let n=e[t],i=a.default.resolve(n,`../`),o=M(i,a.default.basename(n).replace(/\.entry\.[^.]+$/,``)),c=o?a.default.basename(o,`.html`):i.split(a.default.sep).at(-1);r[c]=F(s,n,c,o?j(o):T())}return r}function L(){let e=r.buildFESharedState.options.output??`frame`;return e!==`frame`&&t.logRed(`Please pay attention to the build output.`),e===`run`?a.default.join(v,`./app/public/dist`):typeof e==`function`?e():a.default.join(g,`./app/public/dist`)}var R=async e=>{let n=(await import(`chokidar`)).watch(y,{ignored:/(^|[\/\\])\../,persistent:!0,ignoreInitial:!0}),r=!1;n.on(`change`,async n=>{if(!r){r=!0,t.logYellow(`changed: ${n}`);try{await e?.()}catch(e){t.logRed(e)}finally{r=!1}}}),t.logYellow(`watching ${y}/...`)};function z(){return{name:`flatten-html`,apply:`build`,closeBundle(){let e=L(),t=P();(0,i.writeFileSync)(n.resolve(e,`./FEBuildKey`),t)}}}function B(e=`.html`){let n=[...new Set(Array.isArray(e)?e:[e])];return{name:`flatten-html`,apply:`build`,closeBundle(){let e=L();if(!(0,i.existsSync)(e))return;let s=r.buildFESharedState.options.minifyHtml??!1,c=o.sync(`**/*.html`,{cwd:e,dot:!0});for(let t of c){let r=a.default.join(e,t),o=(0,i.readFileSync)(r,`utf-8`),c=s?D(o):o,l=a.default.basename(t,`.html`),u=`.entry`;l.indexOf(u)===-1&&(l+=u);for(let t of n){let n=l+t,o=a.default.join(e,n);r===o?s&&(0,i.writeFileSync)(o,c):(0,i.writeFileSync)(o,c)}n.some(t=>r===a.default.join(e,l+t))||(0,i.unlinkSync)(r)}let l=[...new Set(c.map(e=>a.default.dirname(e)))].sort().reverse(),u=e=>{if(!((0,i.existsSync)(e)?(0,i.readdirSync)(e):[1]).length){(0,i.rmdirSync)(e);let t=e.split(a.default.sep).slice(0,-1);t.length&&u(t.join(a.default.sep))}};for(let t of l)t&&t!==`.`&&u(a.default.join(e,t));let d=n.flatMap(t=>o.sync(`**/*`+t,{cwd:e,dot:!0}));for(let e of d)t.logYellow(`final file path -----> `+e)}}}function V(e){let t=[``,`.ts`,`.tsx`,`.js`,`.jsx`];return e.reduce((e,[n,r,o=y,s=`./defaultAlias`])=>{let c=t.map(e=>a.default.resolve(o,r+e)).find(e=>(0,i.existsSync)(e)),l=a.default.resolve(f,s);return c&&(l=c),e[n]=l,e},{})}var H=e=>`_${e}_tcC`,U=e=>O(e),W=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),G=e=>U(e).includes(`/node_modules/`),K=(e,t)=>{let n=U(e),r=t.split(`/`).map(W).join(`/`);return RegExp(`/node_modules/(?:\\.pnpm/[^/]+/node_modules/)?${r}(?:/|$)`).test(n)},q=(e,t)=>t.some(t=>K(e,t)),J=(e,...t)=>{let n=U(e),r=t.map(W).join(`/`);return RegExp(`(?:^|/)${r}(?:/|$)`).test(n)},Y=(e,t)=>t.some(t=>J(e,...t)),X=async(e,n)=>{try{await(0,s.build)({configFile:!1,base:`/dist`,plugins:[(await import(`@vitejs/plugin-react`)).default(),B([`.tpl`]),z(),(0,c.default)()],build:{outDir:L(),emptyOutDir:!0,sourcemap:n===`dev`?`inline`:`hidden`,rolldownOptions:{input:e,output:{codeSplitting:{groups:[{name:H(`react-dom`),test:e=>K(e,`react-dom`),maxSize:25e4,priority:100},{name:H(`react-router`),test:e=>q(e,[`react-router`,`react-router-dom`]),maxSize:25e4,priority:95},{name:H(`react`),test:e=>K(e,`react`),maxSize:2e5,priority:90},{name:H(`form-validator`),test:e=>q(e,[`ajv`,`rc-field-form`]),maxSize:25e4,priority:80},{name:H(`ui-vendor`),test:e=>q(e,[`date-fns`,`lucide-react`,`xlsx`]),maxSize:35e4,priority:70},{name:H(`state-utils`),test:e=>q(e,[`clsx`,`immer`,`tailwind-merge`,`zustand`]),maxSize:18e4,priority:60},{name:H(`tc-ui`),test:e=>Y(e,[[`packages`,`react`,`ui`],[`fe`,`packages`,`react`,`ui`]]),maxSize:25e4,minShareCount:2,priority:50},{name:H(`tc-hooks`),test:e=>Y(e,[[`packages`,`react`,`hooks`],[`fe`,`packages`,`react`,`hooks`]]),maxSize:12e4,minShareCount:2,priority:45},{name:H(`tc-common`),test:e=>Y(e,[[`packages`,`common`],[`fe`,`packages`,`common`]]),maxSize:16e4,minShareCount:2,priority:40},{name:H(`tc-schema-page`),test:e=>Y(e,[[`frontend`,`src`,`defaultPages`,`SchemaPage`],[`fe`,`frontend`,`src`,`defaultPages`,`SchemaPage`]]),maxSize:2e5,minShareCount:2,priority:35},{name:H(`tc-pages`),test:e=>Y(e,[[`frontend`,`src`,`defaultPages`],[`fe`,`frontend`,`src`,`defaultPages`]]),maxSize:18e4,minShareCount:2,priority:30},{name:H(`vendor`),test:G,maxSize:5e5,minShareCount:2,priority:1}]}}}},resolve:{alias:{react:b(`react`),"react-dom":b(`react-dom`),"@tc/ui-react/hooks":a.default.resolve(f,`../../fe/packages/react/hooks/`),"@tc/ui-react":a.default.resolve(f,`../../fe/packages/react/ui/`),...V([[`@tc/scalability/SchemaForm/frameData`,`./extended/SchemaForm/data`,_],[`@tc/scalability/SchemaForm/data`,`./extended/SchemaForm/data`],[`@tc/scalability/SchemaPage/CallCom/data`,`./extended/SchemaPage/CallCom/data`],[`@tc/scalability/SchemaPage/SchemaTable/data`,`./extended/SchemaPage/SchemaTable/data`],[`@tc/scalability/dash/customRoutes`,`./extended/dash/customRoutes`],[`@tc/scalability/dash/init`,`./extended/dash/init`],[`@tc/scalability/dash/components`,`./extended/dash/components`],[`@tc/scalability/dash/routeGuard`,`./extended/dash/routeGuard`,void 0,`./defaultRouteGuard`]])}}}),t.logJoinColorized(t.colorize(`builded`,`green`),t.colorize(` -> `,`white`),t.colorize(`time: `,`cyan`),t.colorize(new Date,`pink`))}catch(e){if(t.logRed(e),n!==`dev`)throw e}};exports.VBuildFE=X,exports.entries=I,exports.generateBuildKeyPlugin=z,exports.outDir=L,exports.watchFiles=R;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../_virtual/_rolldown/runtime.js`),t=require(`../packages/common/log/index.js`),n=require(`../ssrSharedData/outputPaths.js`),r=require(`../app/html/shell.js`),i=require(`../packages/utils/path.js`);require(`../packages/utils/index.js`);const a=require(`./entryCollect.js`),o=require(`./feSharedConfig.js`),s=require(`./ssrClientManifest.js`),c=require(`./ssrEntries.js`),l=require(`./state.js`);let u=require(`fs`),d=require(`path`);d=e.__toESM(d);let f=require(`glob`);f=e.__toESM(f);let p=require(`vite`);var m=o.createBundlerPaths(),h=m.frameNodePath,g=m.frameFEPath,_=`<!-- {{InsertScript}} -->`,v={head:`<!-- TC_HEAD_SLOT -->`,bodyBeforeRoot:`<!-- TC_BODY_BEFORE_ROOT_SLOT -->`,bodyAfterRoot:`<!-- TC_BODY_AFTER_ROOT_SLOT -->`},y=[`head`,`body-before-root`,`body-after-root`];function b(e){return n.resolveFEOutDir({...e,frameNodePath:h})}function x(){return n.resolveFEOutDir({...l.buildFESharedState.options,frameNodePath:h})}function S(){return n.resolveSSRManifestOutDir({...l.buildFESharedState.options,frameNodePath:h})}function C(e=l.buildFESharedState.options){return d.default.resolve(n.resolveRunPath(e),`./frontend`)}function w(e=l.buildFESharedState.options){let t=n.resolveRunPath(e);return(0,u.existsSync)(t)?(0,u.realpathSync)(t):t}function T(e=l.buildFESharedState.options){return d.default.join(w(e),`.tc-entry-html`)}var E=()=>({head:``,"body-before-root":``,"body-after-root":``}),D=e=>e.trim().replace(/<!--(?!\s*(?:tc-slot:|\/tc-slot:))[\s\S]*?-->/g,``).replace(/>\s+</g,`><`),O=e=>{let t=[],n=e.replace(/<(script|style|textarea|pre)\b[\s\S]*?<\/\1>/gi,e=>{let n=`__TC_HTML_PRESERVED_${t.length}__`;return t.push(e),n}).replace(/<!--(?!\s*(?:tc-slot:|\/tc-slot:|\{\{InsertScript\}\}|TC_))[\s\S]*?-->/g,``).replace(/>\s+</g,`><`).trim();return t.reduce((e,t,n)=>e.replace(`__TC_HTML_PRESERVED_${n}__`,t),n)},k=e=>e.replace(/\\/g,`/`),A=e=>{let t=k(e);return t.startsWith(`.`)||t.startsWith(`/`)?t:`./${t}`},j=e=>/<html[\s>]/i.test(e)&&e.includes(`window['_basePath']`)&&/<div\s+id=["']root["']\s*><\/div>/i.test(e),M=e=>{let n=E(),r=(0,u.readFileSync)(e,`utf-8`),i=/<!--\s*tc-slot:([\w-]+)\s*-->([\s\S]*?)<!--\s*\/tc-slot:\1\s*-->/g,a=!1,o=r;if(r.replace(i,(t,r,i)=>{if(a=!0,!y.includes(r))throw Error(`Invalid html slot "${r}" in ${e}. Allowed slots: ${y.join(`, `)}.`);return n[r]+=i.trim()?`${i}\n`:``,o=o.replace(t,``),t}),o.trim()){if(j(r))return t.logYellow(`ignored legacy generated entry html: ${e}`),E();throw Error([`Invalid custom entry html: ${e}.`,`Custom entry html can only contain tc-slot blocks, for example:`,`<!-- tc-slot:head -->`,`<meta name="description" content="..." />`,`<!-- /tc-slot:head -->`].join(`
2
+ `))}return a&&t.logYellow(`using custom entry html slots: ${e}`),n},N=(e,t)=>{let n=d.default.basename(e),r=[d.default.join(e,`${t}.html`),d.default.join(e,`${n}.html`)].find(e=>(0,u.existsSync)(e));if(r)return r;if(f.sync(i.resolve(e,`*.html`)).length)throw Error([`Entry html filename is not supported in ${e}.`,`Use ${t}.html or ${n}.html as a tc-slot file.`].join(`
3
+ `))},P=(e,t)=>e.replace(v.head,D(t.head)).replace(v.bodyBeforeRoot,D(t[`body-before-root`])).replace(v.bodyAfterRoot,D(t[`body-after-root`])),F=(e=new Date)=>{let t=(e,t=2)=>e.toString().padStart(t,`0`);return[e.getFullYear(),t(e.getMonth()+1),t(e.getDate()),t(e.getHours())].join(`/`)+`:${t(e.getMinutes())}:${t(e.getSeconds())}:${t(e.getMilliseconds(),3)}`},I=(e,t,n,r,i)=>{let a=d.default.join(e,`${r}.html`),o=A(d.default.relative((0,u.realpathSync)(d.default.dirname(a)),(0,u.realpathSync)(n)));return(0,u.writeFileSync)(a,P(t,i).replace(_,`<script type="module" src="${o}"><\/script>`)),a};function L(e=l.buildFESharedState.options){let n=C(e),i=T(e);t.logWhite(`frameFEPath: `+g),t.logWhite(`runFEPath: `+n);let o=a.collectCSREntryFiles([g,n]),s={};if(!o.length)return s;(0,u.rmSync)(i,{recursive:!0,force:!0}),(0,u.mkdirSync)(i,{recursive:!0});let c=r.applySharedCSRShellTemplate((0,u.readFileSync)(d.default.resolve(h,`./app/view/entry.tpl`),`utf-8`));for(let e=0;e<o.length;e++){let t=o[e],n=d.default.resolve(t,`../`),r=N(n,d.default.basename(t).replace(/\.entry\.[^.]+$/,``)),a=r?d.default.basename(r,`.html`):n.split(d.default.sep).at(-1);s[a]=I(i,c,t,a,r?M(r):E())}return s}function R(){return(l.buildFESharedState.options.output??`frame`)!==`frame`&&t.logRed(`Please pay attention to the build output.`),x()}var z=async e=>{let n=await import(`chokidar`),r=C(),i=n.watch(r,{ignored:/(^|[\/\\])\../,persistent:!0,ignoreInitial:!0}),a=!1;i.on(`change`,async n=>{if(!a){a=!0,t.logYellow(`changed: ${n}`);try{await e?.()}catch(e){t.logRed(e)}finally{a=!1}}}),t.logYellow(`watching ${r}/...`)};function B(){return{name:`flatten-html`,apply:`build`,closeBundle(){let e=R(),t=F();(0,u.mkdirSync)(e,{recursive:!0}),(0,u.writeFileSync)(i.resolve(e,`./FEBuildKey`),t)}}}function V(e=`.html`){let n=[...new Set(Array.isArray(e)?e:[e])];return{name:`flatten-html`,apply:`build`,closeBundle(){let e=R();if(!(0,u.existsSync)(e))return;let r=l.buildFESharedState.options.minifyHtml??!1,i=f.sync(`**/*.html`,{cwd:e,dot:!0});for(let t of i){let i=d.default.join(e,t),a=(0,u.readFileSync)(i,`utf-8`),o=r?O(a):a,s=d.default.basename(t,`.html`),c=`.entry`;s.indexOf(c)===-1&&(s+=c);for(let t of n){let n=s+t,a=d.default.join(e,n);i===a?r&&(0,u.writeFileSync)(a,o):(0,u.writeFileSync)(a,o)}n.some(t=>i===d.default.join(e,s+t))||(0,u.unlinkSync)(i)}let a=[...new Set(i.map(e=>d.default.dirname(e)))].sort().reverse(),o=e=>{if(!((0,u.existsSync)(e)?(0,u.readdirSync)(e):[1]).length){(0,u.rmdirSync)(e);let t=e.split(d.default.sep).slice(0,-1);t.length&&o(t.join(d.default.sep))}};for(let t of a)t&&t!==`.`&&o(d.default.join(e,t));let s=n.flatMap(t=>f.sync(`**/*`+t,{cwd:e,dot:!0}));for(let e of s)t.logYellow(`final file path -----> `+e)}}}var H=e=>`_${e}_tcC`,U=e=>k(e),W=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),G=e=>U(e).includes(`/node_modules/`),K=(e,t)=>{let n=U(e),r=t.split(`/`).map(W).join(`/`);return RegExp(`/node_modules/(?:\\.pnpm/[^/]+/node_modules/)?${r}(?:/|$)`).test(n)},q=(e,t)=>t.some(t=>K(e,t)),J=(e,...t)=>{let n=U(e),r=t.map(W).join(`/`);return RegExp(`(?:^|/)${r}(?:/|$)`).test(n)},Y=(e,t)=>t.some(t=>J(e,...t)),X=()=>[{name:H(`react-dom`),test:e=>K(e,`react-dom`),maxSize:25e4,priority:100},{name:H(`react-router`),test:e=>q(e,[`react-router`,`react-router-dom`]),maxSize:25e4,priority:95},{name:H(`react`),test:e=>K(e,`react`),maxSize:2e5,priority:90},{name:H(`form-validator`),test:e=>q(e,[`ajv`,`rc-field-form`]),maxSize:25e4,priority:80},{name:H(`ui-vendor`),test:e=>q(e,[`date-fns`,`lucide-react`,`xlsx`]),maxSize:35e4,priority:70},{name:H(`state-utils`),test:e=>q(e,[`clsx`,`immer`,`tailwind-merge`,`zustand`]),maxSize:18e4,priority:60},{name:H(`tc-ui`),test:e=>Y(e,[[`packages`,`react`,`ui`],[`fe`,`packages`,`react`,`ui`]]),maxSize:25e4,minShareCount:2,priority:50},{name:H(`tc-hooks`),test:e=>Y(e,[[`packages`,`react`,`hooks`],[`fe`,`packages`,`react`,`hooks`]]),maxSize:12e4,minShareCount:2,priority:45},{name:H(`tc-common`),test:e=>Y(e,[[`packages`,`common`],[`fe`,`packages`,`common`]]),maxSize:16e4,minShareCount:2,priority:40},{name:H(`tc-schema-page`),test:e=>Y(e,[[`frontend`,`src`,`defaultPages`,`SchemaPage`],[`fe`,`frontend`,`src`,`defaultPages`,`SchemaPage`]]),maxSize:2e5,minShareCount:2,priority:35},{name:H(`tc-pages`),test:e=>Y(e,[[`frontend`,`src`,`defaultPages`],[`fe`,`frontend`,`src`,`defaultPages`]]),maxSize:18e4,minShareCount:2,priority:30},{name:H(`vendor`),test:G,maxSize:5e5,minShareCount:2,priority:1}],Z=e=>Object.entries(e).reduce((e,[t,n])=>(e[`ssr-${t}`]=n,e),{}),Q=()=>c.collectBundlerSSREntries(m,l.buildFESharedState.options,{enabled:!1}),$=async(e,n,r={})=>{try{let i=r.ssrInput??Q(),a={...e,...Z(i)},c=Object.keys(i).length>0;await(0,p.build)({configFile:!1,root:w(l.buildFESharedState.options),base:`/dist`,plugins:[(await import(`@vitejs/plugin-react`)).default(),V([`.tpl`]),B(),...o.createFEBasePlugins()],build:{outDir:R(),emptyOutDir:!0,manifest:c,sourcemap:n===`dev`?`inline`:`hidden`,rolldownOptions:{input:a,output:{codeSplitting:{groups:X()}}}},resolve:{alias:o.createCSRResolveAlias(m,l.buildFESharedState.options)}}),c&&s.moveClientManifestToSSRPrivate(R(),r.ssrManifestOutDir??S()),t.logJoinColorized(t.colorize(`builded`,`green`),t.colorize(` -> `,`white`),t.colorize(`time: `,`cyan`),t.colorize(new Date,`pink`))}catch(e){if(t.logRed(e),n!==`dev`)throw e}};exports.VBuildFE=$,exports.createFECodeSplittingGroups=X,exports.entries=L,exports.generateBuildKeyPlugin=B,exports.outDir=R,exports.resolveFEOutDir=b,exports.resolveRunPath=n.resolveRunPath,exports.watchFiles=z;
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./default.js`),t=require(`./en-US.js`),n=require(`./locales.js`);var r=e=>!!e&&typeof e==`object`&&!Array.isArray(e),i=(e={},t={})=>{let n={...e};return Object.entries(t).forEach(([e,t])=>{let a=n[e];if(r(a)&&r(t)){n[e]=i(a,t);return}n[e]=t}),n},a=(e={},t={})=>{let n={...e};return Object.entries(t).forEach(([e,t])=>{t&&(n[e]=i(n[e],t))}),n},o=(e,t)=>{if(e)return t.split(`.`).reduce((e,t)=>{if(r(e))return e[t]},e)},s=(e,t)=>t?e.replace(/\{([A-Za-z0-9_]+)\}/g,(e,n)=>{let r=t[n];return r==null?e:String(r)}):e,c=(e,t,n,r)=>{let i=r?.language||e.language,a=r?.fallbackLanguage||e.fallbackLanguage,c=o(e.resources[i],t)??o(e.resources[a],t)??r?.fallback??t;return typeof c==`string`?s(c,n):c},l=()=>globalThis.window,u=e=>{let t=l();return t?t.localStorage.getItem(e)||`zh-CN`:n.defaultLanguage},d=(e,t)=>{let n=l();n&&n.localStorage.setItem(e,t)},f=()=>({language:u(n.languageLocalKey),fallbackLanguage:n.defaultLanguage,resources:n.translations,storageKey:n.languageLocalKey,persist:!0}),p=(()=>{let e,t=new Set,n=n=>{let r=e,i=typeof n==`function`?n(e):n;e={...e,...i},t.forEach(t=>t(e,r))};e={...f(),t:(e,t,n)=>m(e,t,n),setLanguage:t=>{n({language:t});let{persist:r,storageKey:i}=e;r&&d(i,t)},setFallbackLanguage:e=>{n({fallbackLanguage:e})},setResources:(e,t)=>{n(n=>({resources:t?.merge?a(n.resources,e):e}))},addResources:(e,t,r)=>{n(n=>{let a=r?.merge??!0,o=n.resources[e];return{resources:{...n.resources,[e]:a?i(o,t):t}}})},configureI18n:e=>{n(e)},resetI18n:()=>{n(f())}};let r=e;return{getState:()=>e,getInitialState:()=>r,setState:n,subscribe:e=>(t.add(e),()=>{t.delete(e)})}})(),m=(e,t,n)=>c(p.getState(),e,t,n),h=m,g=m;exports.defaultEnglishResources=t.defaultEnglishResources,exports.defaultLanguage=n.defaultLanguage,exports.defaultLanguageResources=e.defaultLanguageResources,exports.getI18nPathValue=o,exports.getLanguage=g,exports.i18n=m,exports.i18nStore=p,exports.interpolateI18nMessage=s,exports.isPlainI18nDictionary=r,exports.languageLocalKey=n.languageLocalKey,exports.mergeI18nDictionary=i,exports.mergeI18nResources=a,exports.t=h,exports.translate=c,exports.translations=n.translations;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./default.js`),t=require(`./en-US.js`),n=require(`./locales.js`);var r=e=>!!e&&typeof e==`object`&&!Array.isArray(e),i=(e={},t={})=>{let n={...e};return Object.entries(t).forEach(([e,t])=>{let a=n[e];if(r(a)&&r(t)){n[e]=i(a,t);return}n[e]=t}),n},a=(e={},t={})=>{let n={...e};return Object.entries(t).forEach(([e,t])=>{t&&(n[e]=i(n[e],t))}),n},o=(e,t)=>{if(e)return t.split(`.`).reduce((e,t)=>{if(r(e))return e[t]},e)},s=(e,t)=>t?e.replace(/\{([A-Za-z0-9_]+)\}/g,(e,n)=>{let r=t[n];return r==null?e:String(r)}):e,c=(e,t,n,r)=>{let i=r?.language||e.language,a=r?.fallbackLanguage||e.fallbackLanguage,c=o(e.resources[i],t)??o(e.resources[a],t)??r?.fallback??t;return typeof c==`string`?s(c,n):c},l=()=>globalThis.window,u=e=>{let t=l();return t?t.localStorage.getItem(e)||`zh-CN`:n.defaultLanguage},d=(e,t)=>{let n=l();n&&n.localStorage.setItem(e,t)},f=()=>({language:n.defaultLanguage,fallbackLanguage:n.defaultLanguage,resources:n.translations,storageKey:n.languageLocalKey,persist:!0}),p=(()=>{let e,t=new Set,n=n=>{let r=e,i=typeof n==`function`?n(e):n;e={...e,...i},t.forEach(t=>t(e,r))};e={...f(),t:(e,t,n)=>m(e,t,n),setLanguage:t=>{n({language:t});let{persist:r,storageKey:i}=e;r&&d(i,t)},hydrateStoredLanguage:()=>{let{storageKey:t}=e;n({language:u(t)})},setFallbackLanguage:e=>{n({fallbackLanguage:e})},setResources:(e,t)=>{n(n=>({resources:t?.merge?a(n.resources,e):e}))},addResources:(e,t,r)=>{n(n=>{let a=r?.merge??!0,o=n.resources[e];return{resources:{...n.resources,[e]:a?i(o,t):t}}})},configureI18n:e=>{n(e)},resetI18n:()=>{n(f())}};let r=e;return{getState:()=>e,getInitialState:()=>r,setState:n,subscribe:e=>(t.add(e),()=>{t.delete(e)})}})(),m=(e,t,n)=>c(p.getState(),e,t,n),h=m,g=m;exports.defaultEnglishResources=t.defaultEnglishResources,exports.defaultLanguage=n.defaultLanguage,exports.defaultLanguageResources=e.defaultLanguageResources,exports.getI18nPathValue=o,exports.getLanguage=g,exports.i18n=m,exports.i18nStore=p,exports.interpolateI18nMessage=s,exports.isPlainI18nDictionary=r,exports.languageLocalKey=n.languageLocalKey,exports.mergeI18nDictionary=i,exports.mergeI18nResources=a,exports.t=h,exports.translate=c,exports.translations=n.translations;
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./i18n/default.js`),t=require(`./i18n/en-US.js`),n=require(`./i18n/locales.js`),r=require(`./i18n/index.js`),i=require(`./guards/index.js`),a=require(`./array/index.js`),o=require(`./cache/LRUCache.js`),s=require(`./http/index.js`),c=require(`./log/index.js`),l=require(`./number/index.js`),u=require(`./object/filterEmpty.js`),d=require(`./object/index.js`),f=require(`./rafTimer.js`),p=require(`./string/index.js`);exports.ANSI_RESET=c.ANSI_RESET,exports.FetchAxios=s.FetchAxios,exports.LRUCache=o.LRUCache,exports.ansiColors=c.ansiColors,exports.axios=s.axios,exports.capitalize=p.capitalize,exports.chunk=a.chunk,exports.clamp=l.clamp,exports.clearRafTimer=f.clearRafTimer,exports.colorLog=c.colorLog,exports.colorize=c.colorize,exports.compact=a.compact,exports.createInstance=s.createInstance,exports.defaultEnglishResources=t.defaultEnglishResources,exports.defaultLanguage=n.defaultLanguage,exports.defaultLanguageResources=e.defaultLanguageResources,exports.filterEmpty=u.filterEmpty,exports.filtereEmpty=u.filtereEmpty,exports.getI18nPathValue=r.getI18nPathValue,exports.getLanguage=r.getLanguage,exports.groupBy=a.groupBy,exports.i18n=r.i18n,exports.i18nStore=r.i18nStore,exports.interpolateI18nMessage=r.interpolateI18nMessage,exports.isBlank=p.isBlank,exports.isBoolean=i.isBoolean,exports.isFunction=i.isFunction,exports.isNil=i.isNil,exports.isNonNullable=i.isNonNullable,exports.isNumber=i.isNumber,exports.isPlainI18nDictionary=r.isPlainI18nDictionary,exports.isPlainObject=i.isPlainObject,exports.isString=i.isString,exports.joinColorized=c.joinColorized,exports.joinStr=p.joinStr,exports.kebabCase=p.kebabCase,exports.languageLocalKey=n.languageLocalKey,exports.logColor=c.logColor,exports.logColorized=c.logColorized,exports.logGreen=c.logGreen,exports.logJoinColorized=c.logJoinColorized,exports.logPink=c.logPink,exports.logRed=c.logRed,exports.logWhite=c.logWhite,exports.logYellow=c.logYellow,exports.mapValues=d.mapValues,exports.mergeI18nDictionary=r.mergeI18nDictionary,exports.mergeI18nResources=r.mergeI18nResources,exports.omit=d.omit,exports.pick=d.pick,exports.rafClearInterval=f.rafClearInterval,exports.rafClearTimeout=f.rafClearTimeout,exports.rafSetInterval=f.rafSetInterval,exports.rafSetTimeout=f.rafSetTimeout,exports.t=r.t,exports.toArray=a.toArray,exports.toFiniteNumber=l.toFiniteNumber,exports.translate=r.translate,exports.translations=n.translations,exports.uniqueBy=a.uniqueBy;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./i18n/default.js`),t=require(`./i18n/en-US.js`),n=require(`./i18n/locales.js`),r=require(`./i18n/index.js`),i=require(`./guards/index.js`),a=require(`./array/index.js`),o=require(`./cache/LRUCache.js`),s=require(`./http/index.js`),c=require(`./log/index.js`),l=require(`./number/index.js`),u=require(`./object/filterEmpty.js`),d=require(`./object/index.js`),f=require(`./rafTimer.js`),p=require(`./ssr/hydration.js`),m=require(`./ssr/index.js`),h=require(`./string/index.js`);exports.ANSI_RESET=c.ANSI_RESET,exports.FetchAxios=s.FetchAxios,exports.LRUCache=o.LRUCache,exports.SSR_DATA_KEY=p.SSR_DATA_KEY,exports.ansiColors=c.ansiColors,exports.axios=s.axios,exports.capitalize=h.capitalize,exports.chunk=a.chunk,exports.clamp=l.clamp,exports.clearHydrationData=p.clearHydrationData,exports.clearRafTimer=f.clearRafTimer,exports.clientOnly=m.clientOnly,exports.colorLog=c.colorLog,exports.colorize=c.colorize,exports.compact=a.compact,exports.createHydrationData=p.createHydrationData,exports.createInstance=s.createInstance,exports.defaultEnglishResources=t.defaultEnglishResources,exports.defaultLanguage=n.defaultLanguage,exports.defaultLanguageResources=e.defaultLanguageResources,exports.filterEmpty=u.filterEmpty,exports.filtereEmpty=u.filtereEmpty,exports.getI18nPathValue=r.getI18nPathValue,exports.getLanguage=r.getLanguage,exports.groupBy=a.groupBy,exports.i18n=r.i18n,exports.i18nStore=r.i18nStore,exports.interpolateI18nMessage=r.interpolateI18nMessage,exports.isBlank=h.isBlank,exports.isBoolean=i.isBoolean,exports.isBrowser=m.isBrowser,exports.isFunction=i.isFunction,exports.isNil=i.isNil,exports.isNonNullable=i.isNonNullable,exports.isNumber=i.isNumber,exports.isPlainI18nDictionary=r.isPlainI18nDictionary,exports.isPlainObject=i.isPlainObject,exports.isServer=m.isServer,exports.isString=i.isString,exports.joinColorized=c.joinColorized,exports.joinStr=h.joinStr,exports.kebabCase=h.kebabCase,exports.languageLocalKey=n.languageLocalKey,exports.logColor=c.logColor,exports.logColorized=c.logColorized,exports.logGreen=c.logGreen,exports.logJoinColorized=c.logJoinColorized,exports.logPink=c.logPink,exports.logRed=c.logRed,exports.logWhite=c.logWhite,exports.logYellow=c.logYellow,exports.mapValues=d.mapValues,exports.mergeI18nDictionary=r.mergeI18nDictionary,exports.mergeI18nResources=r.mergeI18nResources,exports.omit=d.omit,exports.peekHydrationData=p.peekHydrationData,exports.pick=d.pick,exports.rafClearInterval=f.rafClearInterval,exports.rafClearTimeout=f.rafClearTimeout,exports.rafSetInterval=f.rafSetInterval,exports.rafSetTimeout=f.rafSetTimeout,exports.readHydrationData=p.readHydrationData,exports.safeDocument=m.safeDocument,exports.safeLocalStorage=m.safeLocalStorage,exports.safeSetLocalStorage=m.safeSetLocalStorage,exports.safeWindow=m.safeWindow,exports.serializeHydrationData=p.serializeHydrationData,exports.serializeHydrationDataScriptContent=p.serializeHydrationDataScriptContent,exports.t=r.t,exports.toArray=a.toArray,exports.toFiniteNumber=l.toFiniteNumber,exports.translate=r.translate,exports.translations=n.translations,exports.uniqueBy=a.uniqueBy;
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=`__SSR_DATA__`;function t(){return globalThis.Buffer}function n(e){let n=t();if(n)return n.from(e,`utf-8`).toString(`base64`);let r=new TextEncoder().encode(e),i=``;return r.forEach(e=>{i+=String.fromCharCode(e)}),btoa(i)}function r(e){let n=t();if(n)return n.from(e,`base64`).toString(`utf-8`);let r=atob(e),i=Uint8Array.from(r,e=>e.charCodeAt(0));return new TextDecoder().decode(i)}function i(e){return typeof e==`string`?JSON.parse(r(e)):e}function a(t){let r=n(JSON.stringify(t));return`window.${e}=${JSON.stringify(r)}`}function o(e){return`<script>${a(e)}<\/script>`}function s(){if(typeof window>`u`)return null;let t=window[e];if(!t)return null;let n=i(t);return window[e]=n,n}function c(){typeof window>`u`||delete window[e]}function l(){let e=s();return e?(c(),e):null}function u(e,t,n){return{props:e,state:n??{},meta:{...t,renderedAt:Date.now()}}}exports.SSR_DATA_KEY=e,exports.clearHydrationData=c,exports.createHydrationData=u,exports.peekHydrationData=s,exports.readHydrationData=l,exports.serializeHydrationData=o,exports.serializeHydrationDataScriptContent=a;
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./hydration.js`);var t=typeof window<`u`&&typeof document<`u`,n=!t;function r(e,t){return n?t:e()}function i(){if(!n)return window}function a(){if(!n)return document}function o(e,t=``){return n?t:localStorage.getItem(e)??t}function s(e,t){n||localStorage.setItem(e,t)}exports.SSR_DATA_KEY=e.SSR_DATA_KEY,exports.clearHydrationData=e.clearHydrationData,exports.clientOnly=r,exports.createHydrationData=e.createHydrationData,exports.isBrowser=t,exports.isServer=n,exports.peekHydrationData=e.peekHydrationData,exports.readHydrationData=e.readHydrationData,exports.safeDocument=a,exports.safeLocalStorage=o,exports.safeSetLocalStorage=s,exports.safeWindow=i,exports.serializeHydrationData=e.serializeHydrationData,exports.serializeHydrationDataScriptContent=e.serializeHydrationDataScriptContent;
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../_virtual/_rolldown/runtime.js`),t=require(`./env.js`),n=require(`../utils/path.js`),r=require(`../utils/runFileFn.js`);require(`../utils/index.js`);const i=require(`./loader/config.js`),a=require(`./paths.js`),o=require(`./loader/controller.js`),s=require(`./loader/extend.js`),c=require(`./loader/middleware.js`),l=require(`./loader/model.js`),u=require(`./loader/router.js`),d=require(`./loader/router-schema.js`),f=require(`./loader/service.js`);let p=require(`koa`);p=e.__toESM(p,1);var m=l,h=async(e={})=>{let r=new p.default;r.hooks={},r.hooks.initing?.();let{frameBaseDir:l,baseDir:m,...h}=e;r.options=h,r.options.pageBasePage=r.options.pageBasePage??`/`,r.options.apiPrefix=r.options.apiPrefix||`/api`;let _=r.baseDir=m??process.cwd(),v=r.frameBaseDir=l??n.resolve(__dirname,`..`);r.businessAppPath=n.resolve(_,`app`),r.frameAppPath=n.resolve(v,`app`),r.paths=[{type:`frame`,path:r.frameAppPath},{type:`business`,path:r.businessAppPath}];let y=r.options.additionalPublicPaths??[];y=Array.isArray(y)?y:[y],r.publicsPath=[n.resolve(a.getAppPath(r,`business`),`./public`),n.resolve(a.getAppPath(r,`frame`),`./public`),...y],r.envs=t(),console.log(`-- [init] env: ${r.envs.get()} --`),i(r),console.log(`-- [init] loader config done --`),await s(r),console.log(`-- [init] loader extends done --`),d(r),console.log(`-- [init] loader routerSchema done --`),f(r),console.log(`-- [init] loader service done --`),o(r),console.log(`-- [init] loader controller done --`),c(r),console.log(`-- [init] loader middleware done --`),g(r),u(r),console.log(`-- [init] loader router done --`);try{let e=r.config.port||process.env.PORT||`8080`,n=parseInt(e+``,10),i=process.env.IP||`0.0.0.0`;r.listen(n,i),console.log(`Server port: http://localhost:${n}`),console.log(`run env is ${t().get()}`)}catch(e){console.error(e)}return r.hooks.inited?.(),r},g=e=>{[`frame`,`business`].map(t=>({type:t,path:a.getAppPath(e,t)})).forEach(t=>{for(let i of[`ts`,`js`]){let a=`middleware.${i}`,o=n.resolve(t.path,a);try{r.runFileFn(o)?.(e),console.log(`-- [init] loader ${t.type} appMiddleware ${a} done -- (${t.path})`);break}catch(e){let n=e;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}}})};exports.loaderModel=m,exports.start=h;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../_virtual/_rolldown/runtime.js`),t=require(`./paths.js`),n=require(`./env.js`),r=require(`../utils/path.js`),i=require(`../utils/runFileFn.js`);require(`../utils/index.js`);const a=require(`./loader/config.js`),o=require(`./loader/controller.js`),s=require(`./loader/extend.js`),c=require(`./loader/middleware.js`),l=require(`./loader/model.js`),u=require(`./loader/router.js`),d=require(`./loader/router-schema.js`),f=require(`./loader/service.js`);let p=require(`koa`);p=e.__toESM(p,1);var m=l,h=async(e={})=>{let i=new p.default;i.hooks={},i.hooks.initing?.();let{frameBaseDir:l,baseDir:m,...h}=e;i.options=h,i.options.pageBasePath=i.options.pageBasePath??`/`,i.options.ssrPageBasePath=i.options.ssrPageBasePath??`/fessr`,i.options.apiPrefix=i.options.apiPrefix||`/api`,t.assertRouteBasePathNotConflict(i.options.pageBasePath,i.options.ssrPageBasePath);let _=i.baseDir=m??process.cwd(),v=i.frameBaseDir=l??r.resolve(__dirname,`..`);i.businessAppPath=r.resolve(_,`app`),i.frameAppPath=r.resolve(v,`app`),i.paths=[{type:`frame`,path:i.frameAppPath},{type:`business`,path:i.businessAppPath}];let y=i.options.additionalPublicPaths??[];y=Array.isArray(y)?y:[y],i.publicsPath=[r.resolve(t.getAppPath(i,`business`),`./public`),r.resolve(t.getAppPath(i,`frame`),`./public`),...y],i.envs=n(),console.log(`-- [init] env: ${i.envs.get()} --`),a(i),console.log(`-- [init] loader config done --`),await s(i),console.log(`-- [init] loader extends done --`),d(i),console.log(`-- [init] loader routerSchema done --`),f(i),console.log(`-- [init] loader service done --`),o(i),console.log(`-- [init] loader controller done --`),c(i),console.log(`-- [init] loader middleware done --`),g(i),u(i),console.log(`-- [init] loader router done --`);try{let e=i.config.port||process.env.PORT||`8080`,t=parseInt(e+``,10),r=process.env.IP||`0.0.0.0`;i.listen(t,r),console.log(`Server port: http://localhost:${t}`),console.log(`run env is ${n().get()}`)}catch(e){console.error(e)}return i.hooks.inited?.(),i},g=e=>{[`frame`,`business`].map(n=>({type:n,path:t.getAppPath(e,n)})).forEach(t=>{for(let n of[`ts`,`js`]){let a=`middleware.${n}`,o=r.resolve(t.path,a);try{i.runFileFn(o)?.(e),console.log(`-- [init] loader ${t.type} appMiddleware ${a} done -- (${t.path})`);break}catch(e){let n=e;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}}})};exports.loaderModel=m,exports.start=h;
@@ -1 +1 @@
1
- const e=require(`../../utils/loadFile.js`),t=require(`../../utils/runFileFn.js`);require(`../../utils/index.js`);const n=require(`../paths.js`);var r=r=>{r.controller=n.getAppPaths(r).reduce((n,i)=>({...n,...e.loadFileFn(i,`controller`,{loadFileCallback:e=>new(t.runFileFn(e)(r))})}),{})};module.exports=r;
1
+ const e=require(`../paths.js`),t=require(`../../utils/loadFile.js`),n=require(`../../utils/runFileFn.js`);require(`../../utils/index.js`);const r=require(`./merge.js`);var i=i=>{let a=e.getAppPath(i,`frame`),o=e.getAppPath(i,`business`),s=a?t.loadFileFn(a,`controller`,{loadFileCallback:e=>new(n.runFileFn(e)(i))}):{},c=o?t.loadFileFn(o,`controller`,{loadFileCallback:e=>new(n.runFileFn(e)(i))}):{};r.warnFrameBusinessOverrides(`controller`,s,c),i.controller={...s,...c}};module.exports=i;
@@ -1 +1 @@
1
- const e=require(`../../utils/loadFile.js`),t=require(`../../utils/runFileFn.js`);require(`../../utils/index.js`);const n=require(`../paths.js`);var r=async r=>{r.extends={...r.extends};let i=[];n.getAppPaths(r).forEach(n=>{e.loadFileFn(n,`extends`,{processingFileCallback:((e,n,a)=>{if(!a){for(let t in r)if(t===e){console.log(`\x1B[31m%s\x1B[0m`,`[extend loader error] name:${e} is already in app`);return}let a=t.runFileFn(n)(r);i.push(Promise.resolve(a).then(t=>({fileName:e,value:t})))}})})}),(await Promise.all(i)).forEach(({fileName:e,value:t})=>{r.extends[e]=t})};module.exports=r;
1
+ const e=require(`../paths.js`),t=require(`../../utils/loadFile.js`),n=require(`../../utils/runFileFn.js`);require(`../../utils/index.js`);const r=require(`./merge.js`);var i=async i=>{i.extends={...i.extends};let a=e.getAppPath(i,`frame`),o=e.getAppPath(i,`business`),s=e=>{let r=[];return e&&t.loadFileFn(e,`extends`,{processingFileCallback:((e,t,a)=>{if(!a){for(let t in i)if(t===e){console.log(`\x1B[31m%s\x1B[0m`,`[extend loader error] name:${e} is already in app`);return}let a=n.runFileFn(t)(i);r.push(Promise.resolve(a).then(t=>({fileName:e,value:t})))}})}),r},[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]));r.warnFrameBusinessOverrides(`extend`,u,d),i.extends={...i.extends,...u,...d}};module.exports=i;
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e,t,n){let r=Object.keys(n).filter(e=>Object.hasOwn(t,e));r.length&&console.log(`\x1B[33m%s\x1B[0m`,`[${e} loader warn] business modules override frame modules: ${r.join(`, `)}`)}exports.warnFrameBusinessOverrides=e;
@@ -1 +1 @@
1
- const e=require(`../../utils/loadFile.js`),t=require(`../../utils/runFileFn.js`);require(`../../utils/index.js`);const n=require(`../paths.js`);var r=r=>{r.middlewares=n.getAppPaths(r).reduce((n,i)=>{let a=e.loadFileFn(i,`middlewares`,{loadFileCallback:e=>t.runFileFn(e)(r)});return{...n,...a}},{})};module.exports=r;
1
+ const e=require(`../paths.js`),t=require(`../../utils/loadFile.js`),n=require(`../../utils/runFileFn.js`);require(`../../utils/index.js`);const r=require(`./merge.js`);var i=i=>{let a=e.getAppPath(i,`frame`),o=e.getAppPath(i,`business`),s=a?t.loadFileFn(a,`middlewares`,{loadFileCallback:e=>n.runFileFn(e)(i)}):{},c=o?t.loadFileFn(o,`middlewares`,{loadFileCallback:e=>n.runFileFn(e)(i)}):{};r.warnFrameBusinessOverrides(`middleware`,s,c),i.middlewares={...s,...c}};module.exports=i;
@@ -1 +1 @@
1
- const e=require(`../../../_virtual/_rolldown/runtime.js`),t=require(`../../utils/loadFile.js`),n=require(`../../utils/runFileFn.js`);let r=require(`path`),i=require(`lodash`);i=e.__toESM(i,1);var a=e=>{let n=[];return t.loadFileFn(e.baseDir,`model`,{loadFileCallback:e=>{if(!l(e)){let t=e.split(r.sep);if(t[t.length-2]===`project`){let r=t[t.length-3],i=t[t.length-1]?.split(`.`)[0];r&&i&&s(n,r,i,e)}else{let r=t[t.length-2];r&&c(n,r,e)}}}}),n.forEach(e=>{let{model:t,project:n}=e;for(let e in n){let r=n[e];r&&(n[e]=o(t,r))}}),n};function o(e,t){return i.default.mergeWith({},e,t,function(e,t){if(Array.isArray(e)&&Array.isArray(t)){let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t.find(e=>e.key===i.key);n.push(a?o(i,a):i)}for(let r=0;r<t.length;r++){let i=t[r];e.find(e=>e.key===i.key)||n.push(i)}return n}})}var s=(e,t,r,i)=>{let a=c(e,t),o={key:r,modelKey:t,...n.runFileFn(i)};a.project[r]=o},c=(e,t,r)=>{let i=e.find(e=>e.model.key===t);if(!i){let n={model:{key:t},project:{}};e.push(n),i=n}return r&&(i.model={...n.runFileFn(r),key:t}),i};function l(e){return e.indexOf(`model${r.sep}index.js`)!==-1||e.indexOf(`model${r.sep}index.ts`)!==-1}module.exports=a;
1
+ const e=require(`../../../_virtual/_rolldown/runtime.js`),t=require(`../../utils/loadFile.js`),n=require(`../../utils/runFileFn.js`);let r=require(`path`),i=require(`lodash`);i=e.__toESM(i,1);var a=e=>{let n=[];return t.loadFileFn(e.baseDir,`models`,{loadFileCallback:e=>{if(!l(e)){let t=e.split(r.sep);if(t[t.length-2]===`project`){let r=t[t.length-3],i=t[t.length-1]?.split(`.`)[0];r&&i&&s(n,r,i,e)}else{let r=t[t.length-2];r&&c(n,r,e)}}}}),n.forEach(e=>{let{model:t,project:n}=e;for(let e in n){let r=n[e];r&&(n[e]=o(t,r))}}),n};function o(e,t){return i.default.mergeWith({},e,t,function(e,t){if(Array.isArray(e)&&Array.isArray(t)){let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t.find(e=>e.key===i.key);n.push(a?o(i,a):i)}for(let r=0;r<t.length;r++){let i=t[r];e.find(e=>e.key===i.key)||n.push(i)}return n}})}var s=(e,t,r,i)=>{let a=c(e,t),o={key:r,modelKey:t,...n.runFileFn(i)};a.project[r]=o},c=(e,t,r)=>{let i=e.find(e=>e.model.key===t);if(!i){let n={model:{key:t},project:{}};e.push(n),i=n}return r&&(i.model={...n.runFileFn(r),key:t}),i};function l(e){return e.indexOf(`models${r.sep}index.js`)!==-1||e.indexOf(`models${r.sep}index.ts`)!==-1}module.exports=a;
@@ -1 +1 @@
1
- const e=require(`../../utils/path.js`),t=require(`../../utils/loadFile.js`),n=require(`../../utils/runFileFn.js`);require(`../../utils/index.js`);const r=require(`../paths.js`);var i=i=>{let a={};r.getAppPaths(i).forEach(r=>{t.loadFileFn(r,`router-schema`,{preProcessingFileCallback(t){a={...a,...n.runFileFn(e.resolve(t))}}})}),i.routerSchema=a};module.exports=i;
1
+ const e=require(`../paths.js`),t=require(`../../utils/path.js`),n=require(`../../utils/loadFile.js`),r=require(`../../utils/runFileFn.js`);require(`../../utils/index.js`);const i=require(`./merge.js`);var a=a=>{let o=e.getAppPath(a,`frame`),s=e.getAppPath(a,`business`),c={},l={};o&&n.loadFileFn(o,`router-schema`,{preProcessingFileCallback(e){c={...c,...r.runFileFn(t.resolve(e))}}}),s&&n.loadFileFn(s,`router-schema`,{preProcessingFileCallback(e){l={...l,...r.runFileFn(t.resolve(e))}}}),i.warnFrameBusinessOverrides(`router-schema`,c,l),a.routerSchema={...c,...l}};module.exports=a;
@@ -1 +1 @@
1
- const e=require(`../../../_virtual/_rolldown/runtime.js`),t=require(`../../utils/path.js`),n=require(`../../utils/loadFile.js`),r=require(`../../utils/runFileFn.js`);require(`../../utils/index.js`);const i=require(`../paths.js`);let a=require(`fs`),o=require(`koa-router`);o=e.__toESM(o,1);var s=e=>{let s,c=i.getAppPath(e,`business`);if(c)for(let n of[`router-guard.ts`,`router-guard.js`]){let i=t.resolve(c,n);if((0,a.existsSync)(i)){s=r.runFileFn(i)(e);break}}s||console.info(`-- [router-guard] -- not router-guard.(ts|js) file`);let l=[];i.getAppPaths(e).forEach(i=>{n.loadFileFn(i,`router`,{preProcessingFileCallback:n=>{let i=new o.default;i.level=0,l.push(i),r.runFileFn(t.resolve(n))(e,i)}})});let u=new o.default;u.level=99,u.get(`(.*)`,async(t,n)=>{console.info(`\x1B[31m%s\x1B[0m`,`-- notFound path: ${t.path} --`);let r=s?.(t);t.status=302,r?typeof r==`string`?t.redirect(r??`/`):(t.status=r.status,t.body=r.body):t.path.includes(`${e.options.apiPrefix}/`)?(t.status=200,t.body={code:404,message:`${t.path} not found`}):(t.status=404,t.body=`notFound`)}),l.push(u),l.sort((e,t)=>(e.level??0)<(t.level??0)?-1:1),l.forEach(t=>{e.use(t.routes()),e.use(t.allowedMethods())}),e.currentUseRouter=l};module.exports=s;
1
+ const e=require(`../../../_virtual/_rolldown/runtime.js`),t=require(`../paths.js`),n=require(`../../utils/path.js`),r=require(`../../utils/getAllFilesInFolder.js`),i=require(`../../utils/loadFile.js`),a=require(`../../utils/runFileFn.js`);require(`../../utils/index.js`);let o=require(`fs`),s=require(`path`),c=require(`koa-router`);c=e.__toESM(c,1);var l=e=>{let l,u=t.getAppPath(e,`business`);if(u)for(let t of[`router-guard.ts`,`router-guard.js`]){let r=n.resolve(u,t);if((0,o.existsSync)(r)){l=a.runFileFn(r)(e);break}}l||console.info(`-- [router-guard] -- not router-guard.(ts|js) file`);let d=[],[f,p]=t.getAppPaths(e);if(f&&p){let e=new Set(r.getAllFilesInFolder(f,`router`).map(e=>(0,s.relative)(f,e))),t=r.getAllFilesInFolder(p,`router`).map(e=>(0,s.relative)(p,e)).filter(t=>e.has(t));t.length&&console.log(`\x1B[33m%s\x1B[0m`,`[router loader warn] business router files override frame router files: ${t.join(`, `)}`)}t.getAppPaths(e).forEach(t=>{i.loadFileFn(t,`router`,{preProcessingFileCallback:t=>{let r=new c.default;r.level=0,d.push(r),a.runFileFn(n.resolve(t))(e,r)}})});let m=new c.default;m.level=99,m.get(`(.*)`,async(t,n)=>{console.info(`\x1B[31m%s\x1B[0m`,`-- notFound path: ${t.path} --`);let r=l?.(t);t.status=302,r?typeof r==`string`?t.redirect(r??`/`):(t.status=r.status,t.body=r.body):t.path.includes(`${e.options.apiPrefix}/`)?(t.status=200,t.body={code:404,message:`${t.path} not found`}):(t.status=404,t.body=`notFound`)}),d.push(m),d.sort((e,t)=>(e.level??0)<(t.level??0)?-1:1),d.forEach(t=>{e.use(t.routes()),e.use(t.allowedMethods())}),e.currentUseRouter=d};module.exports=l;
@@ -1 +1 @@
1
- const e=require(`../../utils/loadFile.js`),t=require(`../../utils/runFileFn.js`);require(`../../utils/index.js`);const n=require(`../paths.js`);var r=r=>{r.service=n.getAppPaths(r).reduce((n,i)=>({...n,...e.loadFileFn(i,`service`,{loadFileCallback:e=>new(t.runFileFn(e)(r))})}),{})};module.exports=r;
1
+ const e=require(`../paths.js`),t=require(`../../utils/loadFile.js`),n=require(`../../utils/runFileFn.js`);require(`../../utils/index.js`);const r=require(`./merge.js`);var i=i=>{let a=e.getAppPath(i,`frame`),o=e.getAppPath(i,`business`),s=a?t.loadFileFn(a,`service`,{loadFileCallback:e=>new(n.runFileFn(e)(i))}):{},c=o?t.loadFileFn(o,`service`,{loadFileCallback:e=>new(n.runFileFn(e)(i))}):{};r.warnFrameBusinessOverrides(`service`,s,c),i.service={...s,...c}};module.exports=i;
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e,t){return e.paths?.find(e=>e.type===t)?.path}function t(e){return(e.paths??[]).map(e=>e.path)}exports.getAppPath=e,exports.getAppPaths=t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e,t){return e.paths?.find(e=>e.type===t)?.path}function t(e){return(e.paths??[]).map(e=>e.path)}function n(e,t=`/`){let n=String(e??t).replace(/^\/+|\/+$/g,``);return n?`/${n}`:``}function r(e,t){let r=n(e);if(r===n(t,`/fessr`))throw Error(`[core] pageBasePath and ssrPageBasePath cannot be the same: ${r||`/`}`)}exports.assertRouteBasePathNotConflict=r,exports.getAppPath=e,exports.getAppPaths=t,exports.normalizeRouteBasePath=n;
@@ -1,3 +1,3 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../_virtual/_rolldown/runtime.js`),t=require(`./utils.js`),n=require(`./constants.js`),r=require(`./normalize.js`),i=require(`./resolve.js`),a=require(`./collect.js`),o=require(`./dts.js`),s=require(`./plugins.js`);let c=require(`node:fs`),l=require(`node:path`);l=e.__toESM(l);let u=require(`vite`);var d=/(?:import|export)\s+(?:[^'"]*?\s+from\s+)?['"]([^'"]+)['"]|import\(\s*['"]([^'"]+)['"]\s*\)/g,f=/import\s+['"]([^'"]+\.(?:css|less|scss|sass|styl))['"];?/g;async function p(e,t){let n=new Map;for(let[t,r]of Object.entries(e)){let e=[...(await c.promises.readFile(r,`utf8`)).matchAll(f)].map(e=>e[1]).filter(e=>!!e);e.length!==0&&n.set(`${t}.js`,[...new Set(e)])}return{name:`preserve-side-effect-style-imports`,generateBundle(e,t){for(let[e,r]of Object.entries(t)){if(r.type!==`chunk`)continue;let t=n.get(e);t?.length&&(r.code=`${t.map(e=>`import ${JSON.stringify(e)};`).join(`
2
- `)}\n${r.code}`)}},async closeBundle(){await m(t)}}}async function m(e){let t=l.default.join(e,`_assets`),n=await c.promises.readdir(t,{withFileTypes:!0}).catch(()=>[]);await Promise.all(n.filter(e=>e.isFile()&&e.name.endsWith(`.css`)).map(e=>c.promises.rm(l.default.join(t,e.name),{force:!0}))),(await c.promises.readdir(t).catch(()=>[])).length===0&&await c.promises.rmdir(t).catch(()=>void 0)}async function h(e,n,r,a,o){let s=i.createIgnoreMatcher(n,r),u=[];for(let n of e){let e=await c.promises.readFile(n,`utf8`);for(let c of e.matchAll(d)){let e=c[1]??c[2];if(!e)continue;let d=e.startsWith(`.`),f=o.some(n=>t.isStringAlias(n)&&(e===n.find||e.startsWith(`${n.find}/`)));!d&&!f||s(await i.resolveImportPath(n,e,a,o))&&u.push(`${l.default.relative(r,n)} -> ${e}`)}}if(u.length>0)throw Error(`Ignored paths are imported by included modules:\n${u.map(e=>`- ${e}`).join(`
3
- `)}`)}async function g({format:e,outDir:t,entry:n,outputStructure:r,emptyOutDir:i,minify:a,rootDir:o,preserveSideEffectStyleImports:s,plugins:c,aliases:l,external:d}){await(0,u.build)({configFile:!1,plugins:s?[...c,await p(n,t)]:c,resolve:{alias:l},build:{lib:{entry:n,formats:[e],fileName:(e,t)=>`${t}.js`},outDir:t,emptyOutDir:i,sourcemap:!1,minify:a&&`oxc`,copyPublicDir:!1,rollupOptions:{external:d,output:{preserveModules:r===`preserve`,...r===`preserve`?{preserveModulesRoot:o}:{},entryFileNames:`[name].js`,chunkFileNames:`_chunks/[name]-[hash].js`,assetFileNames:`_assets/[name]-[hash][extname]`}}}})}async function _(e={}){let t=e.input??[],c=l.default.resolve(e.rootDir??process.cwd()),u=l.default.resolve(c,e.outDir??`dist`),d=e.outputStructure??`preserve`,f=r.normalizeDtsConfig(e.dts,u),p=r.normalizeAlias(e.alias,c),m=r.normalizeIgnore(e.ignore),_=e.minify,v=e.allowMissingInput??!1,y=e.dtsOnly??!1,b=e.preserveSideEffectStyleImports??!1,x=m.input,S=r.normalizeExtensions(e.extensions);r.assertNoCommonAssetExtensions(S,r.normalizeNonCodeExtensions(e.nonCodeExtensions));let C=r.normalizeFormats(e.format),w=r.normalizeFormatOutDir(e.formatOutDir),T=e.bundleDependencies??!(e.externalPackages??!1),E=i.createExternalPredicate(p,e.external,e.externalNodeBuiltins??!0,!T),D=r.normalizeCopy(e.copy),O=[s.createCopyPlugin({name:`default-copy`,input:D.input,ignore:D.ignore,copyExtensions:D.extensions,onlyConfiguredExtensions:D.onlyConfiguredExtensions})],k=s.normalizePlugins(e.plugins,O),A=await a.ensureInputFiles(t,c,x,S,v);m.importPolicy===`error`&&await h(A,x,c,S,p);let j=a.toEntryMap(A,c,S),M={};if(y&&!f.enabled)throw Error(`dtsOnly requires dts to be enabled.`);if(!y){let e=new Set;for(let r of C){let i=w[r]??n.FORMAT_OUTPUT_DIR[r]??r,a=l.default.join(u,i),o=!e.has(a);e.add(a),await g({format:r,outDir:a,entry:j,outputStructure:d,minify:_,emptyOutDir:o,rootDir:c,preserveSideEffectStyleImports:b,aliases:p,external:E,plugins:s.prepareVitePlugins(k,{inputPaths:t,rootDir:c,ignorePaths:x,extensions:S,allowMissingInput:v,outDir:a,format:r})}),M[r]=a}}if(f.enabled){let e=f.rewriteAlias?r.normalizeAlias(f.rewriteAlias,c):p;await o.buildDeclarations(A,c,p,f),f.rewriteAliases&&await o.rewriteDeclarationAliases(f.outDir,c,e,S,f.rewriteAliasMode),M.dts=f.outDir}return{alias:p,formats:C,outputStructure:d,bundleDependencies:T,extensions:S,files:A,ignore:m,copy:D,plugins:k.map(e=>e.name),outputs:M,dts:{enabled:f.enabled,outDir:f.enabled?f.outDir:void 0}}}exports.buildEntries=_;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../_virtual/_rolldown/runtime.js`),t=require(`./utils.js`),n=require(`./constants.js`),r=require(`./normalize.js`),i=require(`./resolve.js`),a=require(`./collect.js`),o=require(`./dts.js`),s=require(`./plugins.js`);let c=require(`node:fs`),l=require(`node:path`);l=e.__toESM(l);let u=require(`vite`);var d=/(?:import|export)\s+(?:[^'"]*?\s+from\s+)?['"]([^'"]+)['"]|import\(\s*['"]([^'"]+)['"]\s*\)/g,f=/import\s+['"]([^'"]+\.(?:css|less|scss|sass|styl))['"];?/g,p=[``];async function m(e,n,r){if(!(n.startsWith(`.`)||r.some(e=>t.isStringAlias(e)&&(n===e.find||n.startsWith(`${e.find}/`)))))return n;let a=await i.resolveImportPath(e,n,p,r);return(await c.promises.stat(a).catch(()=>null))?.isFile()?t.ensureRelativeImportPath(t.toPosixPath(l.default.relative(l.default.dirname(e),a))):n}async function h(e,t,n){let r=new Map;for(let[t,i]of Object.entries(e)){let e=await c.promises.readFile(i,`utf8`),a=await Promise.all([...e.matchAll(f)].map(e=>e[1]).filter(e=>!!e).map(e=>m(i,e,n)));a.length!==0&&r.set(`${t}.js`,[...new Set(a)])}return{name:`preserve-side-effect-style-imports`,generateBundle(e,t){for(let[e,n]of Object.entries(t)){if(n.type!==`chunk`)continue;let t=r.get(e);t?.length&&(n.code=`${t.map(e=>`import ${JSON.stringify(e)};`).join(`
2
+ `)}\n${n.code}`)}},async closeBundle(){await g(t)}}}async function g(e){let t=l.default.join(e,`_assets`),n=await c.promises.readdir(t,{withFileTypes:!0}).catch(()=>[]);await Promise.all(n.filter(e=>e.isFile()&&e.name.endsWith(`.css`)).map(e=>c.promises.rm(l.default.join(t,e.name),{force:!0}))),(await c.promises.readdir(t).catch(()=>[])).length===0&&await c.promises.rmdir(t).catch(()=>void 0)}async function _(e,n,r,a,o){let s=i.createIgnoreMatcher(n,r),u=[];for(let n of e){let e=await c.promises.readFile(n,`utf8`);for(let c of e.matchAll(d)){let e=c[1]??c[2];if(!e)continue;let d=e.startsWith(`.`),f=o.some(n=>t.isStringAlias(n)&&(e===n.find||e.startsWith(`${n.find}/`)));!d&&!f||s(await i.resolveImportPath(n,e,a,o))&&u.push(`${l.default.relative(r,n)} -> ${e}`)}}if(u.length>0)throw Error(`Ignored paths are imported by included modules:\n${u.map(e=>`- ${e}`).join(`
3
+ `)}`)}async function v({format:e,outDir:t,entry:n,outputStructure:r,emptyOutDir:i,minify:a,rootDir:o,preserveSideEffectStyleImports:s,plugins:c,aliases:l,external:d}){await(0,u.build)({configFile:!1,plugins:s?[...c,await h(n,t,l)]:c,resolve:{alias:l},build:{lib:{entry:n,formats:[e],fileName:(e,t)=>`${t}.js`},outDir:t,emptyOutDir:i,sourcemap:!1,minify:a&&`oxc`,copyPublicDir:!1,rollupOptions:{external:d,output:{preserveModules:r===`preserve`,...r===`preserve`?{preserveModulesRoot:o}:{},entryFileNames:`[name].js`,chunkFileNames:`_chunks/[name]-[hash].js`,assetFileNames:`_assets/[name]-[hash][extname]`}}}})}async function y(e={}){let t=e.input??[],c=l.default.resolve(e.rootDir??process.cwd()),u=l.default.resolve(c,e.outDir??`dist`),d=e.outputStructure??`preserve`,f=r.normalizeDtsConfig(e.dts,u),p=r.normalizeAlias(e.alias,c),m=r.normalizeIgnore(e.ignore),h=e.minify,g=e.emptyOutDir??!0,y=e.allowMissingInput??!1,b=e.dtsOnly??!1,x=e.preserveSideEffectStyleImports??!1,S=m.input,C=r.normalizeExtensions(e.extensions);r.assertNoCommonAssetExtensions(C,r.normalizeNonCodeExtensions(e.nonCodeExtensions));let w=r.normalizeFormats(e.format),T=r.normalizeFormatOutDir(e.formatOutDir),E=e.bundleDependencies??!(e.externalPackages??!1),D=i.createExternalPredicate(p,e.external,e.externalNodeBuiltins??!0,!E),O=r.normalizeCopy(e.copy),k=[s.createCopyPlugin({name:`default-copy`,input:O.input,ignore:O.ignore,copyExtensions:O.extensions,onlyConfiguredExtensions:O.onlyConfiguredExtensions})],A=s.normalizePlugins(e.plugins,k),j=await a.ensureInputFiles(t,c,S,C,y);m.importPolicy===`error`&&await _(j,S,c,C,p);let M=a.toEntryMap(j,c,C),N={};if(b&&!f.enabled)throw Error(`dtsOnly requires dts to be enabled.`);if(!b){let e=new Set;for(let r of w){let i=T[r]??n.FORMAT_OUTPUT_DIR[r]??r,a=l.default.join(u,i),o=g&&!e.has(a);e.add(a),await v({format:r,outDir:a,entry:M,outputStructure:d,minify:h,emptyOutDir:o,rootDir:c,preserveSideEffectStyleImports:x,aliases:p,external:D,plugins:s.prepareVitePlugins(A,{inputPaths:t,rootDir:c,ignorePaths:S,extensions:C,allowMissingInput:y,outDir:a,format:r})}),N[r]=a}}if(f.enabled){let e=f.rewriteAlias?r.normalizeAlias(f.rewriteAlias,c):p;await o.buildDeclarations(j,c,p,f),f.rewriteAliases&&await o.rewriteDeclarationAliases(f.outDir,c,e,C,f.rewriteAliasMode),N.dts=f.outDir}return{alias:p,formats:w,outputStructure:d,bundleDependencies:E,extensions:C,files:j,ignore:m,copy:O,plugins:A.map(e=>e.name),outputs:N,dts:{enabled:f.enabled,outDir:f.enabled?f.outDir:void 0}}}exports.buildEntries=y;
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../_virtual/_rolldown/runtime.js`),t=require(`./utils.js`),n=require(`./resolve.js`);let r=require(`node:fs`),i=require(`node:path`);i=e.__toESM(i);function a(e){return i.default.resolve(e).split(i.default.sep).includes(`node_modules`)}async function o(e,n,s,c,l=!1){let u=i.default.resolve(e);if(s(u)||a(u))return;if(!await t.pathExists(u)){if(l)return;throw Error(`Input path does not exist: ${e}`)}let d=await r.promises.stat(u);if(d.isDirectory()){let e=await r.promises.readdir(u,{withFileTypes:!0});for(let t of e)await o(i.default.join(u,t.name),n,s,c,l);return}if(!d.isFile())return;let f=i.default.extname(u),p=u.endsWith(`.d.ts`)||u.endsWith(`.d.mts`)||u.endsWith(`.d.cts`);!c.has(f)||p||n.add(u)}async function s(e,n,o,c,l=!1){let u=i.default.resolve(e);if(o(u)||a(u))return;if(!await t.pathExists(u)){if(l)return;throw Error(`Input path does not exist: ${e}`)}let d=await r.promises.stat(u);if(d.isDirectory()){let e=await r.promises.readdir(u,{withFileTypes:!0});for(let t of e)await s(i.default.join(u,t.name),n,o,c,l);return}if(!d.isFile())return;let f=c.find(e=>e.test(u));f&&n.push({filePath:u,plugin:f})}async function c(e,n,a){let o=i.default.resolve(e);if(!await t.pathExists(o))return;let s=await r.promises.stat(o);if(s.isDirectory()){let e=await r.promises.readdir(o,{withFileTypes:!0});for(let t of e)await c(i.default.join(o,t.name),n,a);return}if(s.isFile()){for(let e of a)if(o.endsWith(e)){n.add(o);break}}}async function l(e,t,r,a,s=!1){let c=new Set,l=n.createIgnoreMatcher(r,t),u=new Set(a);for(let n of e)await o(i.default.resolve(t,n),c,l,u,s);let d=[...c].sort();if(d.length===0)throw Error(`No matching source files were found in the provided input paths.`);return d}async function u(e,t,r,a,o=!1){let c=[],l=n.createIgnoreMatcher(r,t);for(let n of e)await s(i.default.resolve(t,n),c,l,a,o);return c.sort((e,t)=>e.filePath.localeCompare(t.filePath))}function d(e,t,n){let r=RegExp(`(${n.map(e=>e.replace(`.`,`\\.`)).join(`|`)})$`);return Object.fromEntries(e.map(e=>[i.default.relative(t,e).split(i.default.sep).join(`/`).replace(r,``),e]))}exports.collectFilesWithExtensions=c,exports.collectPluginFiles=s,exports.collectTsFiles=o,exports.ensureInputFiles=l,exports.ensurePluginFiles=u,exports.toEntryMap=d;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../_virtual/_rolldown/runtime.js`),t=require(`./utils.js`),n=require(`./resolve.js`);let r=require(`node:fs`),i=require(`node:path`);i=e.__toESM(i);function a(e){return i.default.resolve(e).split(i.default.sep).includes(`node_modules`)}function o(e){let t=e.replace(/\\/g,`/`);return/(^|\/)__tests__(\/|$)/.test(t)||/\.(?:test|spec)\.[cm]?[jt]sx?$/.test(t)}async function s(e,n,c,l,u=!1){let d=i.default.resolve(e);if(c(d)||a(d)||o(d))return;if(!await t.pathExists(d)){if(u)return;throw Error(`Input path does not exist: ${e}`)}let f=await r.promises.stat(d);if(f.isDirectory()){let e=await r.promises.readdir(d,{withFileTypes:!0});for(let t of e)await s(i.default.join(d,t.name),n,c,l,u);return}if(!f.isFile())return;let p=i.default.extname(d),m=d.endsWith(`.d.ts`)||d.endsWith(`.d.mts`)||d.endsWith(`.d.cts`);!l.has(p)||m||n.add(d)}async function c(e,n,o,s,l=!1){let u=i.default.resolve(e);if(o(u)||a(u))return;if(!await t.pathExists(u)){if(l)return;throw Error(`Input path does not exist: ${e}`)}let d=await r.promises.stat(u);if(d.isDirectory()){let e=await r.promises.readdir(u,{withFileTypes:!0});for(let t of e)await c(i.default.join(u,t.name),n,o,s,l);return}if(!d.isFile())return;let f=s.find(e=>e.test(u));f&&n.push({filePath:u,plugin:f})}async function l(e,n,a){let o=i.default.resolve(e);if(!await t.pathExists(o))return;let s=await r.promises.stat(o);if(s.isDirectory()){let e=await r.promises.readdir(o,{withFileTypes:!0});for(let t of e)await l(i.default.join(o,t.name),n,a);return}if(s.isFile()){for(let e of a)if(o.endsWith(e)){n.add(o);break}}}async function u(e,t,r,a,o=!1){let c=new Set,l=n.createIgnoreMatcher(r,t),u=new Set(a);for(let n of e)await s(i.default.resolve(t,n),c,l,u,o);let d=[...c].sort();if(d.length===0)throw Error(`No matching source files were found in the provided input paths.`);return d}async function d(e,t,r,a,o=!1){let s=[],l=n.createIgnoreMatcher(r,t);for(let n of e)await c(i.default.resolve(t,n),s,l,a,o);return s.sort((e,t)=>e.filePath.localeCompare(t.filePath))}function f(e,t,n){let r=RegExp(`(${n.map(e=>e.replace(`.`,`\\.`)).join(`|`)})$`);return Object.fromEntries(e.map(e=>[i.default.relative(t,e).split(i.default.sep).join(`/`).replace(r,``),e]))}exports.collectFilesWithExtensions=l,exports.collectPluginFiles=c,exports.collectTsFiles=s,exports.ensureInputFiles=u,exports.ensurePluginFiles=d,exports.toEntryMap=f;
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../_virtual/_rolldown/runtime.js`),t=require(`./utils.js`),n=require(`./resolve.js`),r=require(`./collect.js`);let i=require(`node:fs`),a=require(`node:path`);a=e.__toESM(a);let o=require(`node:child_process`);var s=(0,require(`node:util`).promisify)(o.execFile);async function c(e,n,r,o){let c=o.outDir;o.clean?await i.promises.rm(c,{recursive:!0,force:!0}):await l(c);let u=Object.fromEntries(r.filter(e=>t.isStringAlias(e)).flatMap(e=>{let t=a.default.relative(n,e.replacement).split(a.default.sep).join(`/`);return[[e.find,[t,`${t}/index`]],[`${e.find}/*`,[`${t}/*`]]]})),d=a.default.resolve(n,o.tempDir??`.build-entries-tmp-${Date.now()}-${Math.random().toString(36).slice(2)}`),f=a.default.join(d,`tsconfig.build-entries.json`),p=o.tsconfig?a.default.relative(d,a.default.resolve(n,o.tsconfig)).split(a.default.sep).join(`/`):a.default.relative(d,a.default.resolve(n,`tsconfig.node.json`)).split(a.default.sep).join(`/`),m=a.default.join(n,`node_modules`,`typescript`,`bin`,`tsc`),h=e.map(e=>t.toPosixPath(a.default.resolve(e)));if(!await t.pathExists(m))throw Error(`Unable to find TypeScript CLI: ${m}`);await i.promises.mkdir(d,{recursive:!0});let g={extends:p,compilerOptions:{composite:!1,noEmit:!1,declaration:!0,emitDeclarationOnly:!0,outDir:c,...o.tsconfig?{}:{baseUrl:n,declarationMap:!1,removeComments:!1,sourceMap:!1,rootDir:n,paths:u},...o.tsconfig||Object.keys(u).length===0?{}:{paths:u}},...o.useInputFiles?{include:[],exclude:[],files:h}:{}};await i.promises.writeFile(f,JSON.stringify(g,null,2));try{await s(process.execPath,[m,`-p`,f],{cwd:n})}catch(e){let t=e&&typeof e==`object`&&`stderr`in e?String(e.stderr??``):``,n=e&&typeof e==`object`&&`stdout`in e?String(e.stdout??``):``,r=t||n||(e instanceof Error?e.message:String(e));throw Error(r)}finally{await i.promises.rm(d,{recursive:!0,force:!0})}}async function l(e){if(!await t.pathExists(e)||!(await i.promises.stat(e)).isDirectory())return;let n=await i.promises.readdir(e,{withFileTypes:!0});for(let t of n){let n=a.default.join(e,t.name);if(t.isDirectory()){await l(n);continue}t.isFile()&&(n.endsWith(`.d.ts`)||n.endsWith(`.d.ts.map`)||n.endsWith(`.d.mts`)||n.endsWith(`.d.mts.map`)||n.endsWith(`.d.cts`)||n.endsWith(`.d.cts.map`))&&await i.promises.rm(n,{force:!0})}}function u(e,n){return n.filter(e=>t.isStringAlias(e)).map(t=>({find:t.find,replacement:a.default.resolve(e,t.replacement)})).sort((e,t)=>t.find.length-e.find.length)}async function d(e,r,i,o,s){let c=await n.resolveImportPath(a.default.join(r,`__build_entries_alias__.ts`),e,o,i);if(!await t.pathExists(c))return null;let l=t.toPosixPath(a.default.relative(r,c)),u=a.default.extname(l),d=u?l.slice(0,-u.length):l;return a.default.join(s,`${d}.d.ts`)}async function f(e,n,r,i,o,s,c,l){for(let u of s){if(e!==u.find&&!e.startsWith(`${u.find}/`))continue;let s=l===`declaration`?await p(e,u):await d(e,r,o,c,i);if(!s)return e;let f=a.default.dirname(n);return t.ensureRelativeImportPath(t.toPosixPath(a.default.relative(f,s)).replace(/\.d\.ts$/,``))}return e}async function p(e,t){let n=e.slice(t.find.length).replace(/^\/+/,``),r=n?a.default.join(t.replacement,n):t.replacement,o=r.endsWith(`.d.ts`)?[r]:[`${r}.d.ts`,a.default.join(r,`index.d.ts`),r];for(let e of o)if((await i.promises.stat(e).catch(()=>null))?.isFile())return e;return null}async function m(e,t,n,a,o=`source`){let s=u(t,n);if(s.length===0)return;let c=new Set;await r.collectFilesWithExtensions(e,c,new Set([`.d.ts`]));let l=[...c].sort(),d=/((?:import|export)\s+(?:type\s+)?(?:[^'"]*?\s+from\s+)?)["']([^"']+)["']/g,p=/(import\(\s*["'])([^"']+)(["']\s*\))/g,m=/(declare\s+module\s+["'])([^"']+)(["'])/g;for(let r of l){let c=await i.promises.readFile(r,`utf8`),l=c,u=[...c.matchAll(d)];for(let i of u){let[c,u,d]=i,p=await f(d,r,t,e,n,s,a,o);l=l.replace(c,`${u}"${p}"`)}let h=[...c.matchAll(p)];for(let i of h){let[c,u,d,p]=i,m=await f(d,r,t,e,n,s,a,o);l=l.replace(c,`${u}${m}${p}`)}let g=[...c.matchAll(m)];for(let i of g){let[c,u,d,p]=i,m=await f(d,r,t,e,n,s,a,o);l=l.replace(c,`${u}${m}${p}`)}l!==c&&await i.promises.writeFile(r,l)}}exports.buildDeclarations=c,exports.createAliasRewriteRules=u,exports.resolveAliasedDeclarationTarget=d,exports.rewriteAliasedSpecifier=f,exports.rewriteDeclarationAliases=m;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../_virtual/_rolldown/runtime.js`),t=require(`./utils.js`),n=require(`./resolve.js`),r=require(`./collect.js`);let i=require(`node:fs`),a=require(`node:path`);a=e.__toESM(a);let o=require(`node:child_process`);var s=(0,require(`node:util`).promisify)(o.execFile);async function c(e,n,r,o){let c=o.outDir;o.clean?await i.promises.rm(c,{recursive:!0,force:!0}):o.preserveExisting||await l(c);let u=Object.fromEntries(r.filter(e=>t.isStringAlias(e)).flatMap(e=>{let t=a.default.relative(n,e.replacement).split(a.default.sep).join(`/`);return[[e.find,[t,`${t}/index`]],[`${e.find}/*`,[`${t}/*`]]]})),d=a.default.resolve(n,o.tempDir??`.build-entries-tmp-${Date.now()}-${Math.random().toString(36).slice(2)}`),f=a.default.join(d,`tsconfig.build-entries.json`),p=o.tsconfig?a.default.relative(d,a.default.resolve(n,o.tsconfig)).split(a.default.sep).join(`/`):a.default.relative(d,a.default.resolve(n,`tsconfig.node.json`)).split(a.default.sep).join(`/`),m=a.default.join(n,`node_modules`,`typescript`,`bin`,`tsc`),h=e.map(e=>t.toPosixPath(a.default.resolve(e)));if(!await t.pathExists(m))throw Error(`Unable to find TypeScript CLI: ${m}`);await i.promises.mkdir(d,{recursive:!0});let g={extends:p,compilerOptions:{composite:!1,noEmit:!1,declaration:!0,emitDeclarationOnly:!0,outDir:c,...o.tsconfig?{}:{baseUrl:n,declarationMap:!1,removeComments:!1,sourceMap:!1,rootDir:n,paths:u},...o.tsconfig||Object.keys(u).length===0?{}:{paths:u}},...o.useInputFiles?{include:[],exclude:[],files:h}:{}};await i.promises.writeFile(f,JSON.stringify(g,null,2));try{await s(process.execPath,[m,`-p`,f],{cwd:n})}catch(e){let t=e&&typeof e==`object`&&`stderr`in e?String(e.stderr??``):``,n=e&&typeof e==`object`&&`stdout`in e?String(e.stdout??``):``,r=t||n||(e instanceof Error?e.message:String(e));throw Error(r)}finally{await i.promises.rm(d,{recursive:!0,force:!0})}}async function l(e){if(!await t.pathExists(e)||!(await i.promises.stat(e)).isDirectory())return;let n=await i.promises.readdir(e,{withFileTypes:!0});for(let t of n){let n=a.default.join(e,t.name);if(t.isDirectory()){await l(n);continue}t.isFile()&&(n.endsWith(`.d.ts`)||n.endsWith(`.d.ts.map`)||n.endsWith(`.d.mts`)||n.endsWith(`.d.mts.map`)||n.endsWith(`.d.cts`)||n.endsWith(`.d.cts.map`))&&await i.promises.rm(n,{force:!0})}}function u(e,n){return n.filter(e=>t.isStringAlias(e)).map(t=>({find:t.find,replacement:a.default.resolve(e,t.replacement)})).sort((e,t)=>t.find.length-e.find.length)}async function d(e,r,i,o,s){let c=await n.resolveImportPath(a.default.join(r,`__build_entries_alias__.ts`),e,o,i);if(!await t.pathExists(c))return null;let l=t.toPosixPath(a.default.relative(r,c)),u=a.default.extname(l),d=u?l.slice(0,-u.length):l;return a.default.join(s,`${d}.d.ts`)}async function f(e,n,r,i,o,s,c,l){for(let u of s){if(e!==u.find&&!e.startsWith(`${u.find}/`))continue;let s=l===`declaration`?await p(e,u):await d(e,r,o,c,i);if(!s)return e;let f=a.default.dirname(n);return t.ensureRelativeImportPath(t.toPosixPath(a.default.relative(f,s)).replace(/\.d\.ts$/,``))}return e}async function p(e,t){let n=e.slice(t.find.length).replace(/^\/+/,``),r=n?a.default.join(t.replacement,n):t.replacement,o=r.endsWith(`.d.ts`)?[r]:[`${r}.d.ts`,a.default.join(r,`index.d.ts`),r];for(let e of o)if((await i.promises.stat(e).catch(()=>null))?.isFile())return e;return null}async function m(e,t,n,a,o=`source`){let s=u(t,n);if(s.length===0)return;let c=new Set;await r.collectFilesWithExtensions(e,c,new Set([`.d.ts`]));let l=[...c].sort(),d=/((?:import|export)\s+(?:type\s+)?(?:[^'"]*?\s+from\s+)?)["']([^"']+)["']/g,p=/(import\(\s*["'])([^"']+)(["']\s*\))/g,m=/(declare\s+module\s+["'])([^"']+)(["'])/g;for(let r of l){let c=await i.promises.readFile(r,`utf8`),l=c,u=[...c.matchAll(d)];for(let i of u){let[c,u,d]=i,p=await f(d,r,t,e,n,s,a,o);l=l.replace(c,`${u}"${p}"`)}let h=[...c.matchAll(p)];for(let i of h){let[c,u,d,p]=i,m=await f(d,r,t,e,n,s,a,o);l=l.replace(c,`${u}${m}${p}`)}let g=[...c.matchAll(m)];for(let i of g){let[c,u,d,p]=i,m=await f(d,r,t,e,n,s,a,o);l=l.replace(c,`${u}${m}${p}`)}l!==c&&await i.promises.writeFile(r,l)}}exports.buildDeclarations=c,exports.createAliasRewriteRules=u,exports.resolveAliasedDeclarationTarget=d,exports.rewriteAliasedSpecifier=f,exports.rewriteDeclarationAliases=m;
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../_virtual/_rolldown/runtime.js`),t=require(`./utils.js`),n=require(`./constants.js`);let r=require(`node:path`);r=e.__toESM(r);function i(e){let t=e?.input??[],r=e?.mergeDefault??!0?[...n.DEFAULT_EXTENSIONS,...t]:t;return r.length===0?[...n.DEFAULT_EXTENSIONS]:[...new Set(r.map(e=>e.startsWith(`.`)?e:`.${e}`))]}function a(e){return{input:e?.input??[],importPolicy:e?.importPolicy??`error`}}function o(e,t){return e?Array.isArray(e)?e.map(e=>({find:e.find,replacement:r.default.resolve(t,e.replacement)})):Object.entries(e).map(([e,n])=>({find:e,replacement:r.default.resolve(t,n)})):[]}function s(e){let t=e?.input??[],r=e?.mergeDefault??!0?[...n.DEFAULT_NON_CODE_EXTENSIONS,...t]:t;return[...new Set(r.map(e=>e.startsWith(`.`)?e:`.${e}`))]}function c(e){let r=t.toArray(e);return r.length===0?[...n.DEFAULT_FORMATS]:[...new Set(r)]}function l(e,t){return e===!1?{enabled:!1,outDir:r.default.join(t,`types`),rewriteAliases:!0,rewriteAliasMode:`source`,useInputFiles:!0,clean:!0}:e===!0||e==null?{enabled:!0,outDir:r.default.join(t,`types`),rewriteAliases:!0,rewriteAliasMode:`source`,useInputFiles:!0,clean:!0}:{enabled:e.enabled??!0,outDir:r.default.resolve(t,e.outDir??`types`),tsconfig:e.tsconfig,tempDir:e.tempDir,rewriteAliases:e.rewriteAliases??!0,rewriteAliasMode:e.rewriteAliasMode??`source`,rewriteAlias:e.rewriteAlias,useInputFiles:e.useInputFiles??!0,clean:e.clean??!0}}function u(e){return e??{}}function d(e,t){let n=new Set(t),r=e.filter(e=>n.has(e));if(r.length!==0)throw Error(`These extensions look like non-code assets and should not be added to "extensions": ${r.join(`, `)}.\nUse the default copy behavior, the "copy" config, createCopyPlugin(), or createFilePlugin() instead.`)}function f(e){return{input:e?.input,ignore:e?.ignore,onlyConfiguredExtensions:e?.onlyConfiguredExtensions??!1,extensions:e?.extensions??{input:[],mergeDefault:!1}}}exports.assertNoCommonAssetExtensions=d,exports.normalizeAlias=o,exports.normalizeCopy=f,exports.normalizeDtsConfig=l,exports.normalizeExtensions=i,exports.normalizeFormatOutDir=u,exports.normalizeFormats=c,exports.normalizeIgnore=a,exports.normalizeNonCodeExtensions=s;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../_virtual/_rolldown/runtime.js`),t=require(`./utils.js`),n=require(`./constants.js`);let r=require(`node:path`);r=e.__toESM(r);function i(e){let t=e?.input??[],r=e?.mergeDefault??!0?[...n.DEFAULT_EXTENSIONS,...t]:t;return r.length===0?[...n.DEFAULT_EXTENSIONS]:[...new Set(r.map(e=>e.startsWith(`.`)?e:`.${e}`))]}function a(e){return{input:e?.input??[],importPolicy:e?.importPolicy??`error`}}function o(e,t){return e?Array.isArray(e)?e.map(e=>({find:e.find,replacement:r.default.resolve(t,e.replacement)})):Object.entries(e).map(([e,n])=>({find:e,replacement:r.default.resolve(t,n)})):[]}function s(e){let t=e?.input??[],r=e?.mergeDefault??!0?[...n.DEFAULT_NON_CODE_EXTENSIONS,...t]:t;return[...new Set(r.map(e=>e.startsWith(`.`)?e:`.${e}`))]}function c(e){let r=t.toArray(e);return r.length===0?[...n.DEFAULT_FORMATS]:[...new Set(r)]}function l(e,t){return e===!1?{enabled:!1,outDir:r.default.join(t,`types`),rewriteAliases:!0,rewriteAliasMode:`source`,useInputFiles:!0,clean:!0,preserveExisting:!1}:e===!0||e==null?{enabled:!0,outDir:r.default.join(t,`types`),rewriteAliases:!0,rewriteAliasMode:`source`,useInputFiles:!0,clean:!0,preserveExisting:!1}:{enabled:e.enabled??!0,outDir:r.default.resolve(t,e.outDir??`types`),tsconfig:e.tsconfig,tempDir:e.tempDir,rewriteAliases:e.rewriteAliases??!0,rewriteAliasMode:e.rewriteAliasMode??`source`,rewriteAlias:e.rewriteAlias,useInputFiles:e.useInputFiles??!0,clean:e.clean??!0,preserveExisting:e.preserveExisting??!1}}function u(e){return e??{}}function d(e,t){let n=new Set(t),r=e.filter(e=>n.has(e));if(r.length!==0)throw Error(`These extensions look like non-code assets and should not be added to "extensions": ${r.join(`, `)}.\nUse the default copy behavior, the "copy" config, createCopyPlugin(), or createFilePlugin() instead.`)}function f(e){return{input:e?.input,ignore:e?.ignore,onlyConfiguredExtensions:e?.onlyConfiguredExtensions??!1,extensions:e?.extensions??{input:[],mergeDefault:!1}}}exports.assertNoCommonAssetExtensions=d,exports.normalizeAlias=o,exports.normalizeCopy=f,exports.normalizeDtsConfig=l,exports.normalizeExtensions=i,exports.normalizeFormatOutDir=u,exports.normalizeFormats=c,exports.normalizeIgnore=a,exports.normalizeNonCodeExtensions=s;
@@ -0,0 +1 @@
1
+ const e=require(`../_virtual/_rolldown/runtime.js`);let t=require(`node:path`);t=e.__toESM(t);var n=`ssr-server`,r=`ssr-manifest`,i=`manifest.json`,a=`/dist`;function o(e){return t.default.resolve(e,`..`,`.tc`,`ssr`)}function s(e,n){return t.default.join(o(e),n)}function c(e){return`${a}/${e.replace(/^\/+/,``)}`}function l(e){return t.default.resolve(e?.baseDir??process.cwd(),`.`)}function u(e){let n=e?.output??`frame`;return n===`run`?t.default.join(l(e),`./app/public/dist`):typeof n==`function`?n():t.default.join(e?.frameNodePath??process.cwd(),`./app/public/dist`)}function d(e){return t.default.resolve(e,`..`,`..`,`.tc`,`ssr`)}function f(e){return t.default.join(d(u(e)),n)}function p(e){return u(e)}function m(e){return t.default.join(d(u(e)),r)}exports.SSR_CLIENT_MANIFEST_FILE=i,exports.SSR_MANIFEST_OUT_DIR=r,exports.SSR_SERVER_OUT_DIR=n,exports.resolveFEOutDir=u,exports.resolveRunPath=l,exports.resolveSSRClientOutDir=p,exports.resolveSSRManifestOutDir=m,exports.resolveSSRPrivateDir=s,exports.resolveSSRServerOutDir=f,exports.ssrClientAssetUrl=c;
@@ -0,0 +1,215 @@
1
+ import { createHydrationData as e, serializeHydrationDataScriptContent as t } from "../../packages/common/ssr/hydration.js";
2
+ import { SSR_CLIENT_MANIFEST_FILE as n, SSR_MANIFEST_OUT_DIR as r, SSR_SERVER_OUT_DIR as i, resolveSSRPrivateDir as a, ssrClientAssetUrl as o } from "../../ssrSharedData/outputPaths.js";
3
+ import { serializeForHtmlScript as s } from "../html/shell.js";
4
+ import { createSSRDocumentElement as c, renderSSRErrorHtml as l } from "../ssr/html.js";
5
+ import { findSSRClientEntry as u, generateSSRPreloadLinks as d } from "../ssr/manifest.js";
6
+ import f from "node:fs";
7
+ import p from "node:path";
8
+ import { PassThrough as m, Writable as h } from "node:stream";
9
+ import { pathToFileURL as g } from "node:url";
10
+ //#region app/controller/ssr.ts
11
+ var _ = /^[A-Za-z0-9_-]+$/, v = 1e4, y = 3e4;
12
+ function b(e) {
13
+ return e instanceof Error ? e : Error(String(e));
14
+ }
15
+ async function x(e, t, n) {
16
+ let r = typeof e == "function" ? await e(t) : e;
17
+ return r == null ? n : String(r);
18
+ }
19
+ function S(e) {
20
+ e.compress = !1;
21
+ }
22
+ function C(e, t, n = {}) {
23
+ let r = new h({
24
+ write(e, n, r) {
25
+ if (t.destroyed) {
26
+ r(/* @__PURE__ */ Error("SSR response stream is already closed."));
27
+ return;
28
+ }
29
+ if (t.write(e, n)) {
30
+ r();
31
+ return;
32
+ }
33
+ t.once("drain", r);
34
+ },
35
+ final(e) {
36
+ if (t.destroyed) {
37
+ e();
38
+ return;
39
+ }
40
+ t.end(() => {
41
+ n.onComplete?.(), e();
42
+ });
43
+ },
44
+ destroy(e, n) {
45
+ e && !t.destroyed && t.destroy(e), n();
46
+ }
47
+ });
48
+ t.once("close", () => {
49
+ !t.readableEnded && !r.destroyed && (n.onAbort?.(), e.abort(/* @__PURE__ */ Error("SSR response stream closed before rendering completed.")), r.destroy(/* @__PURE__ */ Error("SSR response stream closed before rendering completed.")));
50
+ }), t.once("error", (t) => {
51
+ n.onAbort?.(), e.abort(t), r.destroyed || r.destroy(t);
52
+ }), r.once("error", () => void 0), e.pipe(r);
53
+ }
54
+ var w = ((h) => {
55
+ function w(e) {
56
+ for (let t of h.publicsPath) {
57
+ let n = a(t, e);
58
+ if (f.existsSync(n)) return n;
59
+ }
60
+ return null;
61
+ }
62
+ let T = /* @__PURE__ */ new Map(), E = /* @__PURE__ */ new Map();
63
+ function D(e) {
64
+ return typeof e == "string" && _.test(e);
65
+ }
66
+ function O(e, t) {
67
+ let n = p.relative(t, e);
68
+ return !!n && !n.startsWith("..") && !p.isAbsolute(n);
69
+ }
70
+ function k(e, t) {
71
+ if (!D(t)) return null;
72
+ let n = f.realpathSync(e);
73
+ return [`${t}.mjs`, `${t}.js`].map((t) => p.resolve(e, t)).find((t) => !O(t, e) || !f.existsSync(t) ? !1 : O(f.realpathSync(t), n)) ?? null;
74
+ }
75
+ function A(e, t) {
76
+ let n = g(e);
77
+ return n.searchParams.set("t", String(t)), n.href;
78
+ }
79
+ async function j(e) {
80
+ let t = w(i);
81
+ if (!t) return null;
82
+ let n = k(t, e);
83
+ if (!n) return null;
84
+ let r = f.statSync(n), a = T.get(e);
85
+ if (a && a.path === n && a.mtime === r.mtimeMs) return a.module;
86
+ let o = await import(A(n, r.mtimeMs));
87
+ return T.set(e, {
88
+ module: o,
89
+ mtime: r.mtimeMs,
90
+ path: n
91
+ }), o;
92
+ }
93
+ async function M(e) {
94
+ let t = w(r);
95
+ if (!t) return null;
96
+ let i = p.resolve(t, n);
97
+ if (!f.existsSync(i)) return null;
98
+ let a = f.statSync(i), o = E.get(i);
99
+ if (o && o.mtime === a.mtimeMs) return o.manifest;
100
+ let s = f.readFileSync(i, "utf-8"), c = JSON.parse(s);
101
+ return E.set(i, {
102
+ manifest: c,
103
+ mtime: a.mtimeMs
104
+ }), c;
105
+ }
106
+ function N(e, t, n, r, i, a) {
107
+ S(e), e.status = n, e.type = "text/html", e.body = l({
108
+ app: h,
109
+ ctx: e,
110
+ page: t,
111
+ status: n,
112
+ title: r,
113
+ message: i,
114
+ error: a
115
+ });
116
+ }
117
+ return class {
118
+ async renderSSRPage(n, r) {
119
+ let i = n.params.page;
120
+ if (S(n), !D(i)) {
121
+ N(n, String(i ?? "unknown"), 404, "SSR page not found", "The requested SSR page is not registered.");
122
+ return;
123
+ }
124
+ h.extends.logger.log(` - SSR render: ${i}`);
125
+ try {
126
+ let r = await j(i);
127
+ if (!r) {
128
+ h.extends.logger.log(` - SSR bundle not found: ${i}, falling back`), N(n, i, 404, "SSR bundle not found", `No server bundle was found for "${i}".`);
129
+ return;
130
+ }
131
+ let a = r.default, l = r.getServerProps, f = {
132
+ params: n.params,
133
+ query: n.query,
134
+ path: n.path,
135
+ app: h,
136
+ ctx: n
137
+ }, p = {};
138
+ typeof l == "function" && (p = await l(f) ?? {});
139
+ let g = {
140
+ ...f,
141
+ props: p
142
+ }, _ = await x(r.pageTitle, g, i), S = await x(r.pageDescription, g, ""), w = e(p, {
143
+ title: _,
144
+ description: S,
145
+ pathname: n.path
146
+ }), T = t(w), E = await M(i), D = u(E, i), O = d(E, D), k = D?.file ? `import(${s(o(D.file))})` : void 0, A = await import("react"), P = c(A, {
147
+ app: h,
148
+ ctx: n,
149
+ page: i,
150
+ title: w.meta.title ?? i,
151
+ description: w.meta.description ?? "",
152
+ preloadLinks: O,
153
+ hydrationScriptContent: T,
154
+ appNode: A.createElement(a, p)
155
+ }), { renderToPipeableStream: F } = await import("react-dom/server");
156
+ await new Promise((e, t) => {
157
+ let r = null, a = null, o = !1, s = null, c = !1, l = null, u = null, d = () => {
158
+ l &&= (clearTimeout(l), null);
159
+ }, f = () => {
160
+ u &&= (clearTimeout(u), null);
161
+ }, p = (e) => {
162
+ let t = b(e);
163
+ f(), r?.abort(t), a?.destroy(t);
164
+ }, g = () => {
165
+ c || (d(), c = !0, e());
166
+ }, _ = (e) => {
167
+ c || (d(), f(), c = !0, t(e));
168
+ };
169
+ try {
170
+ r = F(P, {
171
+ bootstrapScriptContent: k,
172
+ onShellReady() {
173
+ if (s) {
174
+ r?.abort(s), _(s);
175
+ return;
176
+ }
177
+ let e = new m();
178
+ a = e, n.body = e, n.type = "text/html", o = !0, d(), u = setTimeout(() => {
179
+ p(/* @__PURE__ */ Error(`SSR stream render timed out after ${y}ms.`));
180
+ }, y);
181
+ try {
182
+ C(r, e, {
183
+ onAbort: f,
184
+ onComplete: f
185
+ }), g();
186
+ } catch (t) {
187
+ e.destroy(b(t)), f(), _(t);
188
+ }
189
+ },
190
+ onShellError(e) {
191
+ r?.abort(e), _(e);
192
+ },
193
+ onError(e) {
194
+ if (!o) {
195
+ s = e;
196
+ return;
197
+ }
198
+ h.extends.logger.log(` - SSR stream error after shell: ${i}`), console.error("[SSR Stream Error]", e), f(), p(e);
199
+ }
200
+ }), c || (l = setTimeout(() => {
201
+ let e = /* @__PURE__ */ Error(`SSR shell render timed out after ${v}ms.`);
202
+ r?.abort(e), _(e);
203
+ }, v));
204
+ } catch (e) {
205
+ _(e);
206
+ }
207
+ });
208
+ } catch (e) {
209
+ h.extends.logger.log(` - SSR render error: ${i}`), console.error("[SSR Error]", e), N(n, i, 500, "SSR render error", "The SSR page failed while loading data or rendering.", e);
210
+ }
211
+ }
212
+ };
213
+ });
214
+ //#endregion
215
+ export { w as default };
@@ -1,35 +1,36 @@
1
1
  import { joinStr as e } from "../../packages/common/string/index.js";
2
+ import { normalizeRouteBasePath as t } from "../../packages/core/paths.js";
2
3
  //#region app/controller/view.ts
3
- var t = (e) => JSON.stringify(e).replace(/</g, "\\u003c").replace(/>/g, "\\u003e").replace(/&/g, "\\u0026").replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029"), n = ((n) => class {
4
- async renderPage(r, i) {
5
- let a = r.path;
6
- if (n.extends.localCacheHtmlEtag.keepFreshFEBuildKey(), a.includes(`${n.options.apiPrefix}/`)) await i();
4
+ var n = (e) => JSON.stringify(e).replace(/</g, "\\u003c").replace(/>/g, "\\u003e").replace(/&/g, "\\u0026").replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029"), r = ((r) => class {
5
+ async renderPage(i, a) {
6
+ let o = i.path;
7
+ if (r.extends.localCacheHtmlEtag.keepFreshFEBuildKey(), o.includes(`${r.options.apiPrefix}/`)) await a();
7
8
  else {
8
- n.extends.logger.log(" - render page: " + r.params.page);
9
+ r.extends.logger.log(" - render page: " + i.params.page);
9
10
  try {
10
- let i = r.query.projk;
11
- Array.isArray(i) && (i = e(...i));
12
- let a = {
13
- projKey: i ?? "",
14
- name: n.options?.name ?? "",
15
- env: n.envs.get(),
16
- FEBasePage: t(`${n.options.pageBasePage}`),
17
- basePath: t(`${n.options.pageBasePage}${r.params.page}`),
18
- projKeyJson: t(String(r.query.projk ?? "")),
19
- signKey: t(n.config.signKey),
20
- options: t(n.options)
21
- }, o = n.extends.renderView(`${r.params.page}.entry.tpl`, r, a), s = e(a.basePath, a.name, a.env, a.projKey);
22
- if (!n.extends.localCacheHtmlEtag.hasEtag(s)) {
23
- let e = n.extends.crypto.hmacSign(o);
24
- n.extends.localCacheHtmlEtag.setEtag(s, e);
11
+ let a = i.query.projk;
12
+ Array.isArray(a) && (a = e(...a));
13
+ let o = t(r.options.pageBasePath) || "/", s = o === "/" ? `/${i.params.page}` : `${o}/${i.params.page}`, c = {
14
+ projKey: a ?? "",
15
+ name: r.options?.name ?? "",
16
+ env: r.envs.get(),
17
+ FEBasePage: n(o),
18
+ basePath: n(s),
19
+ projKeyJson: n(String(i.query.projk ?? "")),
20
+ signKey: n(r.config.signKey),
21
+ options: n(r.options)
22
+ }, l = r.extends.renderView(`${i.params.page}.entry.tpl`, i, c), u = e(c.basePath, c.name, c.env, c.projKey);
23
+ if (!r.extends.localCacheHtmlEtag.hasEtag(u)) {
24
+ let e = r.extends.crypto.hmacSign(l);
25
+ r.extends.localCacheHtmlEtag.setEtag(u, e);
25
26
  }
26
- let c = n.extends.localCacheHtmlEtag.getEtag(s);
27
- if (c || console.log("---- etag 缓存异常 请检查服务 ----"), r.etag = c ?? Date.now() + "", r.set("Cache-Control", `public, max-age=${(n.config.resourceCacheTimeMs ?? 300 * 1e3) / 1e3}, immutable`), r.fresh) {
28
- r.status = 304;
27
+ let d = r.extends.localCacheHtmlEtag.getEtag(u);
28
+ if (d || console.log("---- etag 缓存异常 请检查服务 ----"), i.etag = d ?? Date.now() + "", i.set("Cache-Control", `public, max-age=${(r.config.resourceCacheTimeMs ?? 300 * 1e3) / 1e3}, immutable`), i.fresh) {
29
+ i.status = 304;
29
30
  return;
30
31
  }
31
32
  } catch (e) {
32
- console.log("-------------- render view error --------------"), console.log(e), n.extends.generateErrorMessage("template not found", {
33
+ console.log("-------------- render view error --------------"), console.log(e), r.extends.generateErrorMessage("template not found", {
33
34
  status: 404,
34
35
  showError: !0,
35
36
  code: 0
@@ -39,4 +40,4 @@ var t = (e) => JSON.stringify(e).replace(/</g, "\\u003c").replace(/>/g, "\\u003e
39
40
  }
40
41
  });
41
42
  //#endregion
42
- export { n as default };
43
+ export { r as default };