@vlian/framework 1.2.57 → 1.2.60

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 (685) hide show
  1. package/README.md +15 -3
  2. package/dist/analytics/index.cjs +1 -24
  3. package/dist/analytics/index.js +1 -3
  4. package/dist/analytics.umd.js +8 -208
  5. package/dist/components/LocaleSwitch.cjs +1 -118
  6. package/dist/components/LocaleSwitch.js +1 -103
  7. package/dist/components/ThemeSwitch.cjs +1 -117
  8. package/dist/components/ThemeSwitch.js +1 -102
  9. package/dist/components/index.cjs +1 -22
  10. package/dist/components/index.js +1 -4
  11. package/dist/components/persistence.cjs +1 -60
  12. package/dist/components/persistence.js +1 -39
  13. package/dist/core/Test.cjs +1 -66
  14. package/dist/core/Test.js +1 -15
  15. package/dist/core/app/AppContext.cjs +1 -350
  16. package/dist/core/app/AppContext.js +1 -339
  17. package/dist/core/app/AppContext.types.cjs +1 -6
  18. package/dist/core/app/AppContext.types.js +1 -5
  19. package/dist/core/app/BasicLayout.cjs +1 -124
  20. package/dist/core/app/BasicLayout.js +1 -74
  21. package/dist/core/app/DefaultApp.cjs +1 -152
  22. package/dist/core/app/DefaultApp.js +1 -143
  23. package/dist/core/app/index.cjs +1 -43
  24. package/dist/core/app/index.js +1 -7
  25. package/dist/core/config/AppConfig.cjs +1 -141
  26. package/dist/core/config/AppConfig.js +1 -133
  27. package/dist/core/config/ConfigLoader.cjs +1 -325
  28. package/dist/core/config/ConfigLoader.js +1 -311
  29. package/dist/core/config/ConfigValidator.cjs +2 -135
  30. package/dist/core/config/ConfigValidator.js +2 -121
  31. package/dist/core/config/index.cjs +1 -30
  32. package/dist/core/config/index.js +1 -7
  33. package/dist/core/dev/DevTools.cjs +1 -228
  34. package/dist/core/dev/DevTools.js +1 -210
  35. package/dist/core/error/ErrorBoundary.cjs +1 -403
  36. package/dist/core/error/ErrorBoundary.js +1 -399
  37. package/dist/core/error/ErrorHandler.cjs +1 -277
  38. package/dist/core/error/ErrorHandler.js +1 -261
  39. package/dist/core/error/index.cjs +1 -36
  40. package/dist/core/error/index.js +1 -6
  41. package/dist/core/event/AppEventBus.cjs +1 -446
  42. package/dist/core/event/AppEventBus.js +1 -438
  43. package/dist/core/event/frameworkEvents.cjs +1 -143
  44. package/dist/core/event/frameworkEvents.js +1 -135
  45. package/dist/core/event/hooks.cjs +1 -71
  46. package/dist/core/event/hooks.js +1 -95
  47. package/dist/core/event/index.cjs +1 -43
  48. package/dist/core/event/index.js +1 -10
  49. package/dist/core/event/types.cjs +1 -64
  50. package/dist/core/event/types.js +1 -56
  51. package/dist/core/event/useEventBus.cjs +1 -27
  52. package/dist/core/event/useEventBus.js +1 -39
  53. package/dist/core/index.cjs +1 -142
  54. package/dist/core/index.js +1 -69
  55. package/dist/core/initialization/InitializationErrorThrower.cjs +1 -77
  56. package/dist/core/initialization/InitializationErrorThrower.js +1 -30
  57. package/dist/core/initialization/index.cjs +1 -28
  58. package/dist/core/initialization/index.js +1 -7
  59. package/dist/core/initialization/initialization.cjs +1 -66
  60. package/dist/core/initialization/initialization.js +1 -78
  61. package/dist/core/initialization/initializationErrorState.cjs +1 -68
  62. package/dist/core/initialization/initializationErrorState.js +1 -60
  63. package/dist/core/kernel/defaultAdapters.cjs +1 -186
  64. package/dist/core/kernel/defaultAdapters.js +1 -176
  65. package/dist/core/kernel/errors.cjs +1 -71
  66. package/dist/core/kernel/errors.js +1 -53
  67. package/dist/core/kernel/index.cjs +1 -22
  68. package/dist/core/kernel/index.js +1 -4
  69. package/dist/core/kernel/startKernel.cjs +1 -202
  70. package/dist/core/kernel/startKernel.js +1 -192
  71. package/dist/core/kernel/types.cjs +1 -6
  72. package/dist/core/kernel/types.js +1 -3
  73. package/dist/core/middleware.cjs +1 -75
  74. package/dist/core/middleware.js +1 -61
  75. package/dist/core/plugin/PluginEventBus.cjs +1 -300
  76. package/dist/core/plugin/PluginEventBus.js +1 -286
  77. package/dist/core/plugin/PluginSandbox.cjs +1 -139
  78. package/dist/core/plugin/PluginSandbox.js +1 -125
  79. package/dist/core/plugin.cjs +1 -496
  80. package/dist/core/plugin.js +1 -438
  81. package/dist/core/router/RouterManager.cjs +1 -288
  82. package/dist/core/router/RouterManager.js +1 -272
  83. package/dist/core/router/adapter/AdapterManager.cjs +1 -237
  84. package/dist/core/router/adapter/AdapterManager.js +1 -221
  85. package/dist/core/router/adapter/index.cjs +1 -24
  86. package/dist/core/router/adapter/index.js +1 -7
  87. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs +1 -130
  88. package/dist/core/router/adapter/react-router/ReactRouterAdapter.js +1 -116
  89. package/dist/core/router/adapter/react-router/index.cjs +1 -22
  90. package/dist/core/router/adapter/react-router/index.js +1 -5
  91. package/dist/core/router/adapter/types.cjs +1 -8
  92. package/dist/core/router/adapter/types.js +1 -7
  93. package/dist/core/router/dev/RouterDevTools.cjs +1 -262
  94. package/dist/core/router/dev/RouterDevTools.js +1 -211
  95. package/dist/core/router/dev/index.cjs +1 -22
  96. package/dist/core/router/dev/index.js +1 -5
  97. package/dist/core/router/dynamic/DynamicRouteManager.cjs +1 -195
  98. package/dist/core/router/dynamic/DynamicRouteManager.js +1 -179
  99. package/dist/core/router/dynamic/index.cjs +1 -22
  100. package/dist/core/router/dynamic/index.js +1 -5
  101. package/dist/core/router/errors/RouterError.cjs +1 -63
  102. package/dist/core/router/errors/RouterError.js +1 -48
  103. package/dist/core/router/errors/index.cjs +1 -22
  104. package/dist/core/router/errors/index.js +1 -5
  105. package/dist/core/router/index.cjs +1 -38
  106. package/dist/core/router/index.js +1 -32
  107. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs +1 -146
  108. package/dist/core/router/lifecycle/RouterLifecycleManager.js +1 -130
  109. package/dist/core/router/lifecycle/index.cjs +1 -22
  110. package/dist/core/router/lifecycle/index.js +1 -5
  111. package/dist/core/router/middleware/RouterMiddlewareManager.cjs +1 -195
  112. package/dist/core/router/middleware/RouterMiddlewareManager.js +1 -179
  113. package/dist/core/router/middleware/auth.cjs +1 -68
  114. package/dist/core/router/middleware/auth.js +1 -63
  115. package/dist/core/router/middleware/index.cjs +1 -24
  116. package/dist/core/router/middleware/index.js +1 -7
  117. package/dist/core/router/middleware/types.cjs +1 -8
  118. package/dist/core/router/middleware/types.js +1 -7
  119. package/dist/core/router/monitoring/RouterMonitoring.cjs +1 -229
  120. package/dist/core/router/monitoring/RouterMonitoring.js +1 -213
  121. package/dist/core/router/monitoring/index.cjs +1 -22
  122. package/dist/core/router/monitoring/index.js +1 -5
  123. package/dist/core/router/navigation/RouterNavigation.cjs +1 -241
  124. package/dist/core/router/navigation/RouterNavigation.js +1 -192
  125. package/dist/core/router/navigation/index.cjs +1 -22
  126. package/dist/core/router/navigation/index.js +1 -5
  127. package/dist/core/router/performance/RouteCache.cjs +1 -307
  128. package/dist/core/router/performance/RouteCache.js +1 -291
  129. package/dist/core/router/performance/RoutePreloader.cjs +1 -294
  130. package/dist/core/router/performance/RoutePreloader.js +1 -277
  131. package/dist/core/router/performance/index.cjs +1 -23
  132. package/dist/core/router/performance/index.js +1 -6
  133. package/dist/core/router/plugin/RouterPluginManager.cjs +1 -264
  134. package/dist/core/router/plugin/RouterPluginManager.js +1 -248
  135. package/dist/core/router/plugin/index.cjs +1 -23
  136. package/dist/core/router/plugin/index.js +1 -6
  137. package/dist/core/router/plugin/types.cjs +1 -41
  138. package/dist/core/router/plugin/types.js +1 -33
  139. package/dist/core/router/types.cjs +1 -6
  140. package/dist/core/router/types.js +1 -5
  141. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs +1 -131
  142. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js +1 -121
  143. package/dist/core/router/utils/adapters/react-router/transform.cjs +1 -252
  144. package/dist/core/router/utils/adapters/react-router/transform.js +1 -242
  145. package/dist/core/router/utils/transform.cjs +1 -782
  146. package/dist/core/router/utils/transform.js +1 -791
  147. package/dist/core/router/validation/RouterConfigValidator.cjs +2 -85
  148. package/dist/core/router/validation/RouterConfigValidator.js +2 -77
  149. package/dist/core/router/validation/index.cjs +1 -23
  150. package/dist/core/router/validation/index.js +1 -6
  151. package/dist/core/router/validation/schema.cjs +1 -161
  152. package/dist/core/router/validation/schema.js +1 -151
  153. package/dist/core/router/version/RouteVersionManager.cjs +1 -207
  154. package/dist/core/router/version/RouteVersionManager.js +1 -191
  155. package/dist/core/router/version/index.cjs +1 -22
  156. package/dist/core/router/version/index.js +1 -5
  157. package/dist/core/splash/SplashScreen.cjs +1 -343
  158. package/dist/core/splash/SplashScreen.js +1 -293
  159. package/dist/core/splash/index.cjs +1 -24
  160. package/dist/core/splash/index.js +1 -6
  161. package/dist/core/splash/splashScreenUtils.cjs +1 -40
  162. package/dist/core/splash/splashScreenUtils.js +1 -30
  163. package/dist/core/startup/AppInstance.cjs +1 -241
  164. package/dist/core/startup/AppInstance.js +1 -226
  165. package/dist/core/startup/environment.cjs +1 -171
  166. package/dist/core/startup/environment.js +1 -154
  167. package/dist/core/startup/index.cjs +1 -25
  168. package/dist/core/startup/index.js +1 -8
  169. package/dist/core/startup/initializeServices.cjs +1 -228
  170. package/dist/core/startup/initializeServices.js +1 -188
  171. package/dist/core/startup/performanceTracker.cjs +1 -181
  172. package/dist/core/startup/performanceTracker.js +1 -167
  173. package/dist/core/startup/renderApp.cjs +1 -316
  174. package/dist/core/startup/renderApp.js +1 -267
  175. package/dist/core/startup/startApp.cjs +1 -319
  176. package/dist/core/startup/startApp.js +1 -315
  177. package/dist/core/types.cjs +1 -6
  178. package/dist/core/types.js +1 -5
  179. package/dist/index.cjs +1 -54
  180. package/dist/index.js +1 -11
  181. package/dist/index.umd.cjs +1 -29
  182. package/dist/index.umd.js +362 -13233
  183. package/dist/kernel/constants.cjs +1 -67
  184. package/dist/kernel/constants.js +1 -43
  185. package/dist/kernel/index.cjs +1 -40
  186. package/dist/kernel/index.js +1 -4
  187. package/dist/kernel/kernel.cjs +1 -297
  188. package/dist/kernel/kernel.js +1 -273
  189. package/dist/kernel/manager/cacheManager.cjs +1 -48
  190. package/dist/kernel/manager/cacheManager.js +1 -38
  191. package/dist/kernel/manager/i18n/I18nManager.cjs +1 -93
  192. package/dist/kernel/manager/i18n/I18nManager.js +1 -83
  193. package/dist/kernel/manager/i18n/i18n.persistence.cjs +1 -62
  194. package/dist/kernel/manager/i18n/i18n.persistence.js +1 -41
  195. package/dist/kernel/manager/i18n/i18n.schema.cjs +1 -88
  196. package/dist/kernel/manager/i18n/i18n.schema.js +1 -64
  197. package/dist/kernel/manager/i18n/index.cjs +1 -13
  198. package/dist/kernel/manager/i18n/index.js +1 -3
  199. package/dist/kernel/manager/i18nManager.cjs +1 -13
  200. package/dist/kernel/manager/i18nManager.js +1 -3
  201. package/dist/kernel/manager/index.cjs +1 -30
  202. package/dist/kernel/manager/index.js +1 -6
  203. package/dist/kernel/manager/logger/LoggerManager.cjs +1 -109
  204. package/dist/kernel/manager/logger/LoggerManager.js +1 -99
  205. package/dist/kernel/manager/logger/index.cjs +1 -13
  206. package/dist/kernel/manager/logger/index.js +1 -3
  207. package/dist/kernel/manager/logger/logger.persistence.cjs +1 -64
  208. package/dist/kernel/manager/logger/logger.persistence.js +1 -43
  209. package/dist/kernel/manager/logger/logger.schema.cjs +1 -76
  210. package/dist/kernel/manager/logger/logger.schema.js +1 -55
  211. package/dist/kernel/manager/loggerManager.cjs +1 -13
  212. package/dist/kernel/manager/loggerManager.js +1 -3
  213. package/dist/kernel/manager/theme/ThemeManager.cjs +1 -86
  214. package/dist/kernel/manager/theme/ThemeManager.js +1 -76
  215. package/dist/kernel/manager/theme/index.cjs +1 -13
  216. package/dist/kernel/manager/theme/index.js +1 -3
  217. package/dist/kernel/manager/theme/theme.dom.cjs +1 -63
  218. package/dist/kernel/manager/theme/theme.dom.js +1 -45
  219. package/dist/kernel/manager/theme/theme.persistence.cjs +1 -59
  220. package/dist/kernel/manager/theme/theme.persistence.js +1 -38
  221. package/dist/kernel/manager/theme/theme.schema.cjs +1 -124
  222. package/dist/kernel/manager/theme/theme.schema.js +1 -97
  223. package/dist/kernel/manager/themeManager.cjs +1 -13
  224. package/dist/kernel/manager/themeManager.js +1 -3
  225. package/dist/kernel/types.cjs +1 -6
  226. package/dist/kernel/types.js +1 -3
  227. package/dist/library/index.cjs +1 -21
  228. package/dist/library/index.js +1 -4
  229. package/dist/library/locale/index.cjs +1 -41
  230. package/dist/library/locale/index.js +1 -12
  231. package/dist/library/locale/langs/en-us/index.cjs +1 -34
  232. package/dist/library/locale/langs/en-us/index.js +1 -24
  233. package/dist/library/locale/langs/zh-cn/index.cjs +1 -34
  234. package/dist/library/locale/langs/zh-cn/index.js +1 -24
  235. package/dist/library/locale/types.cjs +1 -6
  236. package/dist/library/locale/types.js +1 -3
  237. package/dist/library/storage/cache.cjs +1 -245
  238. package/dist/library/storage/cache.js +1 -237
  239. package/dist/library/storage/encryption.cjs +1 -149
  240. package/dist/library/storage/encryption.js +1 -141
  241. package/dist/library/storage/index.cjs +1 -126
  242. package/dist/library/storage/index.js +1 -106
  243. package/dist/state/StateManager.cjs +1 -168
  244. package/dist/state/StateManager.js +1 -160
  245. package/dist/state/adapters/AdapterFactory.cjs +1 -91
  246. package/dist/state/adapters/AdapterFactory.js +1 -85
  247. package/dist/state/adapters/DefaultAdapter.cjs +1 -77
  248. package/dist/state/adapters/DefaultAdapter.js +1 -71
  249. package/dist/state/adapters/ReduxAdapter.cjs +1 -445
  250. package/dist/state/adapters/ReduxAdapter.js +1 -439
  251. package/dist/state/adapters/ZustandAdapter.cjs +1 -71
  252. package/dist/state/adapters/ZustandAdapter.js +1 -70
  253. package/dist/state/adapters/index.cjs +1 -46
  254. package/dist/state/adapters/index.js +1 -9
  255. package/dist/state/adapters/types.cjs +1 -22
  256. package/dist/state/adapters/types.js +1 -5
  257. package/dist/state/core/DerivedStateInstance.cjs +1 -176
  258. package/dist/state/core/DerivedStateInstance.js +1 -173
  259. package/dist/state/core/StateInstance.cjs +1 -172
  260. package/dist/state/core/StateInstance.js +1 -168
  261. package/dist/state/core/StateRegistry.cjs +1 -112
  262. package/dist/state/core/StateRegistry.js +1 -106
  263. package/dist/state/core/StateScope.cjs +1 -139
  264. package/dist/state/core/StateScope.js +1 -133
  265. package/dist/state/core/index.cjs +1 -32
  266. package/dist/state/core/index.js +1 -8
  267. package/dist/state/index.cjs +1 -32
  268. package/dist/state/index.js +1 -12
  269. package/dist/state/types.cjs +1 -14
  270. package/dist/state/types.js +1 -13
  271. package/dist/state.umd.js +22 -1395
  272. package/dist/types.cjs +1 -6
  273. package/dist/types.js +1 -3
  274. package/dist/utils/analytics.cjs +1 -219
  275. package/dist/utils/analytics.js +1 -204
  276. package/dist/utils/configSecurity.cjs +3 -184
  277. package/dist/utils/configSecurity.js +3 -176
  278. package/dist/utils/csrf.cjs +1 -20
  279. package/dist/utils/csrf.js +1 -3
  280. package/dist/utils/errors/ErrorCodes.cjs +1 -27
  281. package/dist/utils/errors/ErrorCodes.js +1 -3
  282. package/dist/utils/errors.cjs +1 -113
  283. package/dist/utils/errors.js +1 -18
  284. package/dist/utils/index.cjs +1 -137
  285. package/dist/utils/index.js +1 -48
  286. package/dist/utils/logger.cjs +1 -27
  287. package/dist/utils/logger.js +1 -3
  288. package/dist/utils/logger.types.cjs +1 -13
  289. package/dist/utils/logger.types.js +1 -3
  290. package/dist/utils/monitoring.cjs +1 -20
  291. package/dist/utils/monitoring.js +1 -3
  292. package/dist/utils/performance.cjs +1 -24
  293. package/dist/utils/performance.js +1 -3
  294. package/dist/utils/resourceLoader.cjs +1 -24
  295. package/dist/utils/resourceLoader.js +1 -3
  296. package/dist/utils/runtimeSecurity.cjs +1 -13
  297. package/dist/utils/runtimeSecurity.js +1 -3
  298. package/dist/utils/security.cjs +1 -21
  299. package/dist/utils/security.js +1 -3
  300. package/dist/utils/traceId.cjs +1 -39
  301. package/dist/utils/traceId.js +1 -3
  302. package/dist/utils/validation.cjs +1 -21
  303. package/dist/utils/validation.js +1 -3
  304. package/package.json +9 -6
  305. package/dist/analytics/index.cjs.map +0 -1
  306. package/dist/analytics/index.js.map +0 -1
  307. package/dist/analytics.umd.js.map +0 -1
  308. package/dist/components/LocaleSwitch.cjs.map +0 -1
  309. package/dist/components/LocaleSwitch.js.map +0 -1
  310. package/dist/components/ThemeSwitch.cjs.map +0 -1
  311. package/dist/components/ThemeSwitch.js.map +0 -1
  312. package/dist/components/index.cjs.map +0 -1
  313. package/dist/components/index.js.map +0 -1
  314. package/dist/components/persistence.cjs.map +0 -1
  315. package/dist/components/persistence.js.map +0 -1
  316. package/dist/core/Test.cjs.map +0 -1
  317. package/dist/core/Test.js.map +0 -1
  318. package/dist/core/app/AppContext.cjs.map +0 -1
  319. package/dist/core/app/AppContext.js.map +0 -1
  320. package/dist/core/app/AppContext.types.cjs.map +0 -1
  321. package/dist/core/app/AppContext.types.js.map +0 -1
  322. package/dist/core/app/BasicLayout.cjs.map +0 -1
  323. package/dist/core/app/BasicLayout.js.map +0 -1
  324. package/dist/core/app/DefaultApp.cjs.map +0 -1
  325. package/dist/core/app/DefaultApp.js.map +0 -1
  326. package/dist/core/app/index.cjs.map +0 -1
  327. package/dist/core/app/index.js.map +0 -1
  328. package/dist/core/config/AppConfig.cjs.map +0 -1
  329. package/dist/core/config/AppConfig.js.map +0 -1
  330. package/dist/core/config/ConfigLoader.cjs.map +0 -1
  331. package/dist/core/config/ConfigLoader.js.map +0 -1
  332. package/dist/core/config/ConfigValidator.cjs.map +0 -1
  333. package/dist/core/config/ConfigValidator.js.map +0 -1
  334. package/dist/core/config/index.cjs.map +0 -1
  335. package/dist/core/config/index.js.map +0 -1
  336. package/dist/core/dev/DevTools.cjs.map +0 -1
  337. package/dist/core/dev/DevTools.js.map +0 -1
  338. package/dist/core/error/ErrorBoundary.cjs.map +0 -1
  339. package/dist/core/error/ErrorBoundary.js.map +0 -1
  340. package/dist/core/error/ErrorHandler.cjs.map +0 -1
  341. package/dist/core/error/ErrorHandler.js.map +0 -1
  342. package/dist/core/error/index.cjs.map +0 -1
  343. package/dist/core/error/index.js.map +0 -1
  344. package/dist/core/event/AppEventBus.cjs.map +0 -1
  345. package/dist/core/event/AppEventBus.js.map +0 -1
  346. package/dist/core/event/frameworkEvents.cjs.map +0 -1
  347. package/dist/core/event/frameworkEvents.js.map +0 -1
  348. package/dist/core/event/hooks.cjs.map +0 -1
  349. package/dist/core/event/hooks.js.map +0 -1
  350. package/dist/core/event/index.cjs.map +0 -1
  351. package/dist/core/event/index.js.map +0 -1
  352. package/dist/core/event/types.cjs.map +0 -1
  353. package/dist/core/event/types.js.map +0 -1
  354. package/dist/core/event/useEventBus.cjs.map +0 -1
  355. package/dist/core/event/useEventBus.js.map +0 -1
  356. package/dist/core/index.cjs.map +0 -1
  357. package/dist/core/index.js.map +0 -1
  358. package/dist/core/initialization/InitializationErrorThrower.cjs.map +0 -1
  359. package/dist/core/initialization/InitializationErrorThrower.js.map +0 -1
  360. package/dist/core/initialization/index.cjs.map +0 -1
  361. package/dist/core/initialization/index.js.map +0 -1
  362. package/dist/core/initialization/initialization.cjs.map +0 -1
  363. package/dist/core/initialization/initialization.js.map +0 -1
  364. package/dist/core/initialization/initializationErrorState.cjs.map +0 -1
  365. package/dist/core/initialization/initializationErrorState.js.map +0 -1
  366. package/dist/core/kernel/defaultAdapters.cjs.map +0 -1
  367. package/dist/core/kernel/defaultAdapters.js.map +0 -1
  368. package/dist/core/kernel/errors.cjs.map +0 -1
  369. package/dist/core/kernel/errors.js.map +0 -1
  370. package/dist/core/kernel/index.cjs.map +0 -1
  371. package/dist/core/kernel/index.js.map +0 -1
  372. package/dist/core/kernel/startKernel.cjs.map +0 -1
  373. package/dist/core/kernel/startKernel.js.map +0 -1
  374. package/dist/core/kernel/types.cjs.map +0 -1
  375. package/dist/core/kernel/types.js.map +0 -1
  376. package/dist/core/middleware.cjs.map +0 -1
  377. package/dist/core/middleware.js.map +0 -1
  378. package/dist/core/plugin/PluginEventBus.cjs.map +0 -1
  379. package/dist/core/plugin/PluginEventBus.js.map +0 -1
  380. package/dist/core/plugin/PluginSandbox.cjs.map +0 -1
  381. package/dist/core/plugin/PluginSandbox.js.map +0 -1
  382. package/dist/core/plugin.cjs.map +0 -1
  383. package/dist/core/plugin.js.map +0 -1
  384. package/dist/core/router/RouterManager.cjs.map +0 -1
  385. package/dist/core/router/RouterManager.js.map +0 -1
  386. package/dist/core/router/adapter/AdapterManager.cjs.map +0 -1
  387. package/dist/core/router/adapter/AdapterManager.js.map +0 -1
  388. package/dist/core/router/adapter/index.cjs.map +0 -1
  389. package/dist/core/router/adapter/index.js.map +0 -1
  390. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs.map +0 -1
  391. package/dist/core/router/adapter/react-router/ReactRouterAdapter.js.map +0 -1
  392. package/dist/core/router/adapter/react-router/index.cjs.map +0 -1
  393. package/dist/core/router/adapter/react-router/index.js.map +0 -1
  394. package/dist/core/router/adapter/types.cjs.map +0 -1
  395. package/dist/core/router/adapter/types.js.map +0 -1
  396. package/dist/core/router/dev/RouterDevTools.cjs.map +0 -1
  397. package/dist/core/router/dev/RouterDevTools.js.map +0 -1
  398. package/dist/core/router/dev/index.cjs.map +0 -1
  399. package/dist/core/router/dev/index.js.map +0 -1
  400. package/dist/core/router/dynamic/DynamicRouteManager.cjs.map +0 -1
  401. package/dist/core/router/dynamic/DynamicRouteManager.js.map +0 -1
  402. package/dist/core/router/dynamic/index.cjs.map +0 -1
  403. package/dist/core/router/dynamic/index.js.map +0 -1
  404. package/dist/core/router/errors/RouterError.cjs.map +0 -1
  405. package/dist/core/router/errors/RouterError.js.map +0 -1
  406. package/dist/core/router/errors/index.cjs.map +0 -1
  407. package/dist/core/router/errors/index.js.map +0 -1
  408. package/dist/core/router/index.cjs.map +0 -1
  409. package/dist/core/router/index.js.map +0 -1
  410. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs.map +0 -1
  411. package/dist/core/router/lifecycle/RouterLifecycleManager.js.map +0 -1
  412. package/dist/core/router/lifecycle/index.cjs.map +0 -1
  413. package/dist/core/router/lifecycle/index.js.map +0 -1
  414. package/dist/core/router/middleware/RouterMiddlewareManager.cjs.map +0 -1
  415. package/dist/core/router/middleware/RouterMiddlewareManager.js.map +0 -1
  416. package/dist/core/router/middleware/auth.cjs.map +0 -1
  417. package/dist/core/router/middleware/auth.js.map +0 -1
  418. package/dist/core/router/middleware/index.cjs.map +0 -1
  419. package/dist/core/router/middleware/index.js.map +0 -1
  420. package/dist/core/router/middleware/types.cjs.map +0 -1
  421. package/dist/core/router/middleware/types.js.map +0 -1
  422. package/dist/core/router/monitoring/RouterMonitoring.cjs.map +0 -1
  423. package/dist/core/router/monitoring/RouterMonitoring.js.map +0 -1
  424. package/dist/core/router/monitoring/index.cjs.map +0 -1
  425. package/dist/core/router/monitoring/index.js.map +0 -1
  426. package/dist/core/router/navigation/RouterNavigation.cjs.map +0 -1
  427. package/dist/core/router/navigation/RouterNavigation.js.map +0 -1
  428. package/dist/core/router/navigation/index.cjs.map +0 -1
  429. package/dist/core/router/navigation/index.js.map +0 -1
  430. package/dist/core/router/performance/RouteCache.cjs.map +0 -1
  431. package/dist/core/router/performance/RouteCache.js.map +0 -1
  432. package/dist/core/router/performance/RoutePreloader.cjs.map +0 -1
  433. package/dist/core/router/performance/RoutePreloader.js.map +0 -1
  434. package/dist/core/router/performance/index.cjs.map +0 -1
  435. package/dist/core/router/performance/index.js.map +0 -1
  436. package/dist/core/router/plugin/RouterPluginManager.cjs.map +0 -1
  437. package/dist/core/router/plugin/RouterPluginManager.js.map +0 -1
  438. package/dist/core/router/plugin/index.cjs.map +0 -1
  439. package/dist/core/router/plugin/index.js.map +0 -1
  440. package/dist/core/router/plugin/types.cjs.map +0 -1
  441. package/dist/core/router/plugin/types.js.map +0 -1
  442. package/dist/core/router/types.cjs.map +0 -1
  443. package/dist/core/router/types.js.map +0 -1
  444. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs.map +0 -1
  445. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js.map +0 -1
  446. package/dist/core/router/utils/adapters/react-router/transform.cjs.map +0 -1
  447. package/dist/core/router/utils/adapters/react-router/transform.js.map +0 -1
  448. package/dist/core/router/utils/transform.cjs.map +0 -1
  449. package/dist/core/router/utils/transform.js.map +0 -1
  450. package/dist/core/router/validation/RouterConfigValidator.cjs.map +0 -1
  451. package/dist/core/router/validation/RouterConfigValidator.js.map +0 -1
  452. package/dist/core/router/validation/index.cjs.map +0 -1
  453. package/dist/core/router/validation/index.js.map +0 -1
  454. package/dist/core/router/validation/schema.cjs.map +0 -1
  455. package/dist/core/router/validation/schema.js.map +0 -1
  456. package/dist/core/router/version/RouteVersionManager.cjs.map +0 -1
  457. package/dist/core/router/version/RouteVersionManager.js.map +0 -1
  458. package/dist/core/router/version/index.cjs.map +0 -1
  459. package/dist/core/router/version/index.js.map +0 -1
  460. package/dist/core/splash/SplashScreen.cjs.map +0 -1
  461. package/dist/core/splash/SplashScreen.js.map +0 -1
  462. package/dist/core/splash/index.cjs.map +0 -1
  463. package/dist/core/splash/index.js.map +0 -1
  464. package/dist/core/splash/splashScreenUtils.cjs.map +0 -1
  465. package/dist/core/splash/splashScreenUtils.js.map +0 -1
  466. package/dist/core/startup/AppInstance.cjs.map +0 -1
  467. package/dist/core/startup/AppInstance.js.map +0 -1
  468. package/dist/core/startup/environment.cjs.map +0 -1
  469. package/dist/core/startup/environment.js.map +0 -1
  470. package/dist/core/startup/index.cjs.map +0 -1
  471. package/dist/core/startup/index.js.map +0 -1
  472. package/dist/core/startup/initializeServices.cjs.map +0 -1
  473. package/dist/core/startup/initializeServices.js.map +0 -1
  474. package/dist/core/startup/performanceTracker.cjs.map +0 -1
  475. package/dist/core/startup/performanceTracker.js.map +0 -1
  476. package/dist/core/startup/renderApp.cjs.map +0 -1
  477. package/dist/core/startup/renderApp.js.map +0 -1
  478. package/dist/core/startup/startApp.cjs.map +0 -1
  479. package/dist/core/startup/startApp.js.map +0 -1
  480. package/dist/core/types.cjs.map +0 -1
  481. package/dist/core/types.js.map +0 -1
  482. package/dist/index.cjs.map +0 -1
  483. package/dist/index.js.map +0 -1
  484. package/dist/index.umd.cjs.map +0 -1
  485. package/dist/index.umd.js.map +0 -1
  486. package/dist/kernel/constants.cjs.map +0 -1
  487. package/dist/kernel/constants.js.map +0 -1
  488. package/dist/kernel/index.cjs.map +0 -1
  489. package/dist/kernel/index.js.map +0 -1
  490. package/dist/kernel/kernel.cjs.map +0 -1
  491. package/dist/kernel/kernel.js.map +0 -1
  492. package/dist/kernel/manager/cacheManager.cjs.map +0 -1
  493. package/dist/kernel/manager/cacheManager.js.map +0 -1
  494. package/dist/kernel/manager/i18n/I18nManager.cjs.map +0 -1
  495. package/dist/kernel/manager/i18n/I18nManager.js.map +0 -1
  496. package/dist/kernel/manager/i18n/i18n.persistence.cjs.map +0 -1
  497. package/dist/kernel/manager/i18n/i18n.persistence.js.map +0 -1
  498. package/dist/kernel/manager/i18n/i18n.schema.cjs.map +0 -1
  499. package/dist/kernel/manager/i18n/i18n.schema.js.map +0 -1
  500. package/dist/kernel/manager/i18n/index.cjs.map +0 -1
  501. package/dist/kernel/manager/i18n/index.js.map +0 -1
  502. package/dist/kernel/manager/i18nManager.cjs.map +0 -1
  503. package/dist/kernel/manager/i18nManager.js.map +0 -1
  504. package/dist/kernel/manager/index.cjs.map +0 -1
  505. package/dist/kernel/manager/index.js.map +0 -1
  506. package/dist/kernel/manager/logger/LoggerManager.cjs.map +0 -1
  507. package/dist/kernel/manager/logger/LoggerManager.js.map +0 -1
  508. package/dist/kernel/manager/logger/index.cjs.map +0 -1
  509. package/dist/kernel/manager/logger/index.js.map +0 -1
  510. package/dist/kernel/manager/logger/logger.persistence.cjs.map +0 -1
  511. package/dist/kernel/manager/logger/logger.persistence.js.map +0 -1
  512. package/dist/kernel/manager/logger/logger.schema.cjs.map +0 -1
  513. package/dist/kernel/manager/logger/logger.schema.js.map +0 -1
  514. package/dist/kernel/manager/loggerManager.cjs.map +0 -1
  515. package/dist/kernel/manager/loggerManager.js.map +0 -1
  516. package/dist/kernel/manager/persistence.cjs +0 -78
  517. package/dist/kernel/manager/persistence.cjs.map +0 -1
  518. package/dist/kernel/manager/persistence.d.ts +0 -3
  519. package/dist/kernel/manager/persistence.js +0 -60
  520. package/dist/kernel/manager/persistence.js.map +0 -1
  521. package/dist/kernel/manager/theme/ThemeManager.cjs.map +0 -1
  522. package/dist/kernel/manager/theme/ThemeManager.js.map +0 -1
  523. package/dist/kernel/manager/theme/index.cjs.map +0 -1
  524. package/dist/kernel/manager/theme/index.js.map +0 -1
  525. package/dist/kernel/manager/theme/theme.dom.cjs.map +0 -1
  526. package/dist/kernel/manager/theme/theme.dom.js.map +0 -1
  527. package/dist/kernel/manager/theme/theme.persistence.cjs.map +0 -1
  528. package/dist/kernel/manager/theme/theme.persistence.js.map +0 -1
  529. package/dist/kernel/manager/theme/theme.schema.cjs.map +0 -1
  530. package/dist/kernel/manager/theme/theme.schema.js.map +0 -1
  531. package/dist/kernel/manager/themeManager.cjs.map +0 -1
  532. package/dist/kernel/manager/themeManager.js.map +0 -1
  533. package/dist/kernel/types.cjs.map +0 -1
  534. package/dist/kernel/types.js.map +0 -1
  535. package/dist/library/index.cjs.map +0 -1
  536. package/dist/library/index.js.map +0 -1
  537. package/dist/library/locale/index.cjs.map +0 -1
  538. package/dist/library/locale/index.js.map +0 -1
  539. package/dist/library/locale/langs/en-us/index.cjs.map +0 -1
  540. package/dist/library/locale/langs/en-us/index.js.map +0 -1
  541. package/dist/library/locale/langs/zh-cn/index.cjs.map +0 -1
  542. package/dist/library/locale/langs/zh-cn/index.js.map +0 -1
  543. package/dist/library/locale/types.cjs.map +0 -1
  544. package/dist/library/locale/types.js.map +0 -1
  545. package/dist/library/storage/cache.cjs.map +0 -1
  546. package/dist/library/storage/cache.js.map +0 -1
  547. package/dist/library/storage/encryption.cjs.map +0 -1
  548. package/dist/library/storage/encryption.js.map +0 -1
  549. package/dist/library/storage/index.cjs.map +0 -1
  550. package/dist/library/storage/index.js.map +0 -1
  551. package/dist/request/adapter/RequestAdapter.d.ts +0 -85
  552. package/dist/request/adapter/RequestAdapter.js +0 -70
  553. package/dist/request/adapter/RequestAdapter.js.map +0 -1
  554. package/dist/request/adapter/axiosAdapter.d.ts +0 -10
  555. package/dist/request/adapter/axiosAdapter.js +0 -115
  556. package/dist/request/adapter/axiosAdapter.js.map +0 -1
  557. package/dist/request/adapter/fetchAdapter.d.ts +0 -10
  558. package/dist/request/adapter/fetchAdapter.js +0 -126
  559. package/dist/request/adapter/fetchAdapter.js.map +0 -1
  560. package/dist/request/adapter/index.d.ts +0 -9
  561. package/dist/request/adapter/index.js +0 -14
  562. package/dist/request/adapter/index.js.map +0 -1
  563. package/dist/request/adapter/kyAdapter.d.ts +0 -10
  564. package/dist/request/adapter/kyAdapter.js +0 -142
  565. package/dist/request/adapter/kyAdapter.js.map +0 -1
  566. package/dist/request/adapter/undiciAdapter.d.ts +0 -10
  567. package/dist/request/adapter/undiciAdapter.js +0 -164
  568. package/dist/request/adapter/undiciAdapter.js.map +0 -1
  569. package/dist/request/adapter.d.ts +0 -1
  570. package/dist/request/core/RequestClient.d.ts +0 -134
  571. package/dist/request/core/RequestClient.js +0 -509
  572. package/dist/request/core/RequestClient.js.map +0 -1
  573. package/dist/request/core/index.d.ts +0 -5
  574. package/dist/request/core/index.js +0 -5
  575. package/dist/request/core/index.js.map +0 -1
  576. package/dist/request/core.d.ts +0 -1
  577. package/dist/request/index.d.ts +0 -1
  578. package/dist/request/index.js +0 -50
  579. package/dist/request/index.js.map +0 -1
  580. package/dist/request/plugin/RequestPlugin.d.ts +0 -170
  581. package/dist/request/plugin/RequestPlugin.js +0 -203
  582. package/dist/request/plugin/RequestPlugin.js.map +0 -1
  583. package/dist/request/plugin/cache.d.ts +0 -33
  584. package/dist/request/plugin/cache.js +0 -264
  585. package/dist/request/plugin/cache.js.map +0 -1
  586. package/dist/request/plugin/csrfPlugin.d.ts +0 -21
  587. package/dist/request/plugin/csrfPlugin.js +0 -44
  588. package/dist/request/plugin/csrfPlugin.js.map +0 -1
  589. package/dist/request/plugin/index.d.ts +0 -11
  590. package/dist/request/plugin/index.js +0 -12
  591. package/dist/request/plugin/index.js.map +0 -1
  592. package/dist/request/plugin/monitoring.d.ts +0 -112
  593. package/dist/request/plugin/monitoring.js +0 -205
  594. package/dist/request/plugin/monitoring.js.map +0 -1
  595. package/dist/request/plugin/queue.d.ts +0 -91
  596. package/dist/request/plugin/queue.js +0 -156
  597. package/dist/request/plugin/queue.js.map +0 -1
  598. package/dist/request/plugin/retry.d.ts +0 -34
  599. package/dist/request/plugin/retry.js +0 -93
  600. package/dist/request/plugin/retry.js.map +0 -1
  601. package/dist/request/plugin/validation.d.ts +0 -26
  602. package/dist/request/plugin/validation.js +0 -116
  603. package/dist/request/plugin/validation.js.map +0 -1
  604. package/dist/request/plugin.d.ts +0 -1
  605. package/dist/request/runtime/RequestContext.d.ts +0 -50
  606. package/dist/request/runtime/RequestContext.js +0 -86
  607. package/dist/request/runtime/RequestContext.js.map +0 -1
  608. package/dist/request/runtime/index.d.ts +0 -4
  609. package/dist/request/runtime/index.js +0 -5
  610. package/dist/request/runtime/index.js.map +0 -1
  611. package/dist/request/runtime.d.ts +0 -1
  612. package/dist/request/types.d.ts +0 -1
  613. package/dist/request/types.js +0 -97
  614. package/dist/request/types.js.map +0 -1
  615. package/dist/request/utils/RequestQueueManager.d.ts +0 -74
  616. package/dist/request/utils/RequestQueueManager.js +0 -160
  617. package/dist/request/utils/RequestQueueManager.js.map +0 -1
  618. package/dist/request/utils/dependencyCheck.d.ts +0 -63
  619. package/dist/request/utils/dependencyCheck.js +0 -192
  620. package/dist/request/utils/dependencyCheck.js.map +0 -1
  621. package/dist/request/utils/index.d.ts +0 -5
  622. package/dist/request/utils/index.js +0 -6
  623. package/dist/request/utils/index.js.map +0 -1
  624. package/dist/request/utils.d.ts +0 -1
  625. package/dist/state/StateManager.cjs.map +0 -1
  626. package/dist/state/StateManager.js.map +0 -1
  627. package/dist/state/adapters/AdapterFactory.cjs.map +0 -1
  628. package/dist/state/adapters/AdapterFactory.js.map +0 -1
  629. package/dist/state/adapters/DefaultAdapter.cjs.map +0 -1
  630. package/dist/state/adapters/DefaultAdapter.js.map +0 -1
  631. package/dist/state/adapters/ReduxAdapter.cjs.map +0 -1
  632. package/dist/state/adapters/ReduxAdapter.js.map +0 -1
  633. package/dist/state/adapters/ZustandAdapter.cjs.map +0 -1
  634. package/dist/state/adapters/ZustandAdapter.js.map +0 -1
  635. package/dist/state/adapters/index.cjs.map +0 -1
  636. package/dist/state/adapters/index.js.map +0 -1
  637. package/dist/state/adapters/types.cjs.map +0 -1
  638. package/dist/state/adapters/types.js.map +0 -1
  639. package/dist/state/core/DerivedStateInstance.cjs.map +0 -1
  640. package/dist/state/core/DerivedStateInstance.js.map +0 -1
  641. package/dist/state/core/StateInstance.cjs.map +0 -1
  642. package/dist/state/core/StateInstance.js.map +0 -1
  643. package/dist/state/core/StateRegistry.cjs.map +0 -1
  644. package/dist/state/core/StateRegistry.js.map +0 -1
  645. package/dist/state/core/StateScope.cjs.map +0 -1
  646. package/dist/state/core/StateScope.js.map +0 -1
  647. package/dist/state/core/index.cjs.map +0 -1
  648. package/dist/state/core/index.js.map +0 -1
  649. package/dist/state/index.cjs.map +0 -1
  650. package/dist/state/index.js.map +0 -1
  651. package/dist/state/types.cjs.map +0 -1
  652. package/dist/state/types.js.map +0 -1
  653. package/dist/state.umd.js.map +0 -1
  654. package/dist/types.cjs.map +0 -1
  655. package/dist/types.js.map +0 -1
  656. package/dist/utils/analytics.cjs.map +0 -1
  657. package/dist/utils/analytics.js.map +0 -1
  658. package/dist/utils/configSecurity.cjs.map +0 -1
  659. package/dist/utils/configSecurity.js.map +0 -1
  660. package/dist/utils/csrf.cjs.map +0 -1
  661. package/dist/utils/csrf.js.map +0 -1
  662. package/dist/utils/errors/ErrorCodes.cjs.map +0 -1
  663. package/dist/utils/errors/ErrorCodes.js.map +0 -1
  664. package/dist/utils/errors.cjs.map +0 -1
  665. package/dist/utils/errors.js.map +0 -1
  666. package/dist/utils/index.cjs.map +0 -1
  667. package/dist/utils/index.js.map +0 -1
  668. package/dist/utils/logger.cjs.map +0 -1
  669. package/dist/utils/logger.js.map +0 -1
  670. package/dist/utils/logger.types.cjs.map +0 -1
  671. package/dist/utils/logger.types.js.map +0 -1
  672. package/dist/utils/monitoring.cjs.map +0 -1
  673. package/dist/utils/monitoring.js.map +0 -1
  674. package/dist/utils/performance.cjs.map +0 -1
  675. package/dist/utils/performance.js.map +0 -1
  676. package/dist/utils/resourceLoader.cjs.map +0 -1
  677. package/dist/utils/resourceLoader.js.map +0 -1
  678. package/dist/utils/runtimeSecurity.cjs.map +0 -1
  679. package/dist/utils/runtimeSecurity.js.map +0 -1
  680. package/dist/utils/security.cjs.map +0 -1
  681. package/dist/utils/security.js.map +0 -1
  682. package/dist/utils/traceId.cjs.map +0 -1
  683. package/dist/utils/traceId.js.map +0 -1
  684. package/dist/utils/validation.cjs.map +0 -1
  685. package/dist/utils/validation.js.map +0 -1
