@forge/tunnel 2.1.2-next.0 → 2.1.2-next.1

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,14 @@
1
1
  # @forge/tunnel
2
2
 
3
+ ## 2.1.2-next.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [652e9f23]
8
+ - @forge/bundler@4.0.0-next.1
9
+ - @forge/cli-shared@3.2.2-next.1
10
+ - @forge/runtime@2.5.1-next.0
11
+
3
12
  ## 2.1.2-next.0
4
13
 
5
14
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AA+EA,eAAO,MAAM,SAAS,QAAa,OAAO,CAAC,IAAI,CAU9C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AA+EA,eAAO,MAAM,SAAS,QAAa,QAAQ,IAAI,CAU9C,CAAC"}
package/out/index.js CHANGED
@@ -7,17 +7,17 @@ const runtime_1 = require("@forge/runtime");
7
7
  const cli_shared_1 = require("@forge/cli-shared");
8
8
  const fs_1 = require("fs");
9
9
  const ui = new cli_shared_1.CommandLineUI(() => process.env.VERBOSE_MODE === 'true' || false);
10
- const inspector = runtime_1.initializeInspector();
11
- const graphqlGateway = cli_shared_1.getGraphqlGateway();
10
+ const inspector = (0, runtime_1.initializeInspector)();
11
+ const graphqlGateway = (0, cli_shared_1.getGraphqlGateway)();
12
12
  const fileReader = new cli_shared_1.FileSystemReader();
13
13
  const fileWriter = new cli_shared_1.FileSystemWriter();
14
14
  const configFile = new cli_shared_1.ConfigFile(fileReader, fileWriter);
15
- const appConfigReader = cli_shared_1.configFileReaderForSection(cli_shared_1.appConfigKey, cli_shared_1.appConfigShape, configFile);
16
- const assertiveAppConfigReader = cli_shared_1.assertiveAppConfigProvider(appConfigReader);
17
- const credentialsGetter = cli_shared_1.getCredentialStore(ui);
15
+ const appConfigReader = (0, cli_shared_1.configFileReaderForSection)(cli_shared_1.appConfigKey, cli_shared_1.appConfigShape, configFile);
16
+ const assertiveAppConfigReader = (0, cli_shared_1.assertiveAppConfigProvider)(appConfigReader);
17
+ const credentialsGetter = (0, cli_shared_1.getCredentialStore)(ui);
18
18
  const authenticator = new cli_shared_1.PersonalTokenAuthenticator(credentialsGetter);
19
19
  const createGraphQLClient = (auth) => {
20
- const minimalGraphQLRunner = new cli_shared_1.MinimalGraphQLRunner(auth, graphqlGateway, tunnelling_1.getCliDetails());
20
+ const minimalGraphQLRunner = new cli_shared_1.MinimalGraphQLRunner(auth, graphqlGateway, (0, tunnelling_1.getCliDetails)());
21
21
  const graphQLRunner = new cli_shared_1.DebuggingGraphqlRunner(minimalGraphQLRunner, graphqlGateway, ui);
22
22
  return new cli_shared_1.MutationAwareGraphQLClient(graphQLRunner);
23
23
  };
