@coherent.js/core 1.0.0-beta.6 → 1.0.0-beta.7

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 (108) hide show
  1. package/dist/coherent.d.ts +150 -10
  2. package/dist/coherent.d.ts.map +1 -1
  3. package/dist/coherent.js +166 -33
  4. package/dist/coherent.js.map +1 -1
  5. package/dist/components/component-system.js +109 -109
  6. package/dist/components/lifecycle.d.ts +212 -0
  7. package/dist/components/lifecycle.d.ts.map +1 -0
  8. package/dist/components/lifecycle.js +525 -0
  9. package/dist/components/lifecycle.js.map +1 -0
  10. package/dist/core/html-utils.js +5 -5
  11. package/dist/core/object-factory.js +21 -21
  12. package/dist/core/object-utils.js +2 -2
  13. package/dist/dev/dev-tools.d.ts +1 -1
  14. package/dist/dev/dev-tools.js +28 -28
  15. package/dist/forms/validation.d.ts +271 -0
  16. package/dist/forms/validation.d.ts.map +1 -0
  17. package/dist/forms/validation.js +573 -0
  18. package/dist/forms/validation.js.map +1 -0
  19. package/dist/index.cjs +157 -4
  20. package/dist/index.cjs.map +4 -4
  21. package/dist/index.js +153 -4
  22. package/dist/index.js.map +4 -4
  23. package/dist/performance/bundle-optimizer.js +11 -11
  24. package/dist/performance/cache-manager.js +6 -6
  25. package/dist/performance/component-cache.d.ts +120 -0
  26. package/dist/performance/component-cache.d.ts.map +1 -0
  27. package/dist/performance/component-cache.js +364 -0
  28. package/dist/performance/component-cache.js.map +1 -0
  29. package/dist/performance/monitor.js +10 -10
  30. package/dist/performance/monitor.js.map +1 -1
  31. package/dist/rendering/base-renderer.js +13 -13
  32. package/dist/rendering/css-manager.d.ts +73 -0
  33. package/dist/rendering/css-manager.d.ts.map +1 -0
  34. package/dist/rendering/css-manager.js +176 -0
  35. package/dist/rendering/css-manager.js.map +1 -0
  36. package/dist/rendering/dom-renderer.d.ts +23 -0
  37. package/dist/rendering/dom-renderer.d.ts.map +1 -1
  38. package/dist/rendering/dom-renderer.js +77 -9
  39. package/dist/rendering/dom-renderer.js.map +1 -1
  40. package/dist/rendering/html-renderer.d.ts +15 -0
  41. package/dist/rendering/html-renderer.d.ts.map +1 -1
  42. package/dist/rendering/html-renderer.js +85 -4
  43. package/dist/rendering/html-renderer.js.map +1 -1
  44. package/dist/rendering/streaming-renderer.js +12 -12
  45. package/dist/rendering/vdom-diff.d.ts +47 -0
  46. package/dist/rendering/vdom-diff.d.ts.map +1 -0
  47. package/dist/rendering/vdom-diff.js +416 -0
  48. package/dist/rendering/vdom-diff.js.map +1 -0
  49. package/dist/routing/router.d.ts +241 -0
  50. package/dist/routing/router.d.ts.map +1 -0
  51. package/dist/routing/router.js +648 -0
  52. package/dist/routing/router.js.map +1 -0
  53. package/dist/state/reactive-state.d.ts +166 -0
  54. package/dist/state/reactive-state.d.ts.map +1 -0
  55. package/dist/state/reactive-state.js +546 -0
  56. package/dist/state/reactive-state.js.map +1 -0
  57. package/dist/utils/dependency-utils.js +2 -2
  58. package/dist/utils/error-handler.d.ts +148 -0
  59. package/dist/utils/error-handler.d.ts.map +1 -0
  60. package/dist/utils/error-handler.js +468 -0
  61. package/dist/utils/error-handler.js.map +1 -0
  62. package/dist/utils/normalization.js +1 -1
  63. package/dist/utils/validation.js +1 -1
  64. package/package.json +5 -1
  65. package/dist/database/adapters/mongodb.d.ts +0 -15
  66. package/dist/database/adapters/mongodb.d.ts.map +0 -1
  67. package/dist/database/adapters/mongodb.js +0 -216
  68. package/dist/database/adapters/mongodb.js.map +0 -1
  69. package/dist/database/adapters/mysql.d.ts +0 -12
  70. package/dist/database/adapters/mysql.d.ts.map +0 -1
  71. package/dist/database/adapters/mysql.js +0 -171
  72. package/dist/database/adapters/mysql.js.map +0 -1
  73. package/dist/database/adapters/postgresql.d.ts +0 -12
  74. package/dist/database/adapters/postgresql.d.ts.map +0 -1
  75. package/dist/database/adapters/postgresql.js +0 -177
  76. package/dist/database/adapters/postgresql.js.map +0 -1
  77. package/dist/database/adapters/sqlite.d.ts +0 -15
  78. package/dist/database/adapters/sqlite.d.ts.map +0 -1
  79. package/dist/database/adapters/sqlite.js +0 -241
  80. package/dist/database/adapters/sqlite.js.map +0 -1
  81. package/dist/database/connection-manager.d.ts +0 -135
  82. package/dist/database/connection-manager.d.ts.map +0 -1
  83. package/dist/database/connection-manager.js +0 -362
  84. package/dist/database/connection-manager.js.map +0 -1
  85. package/dist/database/index.d.ts +0 -38
  86. package/dist/database/index.d.ts.map +0 -1
  87. package/dist/database/index.js +0 -60
  88. package/dist/database/index.js.map +0 -1
  89. package/dist/database/middleware.d.ts +0 -122
  90. package/dist/database/middleware.d.ts.map +0 -1
  91. package/dist/database/middleware.js +0 -390
  92. package/dist/database/middleware.js.map +0 -1
  93. package/dist/database/migration.d.ts +0 -62
  94. package/dist/database/migration.d.ts.map +0 -1
  95. package/dist/database/migration.js +0 -423
  96. package/dist/database/migration.js.map +0 -1
  97. package/dist/database/model.d.ts +0 -8
  98. package/dist/database/model.d.ts.map +0 -1
  99. package/dist/database/model.js +0 -167
  100. package/dist/database/model.js.map +0 -1
  101. package/dist/database/query-builder.d.ts +0 -111
  102. package/dist/database/query-builder.d.ts.map +0 -1
  103. package/dist/database/query-builder.js +0 -187
  104. package/dist/database/query-builder.js.map +0 -1
  105. package/dist/database/utils.d.ts +0 -196
  106. package/dist/database/utils.d.ts.map +0 -1
  107. package/dist/database/utils.js +0 -372
  108. package/dist/database/utils.js.map +0 -1
