@coherent.js/express 1.0.0-beta.2 → 1.0.0-beta.5

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.
package/README.md CHANGED
@@ -22,6 +22,24 @@ Peer dependencies:
22
22
  - `express` >= 4.18 < 6
23
23
  - `@coherent.js/core`
24
24
 
25
+
26
+ ## Exports
27
+
28
+ Express.js adapter for Coherent.js
29
+
30
+ ### Modular Imports (Tree-Shakable)
31
+
32
+ - Express integration: `@coherent.js/express`
33
+ - Middleware setup: `@coherent.js/express`
34
+
35
+ ### Example Usage
36
+
37
+ ```javascript
38
+ import { setupCoherent } from '@coherent.js/express';
39
+ import { renderComponent } from '@coherent.js/express';
40
+ ```
41
+
42
+ > **Note**: All exports are tree-shakable. Import only what you need for optimal bundle size.
25
43
  ## Quick start
26
44
 
27
45
  You can use `@coherent.js/core` rendering inside Express handlers.
@@ -2,7 +2,7 @@
2
2
  * Enhanced Express.js integration for Coherent.js
3
3
  * Provides middleware and utilities for using Coherent.js with Express
4
4
  */
5
- import { renderToString, renderHTML } from '../rendering/html-renderer.js';
5
+ import { renderToString } from '../rendering/html-renderer.js';
6
6
  import { performanceMonitor } from '../performance/monitor.js';
7
7
  import { importPeerDependency } from '../utils/dependency-utils.js';
