@forge/tunnel 7.1.4-next.1-experimental-13c2f8d → 7.1.4-next.3
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 +12 -9
- package/out/command/start-tunnel-command.d.ts +1 -1
- package/out/command/start-tunnel-command.d.ts.map +1 -1
- package/out/command/start-tunnel-command.js +6 -9
- package/out/sandbox/node-sandbox.d.ts.map +1 -1
- package/out/sandbox/node-sandbox.js +1 -11
- package/out/sandbox/sandbox-runner.js +0 -13
- package/out/servers/dev-server.d.ts +1 -2
- package/out/servers/dev-server.d.ts.map +1 -1
- package/out/servers/dev-server.js +2 -18
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
# @forge/tunnel
|
|
2
2
|
|
|
3
|
-
## 7.1.4-next.
|
|
3
|
+
## 7.1.4-next.3
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
- Updated dependencies [ea3b2ba]
|
|
8
|
+
- @forge/cli-shared@9.7.0-next.3
|
|
9
|
+
- @forge/bundler@7.2.3-next.3
|
|
10
|
+
|
|
11
|
+
## 7.1.4-next.2
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies [2a491b9]
|
|
16
|
+
- @forge/cli-shared@9.7.0-next.2
|
|
17
|
+
- @forge/bundler@7.2.3-next.2
|
|
15
18
|
|
|
16
19
|
## 7.1.4-next.1
|
|
17
20
|
|
|
@@ -35,6 +35,6 @@ export declare class StartTunnelCommand {
|
|
|
35
35
|
private stopServices;
|
|
36
36
|
private startFaaSTunnelServer;
|
|
37
37
|
private startResourceBasedTunnelsServers;
|
|
38
|
-
execute(options: StartTunnelOptions, containersDockerComposeFiles?: Record<string, string
|
|
38
|
+
execute(options: StartTunnelOptions, containersDockerComposeFiles?: Record<string, string>): Promise<StartTunnelResult>;
|
|
39
39
|
}
|
|
40
40
|
//# sourceMappingURL=start-tunnel-command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-tunnel-command.d.ts","sourceRoot":"","sources":["../../src/command/start-tunnel-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,MAAM,EAEN,aAAa,EAMd,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EACL,iBAAiB,EAKlB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,eAAe,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1F;AAQD,qBAAa,kBAAkB;IAK3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAV7B,OAAO,CAAC,aAAa,CAAmE;IACxF,OAAO,CAAC,iBAAiB,CAAgC;gBAGtC,YAAY,EAAE,iBAAiB,EAC/B,SAAS,EAAE,iBAAiB,EAC5B,aAAa,EAAE,mBAAmB,EAClC,YAAY,EAAE,qBAAqB,EACnC,YAAY,EAAE,qBAAqB,EACnC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU;IAGzC,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"start-tunnel-command.d.ts","sourceRoot":"","sources":["../../src/command/start-tunnel-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,MAAM,EAEN,aAAa,EAMd,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EACL,iBAAiB,EAKlB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,eAAe,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1F;AAQD,qBAAa,kBAAkB;IAK3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAV7B,OAAO,CAAC,aAAa,CAAmE;IACxF,OAAO,CAAC,iBAAiB,CAAgC;gBAGtC,YAAY,EAAE,iBAAiB,EAC/B,SAAS,EAAE,iBAAiB,EAC5B,aAAa,EAAE,mBAAmB,EAClC,YAAY,EAAE,qBAAqB,EACnC,YAAY,EAAE,qBAAqB,EACnC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU;IAGzC,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,YAAY,CAclB;IAEF,OAAO,CAAC,qBAAqB,CA+B3B;IAEF,OAAO,CAAC,gCAAgC,CAiCtC;IAEW,OAAO,CAClB,OAAO,EAAE,kBAAkB,EAC3B,4BAA4B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpD,OAAO,CAAC,iBAAiB,CAAC;CA0D9B"}
|
|
@@ -53,7 +53,7 @@ class StartTunnelCommand {
|
|
|
53
53
|
throw new InvalidTunnelConfigError(cli_shared_1.Text.tunnel.error.invalidSelfManagedTunnelPort(port.toString()));
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
stopServices = async (appId, environmentKey, containersDockerComposeFiles
|
|
56
|
+
stopServices = async (appId, environmentKey, containersDockerComposeFiles) => {
|
|
57
57
|
await Promise.all([
|
|
58
58
|
this.functionHost.stopWatching(),
|
|
59
59
|
this.tunnelClient.unregisterTunnels(appId, environmentKey),
|
|
@@ -61,8 +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, this.logger, containersDockerComposeFiles)
|
|
65
|
-
additionalCleanup?.()
|
|
64
|
+
(0, cli_shared_1.stopDockerComposeStack)(this.configFile, this.logger, containersDockerComposeFiles)
|
|
66
65
|
]);
|
|
67
66
|
};
|
|
68
67
|
startFaaSTunnelServer = async ({ port, appId, environmentKey, tunnelUrl }) => {
|
|
@@ -110,14 +109,12 @@ class StartTunnelCommand {
|
|
|
110
109
|
return this.tunnelServers[key].start();
|
|
111
110
|
}));
|
|
112
111
|
};
|
|
113
|
-
async execute(options, containersDockerComposeFiles
|
|
112
|
+
async execute(options, containersDockerComposeFiles) {
|
|
114
113
|
const { id: appId } = await this.getAppConfig();
|
|
115
114
|
const { port, environmentKey, url } = options;
|
|
116
115
|
this.validateTunnelUrl(url);
|
|
117
116
|
this.validateTunnelPort(port);
|
|
118
117
|
const allResources = await this.configFile.getResources();
|
|
119
|
-
let cleanupPromise;
|
|
120
|
-
const additionalCleanupOnce = additionalCleanup ? () => (cleanupPromise ??= additionalCleanup()) : undefined;
|
|
121
118
|
try {
|
|
122
119
|
const faasTunnelServer = await this.startFaaSTunnelServer({
|
|
123
120
|
port,
|
|
@@ -134,9 +131,9 @@ class StartTunnelCommand {
|
|
|
134
131
|
}))
|
|
135
132
|
};
|
|
136
133
|
await this.tunnelClient.registerTunnels(appId, environmentKey, tunnelDefinitions);
|
|
137
|
-
const stopFunction = async () => this.stopServices(appId, environmentKey, containersDockerComposeFiles
|
|
134
|
+
const stopFunction = async () => this.stopServices(appId, environmentKey, containersDockerComposeFiles);
|
|
138
135
|
this.devServer.setErrorHandler?.(async (error) => {
|
|
139
|
-
await this.stopServices(appId, environmentKey, containersDockerComposeFiles
|
|
136
|
+
await this.stopServices(appId, environmentKey, containersDockerComposeFiles);
|
|
140
137
|
await (0, cli_shared_1.exitOnError)(this.logger, error);
|
|
141
138
|
});
|
|
142
139
|
const reloadSandboxes = async (bundledCode, tunnelOptions) => {
|
|
@@ -154,7 +151,7 @@ class StartTunnelCommand {
|
|
|
154
151
|
}
|
|
155
152
|
catch (e) {
|
|
156
153
|
try {
|
|
157
|
-
await this.stopServices(appId, environmentKey, containersDockerComposeFiles
|
|
154
|
+
await this.stopServices(appId, environmentKey, containersDockerComposeFiles);
|
|
158
155
|
}
|
|
159
156
|
catch { }
|
|
160
157
|
throw e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-sandbox.d.ts","sourceRoot":"","sources":["../../src/sandbox/node-sandbox.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,OAAO,EACP,aAAa,EAId,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"node-sandbox.d.ts","sourceRoot":"","sources":["../../src/sandbox/node-sandbox.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,OAAO,EACP,aAAa,EAId,MAAM,gBAAgB,CAAC;AAMxB,qBAAa,WAAY,YAAW,OAAO;IACzC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkD;gBAEhE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,aAAa;IAgC9E,OAAO,CAAC,YAAY;IAOd,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyBtE,IAAI,IAAI,IAAI;CAGb"}
|
|
@@ -9,15 +9,6 @@ const crypto_1 = require("crypto");
|
|
|
9
9
|
const bundler_1 = require("@forge/bundler");
|
|
10
10
|
const runtime_1 = require("@forge/runtime");
|
|
11
11
|
const RUNNER = path_1.default.join(__dirname, '..', '..', 'out', 'sandbox', 'sandbox-runner.js');
|
|
12
|
-
const LOCAL_STORAGE_ENVIRONMENT_KEYS = [
|
|
13
|
-
'FORGE_LOCAL_STORAGE',
|
|
14
|
-
'FORGE_LOCAL_KVS_URL',
|
|
15
|
-
'FORGE_LOCAL_SQL_URL',
|
|
16
|
-
'FORGE_LOCAL_STORAGE_APP_ID',
|
|
17
|
-
'FORGE_LOCAL_STORAGE_ENVIRONMENT_ID',
|
|
18
|
-
'FORGE_LOCAL_STORAGE_INSTALLATION_ID'
|
|
19
|
-
];
|
|
20
|
-
const localStorageEnvironment = () => Object.fromEntries(LOCAL_STORAGE_ENVIRONMENT_KEYS.flatMap((key) => (process.env[key] === undefined ? [] : [[key, process.env[key]]])));
|
|
21
12
|
class NodeSandbox {
|
|
22
13
|
name;
|
|
23
14
|
process;
|
|
@@ -32,12 +23,11 @@ class NodeSandbox {
|
|
|
32
23
|
this.process = (0, child_process_1.fork)(RUNNER, [fileName, handlerName], {
|
|
33
24
|
stdio: ['ignore', 'pipe', 2, 'ipc'],
|
|
34
25
|
env: {
|
|
35
|
-
...localStorageEnvironment(),
|
|
36
26
|
_HANDLER: handlerEnv,
|
|
37
27
|
FORGE_EFS_RUNTIME_PATH: appPath,
|
|
38
28
|
FORGE_CUSTOM_WRAPPER_FILE_NAME: '__forge_wrapper__.cjs'
|
|
39
29
|
},
|
|
40
|
-
execArgv: debugPort ? [`--inspect=${debugHost}:${debugPort}`] :
|
|
30
|
+
execArgv: debugPort ? [`--inspect=${debugHost}:${debugPort}`] : undefined
|
|
41
31
|
});
|
|
42
32
|
readline_1.default.createInterface(this.process.stdout).on('line', (line) => {
|
|
43
33
|
const message = JSON.parse(line);
|
|
@@ -2,19 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const [_nodeBinary, _thisScript, fileName, handlerName] = process.argv;
|
|
4
4
|
global.__forge_tunnel__ = true;
|
|
5
|
-
if (process.env.FORGE_LOCAL_STORAGE === '1') {
|
|
6
|
-
const nativeFetch = globalThis.fetch.bind(globalThis);
|
|
7
|
-
const allowedOrigins = new Set([process.env.FORGE_LOCAL_KVS_URL, process.env.FORGE_LOCAL_SQL_URL]
|
|
8
|
-
.filter((url) => Boolean(url))
|
|
9
|
-
.map((url) => new URL(url).origin));
|
|
10
|
-
global.__forge_local_fetch__ = async (input, init) => {
|
|
11
|
-
const target = new URL(input instanceof Request ? input.url : input);
|
|
12
|
-
if (!allowedOrigins.has(target.origin)) {
|
|
13
|
-
throw new Error(`Local Forge storage fetch blocked for unconfigured origin: ${target.origin}`);
|
|
14
|
-
}
|
|
15
|
-
return nativeFetch(input, init);
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
5
|
const handler = require(fileName)[handlerName];
|
|
19
6
|
process.on('message', async ({ lambdaEvent, tunnelContext: { requestId, deadline } }) => {
|
|
20
7
|
const lambdaContext = {
|
|
@@ -3,7 +3,7 @@ import { URL } from 'url';
|
|
|
3
3
|
import express from 'express';
|
|
4
4
|
import { BundlerWatch, BundlerOutput } from '@forge/bundler';
|
|
5
5
|
import { AppEnvironmentsGraphqlClient, ConfigFile, FileSystemReader, I18nResourceBundlingService, Logger, StatsigService, TunnelOptions, UserError } from '@forge/cli-shared';
|
|
6
|
-
import { ExternalRequestBody
|
|
6
|
+
import { ExternalRequestBody } from '@forge/runtime';
|
|
7
7
|
import { Permissions, Remotes } from '@forge/manifest';
|
|
8
8
|
export interface ProxyServerError extends Error {
|
|
9
9
|
code?: string;
|
|
@@ -25,7 +25,6 @@ export interface StartDevServerResult {
|
|
|
25
25
|
export interface InvocationService {
|
|
26
26
|
invoke(handler: string, request: ExternalRequestBody): Promise<any>;
|
|
27
27
|
}
|
|
28
|
-
export declare const getLocalStorageVariables: () => ExternalRequestVariable[];
|
|
29
28
|
export declare function stopServer(server: http.Server | undefined): Promise<void>;
|
|
30
29
|
export declare class LocalDevelopmentServer implements DevelopmentServer {
|
|
31
30
|
private readonly invocationService;
|
|
@@ -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,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,4BAA4B,EAC5B,UAAU,EAEV,gBAAgB,EAChB,2BAA2B,EAC3B,MAAM,EACN,cAAc,EAEd,aAAa,EAEb,SAAS,EACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"dev-server.d.ts","sourceRoot":"","sources":["../../src/servers/dev-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LocalDevelopmentServer = exports.
|
|
3
|
+
exports.LocalDevelopmentServer = exports.TunnelInvocationValidationError = void 0;
|
|
4
4
|
exports.stopServer = stopServer;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
6
|
const express_1 = tslib_1.__importDefault(require("express"));
|
|
@@ -13,19 +13,6 @@ const ari_1 = require("@forge/util/packages/ari");
|
|
|
13
13
|
class TunnelInvocationValidationError extends cli_shared_1.UserError {
|
|
14
14
|
}
|
|
15
15
|
exports.TunnelInvocationValidationError = TunnelInvocationValidationError;
|
|
16
|
-
const LOCAL_STORAGE_ENVIRONMENT_KEYS = [
|
|
17
|
-
'FORGE_LOCAL_STORAGE',
|
|
18
|
-
'FORGE_LOCAL_KVS_URL',
|
|
19
|
-
'FORGE_LOCAL_SQL_URL',
|
|
20
|
-
'FORGE_LOCAL_STORAGE_APP_ID',
|
|
21
|
-
'FORGE_LOCAL_STORAGE_ENVIRONMENT_ID',
|
|
22
|
-
'FORGE_LOCAL_STORAGE_INSTALLATION_ID'
|
|
23
|
-
];
|
|
24
|
-
const getLocalStorageVariables = () => LOCAL_STORAGE_ENVIRONMENT_KEYS.flatMap((key) => {
|
|
25
|
-
const value = process.env[key];
|
|
26
|
-
return value === undefined ? [] : [{ key, value, secure: false }];
|
|
27
|
-
});
|
|
28
|
-
exports.getLocalStorageVariables = getLocalStorageVariables;
|
|
29
16
|
async function stopServer(server) {
|
|
30
17
|
if (!server) {
|
|
31
18
|
return;
|
|
@@ -103,10 +90,7 @@ class LocalDevelopmentServer {
|
|
|
103
90
|
}
|
|
104
91
|
handleInvocation = async (req, res) => {
|
|
105
92
|
const request = req.body;
|
|
106
|
-
const
|
|
107
|
-
for (const variable of (0, exports.getLocalStorageVariables)())
|
|
108
|
-
envVarsByKey.set(variable.key, variable);
|
|
109
|
-
const envVars = [...envVarsByKey.values()];
|
|
93
|
+
const envVars = (0, runtime_1.getUserVars)();
|
|
110
94
|
request.variables?.forEach((item) => {
|
|
111
95
|
if (!envVars.find((i) => i.key === item.key)) {
|
|
112
96
|
envVars.push(item);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/tunnel",
|
|
3
|
-
"version": "7.1.4-next.
|
|
3
|
+
"version": "7.1.4-next.3",
|
|
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": "7.2.3-next.
|
|
15
|
-
"@forge/cli-shared": "9.7.0-next.
|
|
16
|
-
"@forge/csp": "6.3.1
|
|
14
|
+
"@forge/bundler": "7.2.3-next.3",
|
|
15
|
+
"@forge/cli-shared": "9.7.0-next.3",
|
|
16
|
+
"@forge/csp": "6.3.1",
|
|
17
17
|
"@forge/runtime": "7.0.0",
|
|
18
18
|
"@forge/util": "^3.0.0",
|
|
19
19
|
"cheerio": "^1.2.0",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@atlassian/xen-test-util": "^4.2.0",
|
|
36
|
-
"@forge/manifest": "13.5.1-next.0
|
|
36
|
+
"@forge/manifest": "13.5.1-next.0",
|
|
37
37
|
"@types/express": "^4.17.21",
|
|
38
38
|
"@types/jest": "^29.5.14",
|
|
39
39
|
"@types/node": "20.19.1",
|