@coherent.js/core 1.0.0-beta.2

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 (116) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +130 -0
  3. package/dist/coherent.d.ts +472 -0
  4. package/dist/coherent.d.ts.map +1 -0
  5. package/dist/coherent.js +590 -0
  6. package/dist/coherent.js.map +1 -0
  7. package/dist/components/component-system.d.ts +1138 -0
  8. package/dist/components/component-system.d.ts.map +1 -0
  9. package/dist/components/component-system.js +2220 -0
  10. package/dist/components/component-system.js.map +1 -0
  11. package/dist/components/lifecycle.d.ts +212 -0
  12. package/dist/components/lifecycle.d.ts.map +1 -0
  13. package/dist/components/lifecycle.js +525 -0
  14. package/dist/components/lifecycle.js.map +1 -0
  15. package/dist/core/html-utils.d.ts +14 -0
  16. package/dist/core/html-utils.d.ts.map +1 -0
  17. package/dist/core/html-utils.js +166 -0
  18. package/dist/core/html-utils.js.map +1 -0
  19. package/dist/core/object-factory.d.ts +38 -0
  20. package/dist/core/object-factory.d.ts.map +1 -0
  21. package/dist/core/object-factory.js +63 -0
  22. package/dist/core/object-factory.js.map +1 -0
  23. package/dist/core/object-utils.d.ts +77 -0
  24. package/dist/core/object-utils.d.ts.map +1 -0
  25. package/dist/core/object-utils.js +502 -0
  26. package/dist/core/object-utils.js.map +1 -0
  27. package/dist/dev/dev-tools.d.ts +194 -0
  28. package/dist/dev/dev-tools.d.ts.map +1 -0
  29. package/dist/dev/dev-tools.js +846 -0
  30. package/dist/dev/dev-tools.js.map +1 -0
  31. package/dist/forms/validation.d.ts +271 -0
  32. package/dist/forms/validation.d.ts.map +1 -0
  33. package/dist/forms/validation.js +573 -0
  34. package/dist/forms/validation.js.map +1 -0
  35. package/dist/index.cjs +5281 -0
  36. package/dist/index.cjs.map +7 -0
  37. package/dist/index.js +5204 -0
  38. package/dist/index.js.map +7 -0
  39. package/dist/performance/bundle-optimizer.d.ts +95 -0
  40. package/dist/performance/bundle-optimizer.d.ts.map +1 -0
  41. package/dist/performance/bundle-optimizer.js +192 -0
  42. package/dist/performance/bundle-optimizer.js.map +1 -0
  43. package/dist/performance/cache-manager.d.ts +107 -0
  44. package/dist/performance/cache-manager.d.ts.map +1 -0
  45. package/dist/performance/cache-manager.js +314 -0
  46. package/dist/performance/cache-manager.js.map +1 -0
  47. package/dist/performance/component-cache.d.ts +120 -0
  48. package/dist/performance/component-cache.d.ts.map +1 -0
  49. package/dist/performance/component-cache.js +364 -0
  50. package/dist/performance/component-cache.js.map +1 -0
  51. package/dist/performance/monitor.d.ts +189 -0
  52. package/dist/performance/monitor.d.ts.map +1 -0
  53. package/dist/performance/monitor.js +347 -0
  54. package/dist/performance/monitor.js.map +1 -0
  55. package/dist/rendering/base-renderer.d.ts +140 -0
  56. package/dist/rendering/base-renderer.d.ts.map +1 -0
  57. package/dist/rendering/base-renderer.js +409 -0
  58. package/dist/rendering/base-renderer.js.map +1 -0
  59. package/dist/rendering/css-manager.d.ts +73 -0
  60. package/dist/rendering/css-manager.d.ts.map +1 -0
  61. package/dist/rendering/css-manager.js +176 -0
  62. package/dist/rendering/css-manager.js.map +1 -0
  63. package/dist/rendering/dom-renderer.d.ts +62 -0
  64. package/dist/rendering/dom-renderer.d.ts.map +1 -0
  65. package/dist/rendering/dom-renderer.js +252 -0
  66. package/dist/rendering/dom-renderer.js.map +1 -0
  67. package/dist/rendering/html-renderer.d.ts +67 -0
  68. package/dist/rendering/html-renderer.d.ts.map +1 -0
  69. package/dist/rendering/html-renderer.js +444 -0
  70. package/dist/rendering/html-renderer.js.map +1 -0
  71. package/dist/rendering/renderer-config.d.ts +282 -0
  72. package/dist/rendering/renderer-config.d.ts.map +1 -0
  73. package/dist/rendering/renderer-config.js +144 -0
  74. package/dist/rendering/renderer-config.js.map +1 -0
  75. package/dist/rendering/streaming-renderer.d.ts +117 -0
  76. package/dist/rendering/streaming-renderer.d.ts.map +1 -0
  77. package/dist/rendering/streaming-renderer.js +326 -0
  78. package/dist/rendering/streaming-renderer.js.map +1 -0
  79. package/dist/rendering/vdom-diff.d.ts +47 -0
  80. package/dist/rendering/vdom-diff.d.ts.map +1 -0
  81. package/dist/rendering/vdom-diff.js +416 -0
  82. package/dist/rendering/vdom-diff.js.map +1 -0
  83. package/dist/routing/router.d.ts +241 -0
  84. package/dist/routing/router.d.ts.map +1 -0
  85. package/dist/routing/router.js +648 -0
  86. package/dist/routing/router.js.map +1 -0
  87. package/dist/state/reactive-state.d.ts +166 -0
  88. package/dist/state/reactive-state.d.ts.map +1 -0
  89. package/dist/state/reactive-state.js +546 -0
  90. package/dist/state/reactive-state.js.map +1 -0
  91. package/dist/state/state-manager.d.ts +45 -0
  92. package/dist/state/state-manager.d.ts.map +1 -0
  93. package/dist/state/state-manager.js +151 -0
  94. package/dist/state/state-manager.js.map +1 -0
  95. package/dist/types/constants.d.ts +8 -0
  96. package/dist/types/constants.d.ts.map +1 -0
  97. package/dist/types/constants.js +36 -0
  98. package/dist/types/constants.js.map +1 -0
  99. package/dist/utils/dependency-utils.d.ts +43 -0
  100. package/dist/utils/dependency-utils.d.ts.map +1 -0
  101. package/dist/utils/dependency-utils.js +105 -0
  102. package/dist/utils/dependency-utils.js.map +1 -0
  103. package/dist/utils/error-handler.d.ts +148 -0
  104. package/dist/utils/error-handler.d.ts.map +1 -0
  105. package/dist/utils/error-handler.js +468 -0
  106. package/dist/utils/error-handler.js.map +1 -0
  107. package/dist/utils/normalization.d.ts +3 -0
  108. package/dist/utils/normalization.d.ts.map +1 -0
  109. package/dist/utils/normalization.js +24 -0
  110. package/dist/utils/normalization.js.map +1 -0
  111. package/dist/utils/validation.d.ts +10 -0
  112. package/dist/utils/validation.d.ts.map +1 -0
  113. package/dist/utils/validation.js +32 -0
  114. package/dist/utils/validation.js.map +1 -0
  115. package/package.json +44 -0
  116. package/types/index.d.ts +734 -0
