@vlian/framework 1.2.62 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (691) hide show
  1. package/README.md +21 -141
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.d.ts +1 -9
  4. package/dist/index.js +1 -1
  5. package/dist/index.umd.js +10 -220
  6. package/dist/kernel/constants.cjs +1 -1
  7. package/dist/kernel/constants.d.ts +1 -3
  8. package/dist/kernel/constants.js +1 -1
  9. package/dist/kernel/custom-manager/i18n/constants.cjs +1 -0
  10. package/dist/kernel/custom-manager/i18n/constants.d.ts +4 -0
  11. package/dist/kernel/custom-manager/i18n/constants.js +1 -0
  12. package/dist/kernel/custom-manager/i18n/index.cjs +1 -0
  13. package/dist/kernel/custom-manager/i18n/index.d.ts +7 -0
  14. package/dist/kernel/custom-manager/i18n/index.js +1 -0
  15. package/dist/kernel/custom-manager/i18n/types.d.ts +10 -0
  16. package/dist/kernel/custom-manager/index.cjs +1 -0
  17. package/dist/kernel/custom-manager/index.d.ts +4 -0
  18. package/dist/kernel/custom-manager/index.js +1 -0
  19. package/dist/kernel/custom-manager/theme/constants.cjs +1 -0
  20. package/dist/kernel/custom-manager/theme/constants.d.ts +4 -0
  21. package/dist/kernel/custom-manager/theme/constants.js +1 -0
  22. package/dist/kernel/custom-manager/theme/index.cjs +1 -0
  23. package/dist/kernel/custom-manager/theme/index.d.ts +7 -0
  24. package/dist/kernel/custom-manager/theme/index.js +1 -0
  25. package/dist/kernel/custom-manager/theme/types.d.ts +14 -0
  26. package/dist/kernel/index.cjs +1 -1
  27. package/dist/kernel/index.d.ts +4 -2
  28. package/dist/kernel/index.js +1 -1
  29. package/dist/kernel/kernel.cjs +1 -1
  30. package/dist/kernel/kernel.d.ts +3 -7
  31. package/dist/kernel/kernel.js +1 -1
  32. package/dist/kernel/manager/i18n/I18nManager.cjs +1 -1
  33. package/dist/kernel/manager/i18n/I18nManager.d.ts +2 -1
  34. package/dist/kernel/manager/i18n/I18nManager.js +1 -1
  35. package/dist/kernel/manager/i18n/i18n.persistence.d.ts +2 -1
  36. package/dist/kernel/manager/i18n/i18n.runtime.cjs +1 -0
  37. package/dist/kernel/manager/i18n/i18n.runtime.d.ts +8 -0
  38. package/dist/kernel/manager/i18n/i18n.runtime.js +1 -0
  39. package/dist/kernel/manager/i18n/i18n.schema.d.ts +1 -1
  40. package/dist/kernel/manager/i18nManager.cjs +1 -1
  41. package/dist/kernel/manager/i18nManager.d.ts +1 -1
  42. package/dist/kernel/manager/i18nManager.js +1 -1
  43. package/dist/kernel/manager/index.cjs +1 -1
  44. package/dist/kernel/manager/index.d.ts +0 -2
  45. package/dist/kernel/manager/index.js +1 -1
  46. package/dist/kernel/manager/theme/ThemeManager.cjs +1 -1
  47. package/dist/kernel/manager/theme/ThemeManager.d.ts +8 -1
  48. package/dist/kernel/manager/theme/ThemeManager.js +1 -1
  49. package/dist/kernel/manager/theme/theme.dom.cjs +1 -1
  50. package/dist/kernel/manager/theme/theme.dom.d.ts +10 -3
  51. package/dist/kernel/manager/theme/theme.dom.js +1 -1
  52. package/dist/kernel/manager/theme/theme.persistence.d.ts +2 -1
  53. package/dist/kernel/manager/theme/theme.schema.cjs +1 -1
  54. package/dist/kernel/manager/theme/theme.schema.d.ts +3 -1
  55. package/dist/kernel/manager/theme/theme.schema.js +1 -1
  56. package/dist/kernel/manager/themeManager.cjs +1 -1
  57. package/dist/kernel/manager/themeManager.d.ts +1 -1
  58. package/dist/kernel/manager/themeManager.js +1 -1
  59. package/dist/kernel/types.d.ts +10 -39
  60. package/package.json +19 -127
  61. package/dist/analytics/index.cjs +0 -1
  62. package/dist/analytics/index.d.ts +0 -2
  63. package/dist/analytics/index.js +0 -1
  64. package/dist/analytics.umd.js +0 -19
  65. package/dist/components/LocaleSwitch.cjs +0 -1
  66. package/dist/components/LocaleSwitch.d.ts +0 -21
  67. package/dist/components/LocaleSwitch.js +0 -1
  68. package/dist/components/ThemeSwitch.cjs +0 -1
  69. package/dist/components/ThemeSwitch.d.ts +0 -20
  70. package/dist/components/ThemeSwitch.js +0 -1
  71. package/dist/components/index.cjs +0 -1
  72. package/dist/components/index.d.ts +0 -1
  73. package/dist/components/index.js +0 -1
  74. package/dist/components/persistence.cjs +0 -1
  75. package/dist/components/persistence.d.ts +0 -12
  76. package/dist/components/persistence.js +0 -1
  77. package/dist/core/Test.cjs +0 -1
  78. package/dist/core/Test.d.ts +0 -5
  79. package/dist/core/Test.js +0 -1
  80. package/dist/core/app/AppContext.cjs +0 -1
  81. package/dist/core/app/AppContext.d.ts +0 -113
  82. package/dist/core/app/AppContext.js +0 -1
  83. package/dist/core/app/AppContext.types.cjs +0 -1
  84. package/dist/core/app/AppContext.types.d.ts +0 -146
  85. package/dist/core/app/AppContext.types.js +0 -1
  86. package/dist/core/app/BasicLayout.cjs +0 -1
  87. package/dist/core/app/BasicLayout.d.ts +0 -15
  88. package/dist/core/app/BasicLayout.js +0 -1
  89. package/dist/core/app/DefaultApp.cjs +0 -1
  90. package/dist/core/app/DefaultApp.d.ts +0 -10
  91. package/dist/core/app/DefaultApp.js +0 -1
  92. package/dist/core/app/index.cjs +0 -1
  93. package/dist/core/app/index.d.ts +0 -8
  94. package/dist/core/app/index.js +0 -1
  95. package/dist/core/config/AppConfig.cjs +0 -1
  96. package/dist/core/config/AppConfig.d.ts +0 -88
  97. package/dist/core/config/AppConfig.js +0 -1
  98. package/dist/core/config/ConfigLoader.cjs +0 -1
  99. package/dist/core/config/ConfigLoader.d.ts +0 -118
  100. package/dist/core/config/ConfigLoader.js +0 -1
  101. package/dist/core/config/ConfigValidator.cjs +0 -2
  102. package/dist/core/config/ConfigValidator.d.ts +0 -84
  103. package/dist/core/config/ConfigValidator.js +0 -2
  104. package/dist/core/config/index.cjs +0 -1
  105. package/dist/core/config/index.d.ts +0 -6
  106. package/dist/core/config/index.js +0 -1
  107. package/dist/core/dev/DevTools.cjs +0 -1
  108. package/dist/core/dev/DevTools.d.ts +0 -16
  109. package/dist/core/dev/DevTools.js +0 -1
  110. package/dist/core/error/ErrorBoundary.cjs +0 -1
  111. package/dist/core/error/ErrorBoundary.d.ts +0 -121
  112. package/dist/core/error/ErrorBoundary.js +0 -1
  113. package/dist/core/error/ErrorHandler.cjs +0 -1
  114. package/dist/core/error/ErrorHandler.d.ts +0 -171
  115. package/dist/core/error/ErrorHandler.js +0 -1
  116. package/dist/core/error/index.cjs +0 -1
  117. package/dist/core/error/index.d.ts +0 -7
  118. package/dist/core/error/index.js +0 -1
  119. package/dist/core/event/AppEventBus.cjs +0 -1
  120. package/dist/core/event/AppEventBus.d.ts +0 -178
  121. package/dist/core/event/AppEventBus.js +0 -1
  122. package/dist/core/event/frameworkEvents.cjs +0 -1
  123. package/dist/core/event/frameworkEvents.d.ts +0 -69
  124. package/dist/core/event/frameworkEvents.js +0 -1
  125. package/dist/core/event/hooks.cjs +0 -1
  126. package/dist/core/event/hooks.d.ts +0 -57
  127. package/dist/core/event/hooks.js +0 -1
  128. package/dist/core/event/index.cjs +0 -1
  129. package/dist/core/event/index.d.ts +0 -10
  130. package/dist/core/event/index.js +0 -1
  131. package/dist/core/event/types.cjs +0 -1
  132. package/dist/core/event/types.d.ts +0 -269
  133. package/dist/core/event/types.js +0 -1
  134. package/dist/core/event/useEventBus.cjs +0 -1
  135. package/dist/core/event/useEventBus.d.ts +0 -28
  136. package/dist/core/event/useEventBus.js +0 -1
  137. package/dist/core/index.cjs +0 -1
  138. package/dist/core/index.d.ts +0 -54
  139. package/dist/core/index.js +0 -1
  140. package/dist/core/initialization/InitializationErrorThrower.cjs +0 -1
  141. package/dist/core/initialization/InitializationErrorThrower.d.ts +0 -7
  142. package/dist/core/initialization/InitializationErrorThrower.js +0 -1
  143. package/dist/core/initialization/index.cjs +0 -1
  144. package/dist/core/initialization/index.d.ts +0 -7
  145. package/dist/core/initialization/index.js +0 -1
  146. package/dist/core/initialization/initialization.cjs +0 -1
  147. package/dist/core/initialization/initialization.d.ts +0 -69
  148. package/dist/core/initialization/initialization.js +0 -1
  149. package/dist/core/initialization/initializationErrorState.cjs +0 -1
  150. package/dist/core/initialization/initializationErrorState.d.ts +0 -35
  151. package/dist/core/initialization/initializationErrorState.js +0 -1
  152. package/dist/core/kernel/defaultAdapters.cjs +0 -1
  153. package/dist/core/kernel/defaultAdapters.d.ts +0 -2
  154. package/dist/core/kernel/defaultAdapters.js +0 -1
  155. package/dist/core/kernel/errors.cjs +0 -1
  156. package/dist/core/kernel/errors.d.ts +0 -18
  157. package/dist/core/kernel/errors.js +0 -1
  158. package/dist/core/kernel/index.cjs +0 -1
  159. package/dist/core/kernel/index.d.ts +0 -3
  160. package/dist/core/kernel/index.js +0 -1
  161. package/dist/core/kernel/startKernel.cjs +0 -1
  162. package/dist/core/kernel/startKernel.d.ts +0 -2
  163. package/dist/core/kernel/startKernel.js +0 -1
  164. package/dist/core/kernel/types.cjs +0 -1
  165. package/dist/core/kernel/types.d.ts +0 -114
  166. package/dist/core/kernel/types.js +0 -1
  167. package/dist/core/middleware.cjs +0 -1
  168. package/dist/core/middleware.d.ts +0 -36
  169. package/dist/core/middleware.js +0 -1
  170. package/dist/core/plugin/PluginEventBus.cjs +0 -1
  171. package/dist/core/plugin/PluginEventBus.d.ts +0 -169
  172. package/dist/core/plugin/PluginEventBus.js +0 -1
  173. package/dist/core/plugin/PluginSandbox.cjs +0 -1
  174. package/dist/core/plugin/PluginSandbox.d.ts +0 -101
  175. package/dist/core/plugin/PluginSandbox.js +0 -1
  176. package/dist/core/plugin.cjs +0 -1
  177. package/dist/core/plugin.d.ts +0 -224
  178. package/dist/core/plugin.js +0 -1
  179. package/dist/core/router/RouterManager.cjs +0 -1
  180. package/dist/core/router/RouterManager.d.ts +0 -87
  181. package/dist/core/router/RouterManager.js +0 -1
  182. package/dist/core/router/adapter/AdapterManager.cjs +0 -1
  183. package/dist/core/router/adapter/AdapterManager.d.ts +0 -94
  184. package/dist/core/router/adapter/AdapterManager.js +0 -1
  185. package/dist/core/router/adapter/index.cjs +0 -1
  186. package/dist/core/router/adapter/index.d.ts +0 -6
  187. package/dist/core/router/adapter/index.js +0 -1
  188. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs +0 -1
  189. package/dist/core/router/adapter/react-router/ReactRouterAdapter.d.ts +0 -43
  190. package/dist/core/router/adapter/react-router/ReactRouterAdapter.js +0 -1
  191. package/dist/core/router/adapter/react-router/index.cjs +0 -1
  192. package/dist/core/router/adapter/react-router/index.d.ts +0 -4
  193. package/dist/core/router/adapter/react-router/index.js +0 -1
  194. package/dist/core/router/adapter/types.cjs +0 -1
  195. package/dist/core/router/adapter/types.d.ts +0 -111
  196. package/dist/core/router/adapter/types.js +0 -1
  197. package/dist/core/router/dev/RouterDevTools.cjs +0 -1
  198. package/dist/core/router/dev/RouterDevTools.d.ts +0 -5
  199. package/dist/core/router/dev/RouterDevTools.js +0 -1
  200. package/dist/core/router/dev/index.cjs +0 -1
  201. package/dist/core/router/dev/index.d.ts +0 -4
  202. package/dist/core/router/dev/index.js +0 -1
  203. package/dist/core/router/dynamic/DynamicRouteManager.cjs +0 -1
  204. package/dist/core/router/dynamic/DynamicRouteManager.d.ts +0 -71
  205. package/dist/core/router/dynamic/DynamicRouteManager.js +0 -1
  206. package/dist/core/router/dynamic/index.cjs +0 -1
  207. package/dist/core/router/dynamic/index.d.ts +0 -4
  208. package/dist/core/router/dynamic/index.js +0 -1
  209. package/dist/core/router/errors/RouterError.cjs +0 -1
  210. package/dist/core/router/errors/RouterError.d.ts +0 -48
  211. package/dist/core/router/errors/RouterError.js +0 -1
  212. package/dist/core/router/errors/index.cjs +0 -1
  213. package/dist/core/router/errors/index.d.ts +0 -4
  214. package/dist/core/router/errors/index.js +0 -1
  215. package/dist/core/router/index.cjs +0 -1
  216. package/dist/core/router/index.d.ts +0 -16
  217. package/dist/core/router/index.js +0 -1
  218. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs +0 -1
  219. package/dist/core/router/lifecycle/RouterLifecycleManager.d.ts +0 -56
  220. package/dist/core/router/lifecycle/RouterLifecycleManager.js +0 -1
  221. package/dist/core/router/lifecycle/index.cjs +0 -1
  222. package/dist/core/router/lifecycle/index.d.ts +0 -4
  223. package/dist/core/router/lifecycle/index.js +0 -1
  224. package/dist/core/router/middleware/RouterMiddlewareManager.cjs +0 -1
  225. package/dist/core/router/middleware/RouterMiddlewareManager.d.ts +0 -61
  226. package/dist/core/router/middleware/RouterMiddlewareManager.js +0 -1
  227. package/dist/core/router/middleware/auth.cjs +0 -1
  228. package/dist/core/router/middleware/auth.d.ts +0 -54
  229. package/dist/core/router/middleware/auth.js +0 -1
  230. package/dist/core/router/middleware/index.cjs +0 -1
  231. package/dist/core/router/middleware/index.d.ts +0 -6
  232. package/dist/core/router/middleware/index.js +0 -1
  233. package/dist/core/router/middleware/types.cjs +0 -1
  234. package/dist/core/router/middleware/types.d.ts +0 -82
  235. package/dist/core/router/middleware/types.js +0 -1
  236. package/dist/core/router/monitoring/RouterMonitoring.cjs +0 -1
  237. package/dist/core/router/monitoring/RouterMonitoring.d.ts +0 -134
  238. package/dist/core/router/monitoring/RouterMonitoring.js +0 -1
  239. package/dist/core/router/monitoring/index.cjs +0 -1
  240. package/dist/core/router/monitoring/index.d.ts +0 -4
  241. package/dist/core/router/monitoring/index.js +0 -1
  242. package/dist/core/router/navigation/RouterNavigation.cjs +0 -1
  243. package/dist/core/router/navigation/RouterNavigation.d.ts +0 -43
  244. package/dist/core/router/navigation/RouterNavigation.js +0 -1
  245. package/dist/core/router/navigation/index.cjs +0 -1
  246. package/dist/core/router/navigation/index.d.ts +0 -4
  247. package/dist/core/router/navigation/index.js +0 -1
  248. package/dist/core/router/performance/RouteCache.cjs +0 -1
  249. package/dist/core/router/performance/RouteCache.d.ts +0 -113
  250. package/dist/core/router/performance/RouteCache.js +0 -1
  251. package/dist/core/router/performance/RoutePreloader.cjs +0 -1
  252. package/dist/core/router/performance/RoutePreloader.d.ts +0 -111
  253. package/dist/core/router/performance/RoutePreloader.js +0 -1
  254. package/dist/core/router/performance/index.cjs +0 -1
  255. package/dist/core/router/performance/index.d.ts +0 -5
  256. package/dist/core/router/performance/index.js +0 -1
  257. package/dist/core/router/plugin/RouterPluginManager.cjs +0 -1
  258. package/dist/core/router/plugin/RouterPluginManager.d.ts +0 -74
  259. package/dist/core/router/plugin/RouterPluginManager.js +0 -1
  260. package/dist/core/router/plugin/index.cjs +0 -1
  261. package/dist/core/router/plugin/index.d.ts +0 -5
  262. package/dist/core/router/plugin/index.js +0 -1
  263. package/dist/core/router/plugin/types.cjs +0 -1
  264. package/dist/core/router/plugin/types.d.ts +0 -153
  265. package/dist/core/router/plugin/types.js +0 -1
  266. package/dist/core/router/types.cjs +0 -1
  267. package/dist/core/router/types.d.ts +0 -464
  268. package/dist/core/router/types.js +0 -1
  269. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs +0 -1
  270. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.d.ts +0 -2
  271. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js +0 -1
  272. package/dist/core/router/utils/adapters/react-router/transform.cjs +0 -1
  273. package/dist/core/router/utils/adapters/react-router/transform.d.ts +0 -5
  274. package/dist/core/router/utils/adapters/react-router/transform.js +0 -1
  275. package/dist/core/router/utils/transform.cjs +0 -1
  276. package/dist/core/router/utils/transform.d.ts +0 -348
  277. package/dist/core/router/utils/transform.js +0 -1
  278. package/dist/core/router/validation/RouterConfigValidator.cjs +0 -2
  279. package/dist/core/router/validation/RouterConfigValidator.d.ts +0 -121
  280. package/dist/core/router/validation/RouterConfigValidator.js +0 -2
  281. package/dist/core/router/validation/index.cjs +0 -1
  282. package/dist/core/router/validation/index.d.ts +0 -5
  283. package/dist/core/router/validation/index.js +0 -1
  284. package/dist/core/router/validation/schema.cjs +0 -1
  285. package/dist/core/router/validation/schema.d.ts +0 -180
  286. package/dist/core/router/validation/schema.js +0 -1
  287. package/dist/core/router/version/RouteVersionManager.cjs +0 -1
  288. package/dist/core/router/version/RouteVersionManager.d.ts +0 -124
  289. package/dist/core/router/version/RouteVersionManager.js +0 -1
  290. package/dist/core/router/version/index.cjs +0 -1
  291. package/dist/core/router/version/index.d.ts +0 -4
  292. package/dist/core/router/version/index.js +0 -1
  293. package/dist/core/splash/SplashScreen.cjs +0 -1
  294. package/dist/core/splash/SplashScreen.d.ts +0 -14
  295. package/dist/core/splash/SplashScreen.js +0 -1
  296. package/dist/core/splash/index.cjs +0 -1
  297. package/dist/core/splash/index.d.ts +0 -5
  298. package/dist/core/splash/index.js +0 -1
  299. package/dist/core/splash/splashScreenUtils.cjs +0 -1
  300. package/dist/core/splash/splashScreenUtils.d.ts +0 -7
  301. package/dist/core/splash/splashScreenUtils.js +0 -1
  302. package/dist/core/startup/AppInstance.cjs +0 -1
  303. package/dist/core/startup/AppInstance.d.ts +0 -138
  304. package/dist/core/startup/AppInstance.js +0 -1
  305. package/dist/core/startup/environment.cjs +0 -1
  306. package/dist/core/startup/environment.d.ts +0 -87
  307. package/dist/core/startup/environment.js +0 -1
  308. package/dist/core/startup/index.cjs +0 -1
  309. package/dist/core/startup/index.d.ts +0 -7
  310. package/dist/core/startup/index.js +0 -1
  311. package/dist/core/startup/initializeServices.cjs +0 -1
  312. package/dist/core/startup/initializeServices.d.ts +0 -68
  313. package/dist/core/startup/initializeServices.js +0 -1
  314. package/dist/core/startup/performanceTracker.cjs +0 -1
  315. package/dist/core/startup/performanceTracker.d.ts +0 -104
  316. package/dist/core/startup/performanceTracker.js +0 -1
  317. package/dist/core/startup/renderApp.cjs +0 -1
  318. package/dist/core/startup/renderApp.d.ts +0 -70
  319. package/dist/core/startup/renderApp.js +0 -1
  320. package/dist/core/startup/startApp.cjs +0 -1
  321. package/dist/core/startup/startApp.d.ts +0 -14
  322. package/dist/core/startup/startApp.js +0 -1
  323. package/dist/core/types.cjs +0 -1
  324. package/dist/core/types.d.ts +0 -501
  325. package/dist/core/types.js +0 -1
  326. package/dist/core-bak/Test.cjs +0 -1
  327. package/dist/core-bak/Test.d.ts +0 -5
  328. package/dist/core-bak/Test.js +0 -1
  329. package/dist/core-bak/app/AppContext.cjs +0 -1
  330. package/dist/core-bak/app/AppContext.d.ts +0 -113
  331. package/dist/core-bak/app/AppContext.js +0 -1
  332. package/dist/core-bak/app/AppContext.types.cjs +0 -1
  333. package/dist/core-bak/app/AppContext.types.d.ts +0 -146
  334. package/dist/core-bak/app/AppContext.types.js +0 -1
  335. package/dist/core-bak/app/BasicLayout.cjs +0 -1
  336. package/dist/core-bak/app/BasicLayout.d.ts +0 -15
  337. package/dist/core-bak/app/BasicLayout.js +0 -1
  338. package/dist/core-bak/app/DefaultApp.cjs +0 -1
  339. package/dist/core-bak/app/DefaultApp.d.ts +0 -10
  340. package/dist/core-bak/app/DefaultApp.js +0 -1
  341. package/dist/core-bak/app/index.cjs +0 -1
  342. package/dist/core-bak/app/index.d.ts +0 -8
  343. package/dist/core-bak/app/index.js +0 -1
  344. package/dist/core-bak/config/AppConfig.cjs +0 -1
  345. package/dist/core-bak/config/AppConfig.d.ts +0 -88
  346. package/dist/core-bak/config/AppConfig.js +0 -1
  347. package/dist/core-bak/config/ConfigLoader.cjs +0 -1
  348. package/dist/core-bak/config/ConfigLoader.d.ts +0 -118
  349. package/dist/core-bak/config/ConfigLoader.js +0 -1
  350. package/dist/core-bak/config/ConfigValidator.cjs +0 -2
  351. package/dist/core-bak/config/ConfigValidator.d.ts +0 -84
  352. package/dist/core-bak/config/ConfigValidator.js +0 -2
  353. package/dist/core-bak/config/index.cjs +0 -1
  354. package/dist/core-bak/config/index.d.ts +0 -6
  355. package/dist/core-bak/config/index.js +0 -1
  356. package/dist/core-bak/dev/DevTools.cjs +0 -1
  357. package/dist/core-bak/dev/DevTools.d.ts +0 -16
  358. package/dist/core-bak/dev/DevTools.js +0 -1
  359. package/dist/core-bak/error/ErrorBoundary.cjs +0 -1
  360. package/dist/core-bak/error/ErrorBoundary.d.ts +0 -121
  361. package/dist/core-bak/error/ErrorBoundary.js +0 -1
  362. package/dist/core-bak/error/ErrorHandler.cjs +0 -1
  363. package/dist/core-bak/error/ErrorHandler.d.ts +0 -171
  364. package/dist/core-bak/error/ErrorHandler.js +0 -1
  365. package/dist/core-bak/error/index.cjs +0 -1
  366. package/dist/core-bak/error/index.d.ts +0 -7
  367. package/dist/core-bak/error/index.js +0 -1
  368. package/dist/core-bak/event/AppEventBus.cjs +0 -1
  369. package/dist/core-bak/event/AppEventBus.d.ts +0 -178
  370. package/dist/core-bak/event/AppEventBus.js +0 -1
  371. package/dist/core-bak/event/frameworkEvents.cjs +0 -1
  372. package/dist/core-bak/event/frameworkEvents.d.ts +0 -69
  373. package/dist/core-bak/event/frameworkEvents.js +0 -1
  374. package/dist/core-bak/event/hooks.cjs +0 -1
  375. package/dist/core-bak/event/hooks.d.ts +0 -57
  376. package/dist/core-bak/event/hooks.js +0 -1
  377. package/dist/core-bak/event/index.cjs +0 -1
  378. package/dist/core-bak/event/index.d.ts +0 -10
  379. package/dist/core-bak/event/index.js +0 -1
  380. package/dist/core-bak/event/types.cjs +0 -1
  381. package/dist/core-bak/event/types.d.ts +0 -269
  382. package/dist/core-bak/event/types.js +0 -1
  383. package/dist/core-bak/event/useEventBus.cjs +0 -1
  384. package/dist/core-bak/event/useEventBus.d.ts +0 -28
  385. package/dist/core-bak/event/useEventBus.js +0 -1
  386. package/dist/core-bak/index.cjs +0 -1
  387. package/dist/core-bak/index.d.ts +0 -54
  388. package/dist/core-bak/index.js +0 -1
  389. package/dist/core-bak/initialization/InitializationErrorThrower.cjs +0 -1
  390. package/dist/core-bak/initialization/InitializationErrorThrower.d.ts +0 -7
  391. package/dist/core-bak/initialization/InitializationErrorThrower.js +0 -1
  392. package/dist/core-bak/initialization/index.cjs +0 -1
  393. package/dist/core-bak/initialization/index.d.ts +0 -7
  394. package/dist/core-bak/initialization/index.js +0 -1
  395. package/dist/core-bak/initialization/initialization.cjs +0 -1
  396. package/dist/core-bak/initialization/initialization.d.ts +0 -69
  397. package/dist/core-bak/initialization/initialization.js +0 -1
  398. package/dist/core-bak/initialization/initializationErrorState.cjs +0 -1
  399. package/dist/core-bak/initialization/initializationErrorState.d.ts +0 -35
  400. package/dist/core-bak/initialization/initializationErrorState.js +0 -1
  401. package/dist/core-bak/kernel/defaultAdapters.cjs +0 -1
  402. package/dist/core-bak/kernel/defaultAdapters.d.ts +0 -2
  403. package/dist/core-bak/kernel/defaultAdapters.js +0 -1
  404. package/dist/core-bak/kernel/errors.cjs +0 -1
  405. package/dist/core-bak/kernel/errors.d.ts +0 -18
  406. package/dist/core-bak/kernel/errors.js +0 -1
  407. package/dist/core-bak/kernel/index.cjs +0 -1
  408. package/dist/core-bak/kernel/index.d.ts +0 -3
  409. package/dist/core-bak/kernel/index.js +0 -1
  410. package/dist/core-bak/kernel/startKernel.cjs +0 -1
  411. package/dist/core-bak/kernel/startKernel.d.ts +0 -2
  412. package/dist/core-bak/kernel/startKernel.js +0 -1
  413. package/dist/core-bak/kernel/types.d.ts +0 -114
  414. package/dist/core-bak/middleware.cjs +0 -1
  415. package/dist/core-bak/middleware.d.ts +0 -36
  416. package/dist/core-bak/middleware.js +0 -1
  417. package/dist/core-bak/plugin/PluginEventBus.cjs +0 -1
  418. package/dist/core-bak/plugin/PluginEventBus.d.ts +0 -169
  419. package/dist/core-bak/plugin/PluginEventBus.js +0 -1
  420. package/dist/core-bak/plugin/PluginSandbox.cjs +0 -1
  421. package/dist/core-bak/plugin/PluginSandbox.d.ts +0 -101
  422. package/dist/core-bak/plugin/PluginSandbox.js +0 -1
  423. package/dist/core-bak/plugin.cjs +0 -1
  424. package/dist/core-bak/plugin.d.ts +0 -224
  425. package/dist/core-bak/plugin.js +0 -1
  426. package/dist/core-bak/router/RouterManager.cjs +0 -1
  427. package/dist/core-bak/router/RouterManager.d.ts +0 -87
  428. package/dist/core-bak/router/RouterManager.js +0 -1
  429. package/dist/core-bak/router/adapter/AdapterManager.cjs +0 -1
  430. package/dist/core-bak/router/adapter/AdapterManager.d.ts +0 -94
  431. package/dist/core-bak/router/adapter/AdapterManager.js +0 -1
  432. package/dist/core-bak/router/adapter/index.cjs +0 -1
  433. package/dist/core-bak/router/adapter/index.d.ts +0 -6
  434. package/dist/core-bak/router/adapter/index.js +0 -1
  435. package/dist/core-bak/router/adapter/react-router/ReactRouterAdapter.cjs +0 -1
  436. package/dist/core-bak/router/adapter/react-router/ReactRouterAdapter.d.ts +0 -43
  437. package/dist/core-bak/router/adapter/react-router/ReactRouterAdapter.js +0 -1
  438. package/dist/core-bak/router/adapter/react-router/index.cjs +0 -1
  439. package/dist/core-bak/router/adapter/react-router/index.d.ts +0 -4
  440. package/dist/core-bak/router/adapter/react-router/index.js +0 -1
  441. package/dist/core-bak/router/adapter/types.d.ts +0 -111
  442. package/dist/core-bak/router/dev/RouterDevTools.cjs +0 -1
  443. package/dist/core-bak/router/dev/RouterDevTools.d.ts +0 -5
  444. package/dist/core-bak/router/dev/RouterDevTools.js +0 -1
  445. package/dist/core-bak/router/dev/index.cjs +0 -1
  446. package/dist/core-bak/router/dev/index.d.ts +0 -4
  447. package/dist/core-bak/router/dev/index.js +0 -1
  448. package/dist/core-bak/router/dynamic/DynamicRouteManager.cjs +0 -1
  449. package/dist/core-bak/router/dynamic/DynamicRouteManager.d.ts +0 -71
  450. package/dist/core-bak/router/dynamic/DynamicRouteManager.js +0 -1
  451. package/dist/core-bak/router/dynamic/index.cjs +0 -1
  452. package/dist/core-bak/router/dynamic/index.d.ts +0 -4
  453. package/dist/core-bak/router/dynamic/index.js +0 -1
  454. package/dist/core-bak/router/errors/RouterError.cjs +0 -1
  455. package/dist/core-bak/router/errors/RouterError.d.ts +0 -48
  456. package/dist/core-bak/router/errors/RouterError.js +0 -1
  457. package/dist/core-bak/router/errors/index.cjs +0 -1
  458. package/dist/core-bak/router/errors/index.d.ts +0 -4
  459. package/dist/core-bak/router/errors/index.js +0 -1
  460. package/dist/core-bak/router/index.cjs +0 -1
  461. package/dist/core-bak/router/index.d.ts +0 -16
  462. package/dist/core-bak/router/index.js +0 -1
  463. package/dist/core-bak/router/lifecycle/RouterLifecycleManager.cjs +0 -1
  464. package/dist/core-bak/router/lifecycle/RouterLifecycleManager.d.ts +0 -56
  465. package/dist/core-bak/router/lifecycle/RouterLifecycleManager.js +0 -1
  466. package/dist/core-bak/router/lifecycle/index.cjs +0 -1
  467. package/dist/core-bak/router/lifecycle/index.d.ts +0 -4
  468. package/dist/core-bak/router/lifecycle/index.js +0 -1
  469. package/dist/core-bak/router/middleware/RouterMiddlewareManager.cjs +0 -1
  470. package/dist/core-bak/router/middleware/RouterMiddlewareManager.d.ts +0 -61
  471. package/dist/core-bak/router/middleware/RouterMiddlewareManager.js +0 -1
  472. package/dist/core-bak/router/middleware/auth.cjs +0 -1
  473. package/dist/core-bak/router/middleware/auth.d.ts +0 -54
  474. package/dist/core-bak/router/middleware/auth.js +0 -1
  475. package/dist/core-bak/router/middleware/index.cjs +0 -1
  476. package/dist/core-bak/router/middleware/index.d.ts +0 -6
  477. package/dist/core-bak/router/middleware/index.js +0 -1
  478. package/dist/core-bak/router/middleware/types.cjs +0 -1
  479. package/dist/core-bak/router/middleware/types.d.ts +0 -82
  480. package/dist/core-bak/router/middleware/types.js +0 -1
  481. package/dist/core-bak/router/monitoring/RouterMonitoring.cjs +0 -1
  482. package/dist/core-bak/router/monitoring/RouterMonitoring.d.ts +0 -134
  483. package/dist/core-bak/router/monitoring/RouterMonitoring.js +0 -1
  484. package/dist/core-bak/router/monitoring/index.cjs +0 -1
  485. package/dist/core-bak/router/monitoring/index.d.ts +0 -4
  486. package/dist/core-bak/router/monitoring/index.js +0 -1
  487. package/dist/core-bak/router/navigation/RouterNavigation.cjs +0 -1
  488. package/dist/core-bak/router/navigation/RouterNavigation.d.ts +0 -43
  489. package/dist/core-bak/router/navigation/RouterNavigation.js +0 -1
  490. package/dist/core-bak/router/navigation/index.cjs +0 -1
  491. package/dist/core-bak/router/navigation/index.d.ts +0 -4
  492. package/dist/core-bak/router/navigation/index.js +0 -1
  493. package/dist/core-bak/router/performance/RouteCache.cjs +0 -1
  494. package/dist/core-bak/router/performance/RouteCache.d.ts +0 -113
  495. package/dist/core-bak/router/performance/RouteCache.js +0 -1
  496. package/dist/core-bak/router/performance/RoutePreloader.cjs +0 -1
  497. package/dist/core-bak/router/performance/RoutePreloader.d.ts +0 -111
  498. package/dist/core-bak/router/performance/RoutePreloader.js +0 -1
  499. package/dist/core-bak/router/performance/index.cjs +0 -1
  500. package/dist/core-bak/router/performance/index.d.ts +0 -5
  501. package/dist/core-bak/router/performance/index.js +0 -1
  502. package/dist/core-bak/router/plugin/RouterPluginManager.cjs +0 -1
  503. package/dist/core-bak/router/plugin/RouterPluginManager.d.ts +0 -74
  504. package/dist/core-bak/router/plugin/RouterPluginManager.js +0 -1
  505. package/dist/core-bak/router/plugin/index.cjs +0 -1
  506. package/dist/core-bak/router/plugin/index.d.ts +0 -5
  507. package/dist/core-bak/router/plugin/index.js +0 -1
  508. package/dist/core-bak/router/plugin/types.cjs +0 -1
  509. package/dist/core-bak/router/plugin/types.d.ts +0 -153
  510. package/dist/core-bak/router/plugin/types.js +0 -1
  511. package/dist/core-bak/router/types.cjs +0 -1
  512. package/dist/core-bak/router/types.d.ts +0 -464
  513. package/dist/core-bak/router/types.js +0 -1
  514. package/dist/core-bak/router/utils/adapters/react-router/RouteErrorBoundary.cjs +0 -1
  515. package/dist/core-bak/router/utils/adapters/react-router/RouteErrorBoundary.d.ts +0 -2
  516. package/dist/core-bak/router/utils/adapters/react-router/RouteErrorBoundary.js +0 -1
  517. package/dist/core-bak/router/utils/adapters/react-router/transform.cjs +0 -1
  518. package/dist/core-bak/router/utils/adapters/react-router/transform.d.ts +0 -5
  519. package/dist/core-bak/router/utils/adapters/react-router/transform.js +0 -1
  520. package/dist/core-bak/router/utils/transform.cjs +0 -1
  521. package/dist/core-bak/router/utils/transform.d.ts +0 -348
  522. package/dist/core-bak/router/utils/transform.js +0 -1
  523. package/dist/core-bak/router/validation/RouterConfigValidator.cjs +0 -2
  524. package/dist/core-bak/router/validation/RouterConfigValidator.d.ts +0 -121
  525. package/dist/core-bak/router/validation/RouterConfigValidator.js +0 -2
  526. package/dist/core-bak/router/validation/index.cjs +0 -1
  527. package/dist/core-bak/router/validation/index.d.ts +0 -5
  528. package/dist/core-bak/router/validation/index.js +0 -1
  529. package/dist/core-bak/router/validation/schema.cjs +0 -1
  530. package/dist/core-bak/router/validation/schema.d.ts +0 -180
  531. package/dist/core-bak/router/validation/schema.js +0 -1
  532. package/dist/core-bak/router/version/RouteVersionManager.cjs +0 -1
  533. package/dist/core-bak/router/version/RouteVersionManager.d.ts +0 -124
  534. package/dist/core-bak/router/version/RouteVersionManager.js +0 -1
  535. package/dist/core-bak/router/version/index.cjs +0 -1
  536. package/dist/core-bak/router/version/index.d.ts +0 -4
  537. package/dist/core-bak/router/version/index.js +0 -1
  538. package/dist/core-bak/splash/SplashScreen.cjs +0 -1
  539. package/dist/core-bak/splash/SplashScreen.d.ts +0 -14
  540. package/dist/core-bak/splash/SplashScreen.js +0 -1
  541. package/dist/core-bak/splash/index.cjs +0 -1
  542. package/dist/core-bak/splash/index.d.ts +0 -5
  543. package/dist/core-bak/splash/index.js +0 -1
  544. package/dist/core-bak/splash/splashScreenUtils.cjs +0 -1
  545. package/dist/core-bak/splash/splashScreenUtils.d.ts +0 -7
  546. package/dist/core-bak/splash/splashScreenUtils.js +0 -1
  547. package/dist/core-bak/startup/AppInstance.cjs +0 -1
  548. package/dist/core-bak/startup/AppInstance.d.ts +0 -138
  549. package/dist/core-bak/startup/AppInstance.js +0 -1
  550. package/dist/core-bak/startup/environment.cjs +0 -1
  551. package/dist/core-bak/startup/environment.d.ts +0 -87
  552. package/dist/core-bak/startup/environment.js +0 -1
  553. package/dist/core-bak/startup/index.cjs +0 -1
  554. package/dist/core-bak/startup/index.d.ts +0 -7
  555. package/dist/core-bak/startup/index.js +0 -1
  556. package/dist/core-bak/startup/initializeServices.cjs +0 -1
  557. package/dist/core-bak/startup/initializeServices.d.ts +0 -68
  558. package/dist/core-bak/startup/initializeServices.js +0 -1
  559. package/dist/core-bak/startup/performanceTracker.cjs +0 -1
  560. package/dist/core-bak/startup/performanceTracker.d.ts +0 -104
  561. package/dist/core-bak/startup/performanceTracker.js +0 -1
  562. package/dist/core-bak/startup/renderApp.cjs +0 -1
  563. package/dist/core-bak/startup/renderApp.d.ts +0 -70
  564. package/dist/core-bak/startup/renderApp.js +0 -1
  565. package/dist/core-bak/startup/startApp.cjs +0 -1
  566. package/dist/core-bak/startup/startApp.d.ts +0 -14
  567. package/dist/core-bak/startup/startApp.js +0 -1
  568. package/dist/core-bak/types.cjs +0 -1
  569. package/dist/core-bak/types.d.ts +0 -501
  570. package/dist/core-bak/types.js +0 -1
  571. package/dist/index.umd.cjs +0 -1
  572. package/dist/index.umd.d.ts +0 -7
  573. package/dist/library/index.cjs +0 -1
  574. package/dist/library/index.d.ts +0 -2
  575. package/dist/library/index.js +0 -1
  576. package/dist/library/locale/index.cjs +0 -1
  577. package/dist/library/locale/index.d.ts +0 -6
  578. package/dist/library/locale/index.js +0 -1
  579. package/dist/library/locale/langs/en-us/index.cjs +0 -1
  580. package/dist/library/locale/langs/en-us/index.d.ts +0 -3
  581. package/dist/library/locale/langs/en-us/index.js +0 -1
  582. package/dist/library/locale/langs/zh-cn/index.cjs +0 -1
  583. package/dist/library/locale/langs/zh-cn/index.d.ts +0 -3
  584. package/dist/library/locale/langs/zh-cn/index.js +0 -1
  585. package/dist/library/locale/types.cjs +0 -1
  586. package/dist/library/locale/types.d.ts +0 -38
  587. package/dist/library/locale/types.js +0 -1
  588. package/dist/library/storage/cache.cjs +0 -1
  589. package/dist/library/storage/cache.d.ts +0 -57
  590. package/dist/library/storage/cache.js +0 -1
  591. package/dist/library/storage/encryption.cjs +0 -1
  592. package/dist/library/storage/encryption.d.ts +0 -45
  593. package/dist/library/storage/encryption.js +0 -1
  594. package/dist/library/storage/index.cjs +0 -1
  595. package/dist/library/storage/index.d.ts +0 -62
  596. package/dist/library/storage/index.js +0 -1
  597. package/dist/state/StateManager.cjs +0 -1
  598. package/dist/state/StateManager.d.ts +0 -120
  599. package/dist/state/StateManager.js +0 -1
  600. package/dist/state/adapters/AdapterFactory.cjs +0 -1
  601. package/dist/state/adapters/AdapterFactory.d.ts +0 -51
  602. package/dist/state/adapters/AdapterFactory.js +0 -1
  603. package/dist/state/adapters/DefaultAdapter.cjs +0 -1
  604. package/dist/state/adapters/DefaultAdapter.d.ts +0 -38
  605. package/dist/state/adapters/DefaultAdapter.js +0 -1
  606. package/dist/state/adapters/ReduxAdapter.cjs +0 -1
  607. package/dist/state/adapters/ReduxAdapter.d.ts +0 -129
  608. package/dist/state/adapters/ReduxAdapter.js +0 -1
  609. package/dist/state/adapters/ZustandAdapter.cjs +0 -1
  610. package/dist/state/adapters/ZustandAdapter.d.ts +0 -46
  611. package/dist/state/adapters/ZustandAdapter.js +0 -1
  612. package/dist/state/adapters/index.cjs +0 -1
  613. package/dist/state/adapters/index.d.ts +0 -8
  614. package/dist/state/adapters/index.js +0 -1
  615. package/dist/state/adapters/types.cjs +0 -1
  616. package/dist/state/adapters/types.d.ts +0 -4
  617. package/dist/state/adapters/types.js +0 -1
  618. package/dist/state/core/DerivedStateInstance.cjs +0 -1
  619. package/dist/state/core/DerivedStateInstance.d.ts +0 -100
  620. package/dist/state/core/DerivedStateInstance.js +0 -1
  621. package/dist/state/core/StateInstance.cjs +0 -1
  622. package/dist/state/core/StateInstance.d.ts +0 -85
  623. package/dist/state/core/StateInstance.js +0 -1
  624. package/dist/state/core/StateRegistry.cjs +0 -1
  625. package/dist/state/core/StateRegistry.d.ts +0 -55
  626. package/dist/state/core/StateRegistry.js +0 -1
  627. package/dist/state/core/StateScope.cjs +0 -1
  628. package/dist/state/core/StateScope.d.ts +0 -71
  629. package/dist/state/core/StateScope.js +0 -1
  630. package/dist/state/core/index.cjs +0 -1
  631. package/dist/state/core/index.d.ts +0 -7
  632. package/dist/state/core/index.js +0 -1
  633. package/dist/state/index.cjs +0 -1
  634. package/dist/state/index.d.ts +0 -8
  635. package/dist/state/index.js +0 -1
  636. package/dist/state/types.cjs +0 -1
  637. package/dist/state/types.d.ts +0 -230
  638. package/dist/state/types.js +0 -1
  639. package/dist/state.umd.js +0 -41
  640. package/dist/types.cjs +0 -1
  641. package/dist/types.d.ts +0 -7
  642. package/dist/types.js +0 -1
  643. package/dist/utils/analytics.cjs +0 -1
  644. package/dist/utils/analytics.d.ts +0 -127
  645. package/dist/utils/analytics.js +0 -1
  646. package/dist/utils/configSecurity.cjs +0 -3
  647. package/dist/utils/configSecurity.d.ts +0 -100
  648. package/dist/utils/configSecurity.js +0 -3
  649. package/dist/utils/csrf.cjs +0 -1
  650. package/dist/utils/csrf.d.ts +0 -1
  651. package/dist/utils/csrf.js +0 -1
  652. package/dist/utils/errors/ErrorCodes.cjs +0 -1
  653. package/dist/utils/errors/ErrorCodes.d.ts +0 -1
  654. package/dist/utils/errors/ErrorCodes.js +0 -1
  655. package/dist/utils/errors.cjs +0 -1
  656. package/dist/utils/errors.d.ts +0 -30
  657. package/dist/utils/errors.js +0 -1
  658. package/dist/utils/index.cjs +0 -1
  659. package/dist/utils/index.d.ts +0 -39
  660. package/dist/utils/index.js +0 -1
  661. package/dist/utils/logger.cjs +0 -1
  662. package/dist/utils/logger.d.ts +0 -2
  663. package/dist/utils/logger.js +0 -1
  664. package/dist/utils/logger.types.cjs +0 -1
  665. package/dist/utils/logger.types.d.ts +0 -2
  666. package/dist/utils/logger.types.js +0 -1
  667. package/dist/utils/monitoring.cjs +0 -1
  668. package/dist/utils/monitoring.d.ts +0 -1
  669. package/dist/utils/monitoring.js +0 -1
  670. package/dist/utils/performance.cjs +0 -1
  671. package/dist/utils/performance.d.ts +0 -2
  672. package/dist/utils/performance.js +0 -1
  673. package/dist/utils/resourceLoader.cjs +0 -1
  674. package/dist/utils/resourceLoader.d.ts +0 -2
  675. package/dist/utils/resourceLoader.js +0 -1
  676. package/dist/utils/runtimeSecurity.cjs +0 -1
  677. package/dist/utils/runtimeSecurity.d.ts +0 -2
  678. package/dist/utils/runtimeSecurity.js +0 -1
  679. package/dist/utils/security.cjs +0 -1
  680. package/dist/utils/security.d.ts +0 -2
  681. package/dist/utils/security.js +0 -1
  682. package/dist/utils/traceId.cjs +0 -1
  683. package/dist/utils/traceId.d.ts +0 -1
  684. package/dist/utils/traceId.js +0 -1
  685. package/dist/utils/validation.cjs +0 -1
  686. package/dist/utils/validation.d.ts +0 -2
  687. package/dist/utils/validation.js +0 -1
  688. /package/dist/{core-bak/kernel → kernel/custom-manager/i18n}/types.cjs +0 -0
  689. /package/dist/{core-bak/kernel → kernel/custom-manager/i18n}/types.js +0 -0
  690. /package/dist/{core-bak/router/adapter → kernel/custom-manager/theme}/types.cjs +0 -0
  691. /package/dist/{core-bak/router/adapter → kernel/custom-manager/theme}/types.js +0 -0
