@satorijs/satori
Advanced tools
Comparing version 3.0.0-rc.2 to 3.0.0
116
lib/index.js
@@ -40,39 +40,2 @@ var __create = Object.create; | ||
var import_cosmokit3 = require("cosmokit"); | ||
// satori/packages/satori/src/listen.ts | ||
var import_net = __toESM(require("net")); | ||
function listen({ host, port, maxPort = port }) { | ||
const server = import_net.default.createServer(); | ||
return new Promise((resolve, reject) => { | ||
function onListen() { | ||
server.off("error", onError); | ||
server.close((err) => { | ||
err ? reject(err) : resolve(port); | ||
}); | ||
} | ||
__name(onListen, "onListen"); | ||
function onError(err) { | ||
server.off("listening", onListen); | ||
if (!(err.code === "EADDRINUSE" || err.code === "EACCES")) { | ||
return reject(err); | ||
} | ||
port++; | ||
if (port > maxPort) { | ||
return reject(new Error("No open ports available")); | ||
} | ||
testPort(); | ||
} | ||
__name(onError, "onError"); | ||
function testPort() { | ||
server.once("error", onError); | ||
server.once("listening", onListen); | ||
server.listen(port, host); | ||
} | ||
__name(testPort, "testPort"); | ||
testPort(); | ||
}); | ||
} | ||
__name(listen, "listen"); | ||
// satori/packages/satori/src/index.ts | ||
__reExport(src_exports, require("@satorijs/core"), module.exports); | ||
@@ -142,2 +105,40 @@ __reExport(src_exports, require("cosmokit"), module.exports); | ||
var import_koa = __toESM(require("koa")); | ||
// satori/packages/satori/src/listen.ts | ||
var import_net = __toESM(require("net")); | ||
function listen({ host, port, maxPort = port }) { | ||
const server = import_net.default.createServer(); | ||
return new Promise((resolve, reject) => { | ||
function onListen() { | ||
server.off("error", onError); | ||
server.close((err) => { | ||
err ? reject(err) : resolve(port); | ||
}); | ||
} | ||
__name(onListen, "onListen"); | ||
function onError(err) { | ||
server.off("listening", onListen); | ||
if (!(err.code === "EADDRINUSE" || err.code === "EACCES")) { | ||
return reject(err); | ||
} | ||
port++; | ||
if (port > maxPort) { | ||
return reject(new Error("No open ports available")); | ||
} | ||
testPort(); | ||
} | ||
__name(onError, "onError"); | ||
function testPort() { | ||
server.once("error", onError); | ||
server.once("listening", onListen); | ||
server.listen(port, host); | ||
} | ||
__name(testPort, "testPort"); | ||
testPort(); | ||
}); | ||
} | ||
__name(listen, "listen"); | ||
// satori/packages/satori/src/router.ts | ||
var logger = new import_core2.Logger("app"); | ||
var _WebSocketLayer = class _WebSocketLayer { | ||
@@ -196,2 +197,21 @@ constructor(router, path, callback) { | ||
}); | ||
ctx.root.decline(["selfUrl", "host", "port", "maxPort"]); | ||
if (ctx.root.config.selfUrl) { | ||
ctx.root.config.selfUrl = (0, import_cosmokit2.trimSlash)(ctx.root.config.selfUrl); | ||
} | ||
ctx.on("ready", async () => { | ||
const { host, port } = ctx.root.config; | ||
if (!port) | ||
return; | ||
ctx.router.host = host; | ||
ctx.router.port = await listen(ctx.root.config); | ||
ctx.router._http.listen(ctx.router.port, host); | ||
logger.info("server listening at %c", ctx.router.selfUrl); | ||
ctx.on("dispose", () => { | ||
var _a, _b; | ||
logger.info("http server closing"); | ||
(_a = ctx.router._ws) == null ? void 0 : _a.close(); | ||
(_b = ctx.router._http) == null ? void 0 : _b.close(); | ||
}); | ||
}, true); | ||
} | ||
@@ -237,24 +257,2 @@ get selfUrl() { | ||
})); | ||
var logger = new import_core3.Logger("app"); | ||
var start = import_core3.Context.prototype.start; | ||
import_core3.Context.prototype.start = async function(...args) { | ||
if (this.root.config.selfUrl) { | ||
this.root.config.selfUrl = (0, import_cosmokit3.trimSlash)(this.root.config.selfUrl); | ||
} | ||
if (this.root.config.port) { | ||
const { host } = this.root.config; | ||
this.router.host = host; | ||
this.router.port = await listen(this.root.config); | ||
this.router._http.listen(this.router.port, host); | ||
logger.info("server listening at %c", this.router.selfUrl); | ||
this.on("dispose", () => { | ||
var _a, _b; | ||
logger.info("http server closing"); | ||
(_a = this.router._ws) == null ? void 0 : _a.close(); | ||
(_b = this.router._http) == null ? void 0 : _b.close(); | ||
}); | ||
} | ||
this.decline(["selfUrl", "host", "port", "maxPort"]); | ||
return start.call(this, ...args); | ||
}; | ||
// Annotate the CommonJS export names for ESM import in node: | ||
@@ -261,0 +259,0 @@ 0 && (module.exports = { |
{ | ||
"name": "@satorijs/satori", | ||
"description": "Core components of Satorijs", | ||
"version": "3.0.0-rc.2", | ||
"version": "3.0.0", | ||
"main": "lib/index.js", | ||
@@ -32,3 +32,3 @@ "typings": "lib/index.d.ts", | ||
"@koa/router": "^10.1.1", | ||
"@satorijs/core": "3.0.0-rc.2", | ||
"@satorijs/core": "3.0.0", | ||
"@types/koa": "*", | ||
@@ -35,0 +35,0 @@ "@types/koa__router": "*", |
Sorry, the diff of this file is not supported yet
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
1
37318
443
+ Added@satorijs/core@3.0.0(transitive)
+ Addedcordis-axios@4.1.0(transitive)
- Removed@satorijs/core@3.0.0-rc.2(transitive)
- Removedcordis-axios@3.3.2(transitive)
Updated@satorijs/core@3.0.0