glotfile 0.1.0 → 0.1.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.
- package/dist/server/cli.js +21 -3
- package/dist/server/server.js +20 -2
- package/package.json +1 -1
package/dist/server/cli.js
CHANGED
|
@@ -4189,6 +4189,7 @@ import { serve } from "@hono/node-server";
|
|
|
4189
4189
|
import { fileURLToPath } from "url";
|
|
4190
4190
|
import { dirname as dirname6, join as join7, resolve as resolve8, extname as extname3, sep as sep2 } from "path";
|
|
4191
4191
|
import { readFile, stat } from "fs/promises";
|
|
4192
|
+
import { createServer } from "net";
|
|
4192
4193
|
import open from "open";
|
|
4193
4194
|
async function readFileResponse(absPath) {
|
|
4194
4195
|
try {
|
|
@@ -4236,10 +4237,25 @@ function buildApp(opts) {
|
|
|
4236
4237
|
}
|
|
4237
4238
|
return app;
|
|
4238
4239
|
}
|
|
4239
|
-
function
|
|
4240
|
+
function findAvailablePort(start) {
|
|
4241
|
+
return new Promise((resolveP, reject) => {
|
|
4242
|
+
const probe = createServer();
|
|
4243
|
+
probe.listen(start, "127.0.0.1", () => {
|
|
4244
|
+
probe.close(() => resolveP(start));
|
|
4245
|
+
});
|
|
4246
|
+
probe.on("error", (err) => {
|
|
4247
|
+
if (err.code === "EADDRINUSE") {
|
|
4248
|
+
findAvailablePort(start + 1).then(resolveP, reject);
|
|
4249
|
+
} else {
|
|
4250
|
+
reject(err);
|
|
4251
|
+
}
|
|
4252
|
+
});
|
|
4253
|
+
});
|
|
4254
|
+
}
|
|
4255
|
+
async function startServer(opts) {
|
|
4240
4256
|
const app = buildApp(opts);
|
|
4257
|
+
const port = await findAvailablePort(opts.dev ? DEV_PORT : DEFAULT_PORT);
|
|
4241
4258
|
return new Promise((resolveP) => {
|
|
4242
|
-
const port = opts.dev ? 8787 : 0;
|
|
4243
4259
|
const server = serve({ fetch: app.fetch, hostname: "127.0.0.1", port }, (info) => {
|
|
4244
4260
|
const url = `http://127.0.0.1:${info.port}`;
|
|
4245
4261
|
if (opts.open !== false && !opts.dev) void open(url);
|
|
@@ -4261,7 +4277,7 @@ function backgroundScan(statePath) {
|
|
|
4261
4277
|
console.warn("[scan] failed:", err instanceof Error ? err.message : String(err));
|
|
4262
4278
|
});
|
|
4263
4279
|
}
|
|
4264
|
-
var here, DEFAULT_UI_DIR, MIME;
|
|
4280
|
+
var here, DEFAULT_UI_DIR, MIME, DEFAULT_PORT, DEV_PORT;
|
|
4265
4281
|
var init_server = __esm({
|
|
4266
4282
|
"src/server/server.ts"() {
|
|
4267
4283
|
"use strict";
|
|
@@ -4285,6 +4301,8 @@ var init_server = __esm({
|
|
|
4285
4301
|
".woff2": "font/woff2",
|
|
4286
4302
|
".woff": "font/woff"
|
|
4287
4303
|
};
|
|
4304
|
+
DEFAULT_PORT = 3e3;
|
|
4305
|
+
DEV_PORT = 8787;
|
|
4288
4306
|
}
|
|
4289
4307
|
});
|
|
4290
4308
|
|
package/dist/server/server.js
CHANGED
|
@@ -31,6 +31,7 @@ import { serve } from "@hono/node-server";
|
|
|
31
31
|
import { fileURLToPath } from "url";
|
|
32
32
|
import { dirname as dirname6, join as join7, resolve as resolve7, extname as extname3, sep as sep2 } from "path";
|
|
33
33
|
import { readFile, stat } from "fs/promises";
|
|
34
|
+
import { createServer } from "net";
|
|
34
35
|
import open from "open";
|
|
35
36
|
|
|
36
37
|
// src/server/api.ts
|
|
@@ -3905,10 +3906,27 @@ function buildApp(opts) {
|
|
|
3905
3906
|
}
|
|
3906
3907
|
return app;
|
|
3907
3908
|
}
|
|
3908
|
-
|
|
3909
|
+
var DEFAULT_PORT = 3e3;
|
|
3910
|
+
var DEV_PORT = 8787;
|
|
3911
|
+
function findAvailablePort(start) {
|
|
3912
|
+
return new Promise((resolveP, reject) => {
|
|
3913
|
+
const probe = createServer();
|
|
3914
|
+
probe.listen(start, "127.0.0.1", () => {
|
|
3915
|
+
probe.close(() => resolveP(start));
|
|
3916
|
+
});
|
|
3917
|
+
probe.on("error", (err) => {
|
|
3918
|
+
if (err.code === "EADDRINUSE") {
|
|
3919
|
+
findAvailablePort(start + 1).then(resolveP, reject);
|
|
3920
|
+
} else {
|
|
3921
|
+
reject(err);
|
|
3922
|
+
}
|
|
3923
|
+
});
|
|
3924
|
+
});
|
|
3925
|
+
}
|
|
3926
|
+
async function startServer(opts) {
|
|
3909
3927
|
const app = buildApp(opts);
|
|
3928
|
+
const port = await findAvailablePort(opts.dev ? DEV_PORT : DEFAULT_PORT);
|
|
3910
3929
|
return new Promise((resolveP) => {
|
|
3911
|
-
const port = opts.dev ? 8787 : 0;
|
|
3912
3930
|
const server = serve({ fetch: app.fetch, hostname: "127.0.0.1", port }, (info) => {
|
|
3913
3931
|
const url = `http://127.0.0.1:${info.port}`;
|
|
3914
3932
|
if (opts.open !== false && !opts.dev) void open(url);
|