@@ -1,348 +0,0 @@
1
- import type { RouterConfig, RouteConfig } from '../types';
2
- /**
3
- * 路径验证配置
4
- */
5
- export interface PathValidationConfig {
6
- /**
7
- * 是否启用路径验证(默认 true)
8
- */
9
- enablePathValidation?: boolean;
10
- /**
11
- * 允许的路径前缀列表
12
- * 例如:['@/pages', '@/components', './pages']
13
- */
14
- allowedPathPrefixes?: string[];
15
- /**
16
- * 最大路径长度(默认 500)
17
- */
18
- maxPathLength?: number;
19
- /**
20
- * 是否允许绝对路径(默认 false)
21
- */
22
- allowAbsolutePaths?: boolean;
23
- }
24
- /**
25
- * 转换性能配置
26
- */
27
- export interface TransformPerformanceConfig {
28
- /**
29
- * 是否启用缓存(默认 true)
30
- */
31
- enableCache?: boolean;
32
- /**
33
- * 缓存过期时间(毫秒,默认 5 分钟)
34
- */
35
- cacheTTL?: number;
36
- /**
37
- * 最大缓存数量(默认 50,LRU 缓存)
38
- */
39
- maxCacheSize?: number;
40
- /**
41
- * 最大递归深度(默认 100)
42
- */
43
- maxRecursionDepth?: number;
44
- /**
45
- * 是否启用并行处理(默认 true)
46
- */
47
- enableParallelProcessing?: boolean;
48
- /**
49
- * 并行处理批次大小(默认 10)
50
- */
51
- parallelBatchSize?: number;
52
- }
53
- /**
54
- * 转换配置选项
55
- */
56
- export interface TransformOptions {
57
- /**
58
- * 路径验证配置
59
- */
60
- pathValidation?: PathValidationConfig;
61
- /**
62
- * 性能配置
63
- */
64
- performance?: TransformPerformanceConfig;
65
- /**
66
- * 是否启用调试日志(默认 false)
67
- */
68
- enableDebugLog?: boolean;
69
- }
70
- /**
71
- * 转换后的路由项
72
- *
73
- * 与 RouteConfig 的区别:
74
- * - `page`、`layout`、`errors`、`loading` 字段的值是对应 Map 中的动态导入函数,而不是路径字符串
75
- * - 这些字段可以直接用于动态加载组件,无需再次查找 Map
76
- * - 所有组件路径字符串都已转换为对应的动态导入函数
77
- *
78
- * @example
79
- * ```typescript
80
- * const transformedRoute: TransformedRoute = {
81
- * name: 'home',
82
- * path: '/',
83
- * page: () => import('@/pages/home.tsx'), // 动态导入函数
84
- * handle: { title: '首页', order: 1 },
85
- * };
86
- *
87
- * // 使用动态导入函数加载组件
88
- * if (transformedRoute.page) {
89
- * const pageModule = await transformedRoute.page();
90
- * const PageComponent = pageModule?.default;
91
- * }
92
- * ```
93
- */
94
- export interface TransformedRoute {
95
- /**
96
- * 页面组件的动态导入函数
97
- *
98
- * 如果路由配置中指定了 `page` 路径,则此字段为对应的动态导入函数
99
- * 如果未指定或为 null,则此字段为 null
100
- *
101
- * 调用此函数会返回一个 Promise,resolve 后的值为组件模块对象
102
- * 组件必须使用默认导出(export default)
103
- */
104
- page?: (() => Promise<any>) | null;
105
- /**
106
- * 布局组件的动态导入函数
107
- *
108
- * 如果路由配置中指定了 `layout` 路径,则此字段为对应的动态导入函数
109
- * 如果未指定或为 null,则此字段为 null
110
- *
111
- * 调用此函数会返回一个 Promise,resolve 后的值为组件模块对象
112
- * 组件必须使用默认导出(export default)
113
- */
114
- layout?: (() => Promise<any>) | null;
115
- /**
116
- * 错误组件的动态导入函数
117
- *
118
- * 如果路由配置中指定了 `errors` 路径,则此字段为对应的动态导入函数
119
- * 如果未指定或为 null,则此字段为 null
120
- *
121
- * 调用此函数会返回一个 Promise,resolve 后的值为组件模块对象
122
- * 组件必须使用默认导出(export default)
123
- */
124
- errors?: (() => Promise<any>) | null;
125
- /**
126
- * 加载组件的动态导入函数
127
- *
128
- * 如果路由配置中指定了 `loading` 路径,则此字段为对应的动态导入函数
129
- * 如果未指定或为 null,则此字段为 null
130
- *
131
- * 调用此函数会返回一个 Promise,resolve 后的值为组件模块对象
132
- * 组件必须使用默认导出(export default)
133
- */
134
- loading?: (() => Promise<any>) | null;
135
- /**
136
- * 路由名称(唯一标识)
137
- *
138
- * 用于标识路由的唯一名称,通常用于路由导航和权限控制
139
- */
140
- name: string;
141
- /**
142
- * 路由路径
143
- *
144
- * URL 路径,例如:'/'、'/about'、'/user/:id'
145
- * 如果路由是路由组(isGroup: true),则可能为 undefined
146
- */
147
- path: string | undefined;
148
- /**
149
- * 是否为路由组
150
- *
151
- * 路由组用于组织子路由,本身不匹配任何路径
152
- * 路由组的 path 通常为 undefined
153
- */
154
- isGroup?: boolean;
155
- /**
156
- * 是否启用重定向
157
- *
158
- * 如果为 true,表示此路由用于重定向到其他路由
159
- */
160
- enableRedirection?: boolean;
161
- /**
162
- * 路由元数据
163
- *
164
- * 包含路由的标题、图标、排序、权限等信息
165
- * 用于菜单生成、权限控制、SEO 等场景
166
- */
167
- handle: {
168
- /**
169
- * 路由标题
170
- */
171
- title: string;
172
- /**
173
- * 国际化键名
174
- * 如果提供,会使用 i18n 系统进行翻译
175
- */
176
- i18nKey?: string;
177
- /**
178
- * 排序值
179
- * 用于菜单排序,数值越小越靠前
180
- */
181
- order: number;
182
- /**
183
- * 图标名称或路径
184
- */
185
- icon?: string;
186
- /**
187
- * 是否在菜单中隐藏
188
- */
189
- hideInMenu?: boolean;
190
- /**
191
- * 是否隐藏页脚
192
- */
193
- hideFooter?: boolean;
194
- /**
195
- * 是否启用 KeepAlive 缓存
196
- */
197
- keepAlive?: boolean;
198
- /**
199
- * 是否需要登录
200
- */
201
- needLogin?: boolean;
202
- /**
203
- * 允许访问的角色列表
204
- */
205
- roles?: Array<string>;
206
- /**
207
- * 路由名称(与 name 字段相同,用于兼容)
208
- */
209
- name?: string;
210
- /**
211
- * 其他自定义元数据
212
- */
213
- [key: string]: unknown;
214
- };
215
- /**
216
- * 子路由配置
217
- *
218
- * 如果路由有子路由,则此字段包含转换后的子路由列表
219
- * 子路由会继承父路由的某些配置(如 layout)
220
- */
221
- children?: TransformedRoute[];
222
- }
223
- /**
224
- * 路由转换结果
225
- *
226
- * 包含所有提取的组件路径 Map 和原始路由配置列表
227
- *
228
- * @example
229
- * ```typescript
230
- * const result: TransformRoutesResult = {
231
- * pages: new Map([
232
- * ['@/pages/home.tsx', () => import('@/pages/home.tsx')],
233
- * ['@/pages/about.tsx', () => import('@/pages/about.tsx')],
234
- * ]),
235
- * layouts: new Map([
236
- * ['@/layouts/MainLayout.tsx', () => import('@/layouts/MainLayout.tsx')],
237
- * ]),
238
- * errors: new Map(),
239
- * loadings: new Map(),
240
- * routes: [], // 原始路由配置列表
241
- * };
242
- * ```
243
- */
244
- export interface TransformRoutesResult {
245
- /**
246
- * 页面组件路径 Map
247
- *
248
- * key: 组件路径字符串(如 '@/pages/home.tsx')
249
- * value: 动态导入函数,调用后返回 Promise,resolve 后的值为组件模块对象
250
- *
251
- * 用于存储所有路由配置中出现的页面组件路径
252
- * 相同的路径只会存储一次,避免重复创建动态导入函数
253
- */
254
- pages: Map<string, () => Promise<any>>;
255
- /**
256
- * 布局组件路径 Map
257
- *
258
- * key: 组件路径字符串(如 '@/layouts/MainLayout.tsx')
259
- * value: 动态导入函数,调用后返回 Promise,resolve 后的值为组件模块对象
260
- *
261
- * 用于存储所有路由配置中出现的布局组件路径
262
- * 相同的路径只会存储一次,避免重复创建动态导入函数
263
- */
264
- layouts: Map<string, () => Promise<any>>;
265
- /**
266
- * 错误组件路径 Map
267
- *
268
- * key: 组件路径字符串(如 '@/components/ErrorBoundary.tsx')
269
- * value: 动态导入函数,调用后返回 Promise,resolve 后的值为组件模块对象
270
- *
271
- * 用于存储所有路由配置中出现的错误组件路径
272
- * 相同的路径只会存储一次,避免重复创建动态导入函数
273
- */
274
- errors: Map<string, () => Promise<any>>;
275
- /**
276
- * 加载组件路径 Map
277
- *
278
- * key: 组件路径字符串(如 '@/components/Loading.tsx')
279
- * value: 动态导入函数,调用后返回 Promise,resolve 后的值为组件模块对象
280
- *
281
- * 用于存储所有路由配置中出现的加载组件路径
282
- * 相同的路径只会存储一次,避免重复创建动态导入函数
283
- */
284
- loadings: Map<string, () => Promise<any>>;
285
- routes: RouteConfig[];
286
- }
287
- /**
288
- * 转换路由配置:提取组件路径到 Map 中,返回原始路由配置
289
- *
290
- * 此函数是路由转换的核心函数,主要完成以下任务:
291
- * 1. 递归提取路由配置中的所有组件路径(page、layout、errors、loading)
292
- * 2. 将组件路径字符串转换为动态导入函数
293
- * 3. 将动态导入函数存储在对应的 Map 中,key 为路径字符串,确保不重复
294
- * 4. 返回原始路由配置列表,不进行转换
295
- *
296
- * @param routes - 路由配置列表,可以是:
297
- * - 路由配置数组(RouteConfig[])
298
- * - 返回路由配置数组的函数(支持同步或异步:() => RouteConfig[] | Promise<RouteConfig[]>)
299
- * 支持异步函数是为了支持动态加载路由配置(如从服务器获取)
300
- * @param options - 转换配置选项
301
- * @returns 包含以下内容的结果对象:
302
- * - `pages`: 页面组件路径到动态导入函数的 Map
303
- * - `layouts`: 布局组件路径到动态导入函数的 Map
304
- * - `errors`: 错误组件路径到动态导入函数的 Map
305
- * - `loadings`: 加载组件路径到动态导入函数的 Map
306
- * - `routes`: 原始路由配置列表,不进行转换
307
- *
308
- * @remarks
309
- * - 如果 `routes` 为 null、undefined 或空数组,返回空结果对象
310
- * - 如果 `routes` 是函数但返回的不是数组,返回空结果对象
311
- * - 相同的组件路径只会创建一个动态导入函数,存储在 Map 中复用
312
- * - 路由配置保持原始格式,组件路径仍为字符串
313
- * - 支持嵌套路由,会递归处理所有层级的子路由
314
- * - 支持缓存,相同配置会直接返回缓存结果
315
- *
316
- * @example
317
- * ```typescript
318
- * // 示例 1: 使用数组配置
319
- * const result = await transformRoutes([
320
- * {
321
- * name: 'home',
322
- * path: '/',
323
- * page: '@/pages/home.tsx',
324
- * errors: '@/pages/error.tsx',
325
- * handle: { title: '首页', order: 1 },
326
- * },
327
- * ]);
328
- *
329
- * // 示例 2: 使用异步函数配置
330
- * const result = await transformRoutes(async () => {
331
- * const response = await fetch('/api/routes');
332
- * return response.json();
333
- * });
334
- *
335
- * // 示例 3: 使用配置选项
336
- * const result = await transformRoutes(routes, {
337
- * pathValidation: {
338
- * enablePathValidation: true,
339
- * allowedPathPrefixes: ['@/pages', '@/components'],
340
- * },
341
- * performance: {
342
- * enableCache: true,
343
- * cacheTTL: 10 * 60 * 1000, // 10 分钟
344
- * },
345
- * });
346
- * ```
347
- */
348
- export declare function transformRoutes(routes: RouterConfig['routes'], options?: TransformOptions): Promise<TransformRoutesResult>;
@@ -1 +0,0 @@
1
- function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}import{logger}from"@vlian/logger";import{SecurityUtils,SecurityError,ValidationError}from"@vlian/utils";let LRUCache=class LRUCache{get(key){const item=this.cache.get(key);if(item){item.accessTime=Date.now();this.cache.delete(key);this.cache.set(key,item)}return item}set(key,value){if(this.cache.has(key)){this.cache.delete(key)}else if(this.cache.size>=this.maxSize){const firstKey=this.cache.keys().next().value;if(firstKey){this.cache.delete(firstKey)}}value.accessTime=Date.now();this.cache.set(key,value)}delete(key){return this.cache.delete(key)}clear(){this.cache.clear()}size(){return this.cache.size}cleanupExpired(cacheTTL){const now=Date.now();for(const[key,item]of this.cache.entries()){if(now-item.timestamp>cacheTTL){this.cache.delete(key)}}}constructor(maxSize=50){_define_property(this,"cache",new Map);_define_property(this,"maxSize",void 0);this.maxSize=maxSize}};let transformCache=null;const DEFAULT_OPTIONS={pathValidation:{enablePathValidation:true,allowedPathPrefixes:["@/","./","../"],maxPathLength:500,allowAbsolutePaths:false},performance:{enableCache:true,cacheTTL:5*60*1e3,maxCacheSize:50,maxRecursionDepth:100,enableParallelProcessing:true,parallelBatchSize:10},enableDebugLog:false};function optimizedHash(str){if(str.length<100){let hash=0;for(let i=0;i<str.length;i++){const char=str.charCodeAt(i);hash=(hash<<5)-hash+char;hash=hash&hash}return Math.abs(hash).toString(36)}let hash=0;const step=Math.max(1,Math.floor(str.length/100));for(let i=0;i<str.length;i+=step){const char=str.charCodeAt(i);hash=(hash<<5)-hash+char;hash=hash&hash}return Math.abs(hash).toString(36)}function simpleHash(str){return optimizedHash(str)}function serializeComponentRef(value){if(typeof value==="string"){return{str:value}}if(typeof value==="function"){const fnText=String(value);return{fn:`${value.name||"anonymous"}:${fnText.length}`}}return{}}function serializeRouteConfig(route){const page=serializeComponentRef(route.page);const layout=serializeComponentRef(route.layout);const routeError=serializeComponentRef(route.error??route.errors);const loading=serializeComponentRef(route.loading);return{name:route.name,path:route.path,page:page.str,pageFn:page.fn,layout:layout.str,layoutFn:layout.fn,error:routeError.str,errorFn:routeError.fn,loading:loading.str,loadingFn:loading.fn,isGroup:route.isGroup,enableRedirection:route.enableRedirection,handle:route.handle?{title:route.handle.title,order:route.handle.order,needLogin:route.handle.needLogin,roles:Array.isArray(route.handle.roles)?[...route.handle.roles]:undefined}:undefined,children:route.children?.map(child=>serializeRouteConfig(child))}}function generateConfigHash(routes){try{if(routes.length===0){return"empty"}const serializedRoutes=routes.map(route=>serializeRouteConfig(route));const configStr=JSON.stringify(serializedRoutes);return simpleHash(configStr)}catch{return""}}const validatedPathCache=new Set;const PATH_TRAVERSAL_REGEX=/\.\.(\/|\\)|\.\.%2[Ff]|\.\.%5[Cc]|%2[Ee]%2[Ee]%2[Ff]|%2[Ee]%2[Ee]%5[Cc]/i;const ABSOLUTE_PATH_REGEX=/^\/|^[A-Za-z]:\\/;const CONTROL_CHAR_REGEX=/[\x00-\x1f\x7f]/;const NULL_BYTE_REGEX=/%00|\\0|\x00/;const URL_SCHEME_REGEX=/^[A-Za-z][A-Za-z0-9+.-]*:/;function validatePath(path,config){if(validatedPathCache.has(path)){return{valid:true}}if(path.length>config.maxPathLength){return{valid:false,error:process.env.NODE_ENV==="development"?`路径长度超过最大限制 ${config.maxPathLength} 字符`:"路径验证失败"}}if(path.length===0){return{valid:false,error:"路径不能为空"}}if(PATH_TRAVERSAL_REGEX.test(path)){return{valid:false,error:process.env.NODE_ENV==="development"?"路径包含路径遍历字符(../),可能存在安全风险":"路径验证失败"}}if(NULL_BYTE_REGEX.test(path)){return{valid:false,error:process.env.NODE_ENV==="development"?"路径包含空字节,可能存在安全风险":"路径验证失败"}}if(CONTROL_CHAR_REGEX.test(path)){return{valid:false,error:process.env.NODE_ENV==="development"?"路径包含控制字符,可能存在安全风险":"路径验证失败"}}if(URL_SCHEME_REGEX.test(path)){return{valid:false,error:process.env.NODE_ENV==="development"?"不允许使用带协议的路径":"路径验证失败"}}if(!config.allowAbsolutePaths&&ABSOLUTE_PATH_REGEX.test(path)){return{valid:false,error:process.env.NODE_ENV==="development"?"不允许使用绝对路径":"路径验证失败"}}if(!path.startsWith("@/")&&!path.startsWith("./")&&!path.startsWith("../")){return{valid:false,error:process.env.NODE_ENV==="development"?"仅允许使用 @/、./、../ 开头的模块路径":"路径验证失败"}}if(config.allowedPathPrefixes.length>0){const prefixSet=new Set(config.allowedPathPrefixes);const isAllowed=Array.from(prefixSet).some(prefix=>path.startsWith(prefix));if(!isAllowed){return{valid:false,error:process.env.NODE_ENV==="development"?`路径不在允许的前缀列表中: ${config.allowedPathPrefixes.join(", ")}`:"路径验证失败"}}}const validation=SecurityUtils.validateInput(path);if(!validation.safe){return{valid:false,error:process.env.NODE_ENV==="development"?validation.reason||"路径包含潜在的危险内容":"路径验证失败"}}if(validatedPathCache.size<1e3){validatedPathCache.add(path)}return{valid:true}}const NORMALIZE_REGEX={multipleSlashes:/\/+/g,dotSlash:/\/\.\//g,trailingDot:/\/\.$/};function normalizePath(path){return path.replace(NORMALIZE_REGEX.multipleSlashes,"/").replace(NORMALIZE_REGEX.dotSlash,"/").replace(NORMALIZE_REGEX.trailingDot,"").trim()}function isValidPathString(path){return typeof path==="string"&&path.length>0}function isComponentImport(path){return typeof path==="function"}function createDynamicImport(path){return()=>import(path)}function extractAndValidatePath(path,map,config,options){if(isComponentImport(path)){return path}if(!isValidPathString(path)){return null}const normalizedPath=normalizePath(path);const existingImport=map.get(normalizedPath);if(existingImport!==undefined){return existingImport}if(config.enablePathValidation){const validation=validatePath(normalizedPath,config);if(!validation.valid){const errorMessage=process.env.NODE_ENV==="development"?`路径验证失败: ${validation.error}`:"路径验证失败";const error=new SecurityError(errorMessage,undefined,process.env.NODE_ENV==="development"?{path:normalizedPath}:{});if(options.enableDebugLog){logger.error("路径验证失败:",error)}if(process.env.NODE_ENV==="development"){throw error}else{logger.warn("路径验证失败,已跳过");return null}}}const importFn=createDynamicImport(normalizedPath);map.set(normalizedPath,importFn);if(options.enableDebugLog){logger.debug("提取路径:",normalizedPath)}return importFn}let StackNodePool=class StackNodePool{acquire(route,depth){if(this.pool.length>0){const node=this.pool.pop();node.route=route;node.depth=depth;return node}return{route,depth}}release(node){if(this.pool.length<this.maxPoolSize){this.pool.push(node)}}constructor(){_define_property(this,"pool",[]);_define_property(this,"maxPoolSize",100)}};const stackNodePool=new StackNodePool;async function extractPathsOnly(routes,result,config,options,maxDepth){const enableParallel=options.performance?.enableParallelProcessing??true;const batchSize=options.performance?.parallelBatchSize??10;if(enableParallel&&routes.length>batchSize){const pathsToProcess=[];const stack=[];for(let i=routes.length-1;i>=0;i--){stack.push({route:routes[i],depth:0})}while(stack.length>0){const{route,depth}=stack.pop();if(depth>maxDepth){logger.warn(`路径提取达到最大深度 ${maxDepth},跳过路由:`,route.name);continue}if(route.page&&typeof route.page==="string"){pathsToProcess.push({path:route.page,map:result.pages})}if(route.layout&&typeof route.layout==="string"){pathsToProcess.push({path:route.layout,map:result.layouts})}const routeError=route.error??route.errors;if(routeError&&typeof routeError==="string"){pathsToProcess.push({path:routeError,map:result.errors})}if(route.loading&&typeof route.loading==="string"){pathsToProcess.push({path:route.loading,map:result.loadings})}if(route.children&&Array.isArray(route.children)&&route.children.length>0){for(let i=route.children.length-1;i>=0;i--){stack.push({route:route.children[i],depth:depth+1})}}}for(let i=0;i<pathsToProcess.length;i+=batchSize){const batch=pathsToProcess.slice(i,i+batchSize);await Promise.all(batch.map(({path,map})=>Promise.resolve(extractAndValidatePath(path,map,config,options))))}}else{const stack=[];for(let i=routes.length-1;i>=0;i--){stack.push(stackNodePool.acquire(routes[i],0))}while(stack.length>0){const node=stack.pop();const{route,depth}=node;if(depth>maxDepth){logger.warn(`路径提取达到最大深度 ${maxDepth},跳过路由:`,route.name);stackNodePool.release(node);continue}extractAndValidatePath(route.page,result.pages,config,options);extractAndValidatePath(route.layout,result.layouts,config,options);extractAndValidatePath(route.error??route.errors,result.errors,config,options);extractAndValidatePath(route.loading,result.loadings,config,options);if(route.children&&Array.isArray(route.children)&&route.children.length>0){for(let i=route.children.length-1;i>=0;i--){stack.push(stackNodePool.acquire(route.children[i],depth+1))}}stackNodePool.release(node)}}}function cleanupExpiredCache(cacheTTL){if(transformCache){transformCache.cleanupExpired(cacheTTL)}}export async function transformRoutes(routes,options={}){const startTime=performance.now();const mergedOptions={pathValidation:{...DEFAULT_OPTIONS.pathValidation,...options.pathValidation},performance:{...DEFAULT_OPTIONS.performance,...options.performance},enableDebugLog:options.enableDebugLog??DEFAULT_OPTIONS.enableDebugLog};if(!routes){if(mergedOptions.enableDebugLog){logger.debug("路由配置为空,返回空结果")}return{pages:new Map,layouts:new Map,errors:new Map,loadings:new Map,routes:[]}}let routesArray;try{routesArray=typeof routes==="function"?await routes():routes}catch(error){const err=error instanceof Error?error:new Error("路由配置加载失败");logger.error("路由配置加载失败:",err);throw new ValidationError("路由配置加载失败",{originalError:err})}if(!Array.isArray(routesArray)||routesArray.length===0){if(mergedOptions.enableDebugLog){logger.debug("路由配置不是数组或为空,返回空结果")}return{pages:new Map,layouts:new Map,errors:new Map,loadings:new Map,routes:[]}}const cacheTTL=mergedOptions.performance.cacheTTL??DEFAULT_OPTIONS.performance.cacheTTL;const maxCacheSize=mergedOptions.performance.maxCacheSize??DEFAULT_OPTIONS.performance.maxCacheSize;if(mergedOptions.performance.enableCache){if(!transformCache||transformCache.size()!==maxCacheSize){transformCache=new LRUCache(maxCacheSize)}const configHash=generateConfigHash(routesArray);if(configHash){const cached=transformCache.get(configHash);if(cached&&Date.now()-cached.timestamp<cacheTTL){if(mergedOptions.enableDebugLog){logger.debug("使用缓存结果")}return cached.result}}cleanupExpiredCache(cacheTTL)}const result={pages:new Map,layouts:new Map,errors:new Map,loadings:new Map,routes:[]};try{const extractStartTime=performance.now();const pathValidation={enablePathValidation:mergedOptions.pathValidation.enablePathValidation??DEFAULT_OPTIONS.pathValidation.enablePathValidation,allowedPathPrefixes:mergedOptions.pathValidation.allowedPathPrefixes??DEFAULT_OPTIONS.pathValidation.allowedPathPrefixes,maxPathLength:mergedOptions.pathValidation.maxPathLength??DEFAULT_OPTIONS.pathValidation.maxPathLength,allowAbsolutePaths:mergedOptions.pathValidation.allowAbsolutePaths??DEFAULT_OPTIONS.pathValidation.allowAbsolutePaths};const maxRecursionDepth=mergedOptions.performance.maxRecursionDepth??DEFAULT_OPTIONS.performance.maxRecursionDepth;await extractPathsOnly(routesArray,result,pathValidation,mergedOptions,maxRecursionDepth);const extractEndTime=performance.now();const extractDuration=extractEndTime-extractStartTime;result.routes=routesArray;const cacheStartTime=performance.now();if(mergedOptions.performance.enableCache&&transformCache){const configHash=generateConfigHash(routesArray);if(configHash){const cachedResult={pages:new Map(result.pages),layouts:new Map(result.layouts),errors:new Map(result.errors),loadings:new Map(result.loadings),routes:JSON.parse(JSON.stringify(result.routes))};transformCache.set(configHash,{result:cachedResult,timestamp:Date.now(),hash:configHash,accessTime:Date.now()})}}const cacheEndTime=performance.now();const cacheDuration=cacheEndTime-cacheStartTime;const endTime=performance.now();const totalDuration=endTime-startTime;if(mergedOptions.enableDebugLog){logger.debug(`路由转换完成,总耗时: ${totalDuration.toFixed(2)}ms`,{routeCount:result.routes.length,pageCount:result.pages.size,layoutCount:result.layouts.size,errorCount:result.errors.size,loadingCount:result.loadings.size,performance:{extractDuration:`${extractDuration.toFixed(2)}ms`,cacheDuration:`${cacheDuration.toFixed(2)}ms`,totalDuration:`${totalDuration.toFixed(2)}ms`},cache:{hit:transformCache?"miss":"disabled",size:transformCache?.size()??0}})}return result}catch(error){const err=error instanceof Error?error:new Error("路由转换失败");logger.error("路由转换失败:",err);throw new ValidationError("路由转换失败",{originalError:err})}}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"RouterConfigValidator",{enumerable:true,get:function(){return RouterConfigValidator}});const _ConfigValidator=require("../../config/ConfigValidator");const _logger=require("@vlian/logger");const _schema=require("./schema");let RouterConfigValidator=class RouterConfigValidator{static validate(config){const result=(0,_schema.safeValidateRouterConfig)(config);if(!result.success){const errorMessages=result.error.issues.map(issue=>{const path=issue.path.length>0?issue.path.join("."):"root";return`路由配置项 "${path}": ${issue.message}`});const friendlyMessage=`路由配置验证失败:
2
- ${errorMessages.join("\n")}`;_logger.logger.error("路由配置验证失败",{errors:result.error.issues,config});throw new _ConfigValidator.ConfigValidationError(friendlyMessage,result.error)}return result.data}static safeValidate(config){return(0,_schema.safeValidateRouterConfig)(config)}static validateWithSuggestions(config){const result=(0,_schema.safeValidateRouterConfig)(config);if(!result.success){const suggestions=[];result.error.issues.forEach(issue=>{const path=issue.path.join(".");if(issue.code==="invalid_type"){const invalidTypeIssue=issue;suggestions.push(`配置项 "${path}" 类型错误: 期望 ${invalidTypeIssue.expected},实际 ${invalidTypeIssue.received}`)}else if(issue.code==="too_small"){suggestions.push(`配置项 "${path}" 值太小: ${issue.message}`)}else if(issue.code==="too_big"){suggestions.push(`配置项 "${path}" 值太大: ${issue.message}`)}else{suggestions.push(`配置项 "${path}": ${issue.message}`)}});return{success:false,errors:result.error.issues,suggestions}}return{success:true,data:result.data}}};
@@ -1,121 +0,0 @@
1
- /**
2
- * 路由配置验证器
3
- * 使用 Zod 进行配置验证,并提供友好的错误信息
4
- */
5
- import { z } from 'zod';
6
- /**
7
- * 路由配置验证器
8
- */
9
- export declare class RouterConfigValidator {
10
- /**
11
- * 验证路由配置
12
- *
13
- * @param config - 要验证的路由配置
14
- * @returns 验证后的路由配置
15
- * @throws ConfigValidationError 如果配置验证失败
16
- */
17
- static validate(config: unknown): {
18
- enabled?: boolean | "disabled" | undefined;
19
- routes?: any[] | z.core.$InferOuterFunctionType<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut> | undefined;
20
- mode?: "hash" | "browser" | "memory" | undefined;
21
- options?: {
22
- [x: string]: unknown;
23
- basename?: string | undefined;
24
- future?: Record<string, string | number | boolean> | undefined;
25
- hydrationData?: unknown;
26
- window?: unknown;
27
- initialEntries?: string[] | undefined;
28
- initialIndex?: number | undefined;
29
- } | undefined;
30
- pathResolve?: {
31
- basePath?: string | undefined;
32
- pathAliases?: Record<string, string> | undefined;
33
- } | undefined;
34
- transformOptions?: {
35
- [x: string]: unknown;
36
- pathValidation?: {
37
- enablePathValidation?: boolean | undefined;
38
- allowedPathPrefixes?: string[] | undefined;
39
- maxPathLength?: number | undefined;
40
- allowAbsolutePaths?: boolean | undefined;
41
- } | undefined;
42
- performance?: {
43
- enableCache?: boolean | undefined;
44
- cacheTTL?: number | undefined;
45
- maxCacheSize?: number | undefined;
46
- maxRecursionDepth?: number | undefined;
47
- enableParallelProcessing?: boolean | undefined;
48
- parallelBatchSize?: number | undefined;
49
- } | undefined;
50
- enableDebugLog?: boolean | undefined;
51
- } | undefined;
52
- preload?: {
53
- strategy?: "all" | "none" | "visible" | "next-level" | undefined;
54
- delay?: number | undefined;
55
- priorityThreshold?: number | undefined;
56
- timeout?: number | undefined;
57
- } | undefined;
58
- enableHydrateFallback?: boolean | undefined;
59
- };
60
- /**
61
- * 安全验证路由配置(不抛出异常)
62
- *
63
- * @param config - 要验证的路由配置
64
- * @returns 验证结果
65
- */
66
- static safeValidate(config: unknown): z.ZodSafeParseResult<{
67
- enabled?: boolean | "disabled" | undefined;
68
- routes?: any[] | z.core.$InferOuterFunctionType<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut> | undefined;
69
- mode?: "hash" | "browser" | "memory" | undefined;
70
- options?: {
71
- [x: string]: unknown;
72
- basename?: string | undefined;
73
- future?: Record<string, string | number | boolean> | undefined;
74
- hydrationData?: unknown;
75
- window?: unknown;
76
- initialEntries?: string[] | undefined;
77
- initialIndex?: number | undefined;
78
- } | undefined;
79
- pathResolve?: {
80
- basePath?: string | undefined;
81
- pathAliases?: Record<string, string> | undefined;
82
- } | undefined;
83
- transformOptions?: {
84
- [x: string]: unknown;
85
- pathValidation?: {
86
- enablePathValidation?: boolean | undefined;
87
- allowedPathPrefixes?: string[] | undefined;
88
- maxPathLength?: number | undefined;
89
- allowAbsolutePaths?: boolean | undefined;
90
- } | undefined;
91
- performance?: {
92
- enableCache?: boolean | undefined;
93
- cacheTTL?: number | undefined;
94
- maxCacheSize?: number | undefined;
95
- maxRecursionDepth?: number | undefined;
96
- enableParallelProcessing?: boolean | undefined;
97
- parallelBatchSize?: number | undefined;
98
- } | undefined;
99
- enableDebugLog?: boolean | undefined;
100
- } | undefined;
101
- preload?: {
102
- strategy?: "all" | "none" | "visible" | "next-level" | undefined;
103
- delay?: number | undefined;
104
- priorityThreshold?: number | undefined;
105
- timeout?: number | undefined;
106
- } | undefined;
107
- enableHydrateFallback?: boolean | undefined;
108
- }>;
109
- /**
110
- * 验证路由配置并提供修复建议
111
- *
112
- * @param config - 要验证的路由配置
113
- * @returns 验证结果和修复建议
114
- */
115
- static validateWithSuggestions(config: unknown): {
116
- success: boolean;
117
- data?: unknown;
118
- errors?: z.ZodIssue[];
119
- suggestions?: string[];
120
- };
121
- }
@@ -1,2 +0,0 @@
1
- import{ConfigValidationError}from"../../config/ConfigValidator";import{logger}from"@vlian/logger";import{safeValidateRouterConfig}from"./schema";export class RouterConfigValidator{static validate(config){const result=safeValidateRouterConfig(config);if(!result.success){const errorMessages=result.error.issues.map(issue=>{const path=issue.path.length>0?issue.path.join("."):"root";return`路由配置项 "${path}": ${issue.message}`});const friendlyMessage=`路由配置验证失败:
2
- ${errorMessages.join("\n")}`;logger.error("路由配置验证失败",{errors:result.error.issues,config});throw new ConfigValidationError(friendlyMessage,result.error)}return result.data}static safeValidate(config){return safeValidateRouterConfig(config)}static validateWithSuggestions(config){const result=safeValidateRouterConfig(config);if(!result.success){const suggestions=[];result.error.issues.forEach(issue=>{const path=issue.path.join(".");if(issue.code==="invalid_type"){const invalidTypeIssue=issue;suggestions.push(`配置项 "${path}" 类型错误: 期望 ${invalidTypeIssue.expected},实际 ${invalidTypeIssue.received}`)}else if(issue.code==="too_small"){suggestions.push(`配置项 "${path}" 值太小: ${issue.message}`)}else if(issue.code==="too_big"){suggestions.push(`配置项 "${path}" 值太大: ${issue.message}`)}else{suggestions.push(`配置项 "${path}": ${issue.message}`)}});return{success:false,errors:result.error.issues,suggestions}}return{success:true,data:result.data}}}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});_export_star(require("./schema"),exports);_export_star(require("./RouterConfigValidator"),exports);function _export_star(from,to){Object.keys(from).forEach(function(k){if(k!=="default"&&!Object.prototype.hasOwnProperty.call(to,k)){Object.defineProperty(to,k,{enumerable:true,get:function(){return from[k]}})}});return from}
@@ -1,5 +0,0 @@
1
- /**
2
- * 路由配置验证模块入口
3
- */
4
- export * from './schema';
5
- export * from './RouterConfigValidator';
@@ -1 +0,0 @@
1
- export*from"./schema";export*from"./RouterConfigValidator";
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get componentImportSchema(){return componentImportSchema},get routeConfigSchema(){return routeConfigSchema},get routeItemHandleSchema(){return routeItemHandleSchema},get routerConfigSchema(){return routerConfigSchema},get safeValidateRouterConfig(){return safeValidateRouterConfig},get validateRouterConfig(){return validateRouterConfig}});const _zod=require("zod");const routeItemHandleSchema=_zod.z.object({title:_zod.z.string().min(1,"路由标题不能为空"),i18nKey:_zod.z.string().optional(),order:_zod.z.number().int("排序值必须是整数"),icon:_zod.z.string().optional(),hideInMenu:_zod.z.boolean().optional(),hideFooter:_zod.z.boolean().optional(),keepAlive:_zod.z.boolean().optional(),needLogin:_zod.z.boolean().optional(),roles:_zod.z.array(_zod.z.string()).optional(),name:_zod.z.string().optional()}).passthrough();const componentImportSchema=_zod.z.union([_zod.z.string().min(1,"组件路径不能为空"),_zod.z.function(),_zod.z.null()]);const routerOptionsSchema=_zod.z.object({basename:_zod.z.string().optional(),future:_zod.z.record(_zod.z.string(),_zod.z.union([_zod.z.boolean(),_zod.z.string(),_zod.z.number()])).optional(),hydrationData:_zod.z.unknown().optional(),window:_zod.z.unknown().optional(),initialEntries:_zod.z.array(_zod.z.string()).optional(),initialIndex:_zod.z.number().int().nonnegative().optional()}).passthrough();const transformOptionsSchema=_zod.z.object({pathValidation:_zod.z.object({enablePathValidation:_zod.z.boolean().optional(),allowedPathPrefixes:_zod.z.array(_zod.z.string().min(1)).optional(),maxPathLength:_zod.z.number().int().positive().optional(),allowAbsolutePaths:_zod.z.boolean().optional()}).optional(),performance:_zod.z.object({enableCache:_zod.z.boolean().optional(),cacheTTL:_zod.z.number().int().positive().optional(),maxCacheSize:_zod.z.number().int().positive().optional(),maxRecursionDepth:_zod.z.number().int().positive().optional(),enableParallelProcessing:_zod.z.boolean().optional(),parallelBatchSize:_zod.z.number().int().positive().optional()}).optional(),enableDebugLog:_zod.z.boolean().optional()}).passthrough();const routeConfigSchema=_zod.z.lazy(()=>_zod.z.object({layout:componentImportSchema.optional().nullable(),page:componentImportSchema.optional().nullable(),loading:componentImportSchema.optional().nullable(),error:componentImportSchema.optional().nullable(),errors:componentImportSchema.optional().nullable(),name:_zod.z.string().min(1,"路由名称不能为空"),path:_zod.z.string().optional(),isGroup:_zod.z.boolean().optional(),enableRedirection:_zod.z.boolean().optional(),handle:routeItemHandleSchema,children:_zod.z.array(routeConfigSchema).optional()}));const routerConfigSchema=_zod.z.object({enabled:_zod.z.union([_zod.z.boolean(),_zod.z.literal("disabled")]).optional(),routes:_zod.z.union([_zod.z.array(routeConfigSchema),_zod.z.function()]).optional(),mode:_zod.z.enum(["browser","hash","memory"]).optional(),options:routerOptionsSchema.optional(),pathResolve:_zod.z.object({basePath:_zod.z.string().optional(),pathAliases:_zod.z.record(_zod.z.string(),_zod.z.string()).optional()}).optional(),transformOptions:transformOptionsSchema.optional(),preload:_zod.z.object({strategy:_zod.z.enum(["none","next-level","all","visible"]).optional(),delay:_zod.z.number().int().positive().optional(),priorityThreshold:_zod.z.number().int().nonnegative().optional(),timeout:_zod.z.number().int().positive().optional()}).optional(),enableHydrateFallback:_zod.z.boolean().optional()}).superRefine((config,ctx)=>{if(!Array.isArray(config.routes)){return}const routeNameMap=new Map;const walk=(routes,parentPath)=>{routes.forEach((route,index)=>{const currentPath=`${parentPath}[${index}]`;const existingPath=routeNameMap.get(route.name);if(existingPath){ctx.addIssue({code:_zod.z.ZodIssueCode.custom,path:["routes",index,"name"],message:`路由名称重复: "${route.name}",首次定义位置 ${existingPath}`})}else{routeNameMap.set(route.name,currentPath)}if(Array.isArray(route.children)&&route.children.length>0){walk(route.children,`${currentPath}.children`)}})};walk(config.routes,"routes")});function validateRouterConfig(config){return routerConfigSchema.parse(config)}function safeValidateRouterConfig(config){return routerConfigSchema.safeParse(config)}