8
8
  /**
@@ -39,9 +39,9 @@ export function coherentMiddleware(options = {}) {
39
39
  res.set('Content-Type', 'text/html');
40
40
  return originalSend.call(this, finalHtml);
41
41
  }
42
- catch (error) {
43
- console.error('Coherent.js rendering error:', error);
44
- return next(error);
42
+ catch (_error) {
43
+ console._error('Coherent.js rendering _error:', _error);
44
+ return next(_error);
45
45
  }
46
46
  }
47
47
  // For non-Coherent.js data, use original send method
@@ -96,9 +96,9 @@ export function createCoherentHandler(componentFactory, options = {}) {
96
96
  res.set('Content-Type', 'text/html');
97
97
  res.send(finalHtml);
98
98
  }
99
- catch (error) {
100
- console.error('Coherent.js handler error:', error);
101
- next(error);
99
+ catch (_error) {
100
+ console._error('Coherent.js handler _error:', _error);
101
+ next(_error);
102
102
  }
103
103
  };
104
104
  }
@@ -112,11 +112,11 @@ export function createCoherentHandler(componentFactory, options = {}) {
112
112
  export function enhancedExpressEngine(filePath, options, callback) {
113
113
  try {
114
114
  // Render Coherent.js component from options
115
- const html = renderHTML(options);
115
+ const html = `<!DOCTYPE html>\n${renderToString(options)}`;
116
116
  callback(null, html);
117
117
  }
118
- catch (error) {
119
- callback(error);
118
+ catch (_error) {
119
+ callback(_error);
120
120
  }
121
121
  }
122
122
  /**
@@ -156,8 +156,8 @@ export async function createExpressIntegration(options = {}) {
156
156
  return app;
157
157
  };
158
158
  }
159
- catch (error) {
160
- throw error;
159
+ catch (_error) {
160
+ throw _error;
161
161
  }
162
162
  }
163
163
  // Export all utilities
@@ -1 +1 @@
1
- {"version":3,"file":"coherent-express.js","sourceRoot":"","sources":["../../../../src/express/coherent-express.js"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAO,GAAG,EAAE;IAC7C,MAAM,EACJ,2BAA2B,GAAG,KAAK,EACnC,QAAQ,GAAG,8BAA8B,EAC1C,GAAG,OAAO,CAAC;IAEZ,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,6BAA6B;QAC7B,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC;QAE9B,qDAAqD;QACrD,GAAG,CAAC,IAAI,GAAG,UAAS,IAAI;YACtB,8EAA8E;YAC9E,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,IAAI,IAAI,CAAC;oBAET,IAAI,2BAA2B,EAAE,CAAC;wBAChC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC;wBAClD,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;wBAC5B,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBACzC,CAAC;yBAAM,CAAC;wBACN,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;oBAC9B,CAAC;oBAED,iBAAiB;oBACjB,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAExD,iCAAiC;oBACjC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;oBACrC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC5C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;oBACrD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YAED,qDAAqD;YACrD,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC,CAAC;QAEF,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,GAAG;IAC3B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,gBAAgB,EAAE,OAAO,GAAG,EAAE;IAClE,MAAM,EACJ,2BAA2B,GAAG,KAAK,EACnC,QAAQ,GAAG,8BAA8B,EAC1C,GAAG,OAAO,CAAC;IAEZ,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,qCAAqC;YACrC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,CACrC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CACjC,CAAC;YAEF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC;YACtE,CAAC;YAED,mBAAmB;YACnB,IAAI,IAAI,CAAC;YACT,IAAI,2BAA2B,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC;gBAClD,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;gBACjC,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;YAED,iBAAiB;YACjB,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAExD,qBAAqB;YACrB,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YACrC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACnD,IAAI,CAAC,KAAK,CAAC,CAAC;QACd,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ;IAC/D,IAAI,CAAC;QACH,4CAA4C;QAC5C,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,EAAE;IACpD,MAAM,EACJ,aAAa,GAAG,IAAI,EACpB,SAAS,GAAG,IAAI,EAChB,UAAU,GAAG,UAAU,EACvB,2BAA2B,GAAG,KAAK,EACpC,GAAG,OAAO,CAAC;IAEZ,2BAA2B;IAC3B,IAAI,SAAS,EAAE,CAAC;QACd,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;QAC9C,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACrC,CAAC;IAED,yCAAyC;IACzC,IAAI,aAAa,EAAE,CAAC;QAClB,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,OAAO,GAAG,EAAE;IACzD,IAAI,CAAC;QACH,8BAA8B;QAC9B,MAAM,oBAAoB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAEpD,OAAO,UAAS,GAAG;YACjB,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC3D,CAAC;YAED,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACnC,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,uBAAuB;AACvB,eAAe;IACb,kBAAkB;IAClB,qBAAqB;IACrB,qBAAqB;IACrB,oBAAoB;IACpB,wBAAwB;CACzB,CAAC"}
1
+ {"version":3,"file":"coherent-express.js","sourceRoot":"","sources":["../../../../src/express/coherent-express.js"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  // src/express/index.js
2
- import { renderHTML } from '../rendering/html-renderer.js';
2
+ import { renderToString } from '../rendering/html-renderer.js';
3
3
  export function expressEngine() {
4
4
  return (filePath, options, callback) => {
5
5
  try {
6
6
  // options contains the Coherent object structure
7
- const html = renderHTML(options);
7
+ const html = `<!DOCTYPE html>\n${renderToString(options)}`;
8
8
  callback(null, html);
9
9
  }
10
- catch (error) {
11
- callback(error);
10
+ catch (_error) {
11
+ callback(_error);
12
12
  }
13
13
  };
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/express/index.js"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,MAAM,UAAU,aAAa;IACzB,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;QACnC,IAAI,CAAC;YACD,iDAAiD;YACjD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;YACjC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACL,CAAC,CAAC;AACN,CAAC;AAED,0BAA0B;AAC1B,MAAM,UAAU,aAAa,CAAC,GAAG;IAC7B,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;IACxC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/express/index.js"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,MAAM,UAAU,aAAa;IACzB,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;QACnC,IAAI,CAAC;YACD,iDAAiD;YACjD,MAAM,IAAI,GAAG,oBAAsB,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACL,CAAC,CAAC;AACN,CAAC;AAED,0BAA0B;AAC1B,MAAM,UAAU,aAAa,CAAC,GAAG;IAC7B,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;IACxC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AACvC,CAAC"}