@forge/tunnel 6.3.9-next.10 → 6.3.9-next.11-experimental-3fd1b86

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,29 @@
1
1
  # @forge/tunnel
2
2
 
3
+ ## 6.3.9-next.11-experimental-3fd1b86
4
+
5
+ ### Patch Changes
6
+
7
+ - a684b69: Refactor the order of starting the containers docker compose stack, to lint the manifest first
8
+ - Updated dependencies [2b94ed8]
9
+ - Updated dependencies [c1526eb]
10
+ - Updated dependencies [475f9a7]
11
+ - Updated dependencies [19807bf]
12
+ - Updated dependencies [a684b69]
13
+ - Updated dependencies [2719ab7]
14
+ - @forge/cli-shared@8.15.1-next.9-experimental-3fd1b86
15
+ - @forge/bundler@6.1.18-next.11-experimental-3fd1b86
16
+ - @forge/csp@5.6.1-experimental-3fd1b86
17
+
18
+ ## 6.3.9-next.11
19
+
20
+ ### Patch Changes
21
+
22
+ - a684b69: Refactor the order of starting the containers docker compose stack, to lint the manifest first
23
+ - Updated dependencies [a684b69]
24
+ - @forge/cli-shared@8.15.1-next.9
25
+ - @forge/bundler@6.1.18-next.11
26
+
3
27
  ## 6.3.9-next.10
4
28
 
5
29
  ### 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,CAqFpC;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,29 @@ class TunnelInteractor {
87
89
  if (tunnelOptions.verify) {
88
90
  await (0, bundler_1.runLinter)(this.statsigService);
89
91
  }
92
+ if (tunnelOptions.containersDockerComposeFiles) {
93
+ try {
94
+ if (this.dockerAuthenticator) {
95
+ this.logger.info('');
96
+ this.logger.info(cli_shared_1.Text.tunnel.preBundleTask(cli_shared_1.Text.tunnel.authenticatingDocker));
97
+ const childProcess = await this.dockerAuthenticator.authenticateDocker();
98
+ await (0, cli_shared_1.processDockerAuthentication)(childProcess);
99
+ }
100
+ for (const [serviceKey, filePath] of Object.entries(tunnelOptions.containersDockerComposeFiles)) {
101
+ this.logger.info('');
102
+ this.logger.info(cli_shared_1.Text.tunnel.startingContainerService(serviceKey));
103
+ await (0, cli_shared_1.startDockerComposeStack)(filePath, serviceKey);
104
+ }
105
+ }
106
+ catch (err) {
107
+ this.logger.error(new Error(cli_shared_1.Text.tunnel.error.unableToStartContainerServices));
108
+ for (const filePath of Object.values(tunnelOptions.containersDockerComposeFiles)) {
109
+ await (0, cli_shared_1.deleteDockerComposeFile)(filePath);
110
+ }
111
+ throw err;
112
+ }
113
+ this.logger.info('');
114
+ }
90
115
  this.logger.info(cli_shared_1.Text.tunnel.preBundleTask(cli_shared_1.Text.tunnel.bundlingHeader));
91
116
  try {
92
117
  const output = await multiCompiler.compileAndWatch({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/tunnel",
3
- "version": "6.3.9-next.10",
3
+ "version": "6.3.9-next.11-experimental-3fd1b86",
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.18-next.10",
15
- "@forge/cli-shared": "8.15.1-next.8",
16
- "@forge/csp": "5.6.1",
14
+ "@forge/bundler": "6.1.18-next.11-experimental-3fd1b86",
15
+ "@forge/cli-shared": "8.15.1-next.9-experimental-3fd1b86",
16
+ "@forge/csp": "5.6.1-experimental-3fd1b86",
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.1.0-next.5",
36
+ "@forge/manifest": "12.1.0-next.5-experimental-3fd1b86",
37
37
  "@types/express": "^4.17.21",
38
38
  "@types/jest": "^29.5.14",
39
39
  "@types/node": "20.19.1",