@@ -11,7 +11,6 @@ export namespace server {
11
11
  export { renderBatch };
12
12
  export { renderToChunks as chunk };
13
13
  export { createStreamingRenderer as stream };
14
- export { CacheManager };
15
14
  export { performanceMonitor };
16
15
  }
17
16
  export namespace components {
@@ -35,10 +34,11 @@ export namespace utils {
35
34
  export { mergeProps };
36
35
  export { getNestedValue };
37
36
  export { setNestedValue };
37
+ export { cssUtils };
38
38
  }
39
39
  export namespace performance {
40
40
  export { performanceMonitor };
41
- export { CacheManager };
41
+ export { createCacheManager };
42
42
  export { getCache };
43
43
  export { resetCache };
44
44
  export { getRenderingStats };
@@ -66,6 +66,10 @@ export class Coherent {
66
66
  minify: any;
67
67
  };
68
68
  cache: Object | undefined;
69
+ componentCache: import("./performance/component-cache.js").ComponentCache | undefined;
70
+ state: import("./state/reactive-state.js").ReactiveState;
71
+ router: import("./routing/router.js").Router | undefined;
72
+ errorHandler: any;
69
73
  devTools: DevTools | undefined;
70
74
  /**
71
75
  * Primary render method - converts components to HTML
@@ -110,6 +114,12 @@ export class Coherent {
110
114
  cleanup(): void;
111
115
  };
112
116
  withProps(component: any, props: any): (WrappedComponent: any) => {
117
+ (originalProps?: {}, state?: {}, context?: {}): any;
118
+ displayName: any;
119
+ __isHOC: boolean;
120
+ __wrappedComponent: any;
121
+ __transform: any;
122
+ } | {
113
123
  (...args: any[]): any;
114
124
  cache: WeakMap<object, any> | {
115
125
  maxSize: number;
@@ -144,12 +154,6 @@ export class Coherent {
144
154
  };
145
155
  resetStats(): void;
146
156
  refresh(...args: any[]): any;
147
- } | {
148
- (originalProps?: {}, state?: {}, context?: {}): any;
149
- displayName: any;
150
- __isHOC: boolean;
151
- __wrappedComponent: any;
152
- __transform: any;
153
157
  };
154
158
  memo(component: any, areEqual: any): {
155
159
  (...args: any[]): any;
@@ -200,11 +204,97 @@ export class Coherent {
200
204
  toString(): string;
201
205
  toJSON(): any;
202
206
  };
207
+ /**
208
+ * Component caching and memoization
209
+ */
210
+ memoize(component: any, keyGenerator: any, options?: {}): (...args: any[]) => any;
211
+ /**
212
+ * Update DOM with virtual DOM diffing
213
+ */
214
+ updateDOM(element: any, newComponent: any, componentId?: string, options?: {}): any;
215
+ /**
216
+ * Invalidate component cache by dependencies
217
+ */
218
+ invalidateCache(dependencies: any): number;
219
+ /**
220
+ * Reactive state management
221
+ */
222
+ setState(key: any, value: any): boolean;
223
+ getState(key: any): any;
224
+ watchState(key: any, callback: any, options: any): any;
225
+ createComputed(key: any, getter: any, options: any): {
226
+ _getter: any;
227
+ _cached: boolean;
228
+ _dirty: boolean;
229
+ get value(): any;
230
+ set value(newValue: any);
231
+ _compute(): void;
232
+ _value: any;
233
+ _invalidate(): void;
234
+ _observers: Set<any>;
235
+ _computedDependents: Set<any>;
236
+ _options: {
237
+ deep: boolean;
238
+ immediate: boolean;
239
+ };
240
+ watch(callback: any, options?: {}): () => void;
241
+ unwatch(observer: any): void;
242
+ unwatchAll(): void;
243
+ };
244
+ /**
245
+ * Event system
246
+ */
247
+ emit(eventName: any, data: any, target: any): {
248
+ name: any;
249
+ data: {};
250
+ target: null;
251
+ timestamp: number;
252
+ stopped: boolean;
253
+ preventDefault: boolean;
254
+ };
255
+ on(eventName: any, handler: any, componentId: any): () => void;
256
+ off(eventName: any, handler: any, componentId: any): void;
257
+ /**
258
+ * Router methods
259
+ */
260
+ navigate(location: any): Promise<any>;
261
+ getCurrentRoute(): any;
262
+ addRoutes(routes: any): void;
263
+ /**
264
+ * Form validation
265
+ */
266
+ createForm(schema: any, options: any): import("./forms/validation.js").FormValidator;
267
+ /**
268
+ * Component lifecycle
269
+ */
270
+ createComponentWithLifecycle(component: any, options: any): {
271
+ component: any;
272
+ lifecycle: import("./components/lifecycle.js").ComponentLifecycle;
273
+ mount: (container: any, props?: {}) => Promise<void>;
274
+ unmount: () => Promise<void>;
275
+ update: (newProps?: {}) => Promise<void>;
276
+ };
277
+ /**
278
+ * Error handling
279
+ */
280
+ handleError(error: any, context: any): any;
203
281
  /**
204
282
  * Performance and monitoring
205
283
  */
206
284
  getPerformanceStats(): {
207
285
  cache: any;
286
+ componentCache: {
287
+ size: number;
288
+ maxSize: any;
289
+ hits: number;
290
+ misses: number;
291
+ hitRate: string | number;
292
+ evictions: number;
293
+ cleanups: number;
294
+ invalidations: number;
295
+ dependencies: number;
296
+ memoryUsage: number;
297
+ } | null;
208
298
  monitor: any;
209
299
  rendering: {
210
300
  cache: any;
@@ -225,6 +315,18 @@ export class Coherent {
225
315
  disableDevMode(): this;
226
316
  benchmark(component: any, iterations?: number): {
227
317
  cache: any;
318
+ componentCache: {
319
+ size: number;
320
+ maxSize: any;
321
+ hits: number;
322
+ misses: number;
323
+ hitRate: string | number;
324
+ evictions: number;
325
+ cleanups: number;
326
+ invalidations: number;
327
+ dependencies: number;
328
+ memoryUsage: number;
329
+ } | null;
228
330
  monitor: any;
229
331
  rendering: {
230
332
  cache: any;
@@ -275,6 +377,18 @@ export class Coherent {
275
377
  features: string[];
276
378
  stats: {
277
379
  cache: any;
380
+ componentCache: {
381
+ size: number;
382
+ maxSize: any;
383
+ hits: number;
384
+ misses: number;
385
+ hitRate: string | number;
386
+ evictions: number;
387
+ cleanups: number;
388
+ invalidations: number;
389
+ dependencies: number;
390
+ memoryUsage: number;
391
+ } | null;
278
392
  monitor: any;
279
393
  rendering: {
280
394
  cache: any;
@@ -284,12 +398,16 @@ export class Coherent {
284
398
  };
285
399
  }
286
400
  import { renderToString } from './rendering/html-renderer.js';
401
+ import { renderHTML } from './rendering/html-renderer.js';
402
+ import { renderHTMLSync } from './rendering/html-renderer.js';
403
+ import { render } from './rendering/html-renderer.js';
287
404
  import { renderBatch } from './rendering/html-renderer.js';
288
405
  import { renderToChunks } from './rendering/html-renderer.js';
289
406
  import { renderWithTiming } from './rendering/html-renderer.js';
290
407
  import { createStreamingRenderer } from './rendering/streaming-renderer.js';
291
408
  import { streamingUtils } from './rendering/streaming-renderer.js';
292
409
  import { renderToDOM } from './rendering/dom-renderer.js';
410
+ import { updateDOM } from './rendering/dom-renderer.js';
293
411
  import { hydrate } from './client/hydration.js';
294
412
  import { makeHydratable } from './client/hydration.js';
295
413
  import { hydrateAll } from './client/hydration.js';
@@ -320,13 +438,35 @@ import { mergeConfigs } from './rendering/renderer-config.js';
320
438
  import { getConfigPreset } from './rendering/renderer-config.js';
321
439
  import { CONFIG_PRESETS } from './rendering/renderer-config.js';
322
440
  import { performanceMonitor } from './performance/monitor.js';
323
- import { CacheManager } from './performance/cache-manager.js';
441
+ import { createComponentCache } from './performance/component-cache.js';
442
+ import { createCacheManager } from './performance/cache-manager.js';
443
+ import { memoize } from './performance/component-cache.js';
324
444
  import { getCache } from './rendering/html-renderer.js';
325
445
  import { resetCache } from './rendering/html-renderer.js';
326
446
  import { getRenderingStats } from './rendering/html-renderer.js';
447
+ import { createErrorHandler } from './utils/error-handler.js';
448
+ import { globalErrorHandler } from './utils/error-handler.js';
449
+ import { createReactiveState } from './state/reactive-state.js';
450
+ import { observable } from './state/reactive-state.js';
451
+ import { computed } from './state/reactive-state.js';
452
+ import { stateUtils } from './state/reactive-state.js';
453
+ import { createLifecycleHooks } from './components/lifecycle.js';
454
+ import { eventSystem } from './components/lifecycle.js';
455
+ import { componentUtils } from './components/lifecycle.js';
456
+ import { withLifecycle } from './components/lifecycle.js';
457
+ import { createRouter } from './routing/router.js';
458
+ import { routeGuards } from './routing/router.js';
459
+ import { routeComponents } from './routing/router.js';
460
+ import { createForm } from './forms/validation.js';
461
+ import { validationRules } from './forms/validation.js';
462
+ import { binding } from './forms/validation.js';
463
+ import { formComponents } from './forms/validation.js';
464
+ import { createCSSManager } from './rendering/css-manager.js';
465
+ import { defaultCSSManager } from './rendering/css-manager.js';
466
+ import { cssUtils } from './rendering/css-manager.js';
327
467
  import { DevTools } from './dev/dev-tools.js';
328
468
  import { mergeProps } from './core/object-utils.js';
329
469
  import { getNestedValue } from './core/object-utils.js';
330
470
  import { setNestedValue } from './core/object-utils.js';
331
- export { renderToString, renderBatch, renderToChunks, renderWithTiming, createStreamingRenderer, streamingUtils, renderToDOM, hydrate, makeHydratable, autoHydrate, hydrateAll, hydrateBySelector, enableClientEvents, createComponent, withState, withProps, memo, lazy, validateComponent, isCoherentObject, extractProps, hasChildren, normalizeChildren, deepClone, escapeHtml, isVoidElement, formatAttributes, minifyHtml, createHtmlConfig, createStreamingConfig, createDomConfig, createDevConfig, createProdConfig, validateConfig, mergeConfigs, getConfigPreset, CONFIG_PRESETS, performanceMonitor, CacheManager, getCache, resetCache, getRenderingStats, DevTools };
471
+ export { renderToString, renderHTML, renderHTMLSync, render, renderBatch, renderToChunks, renderWithTiming, createStreamingRenderer, streamingUtils, renderToDOM, updateDOM, hydrate, makeHydratable, autoHydrate, hydrateAll, hydrateBySelector, enableClientEvents, createComponent, withState, withProps, memo, lazy, validateComponent, isCoherentObject, extractProps, hasChildren, normalizeChildren, deepClone, escapeHtml, isVoidElement, formatAttributes, minifyHtml, createHtmlConfig, createStreamingConfig, createDomConfig, createDevConfig, createProdConfig, validateConfig, mergeConfigs, getConfigPreset, CONFIG_PRESETS, performanceMonitor, createComponentCache, createCacheManager, memoize, getCache, resetCache, getRenderingStats, createErrorHandler, globalErrorHandler, createReactiveState, observable, computed, stateUtils, createLifecycleHooks, eventSystem, componentUtils, withLifecycle, createRouter, routeGuards, routeComponents, createForm, validationRules, binding, formComponents, createCSSManager, defaultCSSManager, cssUtils, DevTools };
332
472
  //# sourceMappingURL=coherent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"coherent.d.ts","sourceRoot":"","sources":["../../../src/coherent.js"],"names":[],"mappings":"AAkbA;;GAEG;AACH,uDAEC;AAID;;GAEG;AACH,gCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkKvC;;GAEG;AACH,sBAAuB,OAAO,CAAC;AAC/B,gCAAmD;AACnD,8BAQY;;AA5gBZ;;;GAGG;AACH;IACI,0BA8BC;IA7BG;;;;;;;;MASC;IAIG,0BAGE;IAKF,+BAAkC;IAU1C;;OAEG;IACH,6CAkBC;IAED;;OAEG;IACH,qDAEC;IAED;;OAEG;IACH,qDAiBC;IAED;;OAEG;IACH,yEAoBC;IAED;;OAEG;IACH,qGAGC;IAED;;OAEG;IACH,uFAEC;IAED;;;;;;;;;;;;;;;;;MAEC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEC;IAED;;;;;;;;;;;;MAEC;IAED;;OAEG;IACH;;;;;;;MAMC;IAED;;;;;;QAyCC;IAED;;OAEG;IACH,sBAMC;IAED,uBAIC;IAED;;;;;;;MAeC;IAED;;OAEG;IACH,sBAMC;IAED,qBAWC;IAED,yBAMC;IAED;;OAEG;IACH;;;;MAGC;IAED;;OAEG;IACH;;;;;;MAOC;IAED,8BAEC;IAED;;OAEG;IACH,qBAEC;IAED,gCAEC;IAED,0BAEC;IAED,gCAEC;IAED,uBAEC;IAED;;OAEG;IACH,qBAEC;IAED;;;;;;;;;;;;;MAeC;CACJ;+BA5ZM,8BAA8B;4BAA9B,8BAA8B;+BAA9B,8BAA8B;iCAA9B,8BAA8B;wCAS9B,mCAAmC;+BAAnC,mCAAmC;4BAKnC,6BAA6B;wBAU7B,uBAAuB;+BAAvB,uBAAuB;2BAAvB,uBAAuB;kCAAvB,uBAAuB;mCAAvB,uBAAuB;gCAgDvB,kCAAkC;0BAAlC,kCAAkC;0BAAlC,kCAAkC;qBAAlC,kCAAkC;qBAAlC,kCAAkC;kCAhBlC,wBAAwB;iCAAxB,wBAAwB;6BAAxB,wBAAwB;4BAAxB,wBAAwB;kCAAxB,wBAAwB;0BAAxB,wBAAwB;2BAOxB,sBAAsB;8BAAtB,sBAAsB;iCAAtB,sBAAsB;2BAAtB,sBAAsB;iCA1BtB,gCAAgC;sCAAhC,gCAAgC;gCAAhC,gCAAgC;gCAAhC,gCAAgC;iCAAhC,gCAAgC;+BAAhC,gCAAgC;6BAAhC,gCAAgC;gCAAhC,gCAAgC;+BAAhC,gCAAgC;mCAGJ,0BAA0B;6BArCZ,gCAAgC;yBAH1E,8BAA8B;2BAA9B,8BAA8B;kCAA9B,8BAA8B;yBA2EZ,oBAAoB;2BAnBtC,wBAAwB;+BAAxB,wBAAwB;+BAAxB,wBAAwB"}
1
+ {"version":3,"file":"coherent.d.ts","sourceRoot":"","sources":["../../../src/coherent.js"],"names":[],"mappings":"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"}
package/dist/coherent.js CHANGED
@@ -8,21 +8,32 @@
8
8
  * @license MIT
9
9
  */
10
10
  // Core rendering engine
11
- import { renderToString, renderBatch, renderToChunks, renderWithTiming, precompileComponent, getCache, resetCache, getRenderingStats } from './rendering/html-renderer.js';
11
+ import { renderToString, renderHTML, renderHTMLSync, render, renderBatch, renderToChunks, renderWithTiming, precompileComponent, getCache, resetCache, getRenderingStats } from './rendering/html-renderer.js';
12
+ // CSS management
13
+ import { createCSSManager, defaultCSSManager, cssUtils } from './rendering/css-manager.js';
12
14
  // Cache management
13
- import { createCacheManager, CacheManager } from './performance/cache-manager.js';
15
+ import { createCacheManager } from './performance/cache-manager.js';
16
+ import { createComponentCache, memoize } from './performance/component-cache.js';
17
+ // Enhanced error handling
18
+ import { globalErrorHandler, createErrorHandler } from './utils/error-handler.js';
19
+ // Reactive state management
20
+ import { createReactiveState, observable, computed, stateUtils } from './state/reactive-state.js';
21
+ // Component lifecycle and events
22
+ import { eventSystem, componentUtils, withLifecycle, createLifecycleHooks } from './components/lifecycle.js';
23
+ // Advanced routingF
24
+ import { createRouter, routeGuards, routeComponents } from './routing/router.js';
25
+ // Form validation and binding
26
+ import { createForm, validationRules, binding, formComponents } from './forms/validation.js';
14
27
  // Streaming capabilities
15
28
  import { createStreamingRenderer, streamingUtils } from './rendering/streaming-renderer.js';
16
29
  // DOM rendering capabilities
17
- import { renderToDOM } from './rendering/dom-renderer.js';
30
+ import { renderToDOM, updateDOM } from './rendering/dom-renderer.js';
18
31
  // Import hydration functions
19
32
  import { hydrate, makeHydratable, autoHydrate, hydrateAll, hydrateBySelector, enableClientEvents } from './client/hydration.js';
20
33
  // Configuration utilities
21
34
  import { createHtmlConfig, createStreamingConfig, createDomConfig, createDevConfig, createProdConfig, validateConfig, mergeConfigs, getConfigPreset, CONFIG_PRESETS } from './rendering/renderer-config.js';
22
35
  // Performance monitoring and optimization
23
36
  import { performanceMonitor } from './performance/monitor.js';
24
- // NOTE: Database functionality moved to @coherentjs/database package
25
- // import { DatabaseManager, ... } from '@coherentjs/database';
26
37
  // Core utilities
27
38
  import { validateComponent, isCoherentObject, extractProps, hasChildren, normalizeChildren, deepClone, mergeProps, getNestedValue, setNestedValue } from './core/object-utils.js';
28
39
  import { escapeHtml, isVoidElement, formatAttributes, minifyHtml } from './core/html-utils.js';
@@ -52,7 +63,23 @@ class Coherent {
52
63
  maxSize: this.options.cacheSize,
53
64
  ttlMs: this.options.cacheTTL
54
65
  });
66
+ // Initialize component cache for advanced caching
67
+ this.componentCache = createComponentCache({
68
+ maxSize: this.options.componentCacheSize || 500,
69
+ defaultTTL: this.options.componentCacheTTL || 300000
70
+ });
71
+ }
72
+ // Initialize reactive state system
73
+ this.state = createReactiveState({}, {
74
+ enableHistory: this.options.enableStateHistory !== false,
75
+ maxHistorySize: this.options.stateHistorySize || 50
76
+ });
77
+ // Initialize router if routing is enabled
78
+ if (this.options.enableRouting) {
79
+ this.router = createRouter(this.options.routerOptions || {});
55
80
  }
81
+ // Initialize global error handler
82
+ this.errorHandler = this.options.errorHandler || globalErrorHandler;
56
83
  // Initialize dev tools in development
57
84
  if (this.options.enableDevTools && typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {
58
85
  this.devTools = new DevTools(this);
@@ -67,7 +94,7 @@ class Coherent {
67
94
  * Primary render method - converts components to HTML
68
95
  */
69
96
  render(component, options = {}) {
70
- const config = { ...this.options, ...options };
97
+ const _config = { ...this.options, ...options };
71
98
  try {
72
99
  const html = renderToString(component, config);
73
100
  // Development debugging
@@ -76,11 +103,11 @@ class Coherent {
76
103
  }
77
104
  return html;
78
105
  }
79
- catch (_error) {
106
+ catch (error) {
80
107
  if (this.devTools) {
81
- this.devTools.logError('render', _error, { component, options });
108
+ this.devTools.logError('render', error, { component, options });
82
109
  }
83
- throw _error;
110
+ throw error;
84
111
  }
85
112
  }
86
113
  /**
@@ -93,7 +120,7 @@ class Coherent {
93
120
  * Batch rendering for multiple components
94
121
  */
95
122
  renderBatch(components, options = {}) {
96
- const config = { ...this.options, ...options };
123
+ const _config = { ...this.options, ...options };
97
124
  try {
98
125
  const results = renderBatch(components, config);
99
126
  if (this.devTools) {
@@ -101,18 +128,18 @@ class Coherent {
101
128
  }
102
129
  return results;
103
130
  }
104
- catch (_error) {
131
+ catch (error) {
105
132
  if (this.devTools) {
106
- this.devTools.logError('renderBatch', _error, { components, options });
133
+ this.devTools.logError('renderBatch', error, { components, options });
107
134
  }
108
- throw _error;
135
+ throw error;
109
136
  }
110
137
  }
111
138
  /**
112
139
  * Streaming render for large components
113
140
  */
114
141
  async *stream(component, options = {}) {
115
- const config = {
142
+ const _config = {
116
143
  ...this.options,
117
144
  ...options,
118
145
  streaming: true
@@ -125,18 +152,18 @@ class Coherent {
125
152
  yield chunk;
126
153
  }
127
154
  }
128
- catch (_error) {
155
+ catch (error) {
129
156
  if (this.devTools) {
130
- this.devTools.logError('stream', _error, { component, options });
157
+ this.devTools.logError('stream', error, { component, options });
131
158
  }
132
- throw _error;
159
+ throw error;
133
160
  }
134
161
  }
135
162
  /**
136
163
  * Create a streaming renderer instance
137
164
  */
138
165
  createStreamingRenderer(options = {}) {
139
- const config = { ...this.options, ...options };
166
+ const _config = { ...this.options, ...options };
140
167
  return createStreamingRenderer(config);
141
168
  }
142
169
  /**
@@ -148,8 +175,8 @@ class Coherent {
148
175
  withState(component, initialState) {
149
176
  return withState(component, initialState);
150
177
  }
151
- withProps(component, props) {
152
- return withProps(component, props);
178
+ withProps(component, _props) {
179
+ return withProps(component, _props);
153
180
  }
154
181
  memo(component, areEqual) {
155
182
  return memo(component, areEqual);
@@ -157,12 +184,106 @@ class Coherent {
157
184
  lazy(componentLoader) {
158
185
  return lazy(componentLoader);
159
186
  }
187
+ /**
188
+ * Component caching and memoization
189
+ */
190
+ memoize(component, keyGenerator, options = {}) {
191
+ return memoize(component, keyGenerator, {
192
+ ...options,
193
+ cache: this.componentCache
194
+ });
195
+ }
196
+ /**
197
+ * Update DOM with virtual DOM diffing
198
+ */
199
+ updateDOM(element, newComponent, componentId = 'default', options = {}) {
200
+ const _config = { ...this.options, ...options };
201
+ return updateDOM(element, newComponent, componentId, config);
202
+ }
203
+ /**
204
+ * Invalidate component cache by dependencies
205
+ */
206
+ invalidateCache(dependencies) {
207
+ if (this.componentCache) {
208
+ if (Array.isArray(dependencies)) {
209
+ return this.componentCache.invalidateMultiple(dependencies);
210
+ }
211
+ else {
212
+ return this.componentCache.invalidate(dependencies);
213
+ }
214
+ }
215
+ return 0;
216
+ }
217
+ /**
218
+ * Reactive state management
219
+ */
220
+ setState(key, value) {
221
+ return this.state.set(key, value);
222
+ }
223
+ getState(key) {
224
+ return this.state.get(key);
225
+ }
226
+ watchState(key, callback, options) {
227
+ return this.state.watch(key, callback, options);
228
+ }
229
+ createComputed(key, getter, options) {
230
+ return this.state.computed(key, getter, options);
231
+ }
232
+ /**
233
+ * Event system
234
+ */
235
+ emit(eventName, data, target) {
236
+ return eventSystem.emit(eventName, data, target);
237
+ }
238
+ on(eventName, handler, componentId) {
239
+ return eventSystem.on(eventName, handler, componentId);
240
+ }
241
+ off(eventName, handler, componentId) {
242
+ return eventSystem.off(eventName, handler, componentId);
243
+ }
244
+ /**
245
+ * Router methods
246
+ */
247
+ navigate(location) {
248
+ if (!this.router) {
249
+ console.warn('Router not initialized. Enable routing in options.');
250
+ return Promise.resolve(false);
251
+ }
252
+ return this.router.push(location);
253
+ }
254
+ getCurrentRoute() {
255
+ return this.router ? this.router.getCurrentRoute() : null;
256
+ }
257
+ addRoutes(routes) {
258
+ if (this.router) {
259
+ this.router.addRoutes(routes);
260
+ }
261
+ }
262
+ /**
263
+ * Form validation
264
+ */
265
+ createForm(schema, options) {
266
+ return createForm(schema, options);
267
+ }
268
+ /**
269
+ * Component lifecycle
270
+ */
271
+ createComponentWithLifecycle(component, options) {
272
+ return componentUtils.createWithLifecycle(component, options);
273
+ }
274
+ /**
275
+ * Error handling
276
+ */
277
+ handleError(error, _context) {
278
+ return this.errorHandler.handle(error, _context);
279
+ }
160
280
  /**
161
281
  * Performance and monitoring
162
282
  */
163
283
  getPerformanceStats() {
164
284
  return {
165
285
  cache: this.cache ? this.cache.getStats() : null,
286
+ componentCache: this.componentCache ? this.componentCache.getStats() : null,
166
287
  monitor: performanceMonitor.getStats(),
167
288
  rendering: getRenderingStats()
168
289
  };
@@ -265,7 +386,7 @@ class Coherent {
265
386
  * Precompilation for static components
266
387
  */
267
388
  precompile(component, options = {}) {
268
- const config = { ...this.options, ...options };
389
+ const _config = { ...this.options, ...options };
269
390
  return precompileComponent(component, config);
270
391
  }
271
392
  /**
@@ -276,8 +397,8 @@ class Coherent {
276
397
  validateComponent(component);
277
398
  return { valid: true };
278
399
  }
279
- catch (_error) {
280
- return { valid: false, _error: _error.message };
400
+ catch (error) {
401
+ return { valid: false, error: error.message };
281
402
  }
282
403
  }
283
404
  isCoherent(obj) {
@@ -330,7 +451,7 @@ class Coherent {
330
451
  export function createCoherent(options = {}) {
331
452
  return new Coherent(options);
332
453
  }
333
- // NOTE: createDatabaseManager moved to @coherentjs/database package
454
+ // NOTE: createDatabaseManager moved to @coherent.js/database package
334
455
  /**
335
456
  * Default instance for quick usage
336
457
  */
@@ -342,20 +463,32 @@ export {
342
463
  // Main class
343
464
  Coherent,
344
465
  // Core rendering
345
- renderToString, renderBatch, renderToChunks, renderWithTiming,
466
+ renderToString, renderHTML, renderHTMLSync, render, renderBatch, renderToChunks, renderWithTiming,
346
467
  // Streaming
347
468
  createStreamingRenderer, streamingUtils,
348
469
  // Client-side rendering and hydration
349
- renderToDOM, hydrate, makeHydratable, autoHydrate, hydrateAll, hydrateBySelector, enableClientEvents,
470
+ renderToDOM, updateDOM, hydrate, makeHydratable, autoHydrate, hydrateAll, hydrateBySelector, enableClientEvents,
350
471
  // Components
351
472
  createComponent, withState, withProps, memo, lazy,
352
- // NOTE: Database functionality moved to @coherentjs/database package
473
+ // NOTE: Database functionality moved to @coherent.js/database package
353
474
  // Utilities
354
475
  validateComponent, isCoherentObject, extractProps, hasChildren, normalizeChildren, deepClone, escapeHtml, isVoidElement, formatAttributes, minifyHtml,
355
476
  // Configuration utilities
356
477
  createHtmlConfig, createStreamingConfig, createDomConfig, createDevConfig, createProdConfig, validateConfig, mergeConfigs, getConfigPreset, CONFIG_PRESETS,
357
- // Performance
358
- performanceMonitor, CacheManager, getCache, resetCache, getRenderingStats,
478
+ // Performance (factory functions preferred)
479
+ performanceMonitor, createComponentCache, createCacheManager, memoize, getCache, resetCache, getRenderingStats,
480
+ // Error Handling (factory functions preferred)
481
+ createErrorHandler, globalErrorHandler,
482
+ // Reactive State (factory functions preferred)
483
+ createReactiveState, observable, computed, stateUtils,
484
+ // Component Lifecycle & Events (factory functions preferred)
485
+ createLifecycleHooks, eventSystem, componentUtils, withLifecycle,
486
+ // Routing (factory functions preferred)
487
+ createRouter, routeGuards, routeComponents,
488
+ // Forms & Validation (factory functions preferred)
489
+ createForm, validationRules, binding, formComponents,
490
+ // CSS Management (factory functions preferred)
491
+ createCSSManager, defaultCSSManager, cssUtils,
359
492
  // Development
360
493
  DevTools };
361
494
  /**
@@ -367,7 +500,6 @@ export const server = {
367
500
  renderBatch,
368
501
  chunk: renderToChunks, // chunking pre-rendered HTML
369
502
  stream: createStreamingRenderer, // true progressive streaming
370
- CacheManager,
371
503
  performanceMonitor
372
504
  };
373
505
  // Component development bundle
@@ -394,12 +526,14 @@ export const utils = {
394
526
  mergeProps,
395
527
  getNestedValue,
396
528
  setNestedValue,
397
- // NOTE: Database functionality moved to @coherentjs/database package
529
+ // CSS utilities
530
+ cssUtils,
531
+ // NOTE: Database functionality moved to @coherent.js/database package
398
532
  };
399
533
  // Performance bundle
400
534
  export const performance = {
401
535
  performanceMonitor,
402
- CacheManager,
536
+ createCacheManager,
403
537
  getCache,
404
538
  resetCache,
405
539
  getRenderingStats
@@ -410,7 +544,6 @@ export const performance = {
410
544
  if (typeof window !== 'undefined') {
411
545
  // Browser environment
412
546
  window.Coherent = Coherent;
413
- window.coherent = coherent;
414
547
  // Add browser-specific optimizations
415
548
  if (typeof window !== 'undefined' && window.requestIdleCallback) {
416
549
  // Use idle time for cache optimization
@@ -1 +1 @@
1
- {"version":3,"file":"coherent.js","sourceRoot":"","sources":["../../../src/coherent.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coherent.js","sourceRoot":"","sources":["../../../src/coherent.js"],"names":[],"mappings":"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"}