@@ -0,0 +1,590 @@
1
+ /**
2
+ * Coherent.js - Object-Based Rendering Framework
3
+ * A pure JavaScript framework for server-side and client-side rendering
4
+ * using natural object syntax without function wrappers like h() or m()
5
+ *
6
+ * @version 1.0.0
7
+ * @author Coherent Framework Team
8
+ * @license MIT
9
+ */
10
+ // Core rendering engine
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';
14
+ // Cache management
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';
27
+ // Streaming capabilities
28
+ import { createStreamingRenderer, streamingUtils } from './rendering/streaming-renderer.js';
29
+ // DOM rendering capabilities
30
+ import { renderToDOM, updateDOM } from './rendering/dom-renderer.js';
31
+ // Import hydration functions
32
+ import { hydrate, makeHydratable, autoHydrate, hydrateAll, hydrateBySelector, enableClientEvents } from './client/hydration.js';
33
+ // Configuration utilities
34
+ import { createHtmlConfig, createStreamingConfig, createDomConfig, createDevConfig, createProdConfig, validateConfig, mergeConfigs, getConfigPreset, CONFIG_PRESETS } from './rendering/renderer-config.js';
35
+ // Performance monitoring and optimization
36
+ import { performanceMonitor } from './performance/monitor.js';
37
+ // Core utilities
38
+ import { validateComponent, isCoherentObject, extractProps, hasChildren, normalizeChildren, deepClone, mergeProps, getNestedValue, setNestedValue } from './core/object-utils.js';
39
+ import { escapeHtml, isVoidElement, formatAttributes, minifyHtml } from './core/html-utils.js';
40
+ // Component system
41
+ import { createComponent, withState, withProps, memo, lazy } from './components/component-system.js';
42
+ // Development tools
43
+ import { DevTools } from './dev/dev-tools.js';
44
+ /**
45
+ * Main Coherent Framework Class
46
+ * Provides a unified interface to all framework capabilities
47
+ */
48
+ class Coherent {
49
+ constructor(options = {}) {
50
+ this.options = {
51
+ enableCache: options.enableCache !== false,
52
+ enableMonitoring: options.enableMonitoring !== false,
53
+ enableDevTools: options.enableDevTools !== false,
54
+ cacheSize: options.cacheSize || 1000,
55
+ cacheTTL: options.cacheTTL || 300000, // 5 minutes
56
+ maxDepth: options.maxDepth || 100,
57
+ minify: options.minify || false,
58
+ ...options
59
+ };
60
+ // Initialize cache if enabled
61
+ if (this.options.enableCache) {
62
+ this.cache = createCacheManager({
63
+ maxSize: this.options.cacheSize,
64
+ ttlMs: this.options.cacheTTL
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 || {});
80
+ }
81
+ // Initialize global error handler
82
+ this.errorHandler = this.options.errorHandler || globalErrorHandler;
83
+ // Initialize dev tools in development
84
+ if (this.options.enableDevTools && typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {
85
+ this.devTools = new DevTools(this);
86
+ }
87
+ // Bind methods to maintain context
88
+ this.render = this.render.bind(this);
89
+ this.renderToString = this.renderToString.bind(this);
90
+ this.renderBatch = this.renderBatch.bind(this);
91
+ this.stream = this.stream.bind(this);
92
+ }
93
+ /**
94
+ * Primary render method - converts components to HTML
95
+ */
96
+ render(component, options = {}) {
97
+ const _config = { ...this.options, ...options };
98
+ try {
99
+ const html = renderToString(component, config);
100
+ // Development debugging
101
+ if (this.devTools) {
102
+ this.devTools.logRender(component, html, config);
103
+ }
104
+ return html;
105
+ }
106
+ catch (error) {
107
+ if (this.devTools) {
108
+ this.devTools.logError('render', error, { component, options });
109
+ }
110
+ throw error;
111
+ }
112
+ }
113
+ /**
114
+ * Alias for render method (for clarity)
115
+ */
116
+ renderToString(component, options = {}) {
117
+ return this.render(component, options);
118
+ }
119
+ /**
120
+ * Batch rendering for multiple components
121
+ */
122
+ renderBatch(components, options = {}) {
123
+ const _config = { ...this.options, ...options };
124
+ try {
125
+ const results = renderBatch(components, config);
126
+ if (this.devTools) {
127
+ this.devTools.logBatchRender(components, results, config);
128
+ }
129
+ return results;
130
+ }
131
+ catch (error) {
132
+ if (this.devTools) {
133
+ this.devTools.logError('renderBatch', error, { components, options });
134
+ }
135
+ throw error;
136
+ }
137
+ }
138
+ /**
139
+ * Streaming render for large components
140
+ */
141
+ async *stream(component, options = {}) {
142
+ const _config = {
143
+ ...this.options,
144
+ ...options,
145
+ streaming: true
146
+ };
147
+ try {
148
+ for await (const chunk of renderToStream(component, config)) {
149
+ if (this.devTools) {
150
+ this.devTools.logStreamChunk(chunk);
151
+ }
152
+ yield chunk;
153
+ }
154
+ }
155
+ catch (error) {
156
+ if (this.devTools) {
157
+ this.devTools.logError('stream', error, { component, options });
158
+ }
159
+ throw error;
160
+ }
161
+ }
162
+ /**
163
+ * Create a streaming renderer instance
164
+ */
165
+ createStreamingRenderer(options = {}) {
166
+ const _config = { ...this.options, ...options };
167
+ return createStreamingRenderer(config);
168
+ }
169
+ /**
170
+ * Component creation helpers
171
+ */
172
+ createComponent(definition) {
173
+ return createComponent(definition);
174
+ }
175
+ withState(component, initialState) {
176
+ return withState(component, initialState);
177
+ }
178
+ withProps(component, _props) {
179
+ return withProps(component, _props);
180
+ }
181
+ memo(component, areEqual) {
182
+ return memo(component, areEqual);
183
+ }
184
+ lazy(componentLoader) {
185
+ return lazy(componentLoader);
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
+ }
280
+ /**
281
+ * Performance and monitoring
282
+ */
283
+ getPerformanceStats() {
284
+ return {
285
+ cache: this.cache ? this.cache.getStats() : null,
286
+ componentCache: this.componentCache ? this.componentCache.getStats() : null,
287
+ monitor: performanceMonitor.getStats(),
288
+ rendering: getRenderingStats()
289
+ };
290
+ }
291
+ getPerformanceRecommendations() {
292
+ const stats = this.getPerformanceStats();
293
+ const recommendations = [];
294
+ // Cache recommendations
295
+ if (stats.cache && stats.cache.hitRate < 50) {
296
+ recommendations.push({
297
+ type: 'cache',
298
+ priority: 'HIGH',
299
+ suggestion: 'Consider increasing cache size or enabling component-level caching',
300
+ impact: 'Major performance improvement for repeated renders',
301
+ details: `Current hit rate: ${stats.cache.hitRate}%`
302
+ });
303
+ }
304
+ // Hot path recommendations
305
+ if (this.cache) {
306
+ const hotPaths = this.cache.getHotPathElements(10);
307
+ hotPaths.forEach(({ tagName, count }) => {
308
+ recommendations.push({
309
+ type: 'static-cache',
310
+ priority: 'MEDIUM',
311
+ suggestion: `Consider static caching for: ${tagName}`,
312
+ impact: 'Significant performance improvement for hot paths',
313
+ details: `Rendered ${count} times, good candidate for static caching`
314
+ });
315
+ });
316
+ }
317
+ // Memory recommendations
318
+ if (stats.monitor && stats.monitor.avgRenderTime > 10) {
319
+ recommendations.push({
320
+ type: 'optimization',
321
+ priority: 'MEDIUM',
322
+ suggestion: 'Consider component memoization or precompilation',
323
+ impact: 'Reduced render times and better user experience',
324
+ details: `Average render time: ${stats.monitor.avgRenderTime}ms`
325
+ });
326
+ }
327
+ return recommendations;
328
+ }
329
+ /**
330
+ * Development and debugging tools
331
+ */
332
+ enableDevMode() {
333
+ if (!this.devTools) {
334
+ this.devTools = new DevTools(this);
335
+ }
336
+ this.options.enableDevTools = true;
337
+ return this;
338
+ }
339
+ disableDevMode() {
340
+ this.options.enableDevTools = false;
341
+ this.devTools = null;
342
+ return this;
343
+ }
344
+ benchmark(component, iterations = 1000) {
345
+ console.time('Coherent Benchmark');
346
+ for (let i = 0; i < iterations; i++) {
347
+ this.render(component, { enableMonitoring: false });
348
+ }
349
+ console.timeEnd('Coherent Benchmark');
350
+ const stats = this.getPerformanceStats();
351
+ console.log(`\n📊 Benchmark Results (${iterations} iterations):`);
352
+ console.log(`Average render time: ${stats.monitor.avgRenderTime}ms`);
353
+ console.log(`Cache hit rate: ${stats.cache ? stats.cache.hitRate : 0}%`);
354
+ return stats;
355
+ }
356
+ /**
357
+ * Cache management
358
+ */
359
+ clearCache() {
360
+ if (this.cache) {
361
+ this.cache.clear();
362
+ return true;
363
+ }
364
+ return false;
365
+ }
366
+ getCacheStats() {
367
+ if (!this.cache) {
368
+ return {
369
+ enabled: false,
370
+ size: 0,
371
+ hits: 0,
372
+ misses: 0,
373
+ hitRate: 0
374
+ };
375
+ }
376
+ return this.cache.getStats();
377
+ }
378
+ optimizeCache() {
379
+ if (this.cache) {
380
+ this.cache.cleanup();
381
+ return true;
382
+ }
383
+ return false;
384
+ }
385
+ /**
386
+ * Precompilation for static components
387
+ */
388
+ precompile(component, options = {}) {
389
+ const _config = { ...this.options, ...options };
390
+ return precompileComponent(component, config);
391
+ }
392
+ /**
393
+ * Validation helpers
394
+ */
395
+ validate(component) {
396
+ try {
397
+ validateComponent(component);
398
+ return { valid: true };
399
+ }
400
+ catch (error) {
401
+ return { valid: false, error: error.message };
402
+ }
403
+ }
404
+ isCoherent(obj) {
405
+ return isCoherentObject(obj);
406
+ }
407
+ /**
408
+ * Utility methods
409
+ */
410
+ clone(obj) {
411
+ return deepClone(obj);
412
+ }
413
+ merge(obj1, obj2) {
414
+ return mergeProps(obj1, obj2);
415
+ }
416
+ extract(element) {
417
+ return extractProps(element);
418
+ }
419
+ normalize(children) {
420
+ return normalizeChildren(children);
421
+ }
422
+ escape(text) {
423
+ return escapeHtml(text);
424
+ }
425
+ /**
426
+ * Framework information
427
+ */
428
+ getVersion() {
429
+ return '1.0.0';
430
+ }
431
+ getInfo() {
432
+ return {
433
+ name: 'Coherent.js',
434
+ version: this.getVersion(),
435
+ description: 'Object-based rendering framework',
436
+ features: [
437
+ 'Pure object syntax',
438
+ 'Server-side rendering',
439
+ 'Performance monitoring',
440
+ 'Intelligent caching',
441
+ 'Streaming support',
442
+ 'Development tools'
443
+ ],
444
+ stats: this.getPerformanceStats()
445
+ };
446
+ }
447
+ }
448
+ /**
449
+ * Convenience function to create a Coherent instance
450
+ */
451
+ export function createCoherent(options = {}) {
452
+ return new Coherent(options);
453
+ }
454
+ // NOTE: createDatabaseManager moved to @coherent.js/database package
455
+ /**
456
+ * Default instance for quick usage
457
+ */
458
+ export const coherent = new Coherent();
459
+ /**
460
+ * Named exports for specific functionality
461
+ */
462
+ export {
463
+ // Main class
464
+ Coherent,
465
+ // Core rendering
466
+ renderToString, renderHTML, renderHTMLSync, render, renderBatch, renderToChunks, renderWithTiming,
467
+ // Streaming
468
+ createStreamingRenderer, streamingUtils,
469
+ // Client-side rendering and hydration
470
+ renderToDOM, updateDOM, hydrate, makeHydratable, autoHydrate, hydrateAll, hydrateBySelector, enableClientEvents,
471
+ // Components
472
+ createComponent, withState, withProps, memo, lazy,
473
+ // NOTE: Database functionality moved to @coherent.js/database package
474
+ // Utilities
475
+ validateComponent, isCoherentObject, extractProps, hasChildren, normalizeChildren, deepClone, escapeHtml, isVoidElement, formatAttributes, minifyHtml,
476
+ // Configuration utilities
477
+ createHtmlConfig, createStreamingConfig, createDomConfig, createDevConfig, createProdConfig, validateConfig, mergeConfigs, getConfigPreset, CONFIG_PRESETS,
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,
492
+ // Development
493
+ DevTools };
494
+ /**
495
+ * Export specific module bundles for different use cases
496
+ */
497
+ // Server-side rendering bundle
498
+ export const server = {
499
+ render: renderToString,
500
+ renderBatch,
501
+ chunk: renderToChunks, // chunking pre-rendered HTML
502
+ stream: createStreamingRenderer, // true progressive streaming
503
+ performanceMonitor
504
+ };
505
+ // Component development bundle
506
+ export const components = {
507
+ createComponent,
508
+ withState,
509
+ withProps,
510
+ memo,
511
+ lazy,
512
+ validateComponent,
513
+ isCoherentObject
514
+ };
515
+ // Utilities bundle - Pure JS object approach
516
+ export const utils = {
517
+ // Core utilities
518
+ extractProps,
519
+ hasChildren,
520
+ normalizeChildren,
521
+ deepClone,
522
+ escapeHtml,
523
+ isVoidElement,
524
+ formatAttributes,
525
+ minifyHtml,
526
+ mergeProps,
527
+ getNestedValue,
528
+ setNestedValue,
529
+ // CSS utilities
530
+ cssUtils,
531
+ // NOTE: Database functionality moved to @coherent.js/database package
532
+ };
533
+ // Performance bundle
534
+ export const performance = {
535
+ performanceMonitor,
536
+ createCacheManager,
537
+ getCache,
538
+ resetCache,
539
+ getRenderingStats
540
+ };
541
+ /**
542
+ * Browser compatibility check
543
+ */
544
+ if (typeof window !== 'undefined') {
545
+ // Browser environment
546
+ window.Coherent = Coherent;
547
+ // Add browser-specific optimizations
548
+ if (typeof window !== 'undefined' && window.requestIdleCallback) {
549
+ // Use idle time for cache optimization
550
+ const optimizeInIdle = () => {
551
+ if (coherent.cache) {
552
+ coherent.cache.optimize('component');
553
+ }
554
+ };
555
+ window.requestIdleCallback(optimizeInIdle);
556
+ }
557
+ }
558
+ /**
559
+ * Node.js environment setup
560
+ */
561
+ if (typeof process !== 'undefined' && process.versions && process.versions.node) {
562
+ // Node.js environment
563
+ // Graceful cleanup on exit
564
+ process.on('exit', () => {
565
+ if (coherent.cache) {
566
+ coherent.cache.destroy();
567
+ }
568
+ });
569
+ // Performance monitoring in development
570
+ if (process.env.NODE_ENV === 'development') {
571
+ coherent.enableDevMode();
572
+ }
573
+ }
574
+ /**
575
+ * Version and build information
576
+ */
577
+ export const VERSION = '1.0.0';
578
+ export const BUILD_DATE = new Date().toISOString();
579
+ export const FEATURES = [
580
+ 'object-syntax',
581
+ 'server-rendering',
582
+ 'streaming',
583
+ 'caching',
584
+ 'monitoring',
585
+ 'components',
586
+ 'dev-tools'
587
+ ].join(',');
588
+ // Single default export
589
+ export default Coherent;
590
+ //# sourceMappingURL=coherent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coherent.js","sourceRoot":"","sources":["../../../src/coherent.js"],"names":[],"mappings":"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"}