@moriajs/renderer 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
1
 
2
- > @moriajs/renderer@0.2.0 build C:\Codes\node\2026\github\moriajs\packages\renderer
2
+ > @moriajs/renderer@0.3.1 build C:\Codes\node\2026\github\moriajs\packages\renderer
3
3
  > tsc
4
4
 
package/dist/index.d.ts CHANGED
@@ -54,7 +54,7 @@ export declare function renderToString(component: any, options?: RenderOptions):
54
54
  * hydrate(App, document.getElementById('app')!);
55
55
  * ```
56
56
  */
57
- export declare function hydrate(component: any, container: Element): Promise<void>;
57
+ export declare function hydrate(component: any, container: Element, data?: any): Promise<void>;
58
58
  /**
59
59
  * Get hydration data injected by the server.
60
60
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;IACpC,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,cAAc,CAEhC,SAAS,EAAE,GAAG,EACd,OAAO,GAAE,aAAkB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAuDjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,OAAO,CAEzB,SAAS,EAAE,GAAG,EACd,SAAS,EAAE,OAAO,GACnB,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAM7E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;IACpC,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,cAAc,CAEhC,SAAS,EAAE,GAAG,EACd,OAAO,GAAE,aAAkB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAuDjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,OAAO,CAEzB,SAAS,EAAE,GAAG,EACd,SAAS,EAAE,OAAO,EAClB,IAAI,CAAC,EAAE,GAAG,GACX,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAM7E"}
package/dist/index.js CHANGED
@@ -30,7 +30,7 @@ component, options = {}) {
30
30
  const mModule = await Function('return import("mithril")')();
31
31
  const render = renderModule.default;
32
32
  const m = mModule.default;
33
- const componentHtml = await render(m(component));
33
+ const componentHtml = await render(m(component, { serverData: options.initialData ?? {} }));
34
34
  const metaTags = options.meta
35
35
  ? Object.entries(options.meta)
36
36
  .map(([name, content]) => `<meta name="${name}" content="${content}">`)
@@ -87,10 +87,13 @@ component, options = {}) {
87
87
  */
88
88
  export async function hydrate(
89
89
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
90
- component, container) {
90
+ component, container, data) {
91
91
  const mModule = await import('mithril');
92
92
  const m = mModule.default;
93
- m.mount(container, component);
93
+ // Wrap to pass data as attributes
94
+ m.mount(container, {
95
+ view: () => m(component, { serverData: data ?? {} })
96
+ });
94
97
  }
95
98
  /**
96
99
  * Get hydration data injected by the server.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsBH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;AAChC,8DAA8D;AAC9D,SAAc,EACd,UAAyB,EAAE;IAE3B,mEAAmE;IACnE,MAAM,YAAY,GAAG,MAAO,QAAQ,CAAC,sCAAsC,CAAC,EAAgE,CAAC;IAC7I,MAAM,OAAO,GAAG,MAAO,QAAQ,CAAC,0BAA0B,CAAC,EAAsD,CAAC;IAElH,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC;IACpC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAE1B,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAEjD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI;QACzB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;aACzB,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,eAAe,IAAI,cAAc,OAAO,IAAI,CAAC;aACtE,IAAI,CAAC,QAAQ,CAAC;QACnB,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ;QAChC,CAAC,CAAC,OAAO,CAAC,QAAQ;aACb,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gCAAgC,IAAI,IAAI,CAAC;aACvD,IAAI,CAAC,QAAQ,CAAC;QACnB,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW;QACvC,CAAC,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY;QACpF,CAAC,CAAC,EAAE,CAAC;IAET,gCAAgC;IAChC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC;IAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,sBAAsB,CAAC;IAElE,IAAI,UAAkB,CAAC;IACvB,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QACzB,UAAU,GAAG;YACT,qDAAqD;YACrD,8BAA8B,WAAW,aAAa;SACzD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;SAAM,CAAC;QACJ,UAAU,GAAG,+DAA+D,CAAC;IACjF,CAAC;IAED,OAAO;cACG,OAAO,CAAC,IAAI,IAAI,IAAI;;;;MAI5B,QAAQ;MACR,WAAW;aACJ,OAAO,CAAC,KAAK,IAAI,aAAa;;;oBAGvB,aAAa;MAC3B,eAAe;MACf,UAAU;;QAER,CAAC;AACT,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO;AACzB,8DAA8D;AAC9D,SAAc,EACd,SAAkB;IAElB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAC1B,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC5B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAChC,8DAA8D;QAC9D,OAAQ,MAAc,CAAC,cAA+B,CAAC;IAC3D,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsBH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;AAChC,8DAA8D;AAC9D,SAAc,EACd,UAAyB,EAAE;IAE3B,mEAAmE;IACnE,MAAM,YAAY,GAAG,MAAO,QAAQ,CAAC,sCAAsC,CAAC,EAAgE,CAAC;IAC7I,MAAM,OAAO,GAAG,MAAO,QAAQ,CAAC,0BAA0B,CAAC,EAA2D,CAAC;IAEvH,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC;IACpC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAE1B,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAE5F,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI;QACzB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;aACzB,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,eAAe,IAAI,cAAc,OAAO,IAAI,CAAC;aACtE,IAAI,CAAC,QAAQ,CAAC;QACnB,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ;QAChC,CAAC,CAAC,OAAO,CAAC,QAAQ;aACb,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gCAAgC,IAAI,IAAI,CAAC;aACvD,IAAI,CAAC,QAAQ,CAAC;QACnB,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW;QACvC,CAAC,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY;QACpF,CAAC,CAAC,EAAE,CAAC;IAET,gCAAgC;IAChC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC;IAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,sBAAsB,CAAC;IAElE,IAAI,UAAkB,CAAC;IACvB,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QACzB,UAAU,GAAG;YACT,qDAAqD;YACrD,8BAA8B,WAAW,aAAa;SACzD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;SAAM,CAAC;QACJ,UAAU,GAAG,+DAA+D,CAAC;IACjF,CAAC;IAED,OAAO;cACG,OAAO,CAAC,IAAI,IAAI,IAAI;;;;MAI5B,QAAQ;MACR,WAAW;aACJ,OAAO,CAAC,KAAK,IAAI,aAAa;;;oBAGvB,aAAa;MAC3B,eAAe;MACf,UAAU;;QAER,CAAC;AACT,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO;AACzB,8DAA8D;AAC9D,SAAc,EACd,SAAkB,EAClB,IAAU;IAEV,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAC1B,kCAAkC;IAClC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE;QACf,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;KACvD,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC5B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAChC,8DAA8D;QAC9D,OAAQ,MAAc,CAAC,cAA+B,CAAC;IAC3D,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moriajs/renderer",
3
- "version": "0.2.0",
3
+ "version": "0.3.1",
4
4
  "type": "module",
5
5
  "description": "MoriaJS renderer — Mithril.js SSR/CSR hybrid rendering engine",
6
6
  "main": "./dist/index.js",
package/src/index.ts CHANGED
@@ -50,12 +50,12 @@ export async function renderToString(
50
50
  ): Promise<string> {
51
51
  // mithril-node-render has no type declarations — use string import
52
52
  const renderModule = await (Function('return import("mithril-node-render")')() as Promise<{ default: (vnode: unknown) => Promise<string> }>);
53
- const mModule = await (Function('return import("mithril")')() as Promise<{ default: (tag: unknown) => unknown }>);
53
+ const mModule = await (Function('return import("mithril")')() as Promise<{ default: (tag: any, attrs?: any) => any }>);
54
54
 
55
55
  const render = renderModule.default;
56
56
  const m = mModule.default;
57
57
 
58
- const componentHtml = await render(m(component));
58
+ const componentHtml = await render(m(component, { serverData: options.initialData ?? {} }));
59
59
 
60
60
  const metaTags = options.meta
61
61
  ? Object.entries(options.meta)
@@ -119,11 +119,15 @@ export async function renderToString(
119
119
  export async function hydrate(
120
120
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
121
121
  component: any,
122
- container: Element
122
+ container: Element,
123
+ data?: any
123
124
  ): Promise<void> {
124
125
  const mModule = await import('mithril');
125
126
  const m = mModule.default;
126
- m.mount(container, component);
127
+ // Wrap to pass data as attributes
128
+ m.mount(container, {
129
+ view: () => m(component, { serverData: data ?? {} })
130
+ });
127
131
  }
128
132
 
129
133
  /**