@forge/tunnel 5.3.0-next.5 → 5.3.0-next.6
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/CHANGELOG.md +6 -0
- package/out/command/interactors/tunnel-interactor.d.ts +3 -1
- package/out/command/interactors/tunnel-interactor.d.ts.map +1 -1
- package/out/command/interactors/tunnel-interactor.js +13 -1
- package/out/services/create-tunnel-service.d.ts.map +1 -1
- package/out/services/create-tunnel-service.js +2 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { WatcherMonitor } from '@forge/bundler';
|
|
2
2
|
import { Logger, TunnelOptions } from '@forge/cli-shared';
|
|
3
3
|
import { StartTunnelResult } from '../start-tunnel-command';
|
|
4
|
+
import chokidar, { FSWatcher } from 'chokidar';
|
|
4
5
|
export declare class TunnelInteractor {
|
|
5
6
|
private readonly logger;
|
|
6
7
|
constructor(logger: Logger);
|
|
7
|
-
handleUserExitEvent(stopFunction: () => Promise<void>, bundleMonitor: WatcherMonitor | undefined): Promise<void>;
|
|
8
|
+
handleUserExitEvent(stopFunction: () => Promise<void>, bundleMonitor: WatcherMonitor | undefined, manifestFileWatcher: FSWatcher): Promise<void>;
|
|
9
|
+
watchAndWarnOnManifestChanges(manifestFilePath: string): chokidar.FSWatcher;
|
|
8
10
|
watchApp: (startTunnelResult: StartTunnelResult, tunnelOptions?: TunnelOptions) => Promise<WatcherMonitor | undefined>;
|
|
9
11
|
}
|
|
10
12
|
//# sourceMappingURL=tunnel-interactor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel-interactor.d.ts","sourceRoot":"","sources":["../../../src/command/interactors/tunnel-interactor.ts"],"names":[],"mappings":"AACA,OAAO,EAA4B,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAyC,MAAM,EAAQ,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAEpC,mBAAmB,CACxB,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACjC,aAAa,EAAE,cAAc,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"tunnel-interactor.d.ts","sourceRoot":"","sources":["../../../src/command/interactors/tunnel-interactor.ts"],"names":[],"mappings":"AACA,OAAO,EAA4B,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAyC,MAAM,EAAQ,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAEpC,mBAAmB,CACxB,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACjC,aAAa,EAAE,cAAc,GAAG,SAAS,EACzC,mBAAmB,EAAE,SAAS,GAC7B,OAAO,CAAC,IAAI,CAAC;IAsCT,6BAA6B,CAAC,gBAAgB,EAAE,MAAM;IAUtD,QAAQ,sBACM,iBAAiB,kBACrB,aAAa,KAC3B,QAAQ,cAAc,GAAG,SAAS,CAAC,CAgEpC;CACH"}
|
|
@@ -6,12 +6,14 @@ const readline_1 = tslib_1.__importDefault(require("readline"));
|
|
|
6
6
|
const bundler_1 = require("@forge/bundler");
|
|
7
7
|
const cli_shared_1 = require("@forge/cli-shared");
|
|
8
8
|
const multi_compiler_watcher_1 = require("./multi-compiler-watcher");
|
|
9
|
+
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
10
|
+
const chokidar_1 = tslib_1.__importDefault(require("chokidar"));
|
|
9
11
|
class TunnelInteractor {
|
|
10
12
|
logger;
|
|
11
13
|
constructor(logger) {
|
|
12
14
|
this.logger = logger;
|
|
13
15
|
}
|
|
14
|
-
handleUserExitEvent(stopFunction, bundleMonitor) {
|
|
16
|
+
handleUserExitEvent(stopFunction, bundleMonitor, manifestFileWatcher) {
|
|
15
17
|
return new Promise((resolve, reject) => {
|
|
16
18
|
const rl = readline_1.default.createInterface({
|
|
17
19
|
input: process.stdin,
|
|
@@ -33,6 +35,7 @@ class TunnelInteractor {
|
|
|
33
35
|
if (bundleMonitor) {
|
|
34
36
|
await bundleMonitor.stop();
|
|
35
37
|
}
|
|
38
|
+
await manifestFileWatcher.close();
|
|
36
39
|
this.logger.info(cli_shared_1.LogColor.trace(cli_shared_1.Text.tunnel.stoppedTunnel));
|
|
37
40
|
process.exit();
|
|
38
41
|
}
|
|
@@ -42,6 +45,15 @@ class TunnelInteractor {
|
|
|
42
45
|
process.on('SIGTERM', tunnelCleanupListener);
|
|
43
46
|
});
|
|
44
47
|
}
|
|
48
|
+
watchAndWarnOnManifestChanges(manifestFilePath) {
|
|
49
|
+
const originalManifest = fs_1.default.readFileSync(manifestFilePath, 'utf8');
|
|
50
|
+
return chokidar_1.default.watch(manifestFilePath).on('change', () => {
|
|
51
|
+
const currentManifest = fs_1.default.readFileSync(manifestFilePath, 'utf8');
|
|
52
|
+
if (currentManifest !== originalManifest) {
|
|
53
|
+
this.logger.error(new Error(cli_shared_1.Text.tunnel.error.manifestChangeDetected));
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
45
57
|
watchApp = async (startTunnelResult, tunnelOptions = cli_shared_1.defaultNoDebugTunnelOptions) => {
|
|
46
58
|
const { localPort, inspectorAddress, reloadSandboxes, devServers } = startTunnelResult;
|
|
47
59
|
if (inspectorAddress) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-tunnel-service.d.ts","sourceRoot":"","sources":["../../src/services/create-tunnel-service.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAGhF,oBAAY,iBAAiB,GAAG;IAC9B,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC,CAAC;AAEF,oBAAY,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACjC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACtC,CAAC;AAEF,oBAAY,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,iBAAiB,GACnB,sBAAsB,CAAC;AAEzB,MAAM,WAAW,mBAAmB;IAClC,eAAe,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9F,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAGD,eAAO,MAAM,iBAAiB,UAiB7B,CAAC;AACF,qBAAa,UAAW,SAAQ,SAAS;gBAC3B,OAAO,CAAC,EAAE,MAAM;IAIrB,WAAW;CAGnB;AAED,qBAAa,eAAgB,SAAQ,SAAS;CAAG;AAKjD,qBAAa,mBAAoB,YAAW,mBAAmB;IAI3D,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,OAAO,CAAC,QAAQ,CAAkC;gBAG/B,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,EAAE,MAAM;YAGnB,WAAW;IASZ,eAAe,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAI7F,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAG1C;AAED,qBAAa,6BAA8B,YAAW,mBAAmB;IAG3D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,YAAY,CAA0E;gBAEjE,MAAM,EAAE,MAAM;IAE9B,eAAe,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"create-tunnel-service.d.ts","sourceRoot":"","sources":["../../src/services/create-tunnel-service.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAGhF,oBAAY,iBAAiB,GAAG;IAC9B,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC,CAAC;AAEF,oBAAY,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACjC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACtC,CAAC;AAEF,oBAAY,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,iBAAiB,GACnB,sBAAsB,CAAC;AAEzB,MAAM,WAAW,mBAAmB;IAClC,eAAe,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9F,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAGD,eAAO,MAAM,iBAAiB,UAiB7B,CAAC;AACF,qBAAa,UAAW,SAAQ,SAAS;gBAC3B,OAAO,CAAC,EAAE,MAAM;IAIrB,WAAW;CAGnB;AAED,qBAAa,eAAgB,SAAQ,SAAS;CAAG;AAKjD,qBAAa,mBAAoB,YAAW,mBAAmB;IAI3D,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,OAAO,CAAC,QAAQ,CAAkC;gBAG/B,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,EAAE,MAAM;YAGnB,WAAW;IASZ,eAAe,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAI7F,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAG1C;AAED,qBAAa,6BAA8B,YAAW,mBAAmB;IAG3D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,YAAY,CAA0E;gBAEjE,MAAM,EAAE,MAAM;IAE9B,eAAe,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAwB3E,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ1C;AAED,qBAAa,wBAAyB,YAAW,mBAAmB;IAGtD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAqB;gBAER,MAAM,EAAE,MAAM;IAE9B,eAAe,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAsCvE,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAkB1C"}
|
|
@@ -74,7 +74,8 @@ class CloudflareCreateTunnelService {
|
|
|
74
74
|
const options = {
|
|
75
75
|
run: null,
|
|
76
76
|
'--token': token,
|
|
77
|
-
'--url': `localhost:${port}
|
|
77
|
+
'--url': `localhost:${port}`,
|
|
78
|
+
'--protocol': 'http2'
|
|
78
79
|
};
|
|
79
80
|
options[id] = null;
|
|
80
81
|
const { connections, stop } = (0, cloudflared_1.tunnel)(options);
|