@@ -1,319 +1 @@
1
- /**
2
- * 应用启动主函数
3
- * 重构后的启动逻辑,集成所有新功能
4
- */ "use strict";
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- Object.defineProperty(exports, "startApp", {
9
- enumerable: true,
10
- get: function() {
11
- return startApp;
12
- }
13
- });
14
- const _logger = require("@vlian/logger");
15
- const _utils = require("@vlian/utils");
16
- const _traceId = require("../../utils/traceId");
17
- const _splash = require("../splash");
18
- const _index = require("../initialization/index");
19
- const _middleware = require("../middleware");
20
- const _initializeServices = require("./initializeServices");
21
- const _AppInstance = require("./AppInstance");
22
- const _environment = require("./environment");
23
- const _RouterManager = require("../router/RouterManager");
24
- const _frameworkEvents = require("../event/frameworkEvents");
25
- const _kernel = require("../kernel");
26
- async function startApp(options = {}, instanceId) {
27
- const startTime = performance.now();
28
- const envDetector = (0, _environment.getEnvironmentDetector)();
29
- const instanceManager = (0, _AppInstance.getAppInstanceManager)();
30
- // 初始化追踪 ID 生成器
31
- (0, _traceId.initTraceIdGenerator)('app');
32
- const traceId = (0, _traceId.generateTraceId)();
33
- (0, _traceId.setCurrentTraceId)(traceId);
34
- // 框架事件管理器(在服务初始化后创建)
35
- let frameworkEventManager = null;
36
- let kernelTraceId = null;
37
- try {
38
- // 1. 环境检测和容器获取
39
- const container = options.container || envDetector.safeGetElement('#root');
40
- if (!container) {
41
- throw new _utils.InitializationError('未找到挂载容器', undefined, {
42
- container: options.container
43
- }, _utils.ErrorCode.CONTAINER_NOT_FOUND);
44
- }
45
- _logger.logger.info('框架启动中...');
46
- if (options.antd && !options.uiProvider) {
47
- _logger.logger.warn('[deprecated] StartOptions.antd 即将废弃,请迁移到 StartOptions.uiProvider');
48
- }
49
- if (options.antdApp && !options.uiApp) {
50
- _logger.logger.warn('[deprecated] StartOptions.antdApp 即将废弃,请迁移到 StartOptions.uiApp');
51
- }
52
- // 2. 创建应用实例
53
- const appInstance = instanceManager.createInstance(instanceId, options);
54
- const finalInstanceId = appInstance.id;
55
- let services = null;
56
- // 使用单次 Promise 防止重复初始化,提升加载速度并保证可观测数据一致。
57
- let servicesInitPromise = null;
58
- const ensureServicesInitialized = async ()=>{
59
- if (services) {
60
- return services;
61
- }
62
- if (!servicesInitPromise) {
63
- servicesInitPromise = (0, _initializeServices.initializeServices)({
64
- ...options,
65
- eventBus: {
66
- ...options.eventBus,
67
- instanceId: finalInstanceId
68
- }
69
- });
70
- }
71
- services = await servicesInitPromise;
72
- return services;
73
- };
74
- // 3. 使用无 UI Kernel 管理启动阶段(配置、主题、i18n、服务注入、统一错误处理)
75
- const kernelRuntime = await (0, _kernel.startKernel)({
76
- loggerLevel: options.loggerLevel,
77
- locale: {
78
- locale: (options.locale ? Object.keys(options.locale)[0] : 'zh-CN') || 'zh-CN',
79
- resources: options.locale
80
- },
81
- theme: {
82
- mode: options.theme?.mode || 'light',
83
- primaryColor: options.theme?.primaryColor,
84
- compatibility: {
85
- antd: options.uiProvider || options.antd
86
- }
87
- },
88
- adapters: {
89
- monitoring: {
90
- initialize: async ()=>{
91
- await ensureServicesInitialized();
92
- },
93
- captureError: (error, metadata)=>{
94
- if (services) {
95
- services.monitoring.captureError(error, metadata);
96
- } else {
97
- _logger.logger.error('Kernel 监控上报失败(服务尚未初始化):', error, metadata);
98
- }
99
- },
100
- reportMetric: (name, value, tags)=>{
101
- _logger.logger.debug(`[kernel.metric] ${name}`, {
102
- value,
103
- tags,
104
- instanceId: finalInstanceId
105
- });
106
- }
107
- },
108
- state: {
109
- initialize: async ()=>{
110
- await ensureServicesInitialized();
111
- },
112
- getInstance: ()=>services?.stateManager ?? null
113
- },
114
- eventBus: {
115
- initialize: async ()=>{
116
- await ensureServicesInitialized();
117
- },
118
- emit: (event, payload)=>{
119
- if (services) {
120
- services.eventBus.emit(event, payload);
121
- }
122
- },
123
- on: (event, handler)=>{
124
- if (!services) {
125
- return ()=>{};
126
- }
127
- return services.eventBus.on(event, handler);
128
- }
129
- },
130
- errorHandler: {
131
- async handle (error) {
132
- _logger.logger.error('Kernel 启动阶段失败:', error);
133
- return {
134
- handled: true,
135
- shouldThrow: true
136
- };
137
- }
138
- }
139
- },
140
- enabledPhases: {
141
- init: false
142
- },
143
- enablePostReady: false
144
- });
145
- kernelTraceId = kernelRuntime.traceId;
146
- const servicesInitStart = performance.now();
147
- const resolvedServices = await ensureServicesInitialized();
148
- const servicesInitDuration = performance.now() - servicesInitStart;
149
- // 创建框架事件管理器
150
- frameworkEventManager = new _frameworkEvents.FrameworkEventManager(resolvedServices.eventBus);
151
- // 触发应用启动事件(使用真实的事件总线)
152
- frameworkEventManager.emitAppStart(finalInstanceId);
153
- // 触发实例创建事件
154
- frameworkEventManager.emitInstanceCreated(finalInstanceId);
155
- // 4. 初始化应用实例
156
- appInstance.initialize(container, resolvedServices);
157
- // 5. 初始化路由管理器
158
- const routerManager = (0, _RouterManager.getRouterManager)();
159
- if (options.router) {
160
- await routerManager.initialize(options.router);
161
- }
162
- // 6. 性能追踪
163
- const performanceTracker = appInstance.getPerformanceTracker();
164
- if (performanceTracker) {
165
- performanceTracker.recordServiceInit(servicesInitDuration);
166
- }
167
- // 6. 是否显示启动页
168
- const shouldShowSplash = (0, _splash.shouldShowSplashScreen)(options.showSplashScreen);
169
- const renderer = appInstance.getRenderer();
170
- // 8. 渲染应用函数
171
- const renderApp = async (context)=>{
172
- const renderStart = performance.now();
173
- // 触发渲染开始事件
174
- if (frameworkEventManager) {
175
- frameworkEventManager.emitAppRenderStart(finalInstanceId);
176
- }
177
- await renderer.renderApp(options, resolvedServices, context);
178
- const renderDuration = performance.now() - renderStart;
179
- // 触发渲染完成事件
180
- if (frameworkEventManager) {
181
- frameworkEventManager.emitAppRenderComplete(finalInstanceId, renderDuration);
182
- }
183
- // 优化:在应用渲染完成后,延迟初始化非关键服务
184
- // 使用 requestIdleCallback 在浏览器空闲时初始化,不影响用户体验
185
- if (resolvedServices.initializeNonCriticalServices) {
186
- resolvedServices.initializeNonCriticalServices().catch((error)=>{
187
- _logger.logger.warn('非关键服务初始化失败(不影响应用运行):', error);
188
- });
189
- }
190
- if (performanceTracker) {
191
- performanceTracker.recordFirstRender(renderDuration);
192
- const totalDuration = performance.now() - startTime;
193
- performanceTracker.recordTotalStartup(totalDuration);
194
- performanceTracker.report();
195
- }
196
- // 触发应用启动完成事件
197
- if (frameworkEventManager) {
198
- frameworkEventManager.emitAppStarted(finalInstanceId, performance.now() - startTime);
199
- }
200
- // 统一发出 Kernel post-ready 事件,供可观测系统消费。
201
- kernelRuntime.getEventBus().emit('kernel.postReady', {
202
- traceId: kernelRuntime.traceId,
203
- instanceId: finalInstanceId,
204
- startupDuration: performance.now() - startTime
205
- });
206
- // 开发模式下显示开发工具
207
- if (process.env.NODE_ENV === 'development' && typeof window !== 'undefined') {
208
- // 延迟显示开发工具,避免影响首次渲染
209
- setTimeout(()=>{
210
- const devToolsContainer = document.createElement('div');
211
- devToolsContainer.id = '__framework_dev_tools__';
212
- document.body.appendChild(devToolsContainer);
213
- // 这里需要动态导入React来渲染开发工具
214
- // 为了简化,暂时注释掉,后续可以完善
215
- // import('react-dom/client').then(({ createRoot }) => {
216
- // const root = createRoot(devToolsContainer);
217
- // root.render(<DevToolsTrigger appInstance={appInstance} />);
218
- // });
219
- }, 1000);
220
- }
221
- };
222
- if (shouldShowSplash) {
223
- // 场景1: 显示启动页,初始化在启动页中完成
224
- const onSplashComplete = (context)=>{
225
- _logger.logger.info('启动页初始化完成');
226
- // 触发初始化完成事件
227
- if (frameworkEventManager) {
228
- const initDuration = context.duration || 0;
229
- frameworkEventManager.emitAppInitComplete(finalInstanceId, context, initDuration);
230
- }
231
- if (options.onSplashComplete) {
232
- Promise.resolve(options.onSplashComplete(()=>{
233
- _logger.logger.info('框架加载完成');
234
- renderApp(context);
235
- }, context)).catch((error)=>{
236
- _logger.logger.error('onSplashComplete 回调执行失败:', error);
237
- _index.initializationErrorState.setError(error);
238
- renderApp(context);
239
- });
240
- } else {
241
- _logger.logger.info('框架加载完成');
242
- renderApp(context);
243
- }
244
- };
245
- // 触发初始化开始事件
246
- if (frameworkEventManager) {
247
- frameworkEventManager.emitAppInitStart(finalInstanceId);
248
- }
249
- // 渲染启动页
250
- renderer.renderSplashScreen(options, resolvedServices, onSplashComplete);
251
- } else {
252
- // 场景2: 不显示启动页,直接执行初始化
253
- _logger.logger.info('开始执行初始化(无启动页)');
254
- // 触发初始化开始事件
255
- if (frameworkEventManager) {
256
- frameworkEventManager.emitAppInitStart(finalInstanceId);
257
- }
258
- try {
259
- const initStart = performance.now();
260
- // 使用中间件包装初始化函数
261
- const initContext = await _middleware.middlewareManager.execute(options, async ()=>{
262
- return await (0, _index.initialization)(options, (progress, step)=>{
263
- _logger.logger.debug(`初始化进度: ${progress}%${step ? ` - ${step}` : ''}`);
264
- });
265
- });
266
- const initDuration = performance.now() - initStart;
267
- // 触发初始化完成事件
268
- if (frameworkEventManager) {
269
- frameworkEventManager.emitAppInitComplete(finalInstanceId, initContext, initDuration);
270
- }
271
- if (performanceTracker) {
272
- performanceTracker.recordInitialization(initDuration);
273
- }
274
- _logger.logger.info('初始化完成(无启动页)', initContext);
275
- _logger.logger.info('框架加载完成');
276
- void renderApp(initContext);
277
- } catch (error) {
278
- _logger.logger.error('初始化失败:', error);
279
- // 触发初始化错误事件
280
- if (frameworkEventManager) {
281
- frameworkEventManager.emitAppInitError(finalInstanceId, error instanceof Error ? error : new Error(String(error)));
282
- }
283
- _index.initializationErrorState.setError(error);
284
- void renderApp();
285
- }
286
- }
287
- return instanceManager;
288
- } catch (error) {
289
- _logger.logger.error('框架启动失败:', error);
290
- // 触发错误事件
291
- if (frameworkEventManager) {
292
- const errorInstanceId = instanceId || instanceManager.getInstance()?.id;
293
- if (errorInstanceId) {
294
- frameworkEventManager.emitErrorOccurred(error instanceof Error ? error : new Error(String(error)), {
295
- phase: 'startup'
296
- });
297
- }
298
- }
299
- if (kernelTraceId) {
300
- _logger.logger.error('Kernel Trace 失败上下文', {
301
- traceId: kernelTraceId
302
- });
303
- }
304
- // 如果容器存在,尝试渲染错误页面
305
- const container = options.container || envDetector.safeGetElement('#root');
306
- if (container) {
307
- const errorInstance = instanceManager.getInstance();
308
- if (errorInstance && errorInstance.isInitialized()) {
309
- const renderer = errorInstance.getRenderer();
310
- const services = errorInstance.getServices();
311
- _index.initializationErrorState.setError(error);
312
- renderer.renderError(options, services);
313
- }
314
- }
315
- throw error;
316
- }
317
- }
318
-
319
- //# sourceMappingURL=startApp.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"startApp",{enumerable:true,get:function(){return startApp}});const _logger=require("@vlian/logger");const _utils=require("@vlian/utils");const _traceId=require("../../utils/traceId");const _splash=require("../splash");const _index=require("../initialization/index");const _middleware=require("../middleware");const _initializeServices=require("./initializeServices");const _AppInstance=require("./AppInstance");const _environment=require("./environment");const _RouterManager=require("../router/RouterManager");const _frameworkEvents=require("../event/frameworkEvents");const _kernel=require("../kernel");async function startApp(options={},instanceId){const startTime=performance.now();const envDetector=(0,_environment.getEnvironmentDetector)();const instanceManager=(0,_AppInstance.getAppInstanceManager)();(0,_traceId.initTraceIdGenerator)("app");const traceId=(0,_traceId.generateTraceId)();(0,_traceId.setCurrentTraceId)(traceId);let frameworkEventManager=null;let kernelTraceId=null;try{const container=options.container||envDetector.safeGetElement("#root");if(!container){throw new _utils.InitializationError("未找到挂载容器",undefined,{container:options.container},_utils.ErrorCode.CONTAINER_NOT_FOUND)}_logger.logger.info("框架启动中...");if(options.antd&&!options.uiProvider){_logger.logger.warn("[deprecated] StartOptions.antd 即将废弃,请迁移到 StartOptions.uiProvider")}if(options.antdApp&&!options.uiApp){_logger.logger.warn("[deprecated] StartOptions.antdApp 即将废弃,请迁移到 StartOptions.uiApp")}const appInstance=instanceManager.createInstance(instanceId,options);const finalInstanceId=appInstance.id;let services=null;let servicesInitPromise=null;const ensureServicesInitialized=async()=>{if(services){return services}if(!servicesInitPromise){servicesInitPromise=(0,_initializeServices.initializeServices)({...options,eventBus:{...options.eventBus,instanceId:finalInstanceId}})}services=await servicesInitPromise;return services};const kernelRuntime=await (0,_kernel.startKernel)({loggerLevel:options.loggerLevel,locale:{locale:(options.locale?Object.keys(options.locale)[0]:"zh-CN")||"zh-CN",resources:options.locale},theme:{mode:options.theme?.mode||"light",primaryColor:options.theme?.primaryColor,compatibility:{antd:options.uiProvider||options.antd}},adapters:{monitoring:{initialize:async()=>{await ensureServicesInitialized()},captureError:(error,metadata)=>{if(services){services.monitoring.captureError(error,metadata)}else{_logger.logger.error("Kernel 监控上报失败(服务尚未初始化):",error,metadata)}},reportMetric:(name,value,tags)=>{_logger.logger.debug(`[kernel.metric] ${name}`,{value,tags,instanceId:finalInstanceId})}},state:{initialize:async()=>{await ensureServicesInitialized()},getInstance:()=>services?.stateManager??null},eventBus:{initialize:async()=>{await ensureServicesInitialized()},emit:(event,payload)=>{if(services){services.eventBus.emit(event,payload)}},on:(event,handler)=>{if(!services){return()=>{}}return services.eventBus.on(event,handler)}},errorHandler:{async handle(error){_logger.logger.error("Kernel 启动阶段失败:",error);return{handled:true,shouldThrow:true}}}},enabledPhases:{init:false},enablePostReady:false});kernelTraceId=kernelRuntime.traceId;const servicesInitStart=performance.now();const resolvedServices=await ensureServicesInitialized();const servicesInitDuration=performance.now()-servicesInitStart;frameworkEventManager=new _frameworkEvents.FrameworkEventManager(resolvedServices.eventBus);frameworkEventManager.emitAppStart(finalInstanceId);frameworkEventManager.emitInstanceCreated(finalInstanceId);appInstance.initialize(container,resolvedServices);const routerManager=(0,_RouterManager.getRouterManager)();if(options.router){await routerManager.initialize(options.router)}const performanceTracker=appInstance.getPerformanceTracker();if(performanceTracker){performanceTracker.recordServiceInit(servicesInitDuration)}const shouldShowSplash=(0,_splash.shouldShowSplashScreen)(options.showSplashScreen);const renderer=appInstance.getRenderer();const renderApp=async context=>{const renderStart=performance.now();if(frameworkEventManager){frameworkEventManager.emitAppRenderStart(finalInstanceId)}await renderer.renderApp(options,resolvedServices,context);const renderDuration=performance.now()-renderStart;if(frameworkEventManager){frameworkEventManager.emitAppRenderComplete(finalInstanceId,renderDuration)}if(resolvedServices.initializeNonCriticalServices){resolvedServices.initializeNonCriticalServices().catch(error=>{_logger.logger.warn("非关键服务初始化失败(不影响应用运行):",error)})}if(performanceTracker){performanceTracker.recordFirstRender(renderDuration);const totalDuration=performance.now()-startTime;performanceTracker.recordTotalStartup(totalDuration);performanceTracker.report()}if(frameworkEventManager){frameworkEventManager.emitAppStarted(finalInstanceId,performance.now()-startTime)}kernelRuntime.getEventBus().emit("kernel.postReady",{traceId:kernelRuntime.traceId,instanceId:finalInstanceId,startupDuration:performance.now()-startTime});if(process.env.NODE_ENV==="development"&&typeof window!=="undefined"){setTimeout(()=>{const devToolsContainer=document.createElement("div");devToolsContainer.id="__framework_dev_tools__";document.body.appendChild(devToolsContainer)},1e3)}};if(shouldShowSplash){const onSplashComplete=context=>{_logger.logger.info("启动页初始化完成");if(frameworkEventManager){const initDuration=context.duration||0;frameworkEventManager.emitAppInitComplete(finalInstanceId,context,initDuration)}if(options.onSplashComplete){Promise.resolve(options.onSplashComplete(()=>{_logger.logger.info("框架加载完成");renderApp(context)},context)).catch(error=>{_logger.logger.error("onSplashComplete 回调执行失败:",error);_index.initializationErrorState.setError(error);renderApp(context)})}else{_logger.logger.info("框架加载完成");renderApp(context)}};if(frameworkEventManager){frameworkEventManager.emitAppInitStart(finalInstanceId)}renderer.renderSplashScreen(options,resolvedServices,onSplashComplete)}else{_logger.logger.info("开始执行初始化(无启动页)");if(frameworkEventManager){frameworkEventManager.emitAppInitStart(finalInstanceId)}try{const initStart=performance.now();const initContext=await _middleware.middlewareManager.execute(options,async()=>{return await (0,_index.initialization)(options,(progress,step)=>{_logger.logger.debug(`初始化进度: ${progress}%${step?` - ${step}`:""}`)})});const initDuration=performance.now()-initStart;if(frameworkEventManager){frameworkEventManager.emitAppInitComplete(finalInstanceId,initContext,initDuration)}if(performanceTracker){performanceTracker.recordInitialization(initDuration)}_logger.logger.info("初始化完成(无启动页)",initContext);_logger.logger.info("框架加载完成");void renderApp(initContext)}catch(error){_logger.logger.error("初始化失败:",error);if(frameworkEventManager){frameworkEventManager.emitAppInitError(finalInstanceId,error instanceof Error?error:new Error(String(error)))}_index.initializationErrorState.setError(error);void renderApp()}}return instanceManager}catch(error){_logger.logger.error("框架启动失败:",error);if(frameworkEventManager){const errorInstanceId=instanceId||instanceManager.getInstance()?.id;if(errorInstanceId){frameworkEventManager.emitErrorOccurred(error instanceof Error?error:new Error(String(error)),{phase:"startup"})}}if(kernelTraceId){_logger.logger.error("Kernel Trace 失败上下文",{traceId:kernelTraceId})}const container=options.container||envDetector.safeGetElement("#root");if(container){const errorInstance=instanceManager.getInstance();if(errorInstance&&errorInstance.isInitialized()){const renderer=errorInstance.getRenderer();const services=errorInstance.getServices();_index.initializationErrorState.setError(error);renderer.renderError(options,services)}}throw error}}
@@ -1,315 +1 @@
1
- /**
2
- * 应用启动主函数
3
- * 重构后的启动逻辑,集成所有新功能
4
- */ import { logger } from "@vlian/logger";
5
- import { ErrorCode, InitializationError } from "@vlian/utils";
6
- import { initTraceIdGenerator, generateTraceId, setCurrentTraceId } from "../../utils/traceId";
7
- import { shouldShowSplashScreen } from "../splash";
8
- import { initialization, initializationErrorState } from "../initialization/index";
9
- import { middlewareManager } from "../middleware";
10
- import { initializeServices } from "./initializeServices";
11
- import { getAppInstanceManager } from "./AppInstance";
12
- import { getEnvironmentDetector } from "./environment";
13
- import { getRouterManager } from "../router/RouterManager";
14
- import { FrameworkEventManager } from "../event/frameworkEvents";
15
- import { startKernel } from "../kernel";
16
- /**
17
- * 启动应用
18
- *
19
- * @param options - 启动配置选项
20
- * @param instanceId - 应用实例ID(可选,用于多实例场景)
21
- * @returns 应用实例
22
- */ export async function startApp(options = {}, instanceId) {
23
- const startTime = performance.now();
24
- const envDetector = getEnvironmentDetector();
25
- const instanceManager = getAppInstanceManager();
26
- // 初始化追踪 ID 生成器
27
- initTraceIdGenerator('app');
28
- const traceId = generateTraceId();
29
- setCurrentTraceId(traceId);
30
- // 框架事件管理器(在服务初始化后创建)
31
- let frameworkEventManager = null;
32
- let kernelTraceId = null;
33
- try {
34
- // 1. 环境检测和容器获取
35
- const container = options.container || envDetector.safeGetElement('#root');
36
- if (!container) {
37
- throw new InitializationError('未找到挂载容器', undefined, {
38
- container: options.container
39
- }, ErrorCode.CONTAINER_NOT_FOUND);
40
- }
41
- logger.info('框架启动中...');
42
- if (options.antd && !options.uiProvider) {
43
- logger.warn('[deprecated] StartOptions.antd 即将废弃,请迁移到 StartOptions.uiProvider');
44
- }
45
- if (options.antdApp && !options.uiApp) {
46
- logger.warn('[deprecated] StartOptions.antdApp 即将废弃,请迁移到 StartOptions.uiApp');
47
- }
48
- // 2. 创建应用实例
49
- const appInstance = instanceManager.createInstance(instanceId, options);
50
- const finalInstanceId = appInstance.id;
51
- let services = null;
52
- // 使用单次 Promise 防止重复初始化,提升加载速度并保证可观测数据一致。
53
- let servicesInitPromise = null;
54
- const ensureServicesInitialized = async ()=>{
55
- if (services) {
56
- return services;
57
- }
58
- if (!servicesInitPromise) {
59
- servicesInitPromise = initializeServices({
60
- ...options,
61
- eventBus: {
62
- ...options.eventBus,
63
- instanceId: finalInstanceId
64
- }
65
- });
66
- }
67
- services = await servicesInitPromise;
68
- return services;
69
- };
70
- // 3. 使用无 UI Kernel 管理启动阶段(配置、主题、i18n、服务注入、统一错误处理)
71
- const kernelRuntime = await startKernel({
72
- loggerLevel: options.loggerLevel,
73
- locale: {
74
- locale: (options.locale ? Object.keys(options.locale)[0] : 'zh-CN') || 'zh-CN',
75
- resources: options.locale
76
- },
77
- theme: {
78
- mode: options.theme?.mode || 'light',
79
- primaryColor: options.theme?.primaryColor,
80
- compatibility: {
81
- antd: options.uiProvider || options.antd
82
- }
83
- },
84
- adapters: {
85
- monitoring: {
86
- initialize: async ()=>{
87
- await ensureServicesInitialized();
88
- },
89
- captureError: (error, metadata)=>{
90
- if (services) {
91
- services.monitoring.captureError(error, metadata);
92
- } else {
93
- logger.error('Kernel 监控上报失败(服务尚未初始化):', error, metadata);
94
- }
95
- },
96
- reportMetric: (name, value, tags)=>{
97
- logger.debug(`[kernel.metric] ${name}`, {
98
- value,
99
- tags,
100
- instanceId: finalInstanceId
101
- });
102
- }
103
- },
104
- state: {
105
- initialize: async ()=>{
106
- await ensureServicesInitialized();
107
- },
108
- getInstance: ()=>services?.stateManager ?? null
109
- },
110
- eventBus: {
111
- initialize: async ()=>{
112
- await ensureServicesInitialized();
113
- },
114
- emit: (event, payload)=>{
115
- if (services) {
116
- services.eventBus.emit(event, payload);
117
- }
118
- },
119
- on: (event, handler)=>{
120
- if (!services) {
121
- return ()=>{};
122
- }
123
- return services.eventBus.on(event, handler);
124
- }
125
- },
126
- errorHandler: {
127
- async handle (error) {
128
- logger.error('Kernel 启动阶段失败:', error);
129
- return {
130
- handled: true,
131
- shouldThrow: true
132
- };
133
- }
134
- }
135
- },
136
- enabledPhases: {
137
- init: false
138
- },
139
- enablePostReady: false
140
- });
141
- kernelTraceId = kernelRuntime.traceId;
142
- const servicesInitStart = performance.now();
143
- const resolvedServices = await ensureServicesInitialized();
144
- const servicesInitDuration = performance.now() - servicesInitStart;
145
- // 创建框架事件管理器
146
- frameworkEventManager = new FrameworkEventManager(resolvedServices.eventBus);
147
- // 触发应用启动事件(使用真实的事件总线)
148
- frameworkEventManager.emitAppStart(finalInstanceId);
149
- // 触发实例创建事件
150
- frameworkEventManager.emitInstanceCreated(finalInstanceId);
151
- // 4. 初始化应用实例
152
- appInstance.initialize(container, resolvedServices);
153
- // 5. 初始化路由管理器
154
- const routerManager = getRouterManager();
155
- if (options.router) {
156
- await routerManager.initialize(options.router);
157
- }
158
- // 6. 性能追踪
159
- const performanceTracker = appInstance.getPerformanceTracker();
160
- if (performanceTracker) {
161
- performanceTracker.recordServiceInit(servicesInitDuration);
162
- }
163
- // 6. 是否显示启动页
164
- const shouldShowSplash = shouldShowSplashScreen(options.showSplashScreen);
165
- const renderer = appInstance.getRenderer();
166
- // 8. 渲染应用函数
167
- const renderApp = async (context)=>{
168
- const renderStart = performance.now();
169
- // 触发渲染开始事件
170
- if (frameworkEventManager) {
171
- frameworkEventManager.emitAppRenderStart(finalInstanceId);
172
- }
173
- await renderer.renderApp(options, resolvedServices, context);
174
- const renderDuration = performance.now() - renderStart;
175
- // 触发渲染完成事件
176
- if (frameworkEventManager) {
177
- frameworkEventManager.emitAppRenderComplete(finalInstanceId, renderDuration);
178
- }
179
- // 优化:在应用渲染完成后,延迟初始化非关键服务
180
- // 使用 requestIdleCallback 在浏览器空闲时初始化,不影响用户体验
181
- if (resolvedServices.initializeNonCriticalServices) {
182
- resolvedServices.initializeNonCriticalServices().catch((error)=>{
183
- logger.warn('非关键服务初始化失败(不影响应用运行):', error);
184
- });
185
- }
186
- if (performanceTracker) {
187
- performanceTracker.recordFirstRender(renderDuration);
188
- const totalDuration = performance.now() - startTime;
189
- performanceTracker.recordTotalStartup(totalDuration);
190
- performanceTracker.report();
191
- }
192
- // 触发应用启动完成事件
193
- if (frameworkEventManager) {
194
- frameworkEventManager.emitAppStarted(finalInstanceId, performance.now() - startTime);
195
- }
196
- // 统一发出 Kernel post-ready 事件,供可观测系统消费。
197
- kernelRuntime.getEventBus().emit('kernel.postReady', {
198
- traceId: kernelRuntime.traceId,
199
- instanceId: finalInstanceId,
200
- startupDuration: performance.now() - startTime
201
- });
202
- // 开发模式下显示开发工具
203
- if (process.env.NODE_ENV === 'development' && typeof window !== 'undefined') {
204
- // 延迟显示开发工具,避免影响首次渲染
205
- setTimeout(()=>{
206
- const devToolsContainer = document.createElement('div');
207
- devToolsContainer.id = '__framework_dev_tools__';
208
- document.body.appendChild(devToolsContainer);
209
- // 这里需要动态导入React来渲染开发工具
210
- // 为了简化,暂时注释掉,后续可以完善
211
- // import('react-dom/client').then(({ createRoot }) => {
212
- // const root = createRoot(devToolsContainer);
213
- // root.render(<DevToolsTrigger appInstance={appInstance} />);
214
- // });
215
- }, 1000);
216
- }
217
- };
218
- if (shouldShowSplash) {
219
- // 场景1: 显示启动页,初始化在启动页中完成
220
- const onSplashComplete = (context)=>{
221
- logger.info('启动页初始化完成');
222
- // 触发初始化完成事件
223
- if (frameworkEventManager) {
224
- const initDuration = context.duration || 0;
225
- frameworkEventManager.emitAppInitComplete(finalInstanceId, context, initDuration);
226
- }
227
- if (options.onSplashComplete) {
228
- Promise.resolve(options.onSplashComplete(()=>{
229
- logger.info('框架加载完成');
230
- renderApp(context);
231
- }, context)).catch((error)=>{
232
- logger.error('onSplashComplete 回调执行失败:', error);
233
- initializationErrorState.setError(error);
234
- renderApp(context);
235
- });
236
- } else {
237
- logger.info('框架加载完成');
238
- renderApp(context);
239
- }
240
- };
241
- // 触发初始化开始事件
242
- if (frameworkEventManager) {
243
- frameworkEventManager.emitAppInitStart(finalInstanceId);
244
- }
245
- // 渲染启动页
246
- renderer.renderSplashScreen(options, resolvedServices, onSplashComplete);
247
- } else {
248
- // 场景2: 不显示启动页,直接执行初始化
249
- logger.info('开始执行初始化(无启动页)');
250
- // 触发初始化开始事件
251
- if (frameworkEventManager) {
252
- frameworkEventManager.emitAppInitStart(finalInstanceId);
253
- }
254
- try {
255
- const initStart = performance.now();
256
- // 使用中间件包装初始化函数
257
- const initContext = await middlewareManager.execute(options, async ()=>{
258
- return await initialization(options, (progress, step)=>{
259
- logger.debug(`初始化进度: ${progress}%${step ? ` - ${step}` : ''}`);
260
- });
261
- });
262
- const initDuration = performance.now() - initStart;
263
- // 触发初始化完成事件
264
- if (frameworkEventManager) {
265
- frameworkEventManager.emitAppInitComplete(finalInstanceId, initContext, initDuration);
266
- }
267
- if (performanceTracker) {
268
- performanceTracker.recordInitialization(initDuration);
269
- }
270
- logger.info('初始化完成(无启动页)', initContext);
271
- logger.info('框架加载完成');
272
- void renderApp(initContext);
273
- } catch (error) {
274
- logger.error('初始化失败:', error);
275
- // 触发初始化错误事件
276
- if (frameworkEventManager) {
277
- frameworkEventManager.emitAppInitError(finalInstanceId, error instanceof Error ? error : new Error(String(error)));
278
- }
279
- initializationErrorState.setError(error);
280
- void renderApp();
281
- }
282
- }
283
- return instanceManager;
284
- } catch (error) {
285
- logger.error('框架启动失败:', error);
286
- // 触发错误事件
287
- if (frameworkEventManager) {
288
- const errorInstanceId = instanceId || instanceManager.getInstance()?.id;
289
- if (errorInstanceId) {
290
- frameworkEventManager.emitErrorOccurred(error instanceof Error ? error : new Error(String(error)), {
291
- phase: 'startup'
292
- });
293
- }
294
- }
295
- if (kernelTraceId) {
296
- logger.error('Kernel Trace 失败上下文', {
297
- traceId: kernelTraceId
298
- });
299
- }
300
- // 如果容器存在,尝试渲染错误页面
301
- const container = options.container || envDetector.safeGetElement('#root');
302
- if (container) {
303
- const errorInstance = instanceManager.getInstance();
304
- if (errorInstance && errorInstance.isInitialized()) {
305
- const renderer = errorInstance.getRenderer();
306
- const services = errorInstance.getServices();
307
- initializationErrorState.setError(error);
308
- renderer.renderError(options, services);
309
- }
310
- }
311
- throw error;
312
- }
313
- }
314
-
315
- //# sourceMappingURL=startApp.js.map
1
+ import{logger}from"@vlian/logger";import{ErrorCode,InitializationError}from"@vlian/utils";import{initTraceIdGenerator,generateTraceId,setCurrentTraceId}from"../../utils/traceId";import{shouldShowSplashScreen}from"../splash";import{initialization,initializationErrorState}from"../initialization/index";import{middlewareManager}from"../middleware";import{initializeServices}from"./initializeServices";import{getAppInstanceManager}from"./AppInstance";import{getEnvironmentDetector}from"./environment";import{getRouterManager}from"../router/RouterManager";import{FrameworkEventManager}from"../event/frameworkEvents";import{startKernel}from"../kernel";export async function startApp(options={},instanceId){const startTime=performance.now();const envDetector=getEnvironmentDetector();const instanceManager=getAppInstanceManager();initTraceIdGenerator("app");const traceId=generateTraceId();setCurrentTraceId(traceId);let frameworkEventManager=null;let kernelTraceId=null;try{const container=options.container||envDetector.safeGetElement("#root");if(!container){throw new InitializationError("未找到挂载容器",undefined,{container:options.container},ErrorCode.CONTAINER_NOT_FOUND)}logger.info("框架启动中...");if(options.antd&&!options.uiProvider){logger.warn("[deprecated] StartOptions.antd 即将废弃,请迁移到 StartOptions.uiProvider")}if(options.antdApp&&!options.uiApp){logger.warn("[deprecated] StartOptions.antdApp 即将废弃,请迁移到 StartOptions.uiApp")}const appInstance=instanceManager.createInstance(instanceId,options);const finalInstanceId=appInstance.id;let services=null;let servicesInitPromise=null;const ensureServicesInitialized=async()=>{if(services){return services}if(!servicesInitPromise){servicesInitPromise=initializeServices({...options,eventBus:{...options.eventBus,instanceId:finalInstanceId}})}services=await servicesInitPromise;return services};const kernelRuntime=await startKernel({loggerLevel:options.loggerLevel,locale:{locale:(options.locale?Object.keys(options.locale)[0]:"zh-CN")||"zh-CN",resources:options.locale},theme:{mode:options.theme?.mode||"light",primaryColor:options.theme?.primaryColor,compatibility:{antd:options.uiProvider||options.antd}},adapters:{monitoring:{initialize:async()=>{await ensureServicesInitialized()},captureError:(error,metadata)=>{if(services){services.monitoring.captureError(error,metadata)}else{logger.error("Kernel 监控上报失败(服务尚未初始化):",error,metadata)}},reportMetric:(name,value,tags)=>{logger.debug(`[kernel.metric] ${name}`,{value,tags,instanceId:finalInstanceId})}},state:{initialize:async()=>{await ensureServicesInitialized()},getInstance:()=>services?.stateManager??null},eventBus:{initialize:async()=>{await ensureServicesInitialized()},emit:(event,payload)=>{if(services){services.eventBus.emit(event,payload)}},on:(event,handler)=>{if(!services){return()=>{}}return services.eventBus.on(event,handler)}},errorHandler:{async handle(error){logger.error("Kernel 启动阶段失败:",error);return{handled:true,shouldThrow:true}}}},enabledPhases:{init:false},enablePostReady:false});kernelTraceId=kernelRuntime.traceId;const servicesInitStart=performance.now();const resolvedServices=await ensureServicesInitialized();const servicesInitDuration=performance.now()-servicesInitStart;frameworkEventManager=new FrameworkEventManager(resolvedServices.eventBus);frameworkEventManager.emitAppStart(finalInstanceId);frameworkEventManager.emitInstanceCreated(finalInstanceId);appInstance.initialize(container,resolvedServices);const routerManager=getRouterManager();if(options.router){await routerManager.initialize(options.router)}const performanceTracker=appInstance.getPerformanceTracker();if(performanceTracker){performanceTracker.recordServiceInit(servicesInitDuration)}const shouldShowSplash=shouldShowSplashScreen(options.showSplashScreen);const renderer=appInstance.getRenderer();const renderApp=async context=>{const renderStart=performance.now();if(frameworkEventManager){frameworkEventManager.emitAppRenderStart(finalInstanceId)}await renderer.renderApp(options,resolvedServices,context);const renderDuration=performance.now()-renderStart;if(frameworkEventManager){frameworkEventManager.emitAppRenderComplete(finalInstanceId,renderDuration)}if(resolvedServices.initializeNonCriticalServices){resolvedServices.initializeNonCriticalServices().catch(error=>{logger.warn("非关键服务初始化失败(不影响应用运行):",error)})}if(performanceTracker){performanceTracker.recordFirstRender(renderDuration);const totalDuration=performance.now()-startTime;performanceTracker.recordTotalStartup(totalDuration);performanceTracker.report()}if(frameworkEventManager){frameworkEventManager.emitAppStarted(finalInstanceId,performance.now()-startTime)}kernelRuntime.getEventBus().emit("kernel.postReady",{traceId:kernelRuntime.traceId,instanceId:finalInstanceId,startupDuration:performance.now()-startTime});if(process.env.NODE_ENV==="development"&&typeof window!=="undefined"){setTimeout(()=>{const devToolsContainer=document.createElement("div");devToolsContainer.id="__framework_dev_tools__";document.body.appendChild(devToolsContainer)},1e3)}};if(shouldShowSplash){const onSplashComplete=context=>{logger.info("启动页初始化完成");if(frameworkEventManager){const initDuration=context.duration||0;frameworkEventManager.emitAppInitComplete(finalInstanceId,context,initDuration)}if(options.onSplashComplete){Promise.resolve(options.onSplashComplete(()=>{logger.info("框架加载完成");renderApp(context)},context)).catch(error=>{logger.error("onSplashComplete 回调执行失败:",error);initializationErrorState.setError(error);renderApp(context)})}else{logger.info("框架加载完成");renderApp(context)}};if(frameworkEventManager){frameworkEventManager.emitAppInitStart(finalInstanceId)}renderer.renderSplashScreen(options,resolvedServices,onSplashComplete)}else{logger.info("开始执行初始化(无启动页)");if(frameworkEventManager){frameworkEventManager.emitAppInitStart(finalInstanceId)}try{const initStart=performance.now();const initContext=await middlewareManager.execute(options,async()=>{return await initialization(options,(progress,step)=>{logger.debug(`初始化进度: ${progress}%${step?` - ${step}`:""}`)})});const initDuration=performance.now()-initStart;if(frameworkEventManager){frameworkEventManager.emitAppInitComplete(finalInstanceId,initContext,initDuration)}if(performanceTracker){performanceTracker.recordInitialization(initDuration)}logger.info("初始化完成(无启动页)",initContext);logger.info("框架加载完成");void renderApp(initContext)}catch(error){logger.error("初始化失败:",error);if(frameworkEventManager){frameworkEventManager.emitAppInitError(finalInstanceId,error instanceof Error?error:new Error(String(error)))}initializationErrorState.setError(error);void renderApp()}}return instanceManager}catch(error){logger.error("框架启动失败:",error);if(frameworkEventManager){const errorInstanceId=instanceId||instanceManager.getInstance()?.id;if(errorInstanceId){frameworkEventManager.emitErrorOccurred(error instanceof Error?error:new Error(String(error)),{phase:"startup"})}}if(kernelTraceId){logger.error("Kernel Trace 失败上下文",{traceId:kernelTraceId})}const container=options.container||envDetector.safeGetElement("#root");if(container){const errorInstance=instanceManager.getInstance();if(errorInstance&&errorInstance.isInitialized()){const renderer=errorInstance.getRenderer();const services=errorInstance.getServices();initializationErrorState.setError(error);renderer.renderError(options,services)}}throw error}}
@@ -1,6 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
-
6
- //# sourceMappingURL=types.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});