@@ -6,7 +6,6 @@ import { measureTime } from "@/utils/time-perf";
66import fse from "fs-extra" ;
77import kleur from "kleur" ;
88import { join } from "pathe" ;
9- import { Fragment , h } from "preact" ;
109import { renderToStringAsync } from "preact-render-to-string" ;
1110import type {
1211 AppModule ,
@@ -60,13 +59,24 @@ export async function build() {
6059 api : [ ] ,
6160 } ;
6261
63- let server_entry_module : ServerEntryModule | null = null ;
62+ const server_entry_module = ( await import (
63+ server_site_manifest . entry_server
64+ ) ) as ServerEntryModule ;
6465
65- server_entry_module = ( await import ( server_site_manifest . entry_server ) ) as ServerEntryModule ;
66+ const app_module = ( await import ( server_site_manifest . app_module ) ) as AppModule ;
6667
67- let app_module : AppModule | null = null ;
68+ if ( ! server_entry_module . default ) {
69+ logger . error ( new Error ( "entry-server.{tsx,jsx} should `export default` a valid Component" ) ) ;
70+ process . exit ( 1 ) ;
71+ }
72+
73+ if ( ! app_module . default ) {
74+ logger . error ( new Error ( "App.{tsx,jsx} should `export default` a valid Component" ) ) ;
75+ process . exit ( 1 ) ;
76+ }
6877
69- app_module = ( await import ( server_site_manifest . app_module ) ) as AppModule ;
78+ const AppComponent = app_module . default ;
79+ const ServerEntryComponent = server_entry_module . default ;
7080
7181 // Generating api routes Manifest
7282 const pranx_server_base_path = join ( ".pranx" , "server" ) ;
@@ -289,15 +299,16 @@ export async function build() {
289299 if ( route . rendering_kind === "server-side" ) continue ;
290300
291301 const page_module = ( await import ( route . absolute_module_path ) ) as PageModule ;
302+ const PageComponent = page_module . default ;
292303
293304 if ( route . static_generated_routes . length > 0 ) {
294305 for ( const static_route of route . static_generated_routes ) {
295306 const page_prerendered = await renderToStringAsync (
296- h (
297- server_entry_module ?. default || Fragment ,
298- { } ,
299- h ( app_module . default , { } , h ( page_module . default , static_route . props ) )
300- )
307+ < ServerEntryComponent >
308+ < AppComponent >
309+ < PageComponent { ... static_route . props } />
310+ </ AppComponent >
311+ </ ServerEntryComponent >
301312 ) ;
302313
303314 const html = generate_html_template ( {
@@ -318,11 +329,11 @@ export async function build() {
318329 }
319330
320331 const page_prerendered = await renderToStringAsync (
321- h (
322- server_entry_module ?. default || Fragment ,
323- { } ,
324- h ( app_module . default , { } , h ( page_module . default , route . props , null ) )
325- )
332+ < ServerEntryComponent >
333+ < AppComponent >
334+ < PageComponent { ... route . props } />
335+ </ AppComponent >
336+ </ ServerEntryComponent >
326337 ) ;
327338
328339 const html = generate_html_template ( {
0 commit comments