@vlian/framework 1.2.59 → 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 (154) hide show
  1. package/dist/analytics/index.cjs +1 -22
  2. package/dist/analytics.umd.js +1 -1
  3. package/dist/components/LocaleSwitch.cjs +1 -116
  4. package/dist/components/ThemeSwitch.cjs +1 -115
  5. package/dist/components/index.cjs +1 -20
  6. package/dist/components/persistence.cjs +1 -58
  7. package/dist/core/Test.cjs +1 -64
  8. package/dist/core/app/AppContext.cjs +1 -348
  9. package/dist/core/app/AppContext.types.cjs +1 -4
  10. package/dist/core/app/BasicLayout.cjs +1 -122
  11. package/dist/core/app/DefaultApp.cjs +1 -150
  12. package/dist/core/app/index.cjs +1 -41
  13. package/dist/core/config/AppConfig.cjs +1 -139
  14. package/dist/core/config/ConfigLoader.cjs +1 -323
  15. package/dist/core/config/ConfigValidator.cjs +2 -133
  16. package/dist/core/config/index.cjs +1 -28
  17. package/dist/core/dev/DevTools.cjs +1 -226
  18. package/dist/core/error/ErrorBoundary.cjs +1 -401
  19. package/dist/core/error/ErrorHandler.cjs +1 -275
  20. package/dist/core/error/index.cjs +1 -34
  21. package/dist/core/event/AppEventBus.cjs +1 -444
  22. package/dist/core/event/frameworkEvents.cjs +1 -141
  23. package/dist/core/event/hooks.cjs +1 -69
  24. package/dist/core/event/index.cjs +1 -41
  25. package/dist/core/event/types.cjs +1 -62
  26. package/dist/core/event/useEventBus.cjs +1 -25
  27. package/dist/core/index.cjs +1 -140
  28. package/dist/core/initialization/InitializationErrorThrower.cjs +1 -75
  29. package/dist/core/initialization/index.cjs +1 -26
  30. package/dist/core/initialization/initialization.cjs +1 -64
  31. package/dist/core/initialization/initializationErrorState.cjs +1 -66
  32. package/dist/core/kernel/defaultAdapters.cjs +1 -184
  33. package/dist/core/kernel/errors.cjs +1 -69
  34. package/dist/core/kernel/index.cjs +1 -20
  35. package/dist/core/kernel/startKernel.cjs +1 -200
  36. package/dist/core/kernel/types.cjs +1 -4
  37. package/dist/core/middleware.cjs +1 -73
  38. package/dist/core/plugin/PluginEventBus.cjs +1 -298
  39. package/dist/core/plugin/PluginSandbox.cjs +1 -137
  40. package/dist/core/plugin.cjs +1 -494
  41. package/dist/core/router/RouterManager.cjs +1 -286
  42. package/dist/core/router/adapter/AdapterManager.cjs +1 -235
  43. package/dist/core/router/adapter/index.cjs +1 -22
  44. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs +1 -128
  45. package/dist/core/router/adapter/react-router/index.cjs +1 -20
  46. package/dist/core/router/adapter/types.cjs +1 -6
  47. package/dist/core/router/dev/RouterDevTools.cjs +1 -260
  48. package/dist/core/router/dev/index.cjs +1 -20
  49. package/dist/core/router/dynamic/DynamicRouteManager.cjs +1 -193
  50. package/dist/core/router/dynamic/index.cjs +1 -20
  51. package/dist/core/router/errors/RouterError.cjs +1 -61
  52. package/dist/core/router/errors/index.cjs +1 -20
  53. package/dist/core/router/index.cjs +1 -36
  54. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs +1 -144
  55. package/dist/core/router/lifecycle/index.cjs +1 -20
  56. package/dist/core/router/middleware/RouterMiddlewareManager.cjs +1 -193
  57. package/dist/core/router/middleware/auth.cjs +1 -66
  58. package/dist/core/router/middleware/index.cjs +1 -22
  59. package/dist/core/router/middleware/types.cjs +1 -6
  60. package/dist/core/router/monitoring/RouterMonitoring.cjs +1 -227
  61. package/dist/core/router/monitoring/index.cjs +1 -20
  62. package/dist/core/router/navigation/RouterNavigation.cjs +1 -239
  63. package/dist/core/router/navigation/index.cjs +1 -20
  64. package/dist/core/router/performance/RouteCache.cjs +1 -305
  65. package/dist/core/router/performance/RoutePreloader.cjs +1 -292
  66. package/dist/core/router/performance/index.cjs +1 -21
  67. package/dist/core/router/plugin/RouterPluginManager.cjs +1 -262
  68. package/dist/core/router/plugin/index.cjs +1 -21
  69. package/dist/core/router/plugin/types.cjs +1 -39
  70. package/dist/core/router/types.cjs +1 -4
  71. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs +1 -129
  72. package/dist/core/router/utils/adapters/react-router/transform.cjs +1 -250
  73. package/dist/core/router/utils/transform.cjs +1 -780
  74. package/dist/core/router/validation/RouterConfigValidator.cjs +2 -83
  75. package/dist/core/router/validation/index.cjs +1 -21
  76. package/dist/core/router/validation/schema.cjs +1 -159
  77. package/dist/core/router/version/RouteVersionManager.cjs +1 -205
  78. package/dist/core/router/version/index.cjs +1 -20
  79. package/dist/core/splash/SplashScreen.cjs +1 -341
  80. package/dist/core/splash/index.cjs +1 -22
  81. package/dist/core/splash/splashScreenUtils.cjs +1 -38
  82. package/dist/core/startup/AppInstance.cjs +1 -239
  83. package/dist/core/startup/environment.cjs +1 -169
  84. package/dist/core/startup/index.cjs +1 -23
  85. package/dist/core/startup/initializeServices.cjs +1 -226
  86. package/dist/core/startup/performanceTracker.cjs +1 -179
  87. package/dist/core/startup/renderApp.cjs +1 -314
  88. package/dist/core/startup/startApp.cjs +1 -317
  89. package/dist/core/types.cjs +1 -4
  90. package/dist/index.cjs +1 -52
  91. package/dist/index.umd.cjs +1 -27
  92. package/dist/index.umd.js +1 -1
  93. package/dist/kernel/constants.cjs +1 -65
  94. package/dist/kernel/index.cjs +1 -38
  95. package/dist/kernel/kernel.cjs +1 -295
  96. package/dist/kernel/manager/cacheManager.cjs +1 -46
  97. package/dist/kernel/manager/i18n/I18nManager.cjs +1 -91
  98. package/dist/kernel/manager/i18n/i18n.persistence.cjs +1 -60
  99. package/dist/kernel/manager/i18n/i18n.schema.cjs +1 -86
  100. package/dist/kernel/manager/i18n/index.cjs +1 -11
  101. package/dist/kernel/manager/i18nManager.cjs +1 -11
  102. package/dist/kernel/manager/index.cjs +1 -28
  103. package/dist/kernel/manager/logger/LoggerManager.cjs +1 -107
  104. package/dist/kernel/manager/logger/index.cjs +1 -11
  105. package/dist/kernel/manager/logger/logger.persistence.cjs +1 -62
  106. package/dist/kernel/manager/logger/logger.schema.cjs +1 -74
  107. package/dist/kernel/manager/loggerManager.cjs +1 -11
  108. package/dist/kernel/manager/theme/ThemeManager.cjs +1 -84
  109. package/dist/kernel/manager/theme/index.cjs +1 -11
  110. package/dist/kernel/manager/theme/theme.dom.cjs +1 -61
  111. package/dist/kernel/manager/theme/theme.persistence.cjs +1 -57
  112. package/dist/kernel/manager/theme/theme.schema.cjs +1 -122
  113. package/dist/kernel/manager/themeManager.cjs +1 -11
  114. package/dist/kernel/types.cjs +1 -4
  115. package/dist/library/index.cjs +1 -19
  116. package/dist/library/locale/index.cjs +1 -39
  117. package/dist/library/locale/langs/en-us/index.cjs +1 -32
  118. package/dist/library/locale/langs/zh-cn/index.cjs +1 -32
  119. package/dist/library/locale/types.cjs +1 -4
  120. package/dist/library/storage/cache.cjs +1 -243
  121. package/dist/library/storage/encryption.cjs +1 -147
  122. package/dist/library/storage/index.cjs +1 -124
  123. package/dist/state/StateManager.cjs +1 -166
  124. package/dist/state/adapters/AdapterFactory.cjs +1 -89
  125. package/dist/state/adapters/DefaultAdapter.cjs +1 -75
  126. package/dist/state/adapters/ReduxAdapter.cjs +1 -443
  127. package/dist/state/adapters/ZustandAdapter.cjs +1 -69
  128. package/dist/state/adapters/index.cjs +1 -44
  129. package/dist/state/adapters/types.cjs +1 -20
  130. package/dist/state/core/DerivedStateInstance.cjs +1 -174
  131. package/dist/state/core/StateInstance.cjs +1 -170
  132. package/dist/state/core/StateRegistry.cjs +1 -110
  133. package/dist/state/core/StateScope.cjs +1 -137
  134. package/dist/state/core/index.cjs +1 -30
  135. package/dist/state/index.cjs +1 -30
  136. package/dist/state/types.cjs +1 -12
  137. package/dist/state.umd.js +1 -1
  138. package/dist/types.cjs +1 -4
  139. package/dist/utils/analytics.cjs +1 -217
  140. package/dist/utils/configSecurity.cjs +3 -182
  141. package/dist/utils/csrf.cjs +1 -18
  142. package/dist/utils/errors/ErrorCodes.cjs +1 -25
  143. package/dist/utils/errors.cjs +1 -111
  144. package/dist/utils/index.cjs +1 -135
  145. package/dist/utils/logger.cjs +1 -25
  146. package/dist/utils/logger.types.cjs +1 -11
  147. package/dist/utils/monitoring.cjs +1 -18
  148. package/dist/utils/performance.cjs +1 -22
  149. package/dist/utils/resourceLoader.cjs +1 -22
  150. package/dist/utils/runtimeSecurity.cjs +1 -11
  151. package/dist/utils/security.cjs +1 -19
  152. package/dist/utils/traceId.cjs +1 -37
  153. package/dist/utils/validation.cjs +1 -19
  154. package/package.json +7 -3
