@forge/tunnel 6.3.8 → 6.3.9-experimental-1ee2de3

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 CHANGED
@@ -1,5 +1,141 @@
1
1
  # @forge/tunnel
2
2
 
3
+ ## 6.3.9-experimental-1ee2de3
4
+
5
+ ### Patch Changes
6
+
7
+ - b59aee1: Support hot reloading for forge containers tunneling
8
+ - Updated dependencies [b59aee1]
9
+ - @forge/cli-shared@8.15.1-experimental-1ee2de3
10
+ - @forge/bundler@6.1.18-experimental-1ee2de3
11
+ - @forge/csp@5.6.1-experimental-1ee2de3
12
+
13
+ ## 6.3.9
14
+
15
+ ### Patch Changes
16
+
17
+ - a684b69: Refactor the order of starting the containers docker compose stack, to lint the manifest first
18
+ - Updated dependencies [2b94ed8]
19
+ - Updated dependencies [c1526eb]
20
+ - Updated dependencies [475f9a7]
21
+ - Updated dependencies [19807bf]
22
+ - Updated dependencies [a684b69]
23
+ - Updated dependencies [63d29ca]
24
+ - Updated dependencies [2719ab7]
25
+ - @forge/cli-shared@8.15.1
26
+ - @forge/bundler@6.1.18
27
+
28
+ ## 6.3.9-next.14
29
+
30
+ ### Patch Changes
31
+
32
+ - @forge/bundler@6.1.18-next.14
33
+ - @forge/cli-shared@8.15.1-next.12
34
+
35
+ ## 6.3.9-next.13
36
+
37
+ ### Patch Changes
38
+
39
+ - @forge/bundler@6.1.18-next.13
40
+ - @forge/cli-shared@8.15.1-next.11
41
+
42
+ ## 6.3.9-next.12
43
+
44
+ ### Patch Changes
45
+
46
+ - Updated dependencies [63d29ca]
47
+ - @forge/cli-shared@8.15.1-next.10
48
+ - @forge/bundler@6.1.18-next.12
49
+
50
+ ## 6.3.9-next.11
51
+
52
+ ### Patch Changes
53
+
54
+ - a684b69: Refactor the order of starting the containers docker compose stack, to lint the manifest first
55
+ - Updated dependencies [a684b69]
56
+ - @forge/cli-shared@8.15.1-next.9
57
+ - @forge/bundler@6.1.18-next.11
58
+
59
+ ## 6.3.9-next.10
60
+
61
+ ### Patch Changes
62
+
63
+ - @forge/bundler@6.1.18-next.10
64
+ - @forge/cli-shared@8.15.1-next.8
65
+
66
+ ## 6.3.9-next.9
67
+
68
+ ### Patch Changes
69
+
70
+ - @forge/bundler@6.1.18-next.9
71
+
72
+ ## 6.3.9-next.8
73
+
74
+ ### Patch Changes
75
+
76
+ - @forge/bundler@6.1.18-next.8
77
+ - @forge/cli-shared@8.15.1-next.7
78
+
79
+ ## 6.3.9-next.7
80
+
81
+ ### Patch Changes
82
+
83
+ - Updated dependencies [2b94ed8]
84
+ - @forge/cli-shared@8.15.1-next.6
85
+ - @forge/bundler@6.1.18-next.7
86
+
87
+ ## 6.3.9-next.6
88
+
89
+ ### Patch Changes
90
+
91
+ - @forge/bundler@6.1.18-next.6
92
+ - @forge/cli-shared@8.15.1-next.5
93
+
94
+ ## 6.3.9-next.5
95
+
96
+ ### Patch Changes
97
+
98
+ - Updated dependencies [c1526eb]
99
+ - @forge/cli-shared@8.15.1-next.4
100
+ - @forge/bundler@6.1.18-next.5
101
+
102
+ ## 6.3.9-next.4
103
+
104
+ ### Patch Changes
105
+
106
+ - Updated dependencies [475f9a7]
107
+ - @forge/bundler@6.1.18-next.4
108
+
109
+ ## 6.3.9-next.3
110
+
111
+ ### Patch Changes
112
+
113
+ - @forge/bundler@6.1.18-next.3
114
+ - @forge/cli-shared@8.15.1-next.3
115
+
116
+ ## 6.3.9-next.2
117
+
118
+ ### Patch Changes
119
+
120
+ - @forge/bundler@6.1.18-next.2
121
+ - @forge/cli-shared@8.15.1-next.2
122
+
123
+ ## 6.3.9-next.1
124
+
125
+ ### Patch Changes
126
+
127
+ - Updated dependencies [19807bf]
128
+ - @forge/cli-shared@8.15.1-next.1
129
+ - @forge/bundler@6.1.18-next.1
130
+
131
+ ## 6.3.9-next.0
132
+
133
+ ### Patch Changes
134
+
135
+ - Updated dependencies [2719ab7]
136
+ - @forge/cli-shared@8.15.1-next.0
137
+ - @forge/bundler@6.1.18-next.0
138
+
3
139
  ## 6.3.8