@@ -26,7 +26,7 @@ const functionHost = new tunnelling_1.LocalFunctionHost(configFile, ui, runtime_
26
26
  const localInvocationService = new tunnelling_1.LocalInvocationService(configFile, ui, inspector);
27
27
  const tunnelInteractor = new tunnelling_1.TunnelInteractor(ui);
28
28
  const startTunnelCommand = new tunnelling_1.StartTunnelCommand(assertiveAppConfigReader, new tunnelling_1.LocalDevelopmentServer(localInvocationService, ui), new tunnelling_1.NgrokCreateTunnelService(ui), new tunnelling_1.RegisterTunnelServiceImpl(new tunnelling_1.TunnelGraphqlClient(graphQLClient)), functionHost, inspector, ui, configFile);
29
- exports.runTunnel = async () => {
29
+ const runTunnel = async () => {
30
30
  try {
31
31
  const tunnel = await startTunnelCommand.execute({
32
32
  environmentKey: process.env.ENVIRONMENT_KEY || 'default'
@@ -35,7 +35,8 @@ exports.runTunnel = async () => {
35
35
  await tunnelInteractor.handleUserExitEvent(tunnel.stopFunction, monitor);
36
36
  }
37
37
  catch (e) {
38
- cli_shared_1.exitOnError(ui, e);
38
+ (0, cli_shared_1.exitOnError)(ui, e);
39
39
  }
40
40
  };
41
- exports.runTunnel();
41
+ exports.runTunnel = runTunnel;
42
+ (0, exports.runTunnel)();
@@ -17,11 +17,11 @@ class LocalFunctionHost {
17
17
  this.fsInteractor = fsInteractor;
18
18
  this.snapshotLogs = [];
19
19
  this.onRuntimeLog = (event) => {
20
- this.logger.info(util_1.formatRuntimeLog(event));
20
+ this.logger.info((0, util_1.formatRuntimeLog)(event));
21
21
  };
22
22
  }
23
23
  async generateBundleFiles(bundle, withSnapshot) {
24
- await this.fsInteractor.mkdir(path_1.dirname(bundle.bundleFilePath), { recursive: true });
24
+ await this.fsInteractor.mkdir((0, path_1.dirname)(bundle.bundleFilePath), { recursive: true });
25
25
  if (withSnapshot) {
26
26
  const snapshotOutput = await this.snapshot({ isolateMemory: exports.MEMORY_LIMIT }, Buffer.from(bundle.bundleFileContent), bundle.bundleFilePath, bundle.bundleFileSourceMap ? Buffer.from(bundle.bundleFileSourceMap) : undefined);
27
27
  await this.fsInteractor.writeFile(bundle.bundleFilePath + '.snapshot', Buffer.from(snapshotOutput.buffer));
@@ -45,12 +45,12 @@ class LocalFunctionHost {
45
45
  this.snapshotLogs = [];
46
46
  }
47
47
  const bundles = Object.keys(bundledCode.output).map((bundleName) => ({
48
- bundleFilePath: path_1.resolve(directory, `${bundleName}.js`),
48
+ bundleFilePath: (0, path_1.resolve)(directory, `${bundleName}.js`),
49
49
  bundleFileContent: bundledCode.output[bundleName],
50
- bundleFileSourceMapPath: path_1.resolve(directory, `${bundleName}.js.map`),
50
+ bundleFileSourceMapPath: (0, path_1.resolve)(directory, `${bundleName}.js.map`),
51
51
  bundleFileSourceMap: bundledCode.sourceMap ? bundledCode.sourceMap[bundleName] : undefined
52
52
  }));
53
- const manifestFilePath = path_1.resolve(directory, cli_shared_1.manifestFileName);
53
+ const manifestFilePath = (0, path_1.resolve)(directory, cli_shared_1.manifestFileName);
54
54
  const manifestContents = JSON.stringify(await this.configFile.readConfig());
55
55
  const allPromises = [];
56
56
  bundles.forEach((bundle) => allPromises.push(this.generateBundleFiles(bundle, isSnapshotEnabled)));
@@ -61,7 +61,7 @@ class LocalFunctionHost {
61
61
  this.logger.info('');
62
62
  this.snapshotLogs.forEach((snapshotLog) => {
63
63
  snapshotLog.forEach((log) => {
64
- this.logger.snapshotLog(log.message, util_1.mapLogLevel(log.level));
64
+ this.logger.snapshotLog(log.message, (0, util_1.mapLogLevel)(log.level));
65
65
  });
66
66
  });
67
67
  this.logger.info('');
@@ -83,7 +83,7 @@ class LocalFunctionHost {
83
83
  throw new cli_shared_1.ValidationError(cli_shared_1.Text.tunnel.error.handler.format(handler));
84
84
  }
85
85
  const [mod, func] = parts;
86
- return await runtime_1.initializeSandbox({
86
+ return await (0, runtime_1.initializeSandbox)({
87
87
  appPath: srcPath,
88
88
  modName: mod,
89
89
  handler: func,
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel-interactor.d.ts","sourceRoot":"","sources":["../../../../src/tunnelling/command/interactors/tunnel-interactor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAY,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAI5D,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,GACxC,OAAO,CAAC,IAAI,CAAC;IAgCT,QAAQ,sBACM,iBAAiB,cACxB,UAAU,KACrB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAiDpC;CACH"}
1
+ {"version":3,"file":"tunnel-interactor.d.ts","sourceRoot":"","sources":["../../../../src/tunnelling/command/interactors/tunnel-interactor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAY,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAI5D,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,GACxC,OAAO,CAAC,IAAI,CAAC;IAgCT,QAAQ,sBACM,iBAAiB,cACxB,UAAU,KACrB,QAAQ,cAAc,GAAG,SAAS,CAAC,CAiDpC;CACH"}
@@ -25,7 +25,7 @@ class TunnelInteractor {
25
25
  });
26
26
  }
27
27
  if (entryPoints.length > 0) {
28
- return bundler_1.watch(entryPoints, index_1.isInspectorEnabled(), async (err, output) => {
28
+ return (0, bundler_1.watch)(entryPoints, (0, index_1.isInspectorEnabled)(), async (err, output) => {
29
29
  if (err) {
30
30
  this.logger.error(err);
31
31
  }
@@ -74,7 +74,7 @@ class StartTunnelCommand {
74
74
  customUI: customUITunnelsServers
75
75
  };
76
76
  await this.tunnelClient.registerTunnels(appId, environmentKey, tunnelDefinitions);
77
- const inspectorAddress = index_1.isInspectorEnabled() ? this.inspector.startServer(index_1.INSPECTOR_PORT) : undefined;
77
+ const inspectorAddress = (0, index_1.isInspectorEnabled)() ? this.inspector.startServer(index_1.INSPECTOR_PORT) : undefined;
78
78
  const stopFunction = async () => this.stopServices(appId, environmentKey);
79
79
  const reloadSandboxes = async (bundledCode) => {
80
80
  await this.functionHost.stopWatching();
@@ -40,7 +40,7 @@ class TunnelGraphqlClient {
40
40
  force: true
41
41
  }
42
42
  });
43
- const error = cli_shared_1.getError(errors);
43
+ const error = (0, cli_shared_1.getError)(errors);
44
44
  if (!success) {
45
45
  throw new CreateAppTunnelError(`${error.message} (requestId: ${requestId || 'unknown'})`, error.code);
46
46
  }
@@ -66,7 +66,7 @@ class TunnelGraphqlClient {
66
66
  environmentKey
67
67
  }
68
68
  });
69
- const error = cli_shared_1.getError(errors);
69
+ const error = (0, cli_shared_1.getError)(errors);
70
70
  if (!success) {
71
71
  throw new DeleteAppTunnelError(`${error.message} (requestId: ${requestId || 'unknown'})`, error.code);
72
72
  }
@@ -9,7 +9,7 @@ class CspReporterServer {
9
9
  this.port = port;
10
10
  this.logger = logger;
11
11
  this.cache = cache;
12
- this.app = express_1.default();
12
+ this.app = (0, express_1.default)();
13
13
  this.app.use(express_1.default.json({ type: 'application/csp-report' }));
14
14
  this.app.post(`/`, (req, res) => {
15
15
  const report = req.body['csp-report'];
@@ -12,7 +12,7 @@ class LocalDevelopmentServer {
12
12
  this.handleInvocation = async (req, res) => {
13
13
  var _a, _b, _c, _d, _e, _f;
14
14
  const request = req.body;
15
- const envVars = runtime_1.getUserVars();
15
+ const envVars = (0, runtime_1.getUserVars)();
16
16
  (_a = request.variables) === null || _a === void 0 ? void 0 : _a.forEach((item) => {
17
17
  if (!envVars.find((i) => i.key === item.key)) {
18
18
  envVars.push(item);
@@ -32,14 +32,14 @@ class LocalDevelopmentServer {
32
32
  }
33
33
  catch (error) {
34
34
  try {
35
- res.status(500).send(util_1.toLambdaError(error));
35
+ res.status(500).send((0, util_1.toLambdaError)(error));
36
36
  }
37
37
  catch (e) {
38
38
  this.logger.error(e);
39
39
  }
40
40
  }
41
41
  };
42
- this.app = express_1.default();
42
+ this.app = (0, express_1.default)();
43
43
  this.app.use(express_1.default.json({ limit: '6mb' }));
44
44
  this.app.post(`/:fnKey`, this.handleInvocation);
45
45
  }
@@ -24,18 +24,18 @@ export declare class ResourceTunnelServer {
24
24
  external: {
25
25
  fetch: {
26
26
  client: string[] | undefined;
27
- backend?: import("@forge/manifest/out/schema/manifest").Backend | undefined;
27
+ backend?: import("packages/forge-manifest/out/schema/manifest").Backend | undefined;
28
28
  };
29
- fonts?: import("@forge/manifest/out/schema/manifest").Fonts | undefined;
30
- frames?: import("@forge/manifest/out/schema/manifest").Frames | undefined;
31
- navigation?: import("@forge/manifest/out/schema/manifest").Navigation | undefined;
32
- images?: import("@forge/manifest/out/schema/manifest").Images | undefined;
33
- media?: import("@forge/manifest/out/schema/manifest").Media | undefined;
34
- scripts?: import("@forge/manifest/out/schema/manifest").Scripts1 | undefined;
35
- styles?: import("@forge/manifest/out/schema/manifest").Styles1 | undefined;
29
+ fonts?: import("packages/forge-manifest/out/schema/manifest").Fonts | undefined;
30
+ frames?: import("packages/forge-manifest/out/schema/manifest").Frames | undefined;
31
+ navigation?: import("packages/forge-manifest/out/schema/manifest").Navigation | undefined;
32
+ images?: import("packages/forge-manifest/out/schema/manifest").Images | undefined;
33
+ media?: import("packages/forge-manifest/out/schema/manifest").Media | undefined;
34
+ scripts?: import("packages/forge-manifest/out/schema/manifest").Scripts1 | undefined;
35
+ styles?: import("packages/forge-manifest/out/schema/manifest").Styles1 | undefined;
36
36
  };
37
- scopes?: import("@forge/manifest/out/schema/manifest").Scopes | undefined;
38
- content?: import("@forge/manifest/out/schema/manifest").Content1 | undefined;
37
+ scopes?: import("packages/forge-manifest/out/schema/manifest").Scopes | undefined;
38
+ content?: import("packages/forge-manifest/out/schema/manifest").Content1 | undefined;
39
39
  };
40
40
  start(): Promise<void>;
41
41
  stop(): Promise<void>;
@@ -15,7 +15,7 @@ const HOST = process.env.FORGE_DEV_TUNNEL ? 'localhost' : 'host.docker.internal'
15
15
  class ResourceTunnelServer {
16
16
  constructor({ port, key, path, tunnel, permissions, remotes, logger, cspReporterServerPort }) {
17
17
  this.getCspHeader = (existingCsp) => new csp_1.CSPInjectionService()
18
- .getInjectableCSP(existingCsp, cli_shared_1.getEnvironment(cli_shared_1.CDNEnvironments), `http://localhost:${this.cspReporterServerPort}`)
18
+ .getInjectableCSP(existingCsp, (0, cli_shared_1.getEnvironment)(cli_shared_1.CDNEnvironments), `http://localhost:${this.cspReporterServerPort}`)
19
19
  .join('; ');
20
20
  this.injectGlobalBridgeScript = (htmlContent) => new cli_shared_1.BridgeScriptService().injectBridgeCore(htmlContent, () => {
21
21
  throw new Error('Malformed HTML document');
@@ -23,7 +23,7 @@ class ResourceTunnelServer {
23
23
  this.injectIframeResizerScript = (htmlContent) => new cli_shared_1.IframeResizerScriptService().injectIframeResizer(htmlContent, () => {
24
24
  throw new Error('Malformed HTML document');
25
25
  });
26
- this.getCustomUIResourceMiddleware = (permissions, remotes) => express_mung_1.write((body, _, __, res) => {
26
+ this.getCustomUIResourceMiddleware = (permissions, remotes) => (0, express_mung_1.write)((body, _, __, res) => {
27
27
  const contentType = res.getHeaders()['content-type'];
28
28
  if (!contentType.startsWith('text/html'))
29
29
  return body;
@@ -39,11 +39,11 @@ class ResourceTunnelServer {
39
39
  this.path = path;
40
40
  this.logger = logger;
41
41
  this.cspReporterServerPort = cspReporterServerPort;
42
- this.app = express_1.default();
42
+ this.app = (0, express_1.default)();
43
43
  this.app.use(this.getCustomUIResourceMiddleware(permissions, remotes));
44
44
  if (tunnel) {
45
45
  const { port: tunnelPort } = tunnel;
46
- this.proxy = http_proxy_middleware_1.createProxyMiddleware({
46
+ this.proxy = (0, http_proxy_middleware_1.createProxyMiddleware)({
47
47
  target: `http://${HOST}:${tunnelPort}`,
48
48
  ws: true,
49
49
  logLevel: 'info',
@@ -24,7 +24,7 @@ class NgrokCreateTunnelService {
24
24
  try {
25
25
  const options = {
26
26
  addr: port,
27
- configPath: fs_1.existsSync(configFile) ? configFile : '',
27
+ configPath: (0, fs_1.existsSync)(configFile) ? configFile : '',
28
28
  onStatusChange: (status) => {
29
29
  this.logger.debug(cli_shared_1.Text.tunnel.tunnelStatusChange(status));
30
30
  },
@@ -17,12 +17,12 @@ class LocalInvocationService {
17
17
  }
18
18
  async invoke(handler, request) {
19
19
  this.logger.info('');
20
- this.logger.info(util_1.formatInvocation(handler, request));
20
+ this.logger.info((0, util_1.formatInvocation)(handler, request));
21
21
  const sandbox = util_1.SandboxesContainer.get()[handler];
22
22
  if (!sandbox) {
23
23
  throw new cli_shared_1.ValidationError(cli_shared_1.Text.tunnel.error.handler.notFound(handler));
24
24
  }
25
- const inspect = index_1.isInspectorEnabled();
25
+ const inspect = (0, index_1.isInspectorEnabled)();
26
26
  if (inspect && this.inspector.isServerStopped()) {
27
27
  const inspectorUrl = this.inspector.startServer(index_1.INSPECTOR_PORT);
28
28
  this.logger.info(cli_shared_1.Text.tunnel.startedInspector(inspectorUrl));
@@ -38,13 +38,13 @@ class LocalInvocationService {
38
38
  if (!isSnapshotValueFoundAndUpdated) {
39
39
  variables.push({ key: 'FUNCTION_IS_SNAPSHOTTED', value: isSnapshotEnabled.toString(), secure: false });
40
40
  }
41
- const requestId = util_1.getRequestId(request, v4_1.default());
42
- const xenInvocationRequest = runtime_1.xenInvocationRequestFactory({
41
+ const requestId = (0, util_1.getRequestId)(request, (0, v4_1.default)());
42
+ const xenInvocationRequest = (0, runtime_1.xenInvocationRequestFactory)({
43
43
  request: Object.assign(Object.assign({}, request), { variables }),
44
44
  ctx: { requestId, traceId: requestId, timeout: interactors_1.INVOCATION_TIMEOUT }
45
45
  });
46
- const invocationLimits = runtime_1.perInvocationLimitsTrackerFactory(xenInvocationRequest);
47
- const { body, metrics } = await runtime_1.invoke({
46
+ const invocationLimits = (0, runtime_1.perInvocationLimitsTrackerFactory)(xenInvocationRequest);
47
+ const { body, metrics } = await (0, runtime_1.invoke)({
48
48
  sandbox,
49
49
  xenInvocationRequest,
50
50
  invocationLimits,
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.mapLogLevel = exports.formatRuntimeLog = exports.formatTimestamp = exports.formatInvocation = exports.getRequestId = exports.toLambdaError = void 0;
4
4
  const cli_shared_1 = require("@forge/cli-shared");
5
- exports.toLambdaError = (error) => {
5
+ const toLambdaError = (error) => {
6
6
  return {
7
7
  errorMessage: error.message,
8
8
  errorType: error.name,
@@ -11,7 +11,8 @@ exports.toLambdaError = (error) => {
11
11
  metrics: error.metrics
12
12
  };
13
13
  };
14
- exports.getRequestId = (request, value = 'unknown') => {
14
+ exports.toLambdaError = toLambdaError;
15
+ const getRequestId = (request, value = 'unknown') => {
15
16
  if (request._meta && request._meta.tracing) {
16
17
  return request._meta.tracing.traceId || value;
17
18
  }
@@ -20,14 +21,16 @@ exports.getRequestId = (request, value = 'unknown') => {
20
21
  }
21
22
  return value;
22
23
  };
23
- exports.formatInvocation = (handler, request) => {
24
- const requestId = exports.getRequestId(request);
24
+ exports.getRequestId = getRequestId;
25
+ const formatInvocation = (handler, request) => {
26
+ const requestId = (0, exports.getRequestId)(request);
25
27
  return cli_shared_1.LogColor.trace(cli_shared_1.Text.tunnel.invoke(requestId, handler));
26
28
  };
29
+ exports.formatInvocation = formatInvocation;
27
30
  const formatInt = (n, digits) => {
28
31
  return `${n}`.padStart(digits, '0');
29
32
  };
30
- exports.formatTimestamp = () => {
33
+ const formatTimestamp = () => {
31
34
  const date = new Date();
32
35
  const hh = formatInt(date.getHours(), 2);
33
36
  const mm = formatInt(date.getMinutes(), 2);
@@ -35,16 +38,18 @@ exports.formatTimestamp = () => {
35
38
  const ms = formatInt(date.getMilliseconds(), 3);
36
39
  return `${hh}:${mm}:${ss}.${ms}`;
37
40
  };
38
- exports.formatRuntimeLog = (event) => {
39
- return (cli_shared_1.formatRuntimeLogLevel(event.logLevel) +
41
+ exports.formatTimestamp = formatTimestamp;
42
+ const formatRuntimeLog = (event) => {
43
+ return ((0, cli_shared_1.formatRuntimeLogLevel)(event.logLevel) +
40
44
  ' ' +
41
- exports.formatTimestamp() +
45
+ (0, exports.formatTimestamp)() +
42
46
  ' ' +
43
47
  event.invocationId +
44
48
  ' ' +
45
- cli_shared_1.formatRuntimeLogArgs(event.logArguments));
49
+ (0, cli_shared_1.formatRuntimeLogArgs)(event.logArguments));
46
50
  };
47
- exports.mapLogLevel = (level) => {
51
+ exports.formatRuntimeLog = formatRuntimeLog;
52
+ const mapLogLevel = (level) => {
48
53
  switch (level) {
49
54
  case 'warning':
50
55
  return cli_shared_1.AppDeploymentEventLogLevel.Warning;
@@ -57,3 +62,4 @@ exports.mapLogLevel = (level) => {
57
62
  throw new Error('Unexpected snapshot log level: ' + level);
58
63
  }
59
64
  };
65
+ exports.mapLogLevel = mapLogLevel;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/tunnel",
3
- "version": "2.1.2-next.0",
3
+ "version": "2.1.2-next.1",
4
4
  "description": "Tunnel functionality for Forge CLI",
5
5
  "author": "Atlassian",
6
6
  "license": "UNLICENSED",
@@ -16,25 +16,25 @@
16
16
  "postbuild": "chmod +x out/*.js"
17
17
  },
18
18
  "dependencies": {
19
- "@forge/bundler": "3.1.4-next.0",
20
- "@forge/cli-shared": "3.2.2-next.0",
19
+ "@forge/bundler": "4.0.0-next.1",
20
+ "@forge/cli-shared": "3.2.2-next.1",
21
21
  "@forge/csp": "^2.0.0",
22
22
  "@forge/isolated-vm": "3.3.10",
23
- "@forge/runtime": "2.5.0",
23
+ "@forge/runtime": "2.5.1-next.0",
24
24
  "express": "^4.17.1",
25
25
  "express-mung": "^0.5.1",
26
26
  "http-proxy-middleware": "^1.0.6",
27
27
  "ngrok": "^4.3.1",
28
28
  "node-cache": "^5.1.2",
29
29
  "tmp": "^0.1.0",
30
- "tslib": "^1.11.0",
30
+ "tslib": "^2.4.0",
31
31
  "uuid": "^3.4.0"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@forge/manifest": "^4.4.1-next.0",
35
35
  "@types/express": "^4.17.2",
36
36
  "@types/express-mung": "^0.5.2",
37
- "@types/jest": "^26.0.0",
37
+ "@types/jest": "^29.1.2",
38
38
  "@types/node": "^12.12.63",
39
39
  "@types/node-fetch": "^2.5.7",
40
40
  "@types/supertest": "^2.0.10",