@moostjs/vite 0.6.38 → 0.6.39

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
@@ -890,7 +890,6 @@ function moostVite(options) {
890
890
  ssrEntry: options.ssrEntry,
891
891
  serverEntry: options.serverEntry,
892
892
  prefix: prefixes,
893
- port: options.port,
894
893
  ssrOutlet: options.ssrOutlet,
895
894
  ssrState: options.ssrState,
896
895
  ssrHead: options.ssrHead,
package/dist/index.mjs CHANGED
@@ -859,7 +859,6 @@ function moostVite(options) {
859
859
  ssrEntry: options.ssrEntry,
860
860
  serverEntry: options.serverEntry,
861
861
  prefix: prefixes,
862
- port: options.port,
863
862
  ssrOutlet: options.ssrOutlet,
864
863
  ssrState: options.ssrState,
865
864
  ssrHead: options.ssrHead,
@@ -1,4 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ let node_events = require("node:events");
2
3
  let moost = require("moost");
3
4
 
4
5
  //#region packages/vite/src/utils.ts
@@ -81,6 +82,11 @@ const logger = (0, moost.createLogger)({ level: 99 }).createTopic("\x1B[2m\x1B[3
81
82
 
82
83
  //#endregion
83
84
  //#region packages/vite/src/prod-server.ts
85
+ /** URL of the address the server actually bound (wildcard binds print as localhost). */ function serverUrl(server) {
86
+ const addr = server.address();
87
+ if (!addr || typeof addr === "string") return String(addr);
88
+ return `http://${addr.address === "::" || addr.address === "0.0.0.0" ? "localhost" : addr.family === "IPv6" ? `[${addr.address}]` : addr.address}:${addr.port}`;
89
+ }
84
90
  function stripUndefined(obj) {
85
91
  return Object.fromEntries(Object.entries(obj).filter(([, v]) => v !== void 0));
86
92
  }
@@ -135,11 +141,13 @@ async function createSSRServer(options) {
135
141
  use(mw) {
136
142
  userMiddlewares.push(mw);
137
143
  },
138
- async listen(_port) {
144
+ async listen(port, host) {
145
+ if ((port ?? host ?? opts.port ?? opts.host) !== void 0) console.warn("[moost-vite] port/host passed to createSSRServer() or listen() are ignored in dev — set server.port / server.host in vite.config instead.");
139
146
  for (const mw of userMiddlewares) vite.middlewares.use(mw);
140
147
  if (ssrFallback) vite.middlewares.use(ssrFallback);
141
148
  await vite.listen();
142
149
  vite.printUrls();
150
+ return vite.httpServer;
143
151
  }
144
152
  };
145
153
  }
@@ -153,6 +161,7 @@ async function createSSRServer(options) {
153
161
  const prefixes = normalizePrefixes(opts.prefix ?? __MOOST_PREFIX__);
154
162
  const ssrForwarding = opts.ssrFetchForwarding ?? __MOOST_SSR_FORWARDING__ ?? true;
155
163
  const defaultPort = opts.port || Number(process.env.PORT) || 3e3;
164
+ const defaultHost = opts.host ?? process.env.HOST;
156
165
  const template = await fs.readFile(path.resolve(clientDir, "index.html"), "utf8");
157
166
  let render = null;
158
167
  if (__MOOST_SSR_ENTRY__ !== void 0 && !!__MOOST_SSR_ENTRY__) render = (await import(
@@ -228,9 +237,8 @@ async function createSSRServer(options) {
228
237
  use(mw) {
229
238
  userMiddlewares.push(mw);
230
239
  },
231
- async listen(port) {
232
- const p = port || defaultPort;
233
- createHttpServer((req, res) => {
240
+ async listen(port, host) {
241
+ const server = createHttpServer((req, res) => {
234
242
  const url = req.url || "/";
235
243
  let i = 0;
236
244
  const runNext = () => {
@@ -245,9 +253,11 @@ async function createSSRServer(options) {
245
253
  serveStatic(req, res);
246
254
  };
247
255
  runNext();
248
- }).listen(p, () => {
249
- console.log(`Server running at http://localhost:${p}`);
250
256
  });
257
+ server.listen(port || defaultPort, host || defaultHost);
258
+ await (0, node_events.once)(server, "listening");
259
+ console.log(`Server running at ${serverUrl(server)}`);
260
+ return server;
251
261
  }
252
262
  };
253
263
  }
@@ -1,4 +1,5 @@
1
1
  import { IncomingMessage, ServerResponse } from 'node:http';
2
+ import { Server } from 'node:net';
2
3
 
3
4
  /**
4
5
  * The value an SSR `render(url)` function may return. Only `html` is required;
@@ -54,6 +55,8 @@ interface TSSRServerOptions {
54
55
  prefix?: string | string[];
55
56
  /** Override: port number (default: process.env.PORT || 3000) */
56
57
  port?: number;
58
+ /** Override: bind address, e.g. '127.0.0.1' (default: process.env.HOST, else all interfaces) */
59
+ host?: string;
57
60
  /** Override: client build directory (default: 'dist/client') */
58
61
  clientDir?: string;
59
62
  /** Override: HTML placeholder for SSR content */
@@ -75,8 +78,13 @@ interface TSSRServerOptions {
75
78
  interface TSSRServer {
76
79
  /** Add Connect-compatible middleware (runs in both dev and prod) */
77
80
  use(middleware: TMiddleware): void;
78
- /** Start the server */
79
- listen(port?: number): Promise<void>;
81
+ /**
82
+ * Start the server; resolves with the bound server (for `address()` / `close()`)
83
+ * and rejects on a bind error (`EADDRINUSE`, `EACCES`, bad host).
84
+ * `port`/`host` and the matching options apply in production only — in dev,
85
+ * Vite's `server.port`/`server.host` do.
86
+ */
87
+ listen(port?: number, host?: string): Promise<Server>;
80
88
  }
81
89
  declare function createSSRServer(options?: TSSRServerOptions): Promise<TSSRServer>;
82
90
 
@@ -1,3 +1,4 @@
1
+ import { once } from "node:events";
1
2
  import "node:fs";
2
3
  import "node:module";
3
4
  import { createLogger } from "moost";
@@ -82,6 +83,11 @@ const logger = createLogger({ level: 99 }).createTopic("\x1B[2m\x1B[36m" + PLUGI
82
83
 
83
84
  //#endregion
84
85
  //#region packages/vite/src/prod-server.ts
86
+ /** URL of the address the server actually bound (wildcard binds print as localhost). */ function serverUrl(server) {
87
+ const addr = server.address();
88
+ if (!addr || typeof addr === "string") return String(addr);
89
+ return `http://${addr.address === "::" || addr.address === "0.0.0.0" ? "localhost" : addr.family === "IPv6" ? `[${addr.address}]` : addr.address}:${addr.port}`;
90
+ }
85
91
  function stripUndefined(obj) {
86
92
  return Object.fromEntries(Object.entries(obj).filter(([, v]) => v !== void 0));
87
93
  }
@@ -136,11 +142,13 @@ async function createSSRServer(options) {
136
142
  use(mw) {
137
143
  userMiddlewares.push(mw);
138
144
  },
139
- async listen(_port) {
145
+ async listen(port, host) {
146
+ if ((port ?? host ?? opts.port ?? opts.host) !== void 0) console.warn("[moost-vite] port/host passed to createSSRServer() or listen() are ignored in dev — set server.port / server.host in vite.config instead.");
140
147
  for (const mw of userMiddlewares) vite.middlewares.use(mw);
141
148
  if (ssrFallback) vite.middlewares.use(ssrFallback);
142
149
  await vite.listen();
143
150
  vite.printUrls();
151
+ return vite.httpServer;
144
152
  }
145
153
  };
146
154
  }
@@ -154,6 +162,7 @@ async function createSSRServer(options) {
154
162
  const prefixes = normalizePrefixes(opts.prefix ?? __MOOST_PREFIX__);
155
163
  const ssrForwarding = opts.ssrFetchForwarding ?? __MOOST_SSR_FORWARDING__ ?? true;
156
164
  const defaultPort = opts.port || Number(process.env.PORT) || 3e3;
165
+ const defaultHost = opts.host ?? process.env.HOST;
157
166
  const template = await fs.readFile(path.resolve(clientDir, "index.html"), "utf8");
158
167
  let render = null;
159
168
  if (__MOOST_SSR_ENTRY__ !== void 0 && !!__MOOST_SSR_ENTRY__) render = (await import(
@@ -229,9 +238,8 @@ async function createSSRServer(options) {
229
238
  use(mw) {
230
239
  userMiddlewares.push(mw);
231
240
  },
232
- async listen(port) {
233
- const p = port || defaultPort;
234
- createHttpServer((req, res) => {
241
+ async listen(port, host) {
242
+ const server = createHttpServer((req, res) => {
235
243
  const url = req.url || "/";
236
244
  let i = 0;
237
245
  const runNext = () => {
@@ -246,9 +254,11 @@ async function createSSRServer(options) {
246
254
  serveStatic(req, res);
247
255
  };
248
256
  runNext();
249
- }).listen(p, () => {
250
- console.log(`Server running at http://localhost:${p}`);
251
257
  });
258
+ server.listen(port || defaultPort, host || defaultHost);
259
+ await once(server, "listening");
260
+ console.log(`Server running at ${serverUrl(server)}`);
261
+ return server;
252
262
  }
253
263
  };
254
264
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moostjs/vite",
3
- "version": "0.6.38",
3
+ "version": "0.6.39",
4
4
  "description": "Vite Dev plugin for moostjs",
5
5
  "keywords": [
6
6
  "composables",
@@ -58,8 +58,8 @@
58
58
  "peerDependencies": {
59
59
  "sirv": "^3.0.0",
60
60
  "vite": "^8.0.0",
61
- "@moostjs/event-http": "^0.6.38",
62
- "moost": "^0.6.38"
61
+ "@moostjs/event-http": "^0.6.39",
62
+ "moost": "^0.6.39"
63
63
  },
64
64
  "peerDependenciesMeta": {
65
65
  "sirv": {