@voltx/server 0.3.4 → 0.3.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/dist/index.cjs CHANGED
@@ -323,7 +323,9 @@ function registerSSR(app, vite, options = {}) {
323
323
  }
324
324
  try {
325
325
  let render;
326
- if (vite) {
326
+ if (options.render) {
327
+ render = options.render;
328
+ } else if (vite) {
327
329
  const mod = await vite.ssrLoadModule(entryServer);
328
330
  render = mod.render;
329
331
  } else if (process.env.NODE_ENV === "production") {
@@ -332,7 +334,7 @@ function registerSSR(app, vite, options = {}) {
332
334
  render = mod.render;
333
335
  } else {
334
336
  const viteFromEnv = c.env?.vite;
335
- if (viteFromEnv) {
337
+ if (viteFromEnv?.ssrLoadModule) {
336
338
  const mod = await viteFromEnv.ssrLoadModule(entryServer);
337
339
  render = mod.render;
338
340
  } else if (options.loadModule) {
package/dist/index.d.cts CHANGED
@@ -190,6 +190,12 @@ interface SSROptions {
190
190
  * Example: `loadModule: (path) => import(path)`
191
191
  */
192
192
  loadModule?: (path: string) => Promise<Record<string, unknown>>;
193
+ /**
194
+ * Pre-loaded render function. When provided, skips all module loading
195
+ * and uses this function directly. Useful when the caller imports the
196
+ * entry-server module themselves (e.g. in Vite-processed server.ts).
197
+ */
198
+ render?: (url: string) => Promise<ReadableStream>;
193
199
  }
194
200
  /** Vite dev server shape — minimal interface to avoid hard dep on vite */
195
201
  interface ViteDevServer {
package/dist/index.d.ts CHANGED
@@ -190,6 +190,12 @@ interface SSROptions {
190
190
  * Example: `loadModule: (path) => import(path)`
191
191
  */
192
192
  loadModule?: (path: string) => Promise<Record<string, unknown>>;
193
+ /**
194
+ * Pre-loaded render function. When provided, skips all module loading
195
+ * and uses this function directly. Useful when the caller imports the
196
+ * entry-server module themselves (e.g. in Vite-processed server.ts).
197
+ */
198
+ render?: (url: string) => Promise<ReadableStream>;
193
199
  }
194
200
  /** Vite dev server shape — minimal interface to avoid hard dep on vite */
195
201
  interface ViteDevServer {
package/dist/index.js CHANGED
@@ -287,7 +287,9 @@ function registerSSR(app, vite, options = {}) {
287
287
  }
288
288
  try {
289
289
  let render;
290
- if (vite) {
290
+ if (options.render) {
291
+ render = options.render;
292
+ } else if (vite) {
291
293
  const mod = await vite.ssrLoadModule(entryServer);
292
294
  render = mod.render;
293
295
  } else if (process.env.NODE_ENV === "production") {
@@ -296,7 +298,7 @@ function registerSSR(app, vite, options = {}) {
296
298
  render = mod.render;
297
299
  } else {
298
300
  const viteFromEnv = c.env?.vite;
299
- if (viteFromEnv) {
301
+ if (viteFromEnv?.ssrLoadModule) {
300
302
  const mod = await viteFromEnv.ssrLoadModule(entryServer);
301
303
  render = mod.render;
302
304
  } else if (options.loadModule) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voltx/server",
3
- "version": "0.3.4",
3
+ "version": "0.3.5",
4
4
  "description": "VoltX Server — Hono-based HTTP server with file-based routing, SSE streaming, and static file serving",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",