@arkstack/driver-h3 0.14.2 → 0.14.14
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/app.d.ts
CHANGED
|
@@ -41,6 +41,7 @@ declare class H3EventResponse {
|
|
|
41
41
|
*/
|
|
42
42
|
declare class H3Driver extends ArkstackKitDriver<H3, H3Middleware> {
|
|
43
43
|
readonly name = "h3";
|
|
44
|
+
private tunnel_url?;
|
|
44
45
|
private readonly options;
|
|
45
46
|
/**
|
|
46
47
|
* Creates an instance of H3Driver.
|
|
@@ -74,6 +75,12 @@ declare class H3Driver extends ArkstackKitDriver<H3, H3Middleware> {
|
|
|
74
75
|
* @param middleware
|
|
75
76
|
*/
|
|
76
77
|
applyMiddleware(app: H3, middleware: H3Middleware | Middleware$2 | MiddlewareConfig): void;
|
|
78
|
+
/**
|
|
79
|
+
* If trafic has been proxied via ngrok, this will return the tunnel URL.
|
|
80
|
+
*
|
|
81
|
+
* @returns
|
|
82
|
+
*/
|
|
83
|
+
geTunnelUrl(): string | undefined;
|
|
77
84
|
/**
|
|
78
85
|
* Starts the H3 server on the specified port.
|
|
79
86
|
*
|
|
@@ -85,7 +92,7 @@ declare class H3Driver extends ArkstackKitDriver<H3, H3Middleware> {
|
|
|
85
92
|
* @param app
|
|
86
93
|
* @param port
|
|
87
94
|
*/
|
|
88
|
-
start(app: H3, port: number): void
|
|
95
|
+
start(app: H3, port: number): Promise<void>;
|
|
89
96
|
}
|
|
90
97
|
//#endregion
|
|
91
98
|
export { Router$1 as a, H3Middleware as i, H3DriverOptions as n, defaultErrorHandler as o, H3EventResponse as r, H3Driver as t };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/// <reference path="./app.d.ts" />
|
|
2
|
-
import { a as Router, i as H3Middleware, n as H3DriverOptions, o as defaultErrorHandler, r as H3EventResponse, t as H3Driver } from "./index-
|
|
2
|
+
import { a as Router, i as H3Middleware, n as H3DriverOptions, o as defaultErrorHandler, r as H3EventResponse, t as H3Driver } from "./index-BZYQAccK.js";
|
|
3
3
|
export { H3Driver, H3DriverOptions, H3EventResponse, H3Middleware, Router, defaultErrorHandler };
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,7 @@ import { t as staticAssetHandler } from "./middlewares-DWDWNHGY.js";
|
|
|
2
2
|
import { Arkstack, ArkstackKitDriver } from "@arkstack/contract";
|
|
3
3
|
import { H3, HTTPResponse, serve, toResponse } from "h3";
|
|
4
4
|
import { ErrorHandler, Logger, env, renderError } from "@arkstack/common";
|
|
5
|
+
import ngrok from "@ngrok/ngrok";
|
|
5
6
|
import { resolveMiddleware } from "@arkstack/http";
|
|
6
7
|
import { registerPlugin } from "resora";
|
|
7
8
|
import { join } from "node:path";
|
|
@@ -98,6 +99,7 @@ var H3EventResponse = class {
|
|
|
98
99
|
*/
|
|
99
100
|
var H3Driver = class extends ArkstackKitDriver {
|
|
100
101
|
name = "h3";
|
|
102
|
+
tunnel_url;
|
|
101
103
|
options;
|
|
102
104
|
/**
|
|
103
105
|
* Creates an instance of H3Driver.
|
|
@@ -160,6 +162,14 @@ var H3Driver = class extends ArkstackKitDriver {
|
|
|
160
162
|
}
|
|
161
163
|
}
|
|
162
164
|
/**
|
|
165
|
+
* If trafic has been proxied via ngrok, this will return the tunnel URL.
|
|
166
|
+
*
|
|
167
|
+
* @returns
|
|
168
|
+
*/
|
|
169
|
+
geTunnelUrl() {
|
|
170
|
+
return this.tunnel_url;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
163
173
|
* Starts the H3 server on the specified port.
|
|
164
174
|
*
|
|
165
175
|
* The bind host can be overridden with the `APP_HOST` (or `HOST`) env
|
|
@@ -170,15 +180,29 @@ var H3Driver = class extends ArkstackKitDriver {
|
|
|
170
180
|
* @param app
|
|
171
181
|
* @param port
|
|
172
182
|
*/
|
|
173
|
-
start(app, port) {
|
|
183
|
+
async start(app, port) {
|
|
174
184
|
const host = env("APP_HOST", env("HOST", "0.0.0.0"));
|
|
175
|
-
|
|
185
|
+
const tunneled = env("TUNNEL", false);
|
|
186
|
+
const server = await serve(app, {
|
|
176
187
|
port,
|
|
177
188
|
hostname: host,
|
|
178
189
|
silent: true
|
|
179
|
-
}).ready()
|
|
180
|
-
|
|
181
|
-
|
|
190
|
+
}).ready();
|
|
191
|
+
let log = [Logger.log([["Server is running on", "white"], [server.url ?? `http://${host}:${port}`, "cyan"]], " ", false)];
|
|
192
|
+
if (tunneled === true) {
|
|
193
|
+
const url = (await ngrok.forward({
|
|
194
|
+
addr: port,
|
|
195
|
+
authtoken: env("NGROK_AUTHTOKEN"),
|
|
196
|
+
domain: env("NGROK_DOMAIN")
|
|
197
|
+
})).url();
|
|
198
|
+
if (url) {
|
|
199
|
+
log = log.concat(Logger.log([["Trafic has been tunnelled to", "white"], [url, "green"]], " ", false));
|
|
200
|
+
process.env.TUNNEL_URL = url;
|
|
201
|
+
this.tunnel_url = url;
|
|
202
|
+
globalThis.tunnelUrl = () => url;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
console.log(log.join("\n"));
|
|
182
206
|
}
|
|
183
207
|
};
|
|
184
208
|
//#endregion
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arkstack/driver-h3",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.14",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "H3 driver for Arkstack, providing H3-based runtime integration for the framework.",
|
|
6
6
|
"homepage": "https://arkstack.toneflix.net",
|
|
@@ -37,16 +37,17 @@
|
|
|
37
37
|
"./package.json": "./package.json"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"
|
|
40
|
+
"@ngrok/ngrok": "^1.7.0",
|
|
41
41
|
"@resora/plugin-clear-router": "^1.0.63",
|
|
42
|
+
"clear-router": "^2.8.8",
|
|
42
43
|
"resora": "^1.3.26",
|
|
43
|
-
"@arkstack/contract": "^0.14.
|
|
44
|
+
"@arkstack/contract": "^0.14.14"
|
|
44
45
|
},
|
|
45
46
|
"peerDependencies": {
|
|
46
47
|
"h3": "2.0.1-rc.22",
|
|
47
|
-
"@arkstack/
|
|
48
|
-
"@arkstack/
|
|
49
|
-
"@arkstack/common": "^0.14.
|
|
48
|
+
"@arkstack/auth": "^0.14.14",
|
|
49
|
+
"@arkstack/foundry": "^0.14.14",
|
|
50
|
+
"@arkstack/common": "^0.14.14"
|
|
50
51
|
},
|
|
51
52
|
"peerDependenciesMeta": {
|
|
52
53
|
"@arkstack/auth": {
|