@@ -1,184 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "resolveKernelAdapters", {
6
- enumerable: true,
7
- get: function() {
8
- return resolveKernelAdapters;
9
- }
10
- });
11
- const _logger = require("@vlian/logger");
12
- const _monitoring = require("@vlian/monitoring");
13
- const _state = require("../../state");
14
- const _AppEventBus = require("../event/AppEventBus");
15
- const _library = require("../../library");
16
- function _define_property(obj, key, value) {
17
- if (key in obj) {
18
- Object.defineProperty(obj, key, {
19
- value: value,
20
- enumerable: true,
21
- configurable: true,
22
- writable: true
23
- });
24
- } else {
25
- obj[key] = value;
26
- }
27
- return obj;
28
- }
29
- const defaultLoggerAdapter = {
30
- initialize (options) {
31
- if (options.loggerLevel) {
32
- _logger.logger.setLevel(options.loggerLevel);
33
- }
34
- },
35
- setLevel (level) {
36
- _logger.logger.setLevel(level);
37
- },
38
- debug (message, ...args) {
39
- _logger.logger.debug(message, ...args);
40
- },
41
- info (message, ...args) {
42
- _logger.logger.info(message, ...args);
43
- },
44
- warn (message, ...args) {
45
- _logger.logger.warn(message, ...args);
46
- },
47
- error (message, ...args) {
48
- _logger.logger.error(message, ...args);
49
- }
50
- };
51
- const defaultMonitoringAdapter = {
52
- initialize () {
53
- (0, _monitoring.initMonitoring)();
54
- },
55
- captureError (error, metadata) {
56
- try {
57
- const service = (0, _monitoring.initMonitoring)();
58
- service.captureError(error, metadata);
59
- } catch {
60
- _logger.logger.error('监控适配器上报失败', error, metadata);
61
- }
62
- },
63
- reportMetric (name, value, tags) {
64
- _logger.logger.debug(`metric:${name}`, {
65
- value,
66
- tags
67
- });
68
- },
69
- reportPhase (metric) {
70
- _logger.logger.debug('kernel.phase.metric', metric);
71
- }
72
- };
73
- let DefaultStateAdapter = class DefaultStateAdapter {
74
- initialize() {
75
- this.instance = new _state.StateManager({
76
- enableRegistry: true,
77
- defaultScope: 'app'
78
- });
79
- }
80
- getInstance() {
81
- if (!this.instance) {
82
- this.initialize();
83
- }
84
- return this.instance;
85
- }
86
- destroy() {
87
- if (this.instance) {
88
- this.instance.destroy();
89
- this.instance = null;
90
- }
91
- }
92
- constructor(){
93
- _define_property(this, "instance", null);
94
- }
95
- };
96
- let DefaultEventBusAdapter = class DefaultEventBusAdapter {
97
- initialize(options) {
98
- this.bus = new _AppEventBus.AppEventBus({
99
- enableTracking: process.env.NODE_ENV === 'development',
100
- maxHistorySize: 100,
101
- enableValidation: false,
102
- enablePerformanceMonitoring: process.env.NODE_ENV === 'development',
103
- instanceId: options.instanceId
104
- });
105
- }
106
- emit(event, payload) {
107
- if (!this.bus) {
108
- this.initialize({});
109
- }
110
- this.bus.emit(event, payload);
111
- }
112
- on(event, handler) {
113
- if (!this.bus) {
114
- this.initialize({});
115
- }
116
- return this.bus.on(event, handler);
117
- }
118
- destroy() {
119
- if (this.bus) {
120
- this.bus.clear();
121
- this.bus = null;
122
- }
123
- }
124
- constructor(){
125
- _define_property(this, "bus", null);
126
- }
127
- };
128
- const defaultI18nAdapter = {
129
- initialize (snapshot) {
130
- (0, _library.setupI18n)(snapshot.resources || {});
131
- (0, _library.setLang)(snapshot.locale);
132
- },
133
- setLocale (locale) {
134
- (0, _library.setLang)(locale);
135
- }
136
- };
137
- const defaultThemeAdapter = {
138
- initialize (snapshot) {
139
- if (typeof document === 'undefined') {
140
- return;
141
- }
142
- applyThemeToDocument(snapshot);
143
- },
144
- apply (snapshot) {
145
- if (typeof document === 'undefined') {
146
- return;
147
- }
148
- applyThemeToDocument(snapshot);
149
- }
150
- };
151
- function applyThemeToDocument(theme) {
152
- const root = document.documentElement;
153
- root.classList.remove('light', 'dark');
154
- const resolvedMode = theme.mode === 'system' ? window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light' : theme.mode;
155
- root.classList.add(resolvedMode);
156
- if (theme.primaryColor) {
157
- root.style.setProperty('--app-primary-color', theme.primaryColor);
158
- }
159
- if (theme.compatibility?.shadcn) {
160
- Object.entries(theme.compatibility.shadcn).forEach(([key, value])=>{
161
- root.style.setProperty(`--${key}`, String(value));
162
- });
163
- }
164
- }
165
- const defaultErrorHandler = {
166
- async handle (error) {
167
- _logger.logger.error('Kernel 启动失败', error);
168
- return {
169
- handled: true,
170
- shouldThrow: true
171
- };
172
- }
173
- };
174
- function resolveKernelAdapters(options) {
175
- return {
176
- logger: options.adapters?.logger || defaultLoggerAdapter,
177
- monitoring: options.adapters?.monitoring || defaultMonitoringAdapter,
178
- state: options.adapters?.state || new DefaultStateAdapter(),
179
- eventBus: options.adapters?.eventBus || new DefaultEventBusAdapter(),
180
- i18n: options.adapters?.i18n || defaultI18nAdapter,
181
- theme: options.adapters?.theme || defaultThemeAdapter,
182
- errorHandler: options.adapters?.errorHandler || defaultErrorHandler
183
- };
184
- }
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"resolveKernelAdapters",{enumerable:true,get:function(){return resolveKernelAdapters}});const _logger=require("@vlian/logger");const _monitoring=require("@vlian/monitoring");const _state=require("../../state");const _AppEventBus=require("../event/AppEventBus");const _library=require("../../library");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}const defaultLoggerAdapter={initialize(options){if(options.loggerLevel){_logger.logger.setLevel(options.loggerLevel)}},setLevel(level){_logger.logger.setLevel(level)},debug(message,...args){_logger.logger.debug(message,...args)},info(message,...args){_logger.logger.info(message,...args)},warn(message,...args){_logger.logger.warn(message,...args)},error(message,...args){_logger.logger.error(message,...args)}};const defaultMonitoringAdapter={initialize(){(0,_monitoring.initMonitoring)()},captureError(error,metadata){try{const service=(0,_monitoring.initMonitoring)();service.captureError(error,metadata)}catch{_logger.logger.error("监控适配器上报失败",error,metadata)}},reportMetric(name,value,tags){_logger.logger.debug(`metric:${name}`,{value,tags})},reportPhase(metric){_logger.logger.debug("kernel.phase.metric",metric)}};let DefaultStateAdapter=class DefaultStateAdapter{initialize(){this.instance=new _state.StateManager({enableRegistry:true,defaultScope:"app"})}getInstance(){if(!this.instance){this.initialize()}return this.instance}destroy(){if(this.instance){this.instance.destroy();this.instance=null}}constructor(){_define_property(this,"instance",null)}};let DefaultEventBusAdapter=class DefaultEventBusAdapter{initialize(options){this.bus=new _AppEventBus.AppEventBus({enableTracking:process.env.NODE_ENV==="development",maxHistorySize:100,enableValidation:false,enablePerformanceMonitoring:process.env.NODE_ENV==="development",instanceId:options.instanceId})}emit(event,payload){if(!this.bus){this.initialize({})}this.bus.emit(event,payload)}on(event,handler){if(!this.bus){this.initialize({})}return this.bus.on(event,handler)}destroy(){if(this.bus){this.bus.clear();this.bus=null}}constructor(){_define_property(this,"bus",null)}};const defaultI18nAdapter={initialize(snapshot){(0,_library.setupI18n)(snapshot.resources||{});(0,_library.setLang)(snapshot.locale)},setLocale(locale){(0,_library.setLang)(locale)}};const defaultThemeAdapter={initialize(snapshot){if(typeof document==="undefined"){return}applyThemeToDocument(snapshot)},apply(snapshot){if(typeof document==="undefined"){return}applyThemeToDocument(snapshot)}};function applyThemeToDocument(theme){const root=document.documentElement;root.classList.remove("light","dark");const resolvedMode=theme.mode==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":theme.mode;root.classList.add(resolvedMode);if(theme.primaryColor){root.style.setProperty("--app-primary-color",theme.primaryColor)}if(theme.compatibility?.shadcn){Object.entries(theme.compatibility.shadcn).forEach(([key,value])=>{root.style.setProperty(`--${key}`,String(value))})}}const defaultErrorHandler={async handle(error){_logger.logger.error("Kernel 启动失败",error);return{handled:true,shouldThrow:true}}};function resolveKernelAdapters(options){return{logger:options.adapters?.logger||defaultLoggerAdapter,monitoring:options.adapters?.monitoring||defaultMonitoringAdapter,state:options.adapters?.state||new DefaultStateAdapter,eventBus:options.adapters?.eventBus||new DefaultEventBusAdapter,i18n:options.adapters?.i18n||defaultI18nAdapter,theme:options.adapters?.theme||defaultThemeAdapter,errorHandler:options.adapters?.errorHandler||defaultErrorHandler}}
@@ -1,69 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: Object.getOwnPropertyDescriptor(all, name).get
9
- });
10
- }
11
- _export(exports, {
12
- get KernelBootError () {
13
- return KernelBootError;
14
- },
15
- get toKernelBootError () {
16
- return toKernelBootError;
17
- }
18
- });
19
- function _define_property(obj, key, value) {
20
- if (key in obj) {
21
- Object.defineProperty(obj, key, {
22
- value: value,
23
- enumerable: true,
24
- configurable: true,
25
- writable: true
26
- });
27
- } else {
28
- obj[key] = value;
29
- }
30
- return obj;
31
- }
32
- function inferRetryable(error) {
33
- if (error instanceof Error) {
34
- const message = error.message.toLowerCase();
35
- return message.includes('timeout') || message.includes('network');
36
- }
37
- return false;
38
- }
39
- let KernelBootError = class KernelBootError extends Error {
40
- constructor(message, options){
41
- super(message), _define_property(this, "code", void 0), _define_property(this, "phase", void 0), _define_property(this, "severity", void 0), _define_property(this, "retryable", void 0), _define_property(this, "traceId", void 0), _define_property(this, "cause", void 0);
42
- this.name = 'KernelBootError';
43
- this.code = options.code;
44
- this.phase = options.phase;
45
- this.traceId = options.traceId;
46
- this.severity = options.severity ?? 'high';
47
- this.retryable = options.retryable ?? inferRetryable(options.cause);
48
- this.cause = options.cause;
49
- }
50
- };
51
- function toKernelBootError(error, phase, traceId) {
52
- if (error instanceof KernelBootError) {
53
- return error;
54
- }
55
- if (error instanceof Error) {
56
- return new KernelBootError(error.message, {
57
- code: 'KERNEL_BOOT_FAILURE',
58
- phase,
59
- traceId,
60
- cause: error
61
- });
62
- }
63
- return new KernelBootError(String(error), {
64
- code: 'KERNEL_BOOT_FAILURE',
65
- phase,
66
- traceId,
67
- cause: error
68
- });
69
- }
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 KernelBootError(){return KernelBootError},get toKernelBootError(){return toKernelBootError}});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}function inferRetryable(error){if(error instanceof Error){const message=error.message.toLowerCase();return message.includes("timeout")||message.includes("network")}return false}let KernelBootError=class KernelBootError extends Error{constructor(message,options){super(message),_define_property(this,"code",void 0),_define_property(this,"phase",void 0),_define_property(this,"severity",void 0),_define_property(this,"retryable",void 0),_define_property(this,"traceId",void 0),_define_property(this,"cause",void 0);this.name="KernelBootError";this.code=options.code;this.phase=options.phase;this.traceId=options.traceId;this.severity=options.severity??"high";this.retryable=options.retryable??inferRetryable(options.cause);this.cause=options.cause}};function toKernelBootError(error,phase,traceId){if(error instanceof KernelBootError){return error}if(error instanceof Error){return new KernelBootError(error.message,{code:"KERNEL_BOOT_FAILURE",phase,traceId,cause:error})}return new KernelBootError(String(error),{code:"KERNEL_BOOT_FAILURE",phase,traceId,cause:error})}
@@ -1,20 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: Object.getOwnPropertyDescriptor(all, name).get
9
- });
10
- }
11
- _export(exports, {
12
- get KernelBootError () {
13
- return _errors.KernelBootError;
14
- },
15
- get startKernel () {
16
- return _startKernel.startKernel;
17
- }
18
- });
19
- const _startKernel = require("./startKernel");
20
- const _errors = require("./errors");
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 KernelBootError(){return _errors.KernelBootError},get startKernel(){return _startKernel.startKernel}});const _startKernel=require("./startKernel");const _errors=require("./errors");
@@ -1,200 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "startKernel", {
6
- enumerable: true,
7
- get: function() {
8
- return startKernel;
9
- }
10
- });
11
- const _initialization = require("../initialization");
12
- const _traceId = require("../../utils/traceId");
13
- const _errors = require("./errors");
14
- const _defaultAdapters = require("./defaultAdapters");
15
- const DEFAULT_THEME = {
16
- mode: 'light'
17
- };
18
- const DEFAULT_I18N = {
19
- locale: 'zh-CN'
20
- };
21
- async function withOptionalTimeout(task, timeoutMs, timeoutMessage = 'Kernel phase timeout') {
22
- if (!timeoutMs || timeoutMs <= 0) {
23
- return task();
24
- }
25
- return Promise.race([
26
- task(),
27
- new Promise((_, reject)=>{
28
- setTimeout(()=>reject(new Error(timeoutMessage)), timeoutMs);
29
- })
30
- ]);
31
- }
32
- async function startKernel(options = {}) {
33
- (0, _traceId.initTraceIdGenerator)('kernel');
34
- const traceId = (0, _traceId.generateTraceId)();
35
- (0, _traceId.setCurrentTraceId)(traceId);
36
- const adapters = (0, _defaultAdapters.resolveKernelAdapters)(options);
37
- const metrics = [];
38
- let config = {};
39
- let theme = {
40
- ...DEFAULT_THEME,
41
- ...options.theme || {}
42
- };
43
- let i18n = {
44
- ...DEFAULT_I18N,
45
- ...options.locale || {}
46
- };
47
- const emitPhaseMetric = (metric)=>{
48
- metrics.push(metric);
49
- adapters.monitoring.reportPhase?.(metric);
50
- adapters.monitoring.reportMetric?.('kernel.phase.duration', metric.duration, {
51
- phase: metric.phase
52
- });
53
- adapters.eventBus.emit('kernel.phase.end', metric);
54
- };
55
- const runPhase = async (phase, fn)=>{
56
- const enabled = options.enabledPhases?.[phase];
57
- if (enabled === false) {
58
- adapters.eventBus.emit('kernel.phase.skipped', {
59
- phase,
60
- traceId
61
- });
62
- return;
63
- }
64
- const startTime = performance.now();
65
- adapters.eventBus.emit('kernel.phase.start', {
66
- phase,
67
- traceId,
68
- startTime
69
- });
70
- try {
71
- await withOptionalTimeout(fn, options.performance?.phaseTimeoutMs?.[phase], `Kernel phase "${phase}" timeout`);
72
- emitPhaseMetric({
73
- phase,
74
- startTime,
75
- endTime: performance.now(),
76
- duration: performance.now() - startTime
77
- });
78
- } catch (error) {
79
- const bootError = (0, _errors.toKernelBootError)(error, phase, traceId);
80
- adapters.monitoring.captureError(bootError, {
81
- phase,
82
- traceId
83
- });
84
- adapters.eventBus.emit('kernel.phase.error', bootError);
85
- const result = await adapters.errorHandler.handle(bootError);
86
- if (result.shouldThrow) {
87
- throw bootError;
88
- }
89
- }
90
- };
91
- await runPhase('prepare', async ()=>{
92
- adapters.logger.initialize?.(options);
93
- adapters.logger.info('Kernel 启动准备完成', {
94
- traceId
95
- });
96
- });
97
- await runPhase('services', async ()=>{
98
- await Promise.all([
99
- Promise.resolve(adapters.monitoring.initialize?.(options)),
100
- Promise.resolve(adapters.state.initialize?.(options)),
101
- Promise.resolve(adapters.eventBus.initialize?.(options))
102
- ]);
103
- });
104
- await runPhase('config', async ()=>{
105
- if (options.configLoader) {
106
- try {
107
- config = await options.configLoader();
108
- } catch (error) {
109
- config = options.configFallback || {};
110
- }
111
- } else {
112
- config = options.configFallback || {};
113
- }
114
- });
115
- await runPhase('i18n', async ()=>{
116
- await adapters.i18n.initialize(i18n);
117
- });
118
- await runPhase('theme', async ()=>{
119
- await Promise.resolve(adapters.theme.initialize?.(theme));
120
- await adapters.theme.apply(theme);
121
- });
122
- await runPhase('init', async ()=>{
123
- await options.lifecycle?.beforeInitialization?.();
124
- const initContext = await (0, _initialization.initialization)({
125
- loggerLevel: options.loggerLevel,
126
- locale: i18n.resources,
127
- lifecycle: options.lifecycle
128
- });
129
- await options.lifecycle?.afterInitialization?.(initContext);
130
- });
131
- await runPhase('ready', async ()=>{
132
- adapters.eventBus.emit('kernel.ready', {
133
- traceId,
134
- theme,
135
- locale: i18n.locale,
136
- config
137
- });
138
- });
139
- if (options.enablePostReady !== false) {
140
- await runPhase('postReady', async ()=>{
141
- adapters.eventBus.emit('kernel.postReady', {
142
- traceId
143
- });
144
- });
145
- }
146
- const setTheme = async (partial)=>{
147
- theme = {
148
- ...theme,
149
- ...partial
150
- };
151
- await adapters.theme.apply(theme);
152
- adapters.eventBus.emit('kernel.theme.changed', {
153
- traceId,
154
- theme
155
- });
156
- };
157
- const setThemeMode = async (mode)=>{
158
- await setTheme({
159
- mode
160
- });
161
- };
162
- const setLocale = async (locale)=>{
163
- i18n = {
164
- ...i18n,
165
- locale
166
- };
167
- await adapters.i18n.setLocale(locale);
168
- adapters.eventBus.emit('kernel.i18n.changed', {
169
- traceId,
170
- locale
171
- });
172
- };
173
- return {
174
- traceId,
175
- getTheme: ()=>({
176
- ...theme
177
- }),
178
- setTheme,
179
- setThemeMode,
180
- getI18n: ()=>({
181
- ...i18n
182
- }),
183
- setLocale,
184
- getConfig: ()=>({
185
- ...config
186
- }),
187
- getStateManager: ()=>adapters.state.getInstance(),
188
- getEventBus: ()=>adapters.eventBus,
189
- getMetrics: ()=>[
190
- ...metrics
191
- ],
192
- destroy: ()=>{
193
- adapters.state.destroy?.();
194
- adapters.eventBus.destroy?.();
195
- adapters.eventBus.emit('kernel.destroyed', {
196
- traceId
197
- });
198
- }
199
- };
200
- }
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"startKernel",{enumerable:true,get:function(){return startKernel}});const _initialization=require("../initialization");const _traceId=require("../../utils/traceId");const _errors=require("./errors");const _defaultAdapters=require("./defaultAdapters");const DEFAULT_THEME={mode:"light"};const DEFAULT_I18N={locale:"zh-CN"};async function withOptionalTimeout(task,timeoutMs,timeoutMessage="Kernel phase timeout"){if(!timeoutMs||timeoutMs<=0){return task()}return Promise.race([task(),new Promise((_,reject)=>{setTimeout(()=>reject(new Error(timeoutMessage)),timeoutMs)})])}async function startKernel(options={}){(0,_traceId.initTraceIdGenerator)("kernel");const traceId=(0,_traceId.generateTraceId)();(0,_traceId.setCurrentTraceId)(traceId);const adapters=(0,_defaultAdapters.resolveKernelAdapters)(options);const metrics=[];let config={};let theme={...DEFAULT_THEME,...options.theme||{}};let i18n={...DEFAULT_I18N,...options.locale||{}};const emitPhaseMetric=metric=>{metrics.push(metric);adapters.monitoring.reportPhase?.(metric);adapters.monitoring.reportMetric?.("kernel.phase.duration",metric.duration,{phase:metric.phase});adapters.eventBus.emit("kernel.phase.end",metric)};const runPhase=async(phase,fn)=>{const enabled=options.enabledPhases?.[phase];if(enabled===false){adapters.eventBus.emit("kernel.phase.skipped",{phase,traceId});return}const startTime=performance.now();adapters.eventBus.emit("kernel.phase.start",{phase,traceId,startTime});try{await withOptionalTimeout(fn,options.performance?.phaseTimeoutMs?.[phase],`Kernel phase "${phase}" timeout`);emitPhaseMetric({phase,startTime,endTime:performance.now(),duration:performance.now()-startTime})}catch(error){const bootError=(0,_errors.toKernelBootError)(error,phase,traceId);adapters.monitoring.captureError(bootError,{phase,traceId});adapters.eventBus.emit("kernel.phase.error",bootError);const result=await adapters.errorHandler.handle(bootError);if(result.shouldThrow){throw bootError}}};await runPhase("prepare",async()=>{adapters.logger.initialize?.(options);adapters.logger.info("Kernel 启动准备完成",{traceId})});await runPhase("services",async()=>{await Promise.all([Promise.resolve(adapters.monitoring.initialize?.(options)),Promise.resolve(adapters.state.initialize?.(options)),Promise.resolve(adapters.eventBus.initialize?.(options))])});await runPhase("config",async()=>{if(options.configLoader){try{config=await options.configLoader()}catch(error){config=options.configFallback||{}}}else{config=options.configFallback||{}}});await runPhase("i18n",async()=>{await adapters.i18n.initialize(i18n)});await runPhase("theme",async()=>{await Promise.resolve(adapters.theme.initialize?.(theme));await adapters.theme.apply(theme)});await runPhase("init",async()=>{await options.lifecycle?.beforeInitialization?.();const initContext=await (0,_initialization.initialization)({loggerLevel:options.loggerLevel,locale:i18n.resources,lifecycle:options.lifecycle});await options.lifecycle?.afterInitialization?.(initContext)});await runPhase("ready",async()=>{adapters.eventBus.emit("kernel.ready",{traceId,theme,locale:i18n.locale,config})});if(options.enablePostReady!==false){await runPhase("postReady",async()=>{adapters.eventBus.emit("kernel.postReady",{traceId})})}const setTheme=async partial=>{theme={...theme,...partial};await adapters.theme.apply(theme);adapters.eventBus.emit("kernel.theme.changed",{traceId,theme})};const setThemeMode=async mode=>{await setTheme({mode})};const setLocale=async locale=>{i18n={...i18n,locale};await adapters.i18n.setLocale(locale);adapters.eventBus.emit("kernel.i18n.changed",{traceId,locale})};return{traceId,getTheme:()=>({...theme}),setTheme,setThemeMode,getI18n:()=>({...i18n}),setLocale,getConfig:()=>({...config}),getStateManager:()=>adapters.state.getInstance(),getEventBus:()=>adapters.eventBus,getMetrics:()=>[...metrics],destroy:()=>{adapters.state.destroy?.();adapters.eventBus.destroy?.();adapters.eventBus.emit("kernel.destroyed",{traceId})}}}
@@ -1,4 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});
@@ -1,73 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: Object.getOwnPropertyDescriptor(all, name).get
9
- });
10
- }
11
- _export(exports, {
12
- get MiddlewareManager () {
13
- return MiddlewareManager;
14
- },
15
- get middlewareManager () {
16
- return middlewareManager;
17
- }
18
- });
19
- function _define_property(obj, key, value) {
20
- if (key in obj) {
21
- Object.defineProperty(obj, key, {
22
- value: value,
23
- enumerable: true,
24
- configurable: true,
25
- writable: true
26
- });
27
- } else {
28
- obj[key] = value;
29
- }
30
- return obj;
31
- }
32
- let MiddlewareManager = class MiddlewareManager {
33
- /**
34
- * 添加中间件
35
- */ use(middleware) {
36
- this.middlewares.push(middleware);
37
- }
38
- /**
39
- * 移除中间件
40
- */ remove(middleware) {
41
- const index = this.middlewares.indexOf(middleware);
42
- if (index > -1) {
43
- this.middlewares.splice(index, 1);
44
- }
45
- }
46
- /**
47
- * 清空所有中间件
48
- */ clear() {
49
- this.middlewares = [];
50
- }
51
- /**
52
- * 执行中间件链
53
- */ async execute(options, finalHandler) {
54
- let index = 0;
55
- const next = async ()=>{
56
- if (index >= this.middlewares.length) {
57
- return finalHandler();
58
- }
59
- const middleware = this.middlewares[index++];
60
- return middleware(options, next);
61
- };
62
- return next();
63
- }
64
- /**
65
- * 获取中间件数量
66
- */ get count() {
67
- return this.middlewares.length;
68
- }
69
- constructor(){
70
- _define_property(this, "middlewares", []);
71
- }
72
- };
73
- const middlewareManager = new MiddlewareManager();
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 MiddlewareManager(){return MiddlewareManager},get middlewareManager(){return middlewareManager}});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}let MiddlewareManager=class MiddlewareManager{use(middleware){this.middlewares.push(middleware)}remove(middleware){const index=this.middlewares.indexOf(middleware);if(index>-1){this.middlewares.splice(index,1)}}clear(){this.middlewares=[]}async execute(options,finalHandler){let index=0;const next=async()=>{if(index>=this.middlewares.length){return finalHandler()}const middleware=this.middlewares[index++];return middleware(options,next)};return next()}get count(){return this.middlewares.length}constructor(){_define_property(this,"middlewares",[])}};const middlewareManager=new MiddlewareManager;