@forge/tunnel 5.10.5-next.2 → 5.11.0-next.3-experimental-f44d099

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,36 @@
1
1
  # @forge/tunnel
2
2
 
3
+ ## 5.11.0-next.3-experimental-f44d099
4
+
5
+ ### Minor Changes
6
+
7
+ - 30d2f61: Add forge container tunnel MVP
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [27be197]
12
+ - Updated dependencies [a23892e]
13
+ - Updated dependencies [b011fe9]
14
+ - Updated dependencies [3b2ffa9]
15
+ - Updated dependencies [7c02425]
16
+ - Updated dependencies [3b2ffa9]
17
+ - Updated dependencies [30d2f61]
18
+ - @forge/csp@3.9.0-next.0-experimental-f44d099
19
+ - @forge/cli-shared@7.0.0-next.2-experimental-f44d099
20
+ - @forge/bundler@4.23.2-next.3-experimental-f44d099
21
+
22
+ ## 5.11.0-next.3
23
+
24
+ ### Minor Changes
25
+
26
+ - 30d2f61: Add forge container tunnel MVP
27
+
28
+ ### Patch Changes
29
+
30
+ - Updated dependencies [30d2f61]
31
+ - @forge/cli-shared@7.0.0-next.2
32
+ - @forge/bundler@4.23.2-next.3
33
+
3
34
  ## 5.10.5-next.2
4
35
 
5
36
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"custom-ui-tunnel-server.d.ts","sourceRoot":"","sources":["../../src/servers/custom-ui-tunnel-server.ts"],"names":[],"mappings":"AAGA,OAAgB,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAG9D,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAE1F,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAc,MAAM,cAAc,CAAC;AASnF,qBAAa,oBAAqB,SAAQ,oBAAqB,YAAW,iBAAiB;IAM7E,OAAO,CAAC,QAAQ,CAAC,UAAU;IALvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;IAC9B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,OAAO,CAAC,MAAM,CAAqB;gBAEN,UAAU,EAAE,wBAAwB;IA4D3D,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAkBhD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IASd,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC;IAK5C,MAAM,IAAI,OAAO;IAIjB,OAAO,CAAC,gCAAgC;IAoBxC,OAAO,CAAC,sBAAsB;CAO/B"}
1
+ {"version":3,"file":"custom-ui-tunnel-server.d.ts","sourceRoot":"","sources":["../../src/servers/custom-ui-tunnel-server.ts"],"names":[],"mappings":"AAGA,OAAgB,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAG9D,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAE1F,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAgC,MAAM,cAAc,CAAC;AAMrG,qBAAa,oBAAqB,SAAQ,oBAAqB,YAAW,iBAAiB;IAM7E,OAAO,CAAC,QAAQ,CAAC,UAAU;IALvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;IAC9B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,OAAO,CAAC,MAAM,CAAqB;gBAEN,UAAU,EAAE,wBAAwB;IA4D3D,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAkBhD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IASd,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC;IAK5C,MAAM,IAAI,OAAO;IAIjB,OAAO,CAAC,gCAAgC;IAoBxC,OAAO,CAAC,sBAAsB;CAO/B"}
@@ -7,6 +7,9 @@ import { BundlerWatch, BundlerOutput } from '@forge/bundler';
7
7
  import { ConfigFile, FileSystemReader, I18nResourceBundlingService, Logger, StatsigService, TunnelOptions } from '@forge/cli-shared';
8
8
  import { ExternalRequestBody } from '@forge/runtime';
9
9
  import { Permissions, Remotes } from '@forge/manifest';
