@arkstack/driver-express 0.17.23 → 0.17.25
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.d.ts +12 -17
- package/dist/index.js +42 -42
- package/dist/types-DtVGRr08.d.ts +13 -0
- package/dist/types.d.ts +2 -8
- package/package.json +7 -7
package/dist/index.d.ts
CHANGED
|
@@ -1,25 +1,11 @@
|
|
|
1
1
|
/// <reference path="./app.d.ts" />
|
|
2
|
-
import {
|
|
2
|
+
import { n as Middleware$1, r as MiddlewareConfig, t as ExpressDriverOptions } from "./types-DtVGRr08.js";
|
|
3
3
|
import { ErrorRequestHandler, Express, Handler, Router as Router$1 } from "express";
|
|
4
4
|
import { ArkstackKitDriver, ArkstackRouteListOptions, PromiseOrValue } from "@arkstack/contract";
|
|
5
5
|
import { Router as Router$2 } from "clear-router/express";
|
|
6
6
|
import { Route } from "clear-router";
|
|
7
7
|
import { Handler as Handler$1, HttpContext, Middleware } from "clear-router/types/express";
|
|
8
|
-
//#region src/
|
|
9
|
-
declare const defaultErrorHandler: ErrorRequestHandler;
|
|
10
|
-
//#endregion
|
|
11
|
-
//#region src/Router.d.ts
|
|
12
|
-
declare class Router extends Router$2 {
|
|
13
|
-
static bind(): Promise<Router$1>;
|
|
14
|
-
static list(_options?: ArkstackRouteListOptions): Promise<Array<Route<HttpContext, Middleware, Handler$1>>>;
|
|
15
|
-
}
|
|
16
|
-
//#endregion
|
|
17
|
-
//#region src/index.d.ts
|
|
18
|
-
interface ExpressDriverOptions {
|
|
19
|
-
bindRouter: (app: Express) => PromiseOrValue<void>;
|
|
20
|
-
mountPublicAssets?: (app: Express, publicPath: string) => PromiseOrValue<void>;
|
|
21
|
-
errorHandler?: ErrorRequestHandler | Handler;
|
|
22
|
-
}
|
|
8
|
+
//#region src/ExpressDriver.d.ts
|
|
23
9
|
/**
|
|
24
10
|
* The ExpressDriver class implements the ArkstackKitDriver
|
|
25
11
|
* contract for the Express framework.
|
|
@@ -87,4 +73,13 @@ declare class ExpressDriver extends ArkstackKitDriver<Express, Handler> {
|
|
|
87
73
|
start(app: Express, port: number): Promise<void>;
|
|
88
74
|
}
|
|
89
75
|
//#endregion
|
|
90
|
-
|
|
76
|
+
//#region src/error-handler.d.ts
|
|
77
|
+
declare const defaultErrorHandler: ErrorRequestHandler;
|
|
78
|
+
//#endregion
|
|
79
|
+
//#region src/Router.d.ts
|
|
80
|
+
declare class Router extends Router$2 {
|
|
81
|
+
static bind(): Promise<Router$1>;
|
|
82
|
+
static list(_options?: ArkstackRouteListOptions): Promise<Array<Route<HttpContext, Middleware, Handler$1>>>;
|
|
83
|
+
}
|
|
84
|
+
//#endregion
|
|
85
|
+
export { ExpressDriver, Router, defaultErrorHandler };
|
package/dist/index.js
CHANGED
|
@@ -58,37 +58,22 @@ const defaultErrorHandler = async (err, req, res, next) => {
|
|
|
58
58
|
}));
|
|
59
59
|
};
|
|
60
60
|
//#endregion
|
|
61
|
-
//#region src/
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
await Router$2.group("/", resolveRuntimeModule("src/routes/web.ts"));
|
|
75
|
-
} catch (e) {
|
|
76
|
-
Logger.error("ERROR: Unable to load \"web.ts\" routes: " + e.message, false);
|
|
77
|
-
}
|
|
78
|
-
Router$2.apply(router);
|
|
79
|
-
router.all("/*splat", (req, _res, next) => {
|
|
80
|
-
const url = req.originalUrl || req.url;
|
|
81
|
-
next(new RequestException(`Cannot find any route matching [${req.method}] ${url}`, 404));
|
|
82
|
-
});
|
|
83
|
-
return router;
|
|
84
|
-
}
|
|
85
|
-
static async list(_options = {}) {
|
|
86
|
-
await this.bind();
|
|
87
|
-
return this.allRoutes();
|
|
61
|
+
//#region src/ExpressDriver.ts
|
|
62
|
+
/**
|
|
63
|
+
* Build the "Server is running" startup lines, adding a local-network URL when
|
|
64
|
+
* the server is bound to all interfaces (`0.0.0.0`/`::`) so it is reachable from
|
|
65
|
+
* other devices.
|
|
66
|
+
*/
|
|
67
|
+
const startupLogLines = (scheme, host, port) => {
|
|
68
|
+
const bindsAll = host === "0.0.0.0" || host === "::";
|
|
69
|
+
const localHost = bindsAll ? "localhost" : host;
|
|
70
|
+
const lines = [Logger.log([["Server is running on", "white"], [`${scheme}://${localHost}:${port}`, "cyan"]], " ", false)];
|
|
71
|
+
if (bindsAll) {
|
|
72
|
+
const address = localNetworkAddress();
|
|
73
|
+
if (address) lines.push(Logger.log([["Network access via", "white"], [`${scheme}://${address}:${port}`, "cyan"]], " ", false));
|
|
88
74
|
}
|
|
75
|
+
return lines;
|
|
89
76
|
};
|
|
90
|
-
//#endregion
|
|
91
|
-
//#region src/index.ts
|
|
92
77
|
/**
|
|
93
78
|
* The ExpressDriver class implements the ArkstackKitDriver
|
|
94
79
|
* contract for the Express framework.
|
|
@@ -229,20 +214,35 @@ var ExpressDriver = class extends ArkstackKitDriver {
|
|
|
229
214
|
app.listen(port, host, onListen);
|
|
230
215
|
}
|
|
231
216
|
};
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
217
|
+
//#endregion
|
|
218
|
+
//#region src/Router.ts
|
|
219
|
+
registerPlugin(clearRouterExpressPlugin);
|
|
220
|
+
Router$2.use(arkstackHttpPlugin);
|
|
221
|
+
Router$2.configure({ inferParamName: true });
|
|
222
|
+
var Router = class extends Router$2 {
|
|
223
|
+
static async bind() {
|
|
224
|
+
const router = express.Router();
|
|
225
|
+
try {
|
|
226
|
+
await Router$2.group("/api", resolveRuntimeModule("src/routes/api.ts"));
|
|
227
|
+
} catch (e) {
|
|
228
|
+
Logger.error("ERROR: Unable to load \"api.ts\" routes: " + e.message, false);
|
|
229
|
+
}
|
|
230
|
+
try {
|
|
231
|
+
await Router$2.group("/", resolveRuntimeModule("src/routes/web.ts"));
|
|
232
|
+
} catch (e) {
|
|
233
|
+
Logger.error("ERROR: Unable to load \"web.ts\" routes: " + e.message, false);
|
|
234
|
+
}
|
|
235
|
+
Router$2.apply(router);
|
|
236
|
+
router.all("/*splat", (req, _res, next) => {
|
|
237
|
+
const url = req.originalUrl || req.url;
|
|
238
|
+
next(new RequestException(`Cannot find any route matching [${req.method}] ${url}`, 404));
|
|
239
|
+
});
|
|
240
|
+
return router;
|
|
241
|
+
}
|
|
242
|
+
static async list(_options = {}) {
|
|
243
|
+
await this.bind();
|
|
244
|
+
return this.allRoutes();
|
|
244
245
|
}
|
|
245
|
-
return lines;
|
|
246
246
|
};
|
|
247
247
|
//#endregion
|
|
248
248
|
export { ExpressDriver, Router, defaultErrorHandler };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ErrorRequestHandler, Express, Handler } from "express";
|
|
2
|
+
import { ArkstackMiddlewareConfig, PromiseOrValue } from "@arkstack/contract";
|
|
3
|
+
import { ClassMiddleware } from "clear-router/types/basic";
|
|
4
|
+
//#region src/types.d.ts
|
|
5
|
+
type Middleware = Handler | ClassMiddleware<Handler>;
|
|
6
|
+
type MiddlewareConfig = ArkstackMiddlewareConfig<Middleware>;
|
|
7
|
+
interface ExpressDriverOptions {
|
|
8
|
+
bindRouter: (app: Express) => PromiseOrValue<void>;
|
|
9
|
+
mountPublicAssets?: (app: Express, publicPath: string) => PromiseOrValue<void>;
|
|
10
|
+
errorHandler?: ErrorRequestHandler | Handler;
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { Middleware as n, MiddlewareConfig as r, ExpressDriverOptions as t };
|
package/dist/types.d.ts
CHANGED
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { ClassMiddleware } from "clear-router/types/basic";
|
|
4
|
-
//#region src/types.d.ts
|
|
5
|
-
type Middleware = Handler | ClassMiddleware<Handler>;
|
|
6
|
-
type MiddlewareConfig = ArkstackMiddlewareConfig<Middleware>;
|
|
7
|
-
//#endregion
|
|
8
|
-
export { Middleware, MiddlewareConfig };
|
|
1
|
+
import { n as Middleware, r as MiddlewareConfig, t as ExpressDriverOptions } from "./types-DtVGRr08.js";
|
|
2
|
+
export { ExpressDriverOptions, Middleware, MiddlewareConfig };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arkstack/driver-express",
|
|
3
|
-
"version": "0.17.
|
|
3
|
+
"version": "0.17.25",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Express driver for Arkstack, providing Express-based runtime integration for the framework.",
|
|
6
6
|
"homepage": "https://arkstack.toneflix.net",
|
|
@@ -43,15 +43,15 @@
|
|
|
43
43
|
"express-rate-limit": "^8.4.1",
|
|
44
44
|
"multer": "^2.1.1",
|
|
45
45
|
"resora": "^1.3.34",
|
|
46
|
-
"@arkstack/contract": "^0.17.
|
|
47
|
-
"@arkstack/http": "^0.17.
|
|
46
|
+
"@arkstack/contract": "^0.17.25",
|
|
47
|
+
"@arkstack/http": "^0.17.25"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
50
|
"express": "^5.2.1",
|
|
51
|
-
"@arkstack/auth": "^0.17.
|
|
52
|
-
"@arkstack/foundry": "^0.17.
|
|
53
|
-
"@arkstack/
|
|
54
|
-
"@arkstack/
|
|
51
|
+
"@arkstack/auth": "^0.17.25",
|
|
52
|
+
"@arkstack/foundry": "^0.17.25",
|
|
53
|
+
"@arkstack/common": "^0.17.25",
|
|
54
|
+
"@arkstack/inertia": "^0.17.25"
|
|
55
55
|
},
|
|
56
56
|
"peerDependenciesMeta": {
|
|
57
57
|
"@arkstack/auth": {
|