4
140
 
5
141
  ### Patch Changes
@@ -1,11 +1,17 @@
1
+ /// <reference types="node" resolution-mode="require"/>
1
2
  import { WatcherMonitor } from '@forge/bundler';
2
3
  import { Logger, TunnelOptions, StatsigService } from '@forge/cli-shared';
4
+ import { ChildProcess } from 'child_process';
3
5
  import { StartTunnelResult } from '../start-tunnel-command';
4
6
  import chokidar, { FSWatcher } from 'chokidar';
7
+ export interface DockerAuthenticator {
8
+ authenticateDocker(): Promise<ChildProcess>;
9
+ }
5
10
  export declare class TunnelInteractor {
6
11
  private readonly logger;
12
+ private readonly dockerAuthenticator;
7
13
  private readonly statsigService;
8
- constructor(logger: Logger, statsigService: StatsigService);
14
+ constructor(logger: Logger, statsigService: StatsigService, dockerAuthenticator: DockerAuthenticator);
9
15
  private logTunnelStatus;
10
16
  handleUserExitEvent(stopFunction: () => Promise<void>, bundleMonitor: WatcherMonitor | undefined, manifestFileWatcher: FSWatcher): Promise<void>;
11
17
  watchAndWarnOnManifestChanges(manifestFilePath: string): chokidar.FSWatcher;
@@ -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,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,qBAAa,gBAAgB;IAGzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;gBAE7B,MAAM,EAAE,MAAM,EAC/B,cAAc,EAAE,cAAc;IAKhC,OAAO,CAAC,eAAe;IAShB,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,CAsDpC;CACH"}
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,EAGL,MAAM,EAEN,aAAa,EACb,cAAc,EAIf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;CAC7C;AAED,qBAAa,gBAAgB;IAGzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAJtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;gBAE7B,MAAM,EAAE,MAAM,EAC/B,cAAc,EAAE,cAAc,EACb,mBAAmB,EAAE,mBAAmB;IAK3D,OAAO,CAAC,eAAe;IAShB,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,CAwFpC;CACH"}
@@ -10,9 +10,11 @@ const fs_1 = tslib_1.__importDefault(require("fs"));
10
10
  const chokidar_1 = tslib_1.__importDefault(require("chokidar"));
11
11
  class TunnelInteractor {
12
12
  logger;
13
+ dockerAuthenticator;
13
14
  statsigService;
14
- constructor(logger, statsigService) {
15
+ constructor(logger, statsigService, dockerAuthenticator) {
15
16
  this.logger = logger;
17
+ this.dockerAuthenticator = dockerAuthenticator;
16
18
  this.statsigService = statsigService;
17
19
  }
18
20
  logTunnelStatus(localPort, tunnelOptions) {
@@ -87,6 +89,30 @@ class TunnelInteractor {
87
89
  if (tunnelOptions.verify) {
88
90
  await (0, bundler_1.runLinter)(this.statsigService);
89
91
  }
92
+ if (tunnelOptions.containersDockerComposeFiles &&
93
+ Object.keys(tunnelOptions.containersDockerComposeFiles).length > 0) {
94
+ try {
95
+ if (this.dockerAuthenticator) {
96
+ this.logger.info('');
97
+ this.logger.info(cli_shared_1.Text.tunnel.preBundleTask(cli_shared_1.Text.tunnel.authenticatingDocker));
98
+ const childProcess = await this.dockerAuthenticator.authenticateDocker();
99
+ await (0, cli_shared_1.processDockerAuthentication)(childProcess);
100
+ }
101
+ for (const [serviceKey, filePath] of Object.entries(tunnelOptions.containersDockerComposeFiles)) {
102
+ this.logger.info('');
103
+ this.logger.info(cli_shared_1.Text.tunnel.startingContainerService(serviceKey));
104
+ await (0, cli_shared_1.startDockerComposeStack)(filePath, serviceKey, this.logger);
105
+ }
106
+ }
107
+ catch (err) {
108
+ this.logger.error(new Error(cli_shared_1.Text.tunnel.error.unableToStartContainerServices));
109
+ for (const filePath of Object.values(tunnelOptions.containersDockerComposeFiles)) {
110
+ await (0, cli_shared_1.deleteDockerComposeFile)(filePath);
111
+ }
112
+ throw err;
113
+ }
114
+ this.logger.info('');
115
+ }
90
116
  this.logger.info(cli_shared_1.Text.tunnel.preBundleTask(cli_shared_1.Text.tunnel.bundlingHeader));
91
117
  try {
92
118
  const output = await multiCompiler.compileAndWatch({
@@ -61,7 +61,7 @@ class StartTunnelCommand {
61
61
  this.devServer.stop(),
62
62
  ...Object.values(this.tunnelServers).map((server) => server.stop()),
63
63
  this.cspReporterServer?.stop(),
64
- (0, cli_shared_1.stopDockerComposeStack)(this.configFile, containersDockerComposeFiles)
64
+ (0, cli_shared_1.stopDockerComposeStack)(this.configFile, this.logger, containersDockerComposeFiles)
65
65
  ]);
66
66
  };
67
67
  startFaaSTunnelServer = async ({ port, appId, environmentKey, tunnelUrl }) => {
@@ -34,12 +34,11 @@ export declare abstract class ResourceTunnelServer {
34
34
  media?: import("@forge/manifest").Media | undefined;
35
35
  scripts?: import("@forge/manifest").Scripts1 | undefined;
36
36
  styles?: import("@forge/manifest").Styles1 | undefined;
37
+ configurable?: {
38
+ enabled: boolean;
39
+ } | undefined;
37
40
  };
38
41
  enforcement?: "app-managed" | undefined;
39
- configurable?: {
40
- [k: string]: unknown;
41
- enabled: boolean;
42
- } | undefined;
43
42
  scopes?: import("@forge/manifest").Scopes | undefined;
44
43
  content?: import("@forge/manifest").Content1 | undefined;
45
44
  };
@@ -1 +1 @@
1
- {"version":3,"file":"resource-tunnel-server.d.ts","sourceRoot":"","sources":["../../src/servers/resource-tunnel-server.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,QAAQ,EAMR,MAAM,EAGP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAA6C,MAAM,YAAY,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI1E,MAAM,WAAW,wBAAyB,SAAQ,QAAQ;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,YAAY,CAAC;CAC3B;AAED,8BAAsB,oBAAoB;IACxC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC;gBAE5B,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,wBAAwB;IAQxF,MAAM,CAAC,+BAA+B,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;IAejF,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI;IAMvF,SAAS,CAAC,YAAY,gBAAiB,UAAU,aAAa,MAAM,KAAG,MAAM,CAQ7D;IAEhB,SAAS,CAAC,wBAAwB,gBAAiB,MAAM,YAGpD;IAEL,SAAS,CAAC,yBAAyB,gBAAiB,MAAM,YAGrD;IAEL,SAAS,CAAC,kCAAkC,gBAAiB,WAAW,uBAAqB,cAAc,CAwBpG;IAEP,SAAS,CAAC,0BAA0B,eAAgB,YAAY,WAI3C,OAAO,QAAQ,QAAQ,QAAQ,YAAY,mBAU9D;CACH"}
1
+ {"version":3,"file":"resource-tunnel-server.d.ts","sourceRoot":"","sources":["../../src/servers/resource-tunnel-server.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,QAAQ,EAMR,MAAM,EAGP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAA6C,MAAM,YAAY,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI1E,MAAM,WAAW,wBAAyB,SAAQ,QAAQ;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,YAAY,CAAC;CAC3B;AAED,8BAAsB,oBAAoB;IACxC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC;gBAE5B,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,wBAAwB;IAQxF,MAAM,CAAC,+BAA+B,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;IAejF,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI;IAMvF,SAAS,CAAC,YAAY,gBAAiB,UAAU,aAAa,MAAM,KAAG,MAAM,CAQ7D;IAEhB,SAAS,CAAC,wBAAwB,gBAAiB,MAAM,YAGpD;IAEL,SAAS,CAAC,yBAAyB,gBAAiB,MAAM,YAGrD;IAEL,SAAS,CAAC,kCAAkC,gBAAiB,WAAW,uBAAqB,cAAc,CAwBpG;IAEP,SAAS,CAAC,0BAA0B,eAAgB,YAAY,WAI3C,OAAO,QAAQ,QAAQ,QAAQ,YAAY,mBAU9D;CACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/tunnel",
3
- "version": "6.3.8",
3
+ "version": "6.3.9-experimental-1ee2de3",
4
4
  "description": "Tunnel functionality for Forge CLI",
5
5
  "author": "Atlassian",
6
6
  "license": "SEE LICENSE IN LICENSE.txt",
@@ -11,9 +11,9 @@
11
11
  "compile": "tsc -b -v"
12
12
  },
13
13
  "dependencies": {
14
- "@forge/bundler": "6.1.17",
15
- "@forge/cli-shared": "8.15.0",
16
- "@forge/csp": "5.6.1",
14
+ "@forge/bundler": "6.1.18-experimental-1ee2de3",
15
+ "@forge/cli-shared": "8.15.1-experimental-1ee2de3",
16
+ "@forge/csp": "5.6.1-experimental-1ee2de3",
17
17
  "@forge/runtime": "6.1.2",
18
18
  "@forge/util": "^2.0.1",
19
19
  "cheerio": "^1.1.0",
@@ -33,7 +33,7 @@
33
33
  },
34
34
  "devDependencies": {
35
35
  "@atlassian/xen-test-util": "^4.2.0",
36
- "@forge/manifest": "12.0.0",
36
+ "@forge/manifest": "12.1.0-experimental-1ee2de3",
37
37
  "@types/express": "^4.17.21",
38
38
  "@types/jest": "^29.5.14",
39
39
  "@types/node": "20.19.1",