10
+ export interface ProxyServerError extends Error {
11
+ code?: string;
12
+ }
10
13
  export interface DevelopmentServer {
11
14
  start(port?: number, permissions?: Permissions, remotes?: Remotes): Promise<StartDevServerResult>;
12
15
  stop(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"dev-server.d.ts","sourceRoot":"","sources":["../../src/servers/dev-server.ts"],"names":[],"mappings":";;AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAKL,YAAY,EACZ,aAAa,EAEd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,UAAU,EAEV,gBAAgB,EAChB,2BAA2B,EAC3B,MAAM,EAEN,cAAc,EAEd,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAe,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAIvD,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAClG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAC7F;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,iBAAiB,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,GAAG,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACrE;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ/E;AAED,qBAAa,sBAAuB,YAAW,iBAAiB;IAO5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,2BAA2B;IAX9C,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,OAAO,CAAsB;gBAGlB,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,2BAA2B,EAAE,2BAA2B;IAQ9D,KAAK,CAAC,IAAI,SAAI,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAe5F,IAAI;IAIJ,eAAe,CAC1B,KAAK,EAAE,YAAY,EACnB,aAAa,GAAE,aAA2C,GACzD,OAAO,CAAC,aAAa,CAAC;IAkClB,MAAM,IAAI,OAAO,CAAC,WAAW;IAI7B,gBAAgB,EAAE,OAAO,CAAC,OAAO,CA6CtC;CACH"}
1
+ {"version":3,"file":"dev-server.d.ts","sourceRoot":"","sources":["../../src/servers/dev-server.ts"],"names":[],"mappings":";;AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAKL,YAAY,EACZ,aAAa,EAEd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,UAAU,EAEV,gBAAgB,EAChB,2BAA2B,EAC3B,MAAM,EAEN,cAAc,EAEd,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAe,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAKvD,MAAM,WAAW,gBAAiB,SAAQ,KAAK;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAClG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAC7F;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,iBAAiB,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,GAAG,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACrE;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ/E;AAED,qBAAa,sBAAuB,YAAW,iBAAiB;IAO5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,2BAA2B;IAX9C,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,OAAO,CAAsB;gBAGlB,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,2BAA2B,EAAE,2BAA2B;IAuC9D,KAAK,CAAC,IAAI,SAAI,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAe5F,IAAI;IAIJ,eAAe,CAC1B,KAAK,EAAE,YAAY,EACnB,aAAa,GAAE,aAA2C,GACzD,OAAO,CAAC,aAAa,CAAC;IAkClB,MAAM,IAAI,OAAO,CAAC,WAAW;IAI7B,gBAAgB,EAAE,OAAO,CAAC,OAAO,CA6CtC;CACH"}
@@ -7,6 +7,7 @@ const bundler_1 = require("@forge/bundler");
7
7
  const cli_shared_1 = require("@forge/cli-shared");
8
8
  const runtime_1 = require("@forge/runtime");
9
9
  const util_1 = require("../util");
10
+ const http_proxy_middleware_1 = require("http-proxy-middleware");
10
11
  async function stopServer(server) {
11
12
  if (!server) {
12
13
  return;
@@ -35,8 +36,33 @@ class LocalDevelopmentServer {
35
36
  this.statsigService = statsigService;
36
37
  this.i18nResourceBundlingService = i18nResourceBundlingService;
37
38
  this.app = (0, express_1.default)();
39
+ this.app.disable('x-powered-by');
40
+ this.app.disable('etag');
38
41
  this.app.use(express_1.default.json({ limit: '6mb' }));
39
42
  this.app.post(`/:fnKey`, this.handleInvocation);
43
+ const FORGE_SERVICE_PORT = 7071;
44
+ this.app.use(/^\/forge\/.*\/.*/, (0, http_proxy_middleware_1.createProxyMiddleware)({
45
+ target: `http://localhost:${FORGE_SERVICE_PORT}`,
46
+ pathRewrite: { '^/forge/[^/]*': '' },
47
+ logLevel: 'info',
48
+ logProvider: () => {
49
+ return {
50
+ log: this.logger.trace,
51
+ debug: this.logger.trace,
52
+ info: this.logger.trace,
53
+ warn: this.logger.warn,
54
+ error: this.logger.error
55
+ };
56
+ },
57
+ onProxyReq: (proxyReq) => {
58
+ this.logger.info(cli_shared_1.Text.tunnel.container.invoke(proxyReq, FORGE_SERVICE_PORT));
59
+ },
60
+ onError: (err, _, res) => {
61
+ const message = cli_shared_1.Text.tunnel.container.error(err.code ?? err.message);
62
+ this.logger.warn(message);
63
+ res.status(500).send(message);
64
+ }
65
+ }));
40
66
  }
41
67
  async start(port = 0, permissions, remotes) {
42
68
  this.permissions = permissions;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/tunnel",
3
- "version": "5.10.5-next.2",
3
+ "version": "5.11.0-next.3-experimental-f44d099",
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": "4.23.2-next.2",
15
- "@forge/cli-shared": "7.0.0-next.1",
16
- "@forge/csp": "3.9.0-next.0",
14
+ "@forge/bundler": "4.23.2-next.3-experimental-f44d099",
15
+ "@forge/cli-shared": "7.0.0-next.2-experimental-f44d099",
16
+ "@forge/csp": "3.9.0-next.0-experimental-f44d099",
17
17
  "@forge/runtime": "5.10.8",
18
18
  "cloudflared": "^0.7.0",
19
19
  "chokidar": "^3.6.0",
@@ -30,7 +30,7 @@
30
30
  },
31
31
  "devDependencies": {
32
32
  "@atlassian/xen-test-util": "^4.2.0",
33
- "@forge/manifest": "9.4.0-next.0",
33
+ "@forge/manifest": "9.4.0-next.0-experimental-f44d099",
34
34
  "@types/express": "^4.17.21",
35
35
  "@types/jest": "^29.5.12",
36
36
  "@types/node": "14.18.63",
@@ -38,6 +38,7 @@
38
38
  "@types/tmp": "^0.2.6",
39
39
  "@types/uuid": "^9.0.8",
40
40
  "@types/which": "^3.0.4",
41
+ "nock": "13.5.4",
41
42
  "supertest": "^6.3.3"
42
43
  },
43
44
  "publishConfig": {