@forge/cli-shared 9.7.0-next.0 → 9.7.0-next.1-experimental-13c2f8d
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 +21 -0
- package/out/graphql/graphql-types.d.ts +417 -131
- package/out/graphql/graphql-types.d.ts.map +1 -1
- package/out/graphql/graphql-types.js +59 -45
- package/out/tunnel/compose-project-lifecycle.d.ts +39 -0
- package/out/tunnel/compose-project-lifecycle.d.ts.map +1 -0
- package/out/tunnel/compose-project-lifecycle.js +105 -0
- package/out/tunnel/docker-compose-lifecycle.d.ts +3 -0
- package/out/tunnel/docker-compose-lifecycle.d.ts.map +1 -1
- package/out/tunnel/docker-compose-lifecycle.js +10 -8
- package/out/tunnel/index.d.ts +1 -0
- package/out/tunnel/index.d.ts.map +1 -1
- package/out/tunnel/index.js +1 -0
- package/out/tunnel/tunnel-options.d.ts +2 -0
- package/out/tunnel/tunnel-options.d.ts.map +1 -1
- package/out/ui/text.d.ts +60 -0
- package/out/ui/text.d.ts.map +1 -1
- package/out/ui/text.js +59 -0
- package/package.json +2 -2
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseComposePs = exports.ComposeProjectLifecycle = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const path = tslib_1.__importStar(require("path"));
|
|
6
|
+
const docker_compose_1 = require("docker-compose");
|
|
7
|
+
const docker_compose_lifecycle_1 = require("./docker-compose-lifecycle");
|
|
8
|
+
const defaultAdapter = {
|
|
9
|
+
pullOne: (service, options) => (0, docker_compose_1.pullOne)(service, options),
|
|
10
|
+
exec: (command, args, options) => (0, docker_compose_1.execCompose)(command, args, options),
|
|
11
|
+
down: (options) => (0, docker_compose_1.downAll)(options)
|
|
12
|
+
};
|
|
13
|
+
class ComposeProjectLifecycle {
|
|
14
|
+
configPath;
|
|
15
|
+
projectName;
|
|
16
|
+
logger;
|
|
17
|
+
adapter;
|
|
18
|
+
constructor(configPath, projectName, logger, adapter = defaultAdapter) {
|
|
19
|
+
this.configPath = configPath;
|
|
20
|
+
this.projectName = projectName;
|
|
21
|
+
this.logger = logger;
|
|
22
|
+
this.adapter = adapter;
|
|
23
|
+
}
|
|
24
|
+
options(log = false) {
|
|
25
|
+
return {
|
|
26
|
+
cwd: path.dirname(this.configPath),
|
|
27
|
+
log,
|
|
28
|
+
config: this.configPath,
|
|
29
|
+
composeOptions: [`-p${this.projectName}`],
|
|
30
|
+
callback: (0, docker_compose_lifecycle_1.createDockerLifecycleLogFilter)(this.logger)
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
async pull(services) {
|
|
34
|
+
for (const service of services) {
|
|
35
|
+
try {
|
|
36
|
+
await this.adapter.pullOne(service, this.options());
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
throw new Error(`Unable to pull the ${service} image: ${(0, docker_compose_lifecycle_1.getDockerComposeErrorMessage)(error)}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
async up(services) {
|
|
44
|
+
try {
|
|
45
|
+
await this.adapter.exec('up', ['--detach', '--no-build', '--remove-orphans', ...services], this.options());
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
throw new Error(`Unable to start the Docker Compose project: ${(0, docker_compose_lifecycle_1.getDockerComposeErrorMessage)(error)}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
async down() {
|
|
52
|
+
try {
|
|
53
|
+
await this.adapter.down(this.options());
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
throw new Error(`Unable to stop the Docker Compose project: ${(0, docker_compose_lifecycle_1.getDockerComposeErrorMessage)(error)}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
async states() {
|
|
60
|
+
try {
|
|
61
|
+
const result = await this.adapter.exec('ps', ['--all', '--format', 'json'], this.options());
|
|
62
|
+
return (0, exports.parseComposePs)(result.out ?? '');
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
throw new Error(`Unable to inspect the Docker Compose project: ${(0, docker_compose_lifecycle_1.getDockerComposeErrorMessage)(error)}`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
async logs(service, lines = 80) {
|
|
69
|
+
try {
|
|
70
|
+
const result = await this.adapter.exec('logs', ['--no-color', '--tail', lines.toString(), service], this.options());
|
|
71
|
+
return [result.out, result.err].filter(Boolean).join('\n').trim();
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
return (0, docker_compose_lifecycle_1.getDockerComposeErrorMessage)(error);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.ComposeProjectLifecycle = ComposeProjectLifecycle;
|
|
79
|
+
const parseComposePs = (output) => {
|
|
80
|
+
const trimmed = output.trim();
|
|
81
|
+
if (!trimmed)
|
|
82
|
+
return [];
|
|
83
|
+
const records = (() => {
|
|
84
|
+
try {
|
|
85
|
+
const parsed = JSON.parse(trimmed);
|
|
86
|
+
return Array.isArray(parsed) ? parsed : [parsed];
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return trimmed
|
|
90
|
+
.split('\n')
|
|
91
|
+
.filter(Boolean)
|
|
92
|
+
.map((line) => JSON.parse(line));
|
|
93
|
+
}
|
|
94
|
+
})();
|
|
95
|
+
return records.map((item) => {
|
|
96
|
+
const value = item;
|
|
97
|
+
return {
|
|
98
|
+
name: String(value.Name ?? value.name ?? ''),
|
|
99
|
+
service: String(value.Service ?? value.service ?? ''),
|
|
100
|
+
state: String(value.State ?? value.state ?? ''),
|
|
101
|
+
health: value.Health == null && value.health == null ? undefined : String(value.Health ?? value.health)
|
|
102
|
+
};
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
exports.parseComposePs = parseComposePs;
|
|
@@ -6,6 +6,7 @@ import { ChildProcess } from 'child_process';
|
|
|
6
6
|
export declare const PROXY_SIDECAR_VOLUME_DIR = "/forge/container";
|
|
7
7
|
export declare const CONTAINER_SERVICE_ASSETS = ".container-service-assets";
|
|
8
8
|
export declare const K8S_AUTH_TOKEN_FILENAME = "local-account";
|
|
9
|
+
export declare const DOCKER_LIFECYCLE_PATTERNS: readonly [RegExp, RegExp, RegExp, RegExp];
|
|
9
10
|
export declare const STARTUP_TIMER_MS: number;
|
|
10
11
|
export declare const STARTUP_TIMER_BUFFER_MS: number;
|
|
11
12
|
export declare class InvalidContainerServicePort extends UserError {
|
|
@@ -32,7 +33,9 @@ export declare class DockerAuthenticationError extends UserError {
|
|
|
32
33
|
export declare const generateContainersDockerComposeFile: (services: Services, appId: string, envId: string) => Promise<Record<string, string>>;
|
|
33
34
|
export declare const deleteDockerComposeFile: (composeFile: string) => Promise<void>;
|
|
34
35
|
export declare const startDockerComposeStack: (dockerComposeFilePath: string, serviceKey: string, logger: Logger) => Promise<void>;
|
|
36
|
+
export declare const getDockerComposeErrorMessage: (error: unknown) => string;
|
|
35
37
|
export declare const determineComposeFlags: (dockerComposeFilePath: string, serviceKey: string, logger: Logger) => Promise<string[]>;
|
|
36
38
|
export declare const stopDockerComposeStack: (configFile: ConfigFile, logger: Logger, composeFiles?: Record<string, string>) => Promise<void>;
|
|
39
|
+
export declare const createDockerLifecycleLogFilter: (logger: Logger) => (chunk: Buffer) => void;
|
|
37
40
|
export declare const processDockerAuthentication: (childProcess: ChildProcess) => Promise<void>;
|
|
38
41
|
//# sourceMappingURL=docker-compose-lifecycle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-compose-lifecycle.d.ts","sourceRoot":"","sources":["../../src/tunnel/docker-compose-lifecycle.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAO3C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,eAAO,MAAM,wBAAwB,qBAAqB,CAAC;AAC3D,eAAO,MAAM,wBAAwB,8BAA8B,CAAC;AACpE,eAAO,MAAM,uBAAuB,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"docker-compose-lifecycle.d.ts","sourceRoot":"","sources":["../../src/tunnel/docker-compose-lifecycle.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAO3C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,eAAO,MAAM,wBAAwB,qBAAqB,CAAC;AAC3D,eAAO,MAAM,wBAAwB,8BAA8B,CAAC;AACpE,eAAO,MAAM,uBAAuB,kBAAkB,CAAC;AAsBvD,eAAO,MAAM,yBAAyB,2CAK5B,CAAC;AAKX,eAAO,MAAM,gBAAgB,QAAY,CAAC;AAC1C,eAAO,MAAM,uBAAuB,QAAW,CAAC;AAEhD,qBAAa,2BAA4B,SAAQ,SAAS;gBAC5C,UAAU,EAAE,MAAM;CAG/B;AAED,qBAAa,mCAAoC,SAAQ,SAAS;gBACpD,GAAG,CAAC,EAAE,KAAK;CAGxB;AAED,qBAAa,wBAAyB,SAAQ,SAAS;gBACzC,GAAG,CAAC,EAAE,KAAK;CAGxB;AAED,qBAAa,mCAAoC,SAAQ,SAAS;gBACpD,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK;CAG5C;AAED,qBAAa,+BAAgC,SAAQ,SAAS;gBAChD,YAAY,EAAE,MAAM;CAGjC;AAED,qBAAa,sCAAuC,SAAQ,SAAS;gBACvD,YAAY,EAAE,MAAM;CAGjC;AAED,qBAAa,yBAA0B,SAAQ,SAAS;gBAC1C,OAAO,EAAE,MAAM;CAG5B;AAMD,eAAO,MAAM,mCAAmC,GAAU,UAAU,QAAQ,EAAE,OAAO,MAAM,EAAE,OAAO,MAAM,oCAgFzG,CAAC;AAsFF,eAAO,MAAM,uBAAuB,GAAU,aAAa,MAAM,kBAYhE,CAAC;AAOF,eAAO,MAAM,uBAAuB,GAAU,uBAAuB,MAAM,EAAE,YAAY,MAAM,EAAE,QAAQ,MAAM,kBA8B9G,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,OAAO,OAAO,KAAG,MAQ7D,CAAC;AAmBF,eAAO,MAAM,qBAAqB,GAChC,uBAAuB,MAAM,EAC7B,YAAY,MAAM,EAClB,QAAQ,MAAM,KACb,OAAO,CAAC,MAAM,EAAE,CAgBlB,CAAC;AA2LF,eAAO,MAAM,sBAAsB,GACjC,YAAY,UAAU,EACtB,QAAQ,MAAM,EACd,eAAe,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,kBAmCtC,CAAC;AAQF,eAAO,MAAM,8BAA8B,GAAI,QAAQ,MAAM,MAGnD,OAAO,MAAM,SAetB,CAAC;AAMF,eAAO,MAAM,2BAA2B,GAAU,cAAc,YAAY,kBAW3E,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.processDockerAuthentication = exports.stopDockerComposeStack = exports.determineComposeFlags = exports.startDockerComposeStack = exports.deleteDockerComposeFile = exports.generateContainersDockerComposeFile = exports.DockerAuthenticationError = exports.CannotUseBothImageAndBuildContextError = exports.MissingImageOrBuildContextError = exports.UnableToParseDockerComposeFileError = exports.DockerUnableToStartError = exports.DockerUnableToPullProxySidecarImage = exports.InvalidContainerServicePort = exports.STARTUP_TIMER_BUFFER_MS = exports.STARTUP_TIMER_MS = exports.K8S_AUTH_TOKEN_FILENAME = exports.CONTAINER_SERVICE_ASSETS = exports.PROXY_SIDECAR_VOLUME_DIR = void 0;
|
|
3
|
+
exports.processDockerAuthentication = exports.createDockerLifecycleLogFilter = exports.stopDockerComposeStack = exports.determineComposeFlags = exports.getDockerComposeErrorMessage = exports.startDockerComposeStack = exports.deleteDockerComposeFile = exports.generateContainersDockerComposeFile = exports.DockerAuthenticationError = exports.CannotUseBothImageAndBuildContextError = exports.MissingImageOrBuildContextError = exports.UnableToParseDockerComposeFileError = exports.DockerUnableToStartError = exports.DockerUnableToPullProxySidecarImage = exports.InvalidContainerServicePort = exports.STARTUP_TIMER_BUFFER_MS = exports.STARTUP_TIMER_MS = exports.DOCKER_LIFECYCLE_PATTERNS = exports.K8S_AUTH_TOKEN_FILENAME = exports.CONTAINER_SERVICE_ASSETS = exports.PROXY_SIDECAR_VOLUME_DIR = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const fs = tslib_1.__importStar(require("fs"));
|
|
6
6
|
const path = tslib_1.__importStar(require("path"));
|
|
@@ -28,7 +28,7 @@ const PROXY_SIDECAR_REGISTRIES = {
|
|
|
28
28
|
};
|
|
29
29
|
const isStagingEnvironment = () => process.env.FORGE_GRAPHQL_GATEWAY?.startsWith('https://api-private.stg.atlassian.com/graphql') ?? false;
|
|
30
30
|
const getProxySidecarRegistry = (registryType) => PROXY_SIDECAR_REGISTRIES[registryType][isStagingEnvironment() ? 'staging' : 'production'];
|
|
31
|
-
|
|
31
|
+
exports.DOCKER_LIFECYCLE_PATTERNS = [
|
|
32
32
|
/Container .* (Starting|Started|Stopping|Stopped|Creating|Created|Recreated)/,
|
|
33
33
|
/Network .* (Creating|Created|Removing|Removed)/,
|
|
34
34
|
/Volume .* (Creating|Created|Removing|Removed)/,
|
|
@@ -217,7 +217,7 @@ const startDockerComposeStack = async (dockerComposeFilePath, serviceKey, logger
|
|
|
217
217
|
await (0, docker_compose_1.pullOne)(PROXY_SIDECAR_SERVICE_NAME, pullOptions);
|
|
218
218
|
}
|
|
219
219
|
catch (ecrRegistryError) {
|
|
220
|
-
throw new DockerUnableToPullProxySidecarImage(new Error(`Initial pull error: ${getDockerComposeErrorMessage(portableRegistryError)}. Retry error: ${getDockerComposeErrorMessage(ecrRegistryError)}`));
|
|
220
|
+
throw new DockerUnableToPullProxySidecarImage(new Error(`Initial pull error: ${(0, exports.getDockerComposeErrorMessage)(portableRegistryError)}. Retry error: ${(0, exports.getDockerComposeErrorMessage)(ecrRegistryError)}`));
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
223
|
await waitForContainersToStart(dockerComposeFilePath, serviceKey, logger);
|
|
@@ -230,6 +230,7 @@ const getDockerComposeErrorMessage = (error) => {
|
|
|
230
230
|
}
|
|
231
231
|
return error != null ? String(error) : 'Unknown Error Occurred.';
|
|
232
232
|
};
|
|
233
|
+
exports.getDockerComposeErrorMessage = getDockerComposeErrorMessage;
|
|
233
234
|
const useEcrProxySidecarImage = (dockerComposeFilePath) => {
|
|
234
235
|
const composeConfig = yaml.parse(fs.readFileSync(dockerComposeFilePath, 'utf8'));
|
|
235
236
|
const proxySidecar = composeConfig?.services?.[PROXY_SIDECAR_SERVICE_NAME];
|
|
@@ -342,7 +343,7 @@ const waitForContainersToStart = async (dockerComposeFilePath, serviceKey, logge
|
|
|
342
343
|
lines.forEach((line) => {
|
|
343
344
|
if (!line.trim())
|
|
344
345
|
return;
|
|
345
|
-
if (
|
|
346
|
+
if (exports.DOCKER_LIFECYCLE_PATTERNS.some((pattern) => pattern.test(line))) {
|
|
346
347
|
logger.info(line);
|
|
347
348
|
}
|
|
348
349
|
});
|
|
@@ -355,7 +356,7 @@ const waitForContainersToStart = async (dockerComposeFilePath, serviceKey, logge
|
|
|
355
356
|
callback: logFilter
|
|
356
357
|
}).catch((error) => {
|
|
357
358
|
clearTimeout(startupTimer);
|
|
358
|
-
reject(new DockerUnableToStartError(new Error(getDockerComposeErrorMessage(error))));
|
|
359
|
+
reject(new DockerUnableToStartError(new Error((0, exports.getDockerComposeErrorMessage)(error))));
|
|
359
360
|
});
|
|
360
361
|
setTimeout(async () => {
|
|
361
362
|
if (containersStarted)
|
|
@@ -399,7 +400,7 @@ const stopDockerComposeStack = async (configFile, logger, composeFiles) => {
|
|
|
399
400
|
log: false,
|
|
400
401
|
config: file,
|
|
401
402
|
composeOptions: [`-p${serviceKey}`],
|
|
402
|
-
callback:
|
|
403
|
+
callback: (0, exports.createDockerLifecycleLogFilter)(logger)
|
|
403
404
|
});
|
|
404
405
|
await (0, exports.deleteDockerComposeFile)(file);
|
|
405
406
|
}
|
|
@@ -410,7 +411,7 @@ const stopDockerComposeStack = async (configFile, logger, composeFiles) => {
|
|
|
410
411
|
deleteContainerServiceAssetsDir();
|
|
411
412
|
};
|
|
412
413
|
exports.stopDockerComposeStack = stopDockerComposeStack;
|
|
413
|
-
const
|
|
414
|
+
const createDockerLifecycleLogFilter = (logger) => {
|
|
414
415
|
let buffer = '';
|
|
415
416
|
return (chunk) => {
|
|
416
417
|
buffer += chunk.toString();
|
|
@@ -419,12 +420,13 @@ const createCustomLogFilter = (logger) => {
|
|
|
419
420
|
lines.forEach((line) => {
|
|
420
421
|
if (!line.trim())
|
|
421
422
|
return;
|
|
422
|
-
if (
|
|
423
|
+
if (exports.DOCKER_LIFECYCLE_PATTERNS.some((pattern) => pattern.test(line))) {
|
|
423
424
|
logger.info(line);
|
|
424
425
|
}
|
|
425
426
|
});
|
|
426
427
|
};
|
|
427
428
|
};
|
|
429
|
+
exports.createDockerLifecycleLogFilter = createDockerLifecycleLogFilter;
|
|
428
430
|
const processDockerAuthentication = async (childProcess) => {
|
|
429
431
|
await new Promise((resolve, reject) => {
|
|
430
432
|
childProcess.on('close', (code) => {
|
package/out/tunnel/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tunnel/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tunnel/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC"}
|
package/out/tunnel/index.js
CHANGED
|
@@ -2,4 +2,5 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./docker-compose-lifecycle"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./compose-project-lifecycle"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./tunnel-options"), exports);
|
|
@@ -8,11 +8,13 @@ export type TunnelCommandOptions = {
|
|
|
8
8
|
verify?: boolean;
|
|
9
9
|
url?: string;
|
|
10
10
|
localPort?: number;
|
|
11
|
+
localStorage?: boolean;
|
|
11
12
|
};
|
|
12
13
|
export type TunnelOptions = Omit<TunnelCommandOptions, 'debugStartingPort'> & {
|
|
13
14
|
debugStartingPort: number;
|
|
14
15
|
assistantName?: string | null;
|
|
15
16
|
containersDockerComposeFiles?: Record<string, string>;
|
|
17
|
+
localStorageCleanup?: () => Promise<void>;
|
|
16
18
|
};
|
|
17
19
|
export declare const defaultDebugStartingPort = 9229;
|
|
18
20
|
export declare const defaultDebugHost = "127.0.0.1";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel-options.d.ts","sourceRoot":"","sources":["../../src/tunnel/tunnel-options.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"tunnel-options.d.ts","sourceRoot":"","sources":["../../src/tunnel/tunnel-options.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,GAAG;IAC5E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,4BAA4B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C,CAAC;AAEF,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAC7C,eAAO,MAAM,gBAAgB,cAAc,CAAC;AAC5C,eAAO,MAAM,uBAAuB,QAA8C,CAAC;AACnF,eAAO,MAAM,2BAA2B,EAAE,aAIzC,CAAC;AAEF,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAC/C,eAAO,MAAM,8BAA8B,OAAO,CAAC;AACnD,eAAO,MAAM,2CAA2C,OAAO,CAAC;AAQhE,wBAAsB,cAAc,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAQ1G"}
|
package/out/ui/text.d.ts
CHANGED
|
@@ -474,6 +474,65 @@ export declare const Text: {
|
|
|
474
474
|
desc: string;
|
|
475
475
|
};
|
|
476
476
|
};
|
|
477
|
+
localStorage: {
|
|
478
|
+
cmd: {
|
|
479
|
+
desc: string;
|
|
480
|
+
start: string;
|
|
481
|
+
status: string;
|
|
482
|
+
seed: string;
|
|
483
|
+
reset: string;
|
|
484
|
+
stop: string;
|
|
485
|
+
};
|
|
486
|
+
option: {
|
|
487
|
+
seedKvs: string;
|
|
488
|
+
seedSql: string;
|
|
489
|
+
resetKvs: string;
|
|
490
|
+
resetSql: string;
|
|
491
|
+
};
|
|
492
|
+
error: {
|
|
493
|
+
seedFailed: string;
|
|
494
|
+
resetFailed: string;
|
|
495
|
+
};
|
|
496
|
+
view: {
|
|
497
|
+
title: string;
|
|
498
|
+
labels: {
|
|
499
|
+
kvs: string;
|
|
500
|
+
sql: string;
|
|
501
|
+
};
|
|
502
|
+
app: (name: string) => string;
|
|
503
|
+
statusApp: (name: string) => string;
|
|
504
|
+
noServices: string;
|
|
505
|
+
running: (services: string[]) => string;
|
|
506
|
+
dataPersistence: string;
|
|
507
|
+
declarations: {
|
|
508
|
+
kvs: string;
|
|
509
|
+
sql: string;
|
|
510
|
+
};
|
|
511
|
+
configured: (declaration?: string) => string;
|
|
512
|
+
states: {
|
|
513
|
+
running: string;
|
|
514
|
+
unhealthy: string;
|
|
515
|
+
stopped: string;
|
|
516
|
+
};
|
|
517
|
+
health: (healthy: boolean) => string;
|
|
518
|
+
endpoint: (endpoint: string) => string;
|
|
519
|
+
dataPreserved: string;
|
|
520
|
+
notConfigured: {
|
|
521
|
+
kvs: string;
|
|
522
|
+
sql: string;
|
|
523
|
+
};
|
|
524
|
+
seedHelp: string[];
|
|
525
|
+
seedWarning: string;
|
|
526
|
+
recordCount: (count?: number) => string;
|
|
527
|
+
statementCount: (count?: number) => string;
|
|
528
|
+
seedSucceeded: (label: string, count: string) => string;
|
|
529
|
+
seedFailed: (label: string, error?: string) => string;
|
|
530
|
+
recordsRemoved: (count: number) => string;
|
|
531
|
+
resetSucceeded: (label: string, detail: string) => string;
|
|
532
|
+
resetFailed: (label: string, error?: string) => string;
|
|
533
|
+
stopped: string;
|
|
534
|
+
};
|
|
535
|
+
};
|
|
477
536
|
entitiesIndexes: {
|
|
478
537
|
cmd: {
|
|
479
538
|
desc: string;
|
|
@@ -979,6 +1038,7 @@ export declare const Text: {
|
|
|
979
1038
|
tunnel: {
|
|
980
1039
|
cmd: string;
|
|
981
1040
|
optionDebugger: string;
|
|
1041
|
+
localStorage: string;
|
|
982
1042
|
debuggerPort: string;
|
|
983
1043
|
debuggerHost: string;
|
|
984
1044
|
functionHandlers: string;
|
package/out/ui/text.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/ui/text.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/ui/text.ts"],"names":[],"mappings":"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"}
|
package/out/ui/text.js
CHANGED
|
@@ -556,6 +556,64 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
556
556
|
desc: 'manage storage for your app'
|
|
557
557
|
}
|
|
558
558
|
},
|
|
559
|
+
localStorage: {
|
|
560
|
+
cmd: {
|
|
561
|
+
desc: 'manage Docker-backed local storage for this app',
|
|
562
|
+
start: 'start manifest-configured local-storage services',
|
|
563
|
+
status: 'show local-storage configuration and runtime health',
|
|
564
|
+
seed: 'seed one or more configured local-storage capabilities',
|
|
565
|
+
reset: 'reset one capability, or every configured capability when no flag is supplied',
|
|
566
|
+
stop: 'stop local-storage containers while preserving data'
|
|
567
|
+
},
|
|
568
|
+
option: {
|
|
569
|
+
seedKvs: 'seed KVS, Custom Entity, and Secret data from JSON',
|
|
570
|
+
seedSql: 'seed SQL from an ordered multi-statement file',
|
|
571
|
+
resetKvs: 'reset KVS, Custom Entity, and Secret data',
|
|
572
|
+
resetSql: 'reset the SQL database'
|
|
573
|
+
},
|
|
574
|
+
error: {
|
|
575
|
+
seedFailed: 'Local storage was only partially seeded; see the per-offering results above.',
|
|
576
|
+
resetFailed: 'Local storage was only partially reset; see the per-offering results above.'
|
|
577
|
+
},
|
|
578
|
+
view: {
|
|
579
|
+
title: 'Local storage',
|
|
580
|
+
labels: { kvs: 'KVS', sql: 'SQL' },
|
|
581
|
+
app: (name) => `App: ${name}`,
|
|
582
|
+
statusApp: (name) => `App: ${name}`,
|
|
583
|
+
noServices: 'No services were started. Add the storage:app permission scope for KVS or a modules.sql entry for SQL.',
|
|
584
|
+
running: (services) => `Running: ${services.join(', ')}`,
|
|
585
|
+
dataPersistence: 'Data is stored in a Forge-managed Docker volume and survives stop/restart.',
|
|
586
|
+
declarations: { kvs: 'storage:app', sql: 'modules.sql' },
|
|
587
|
+
configured: (declaration) => (declaration ? ` Configured: Yes (${declaration})` : ' Configured: No'),
|
|
588
|
+
states: {
|
|
589
|
+
running: ' Status: Running',
|
|
590
|
+
unhealthy: ' Status: Unhealthy',
|
|
591
|
+
stopped: ' Status: Not started'
|
|
592
|
+
},
|
|
593
|
+
health: (healthy) => ` Health: ${healthy ? 'Ready' : 'Not ready'}`,
|
|
594
|
+
endpoint: (endpoint) => ` Endpoint: ${endpoint}`,
|
|
595
|
+
dataPreserved: ' Data: Preserved',
|
|
596
|
+
notConfigured: {
|
|
597
|
+
kvs: ' Reason: No storage:app permission scope in manifest.yml',
|
|
598
|
+
sql: ' Reason: No modules.sql entry in manifest.yml'
|
|
599
|
+
},
|
|
600
|
+
seedHelp: [
|
|
601
|
+
'Seed local storage with one or both flags:',
|
|
602
|
+
' forge storage local seed --kvs <path-to-json>',
|
|
603
|
+
' forge storage local seed --sql <path-to-sql>',
|
|
604
|
+
'KVS JSON fields: kvs[], customEntities[], secrets[]. SQL files may contain ordered statements separated by semicolons.'
|
|
605
|
+
],
|
|
606
|
+
seedWarning: 'Local Secret Store seed values are plaintext development data. Do not commit seed files containing secrets.',
|
|
607
|
+
recordCount: (count) => `${count} record(s)`,
|
|
608
|
+
statementCount: (count) => `${count} statement(s)`,
|
|
609
|
+
seedSucceeded: (label, count) => `${label} seed: succeeded (${count})`,
|
|
610
|
+
seedFailed: (label, error) => `${label} seed: failed — ${error}`,
|
|
611
|
+
recordsRemoved: (count) => ` (${count} record(s) removed)`,
|
|
612
|
+
resetSucceeded: (label, detail) => `${label} reset: succeeded${detail}`,
|
|
613
|
+
resetFailed: (label, error) => `${label} reset: failed — ${error}`,
|
|
614
|
+
stopped: 'Local-storage containers stopped. Data remains in the Forge-managed Docker volume.'
|
|
615
|
+
}
|
|
616
|
+
},
|
|
559
617
|
entitiesIndexes: {
|
|
560
618
|
cmd: {
|
|
561
619
|
desc: 'manage indexes for custom entities present in your app'
|
|
@@ -1241,6 +1299,7 @@ ${buildTerminalLink(link)}\n`,
|
|
|
1241
1299
|
tunnel: {
|
|
1242
1300
|
cmd: 'start a tunnel to connect your local code with the app running in the development environment',
|
|
1243
1301
|
optionDebugger: 'enable debugger mode',
|
|
1302
|
+
localStorage: 'route Forge KVS and SQL SDK calls to Docker-backed local storage',
|
|
1244
1303
|
debuggerPort: 'starting port to use for debugging, multiple handlers will get subsequent ports. It is only used for Node runtime debugger',
|
|
1245
1304
|
debuggerHost: 'host to bind the Node runtime debuggers to, default is 127.0.0.1',
|
|
1246
1305
|
functionHandlers: 'list of function handlers declared on manifest to debug, separated by space. This option must be specified if debug mode is enabled. It is only used for Node runtime debugger',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/cli-shared",
|
|
3
|
-
"version": "9.7.0-next.
|
|
3
|
+
"version": "9.7.0-next.1-experimental-13c2f8d",
|
|
4
4
|
"description": "Common functionality for Forge CLI",
|
|
5
5
|
"author": "Atlassian",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"generate-graphql-types": "graphql-codegen --config src/graphql/codegen.yml"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@forge/manifest": "13.5.0",
|
|
15
|
+
"@forge/manifest": "13.5.1-next.0-experimental-13c2f8d",
|
|
16
16
|
"@forge/util": "3.0.0",
|
|
17
17
|
"@forge/i18n": "1.0.0",
|
|
18
18
|
"@sentry/node": "7.106.0",
|