@voltx/server 0.3.4 → 0.3.7
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 +30 -9
- package/dist/index.d.cts +6 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +20 -9
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
2
3
|
var __defProp = Object.defineProperty;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
5
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
8
|
var __export = (target, all) => {
|
|
7
9
|
for (var name in all)
|
|
@@ -15,6 +17,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
17
|
}
|
|
16
18
|
return to;
|
|
17
19
|
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
18
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
29
|
|
|
20
30
|
// src/index.ts
|
|
@@ -323,7 +333,9 @@ function registerSSR(app, vite, options = {}) {
|
|
|
323
333
|
}
|
|
324
334
|
try {
|
|
325
335
|
let render;
|
|
326
|
-
if (
|
|
336
|
+
if (options.render) {
|
|
337
|
+
render = options.render;
|
|
338
|
+
} else if (vite) {
|
|
327
339
|
const mod = await vite.ssrLoadModule(entryServer);
|
|
328
340
|
render = mod.render;
|
|
329
341
|
} else if (process.env.NODE_ENV === "production") {
|
|
@@ -331,20 +343,29 @@ function registerSSR(app, vite, options = {}) {
|
|
|
331
343
|
const mod = await import(ssrBundlePath);
|
|
332
344
|
render = mod.render;
|
|
333
345
|
} else {
|
|
334
|
-
const
|
|
335
|
-
|
|
346
|
+
const envRecord = c.env;
|
|
347
|
+
const viteFromEnv = envRecord?.vite ?? envRecord?.VITE_DEV_SERVER ?? envRecord?.incoming?.server?.vite;
|
|
348
|
+
if (viteFromEnv?.ssrLoadModule) {
|
|
336
349
|
const mod = await viteFromEnv.ssrLoadModule(entryServer);
|
|
337
350
|
render = mod.render;
|
|
338
351
|
} else if (options.loadModule) {
|
|
339
352
|
const mod = await options.loadModule(entryServer);
|
|
340
353
|
render = mod.render;
|
|
341
354
|
} else {
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
355
|
+
try {
|
|
356
|
+
const { createServer: createViteServer } = await import("vite");
|
|
357
|
+
const devServer = await createViteServer({
|
|
358
|
+
server: { middlewareMode: true },
|
|
359
|
+
appType: "custom",
|
|
360
|
+
optimizeDeps: { disabled: true }
|
|
361
|
+
});
|
|
362
|
+
const mod = await devServer.ssrLoadModule(entryServer);
|
|
363
|
+
render = mod.render;
|
|
364
|
+
} catch {
|
|
365
|
+
throw new Error(
|
|
366
|
+
`[voltx] Cannot load "${entryServer}" \u2014 Node.js cannot import .tsx files directly. Ensure @hono/vite-dev-server is configured or pass a loadModule/render option to registerSSR().`
|
|
367
|
+
);
|
|
368
|
+
}
|
|
348
369
|
}
|
|
349
370
|
}
|
|
350
371
|
const appStream = await render(url);
|
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 (
|
|
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") {
|
|
@@ -295,20 +297,29 @@ function registerSSR(app, vite, options = {}) {
|
|
|
295
297
|
const mod = await import(ssrBundlePath);
|
|
296
298
|
render = mod.render;
|
|
297
299
|
} else {
|
|
298
|
-
const
|
|
299
|
-
|
|
300
|
+
const envRecord = c.env;
|
|
301
|
+
const viteFromEnv = envRecord?.vite ?? envRecord?.VITE_DEV_SERVER ?? envRecord?.incoming?.server?.vite;
|
|
302
|
+
if (viteFromEnv?.ssrLoadModule) {
|
|
300
303
|
const mod = await viteFromEnv.ssrLoadModule(entryServer);
|
|
301
304
|
render = mod.render;
|
|
302
305
|
} else if (options.loadModule) {
|
|
303
306
|
const mod = await options.loadModule(entryServer);
|
|
304
307
|
render = mod.render;
|
|
305
308
|
} else {
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
309
|
+
try {
|
|
310
|
+
const { createServer: createViteServer } = await import("vite");
|
|
311
|
+
const devServer = await createViteServer({
|
|
312
|
+
server: { middlewareMode: true },
|
|
313
|
+
appType: "custom",
|
|
314
|
+
optimizeDeps: { disabled: true }
|
|
315
|
+
});
|
|
316
|
+
const mod = await devServer.ssrLoadModule(entryServer);
|
|
317
|
+
render = mod.render;
|
|
318
|
+
} catch {
|
|
319
|
+
throw new Error(
|
|
320
|
+
`[voltx] Cannot load "${entryServer}" \u2014 Node.js cannot import .tsx files directly. Ensure @hono/vite-dev-server is configured or pass a loadModule/render option to registerSSR().`
|
|
321
|
+
);
|
|
322
|
+
}
|
|
312
323
|
}
|
|
313
324
|
}
|
|
314
325
|
const appStream = await render(url);
|
package/package.json
CHANGED