@forge/cli 7.0.2-next.8 → 7.0.3-next.20
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 +343 -0
- package/npm-shrinkwrap.json +199 -246
- package/out/command-line/dependency-injection.d.ts.map +1 -1
- package/out/command-line/dependency-injection.js +1 -1
- package/out/installations/graphql-client.d.ts +3 -2
- package/out/installations/graphql-client.d.ts.map +1 -1
- package/out/installations/graphql-client.js +7 -2
- package/out/installations/harmonized-apps/harmonized-app-installation-errors.d.ts +8 -0
- package/out/installations/harmonized-apps/harmonized-app-installation-errors.d.ts.map +1 -0
- package/out/installations/harmonized-apps/harmonized-app-installation-errors.js +18 -0
- package/out/service/docker-service.d.ts +2 -1
- package/out/service/docker-service.d.ts.map +1 -1
- package/out/service/docker-service.js +12 -6
- package/package.json +16 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency-injection.d.ts","sourceRoot":"","sources":["../../src/command-line/dependency-injection.ts"],"names":[],"mappings":"AAIA,OAAO,EASL,UAAU,EACV,aAAa,EAEb,UAAU,EAGV,gBAAgB,EAGhB,kBAAkB,EAGlB,gBAAgB,EAQhB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EAGnB,MAAM,mBAAmB,CAAC;AAc3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAML,0BAA0B,EAG3B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,gCAAgC,EAAE,MAAM,sDAAsD,CAAC;AAExG,OAAO,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AACtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAIlG,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAM7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAQtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAI3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAG3E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAUlE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAIhF,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAE3F,eAAO,MAAM,eAAe,eAAsB,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"dependency-injection.d.ts","sourceRoot":"","sources":["../../src/command-line/dependency-injection.ts"],"names":[],"mappings":"AAIA,OAAO,EASL,UAAU,EACV,aAAa,EAEb,UAAU,EAGV,gBAAgB,EAGhB,kBAAkB,EAGlB,gBAAgB,EAQhB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EAGnB,MAAM,mBAAmB,CAAC;AAc3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAML,0BAA0B,EAG3B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,gCAAgC,EAAE,MAAM,sDAAsD,CAAC;AAExG,OAAO,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AACtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAIlG,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAM7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAQtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAI3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAG3E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAUlE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAIhF,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAE3F,eAAO,MAAM,eAAe,eAAsB,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0VvE,CAAC;AAGF,aAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC7D,oBAAY,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC"}
|
|
@@ -134,7 +134,7 @@ const getDependencies = async (cliDetails) => {
|
|
|
134
134
|
const listEntitiesIndexesCommand = new list_indexes_1.ListEntitiesIndexesCommand(customEntitiesService);
|
|
135
135
|
const bitbucketTranslation = new site_translation_1.BitbucketTranslator();
|
|
136
136
|
const cloudProductTranslation = new site_translation_1.CloudIdTranslator(graphQLClient);
|
|
137
|
-
const installationsClient = new graphql_client_6.InstallationsGraphqlClient(graphQLClient, cloudProductTranslation, bitbucketTranslation, cli_shared_1.pause);
|
|
137
|
+
const installationsClient = new graphql_client_6.InstallationsGraphqlClient(graphQLClient, cloudProductTranslation, bitbucketTranslation, cli_shared_1.pause, featureFlagService);
|
|
138
138
|
const installAppSiteCommand = new install_app_site_1.InstallAppSiteCommand(assertiveAppConfigReader, installationsClient);
|
|
139
139
|
const uninstallAppCommand = new uninstall_app_1.UninstallAppCommand(assertiveAppConfigReader, installationsClient);
|
|
140
140
|
const deployMonitorClient = new deploy_1.DeployMonitorGraphqlClient(graphQLClient);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AppUninstallationInput, GraphQLClient, GraphQlMutationError, Pause, BaseError, UserError } from '@forge/cli-shared';
|
|
1
|
+
import { AppUninstallationInput, GraphQLClient, GraphQlMutationError, Pause, BaseError, UserError, FeatureFlagReader } from '@forge/cli-shared';
|
|
2
2
|
import { AppInstallSiteDetails, InstallAppClient } from './install-app-site';
|
|
3
3
|
import { AppEnvironmentVersionData, Installation, ListAppInstallationsClient, UpgradeAppInstallationsClient } from '../service/installation-service';
|
|
4
4
|
import { UninstallAppClient, UninstallAppOutput } from './uninstall-app';
|
|
@@ -52,10 +52,11 @@ export declare class InstallationsGraphqlClient implements InstallAppClient, Lis
|
|
|
52
52
|
private readonly cloudIdTranslator;
|
|
53
53
|
private readonly bitbucketTranslator;
|
|
54
54
|
private readonly pause;
|
|
55
|
+
private readonly featureFlagReader;
|
|
55
56
|
SITE_RESOURCE_TYPE: string;
|
|
56
57
|
WORKSPACE_RESOURCE_TYPE: string;
|
|
57
58
|
static buildInstallationContext(product: string, resourceId: string, resourceType: string): string;
|
|
58
|
-
constructor(graphqlClient: GraphQLClient, cloudIdTranslator: SiteTranslator, bitbucketTranslator: SiteTranslator, pause: Pause);
|
|
59
|
+
constructor(graphqlClient: GraphQLClient, cloudIdTranslator: SiteTranslator, bitbucketTranslator: SiteTranslator, pause: Pause, featureFlagReader: FeatureFlagReader);
|
|
59
60
|
private buildInstallationContext;
|
|
60
61
|
private getProductTranslation;
|
|
61
62
|
installAppIntoSite({ environmentKey, site, product, appId }: AppInstallSiteDetails): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/installations/graphql-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,sBAAsB,EAKtB,aAAa,EACb,oBAAoB,EAMpB,KAAK,EAGL,SAAS,EACT,SAAS,
|
|
1
|
+
{"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/installations/graphql-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.InstallationsGraphqlClient = exports.UnknownSiteWithoutResourceIdError = exports.InstallationNotFoundError = exports.MissingAppUninstallTask = exports.MissingAppEnvironmentError = exports.MissingAppError = exports.InstallationRequestFailedError = exports.MissingTaskIdError = exports.EnvironmentNotFoundError = exports.UpgradeError = exports.InstallationError = exports.AlreadyInstalledError = exports.PermissionDeniedError = exports.ALREADY_UPGRADED_CODE = exports.UNINSTALLATION_EVENT_POLL_INTERVAL = void 0;
|
|
4
4
|
const ari_1 = require("@forge/util/packages/ari");
|
|
5
5
|
const cli_shared_1 = require("@forge/cli-shared");
|
|
6
|
+
const harmonized_app_installation_errors_1 = require("./harmonized-apps/harmonized-app-installation-errors");
|
|
6
7
|
exports.UNINSTALLATION_EVENT_POLL_INTERVAL = 500;
|
|
7
8
|
exports.ALREADY_UPGRADED_CODE = 'INSTALLATION_ALREADY_UPGRADED';
|
|
8
9
|
const ALREADY_INSTALLED_CODE = 'APP_ALREADY_INSTALLED';
|
|
@@ -74,11 +75,12 @@ class UnknownSiteWithoutResourceIdError extends Error {
|
|
|
74
75
|
}
|
|
75
76
|
exports.UnknownSiteWithoutResourceIdError = UnknownSiteWithoutResourceIdError;
|
|
76
77
|
class InstallationsGraphqlClient {
|
|
77
|
-
constructor(graphqlClient, cloudIdTranslator, bitbucketTranslator, pause) {
|
|
78
|
+
constructor(graphqlClient, cloudIdTranslator, bitbucketTranslator, pause, featureFlagReader) {
|
|
78
79
|
this.graphqlClient = graphqlClient;
|
|
79
80
|
this.cloudIdTranslator = cloudIdTranslator;
|
|
80
81
|
this.bitbucketTranslator = bitbucketTranslator;
|
|
81
82
|
this.pause = pause;
|
|
83
|
+
this.featureFlagReader = featureFlagReader;
|
|
82
84
|
this.SITE_RESOURCE_TYPE = 'site';
|
|
83
85
|
this.WORKSPACE_RESOURCE_TYPE = 'workspace';
|
|
84
86
|
}
|
|
@@ -191,11 +193,14 @@ class InstallationsGraphqlClient {
|
|
|
191
193
|
const { state, errors, requestId } = await this.getAppInstallationTask(taskId);
|
|
192
194
|
status = state;
|
|
193
195
|
if (status === cli_shared_1.AppTaskState.Failed) {
|
|
196
|
+
const shouldDisplayHarmonizedAppInstallationErrors = await this.featureFlagReader.shouldDisplayErrorsForHarmonizedApps();
|
|
194
197
|
const error = errors === null || errors === void 0 ? void 0 : errors[0];
|
|
195
198
|
const statusCode = (_a = error === null || error === void 0 ? void 0 : error.extensions) === null || _a === void 0 ? void 0 : _a.statusCode;
|
|
196
199
|
const isUserError = statusCode && statusCode >= 400 && statusCode < 500 ? true : false;
|
|
197
200
|
const code = (_c = (_b = error === null || error === void 0 ? void 0 : error.extensions) === null || _b === void 0 ? void 0 : _b.errorType) !== null && _c !== void 0 ? _c : undefined;
|
|
198
|
-
throw new InstallationRequestFailedError(isUserError, code,
|
|
201
|
+
throw new InstallationRequestFailedError(isUserError, code, shouldDisplayHarmonizedAppInstallationErrors
|
|
202
|
+
? (0, harmonized_app_installation_errors_1.expandHarmonizedAppInstallationError)(code)
|
|
203
|
+
: (_d = error === null || error === void 0 ? void 0 : error.message) !== null && _d !== void 0 ? _d : undefined, requestId);
|
|
199
204
|
}
|
|
200
205
|
if (status !== cli_shared_1.AppTaskState.Complete)
|
|
201
206
|
await this.pause(exports.UNINSTALLATION_EVENT_POLL_INTERVAL);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare enum ApiErrorCode {
|
|
2
|
+
CONCURRENT_SYNC = "CONNECT_PLUGIN_CONCURRENT_PERMS_SYNC"
|
|
3
|
+
}
|
|
4
|
+
export declare const KNOWN_HARMONIZED_APP_INSTALLATION_ERRORS: {
|
|
5
|
+
CONNECT_PLUGIN_CONCURRENT_PERMS_SYNC: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const expandHarmonizedAppInstallationError: (errorCode: string | undefined) => string | undefined;
|
|
8
|
+
//# sourceMappingURL=harmonized-app-installation-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harmonized-app-installation-errors.d.ts","sourceRoot":"","sources":["../../../src/installations/harmonized-apps/harmonized-app-installation-errors.ts"],"names":[],"mappings":"AAEA,oBAAY,YAAY;IAGtB,eAAe,yCAAyC;CACzD;AAED,eAAO,MAAM,wCAAwC;;CAEpD,CAAC;AAMF,eAAO,MAAM,oCAAoC,cAAe,MAAM,GAAG,SAAS,uBAMjF,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.expandHarmonizedAppInstallationError = exports.KNOWN_HARMONIZED_APP_INSTALLATION_ERRORS = exports.ApiErrorCode = void 0;
|
|
4
|
+
const cli_shared_1 = require("@forge/cli-shared");
|
|
5
|
+
var ApiErrorCode;
|
|
6
|
+
(function (ApiErrorCode) {
|
|
7
|
+
ApiErrorCode["CONCURRENT_SYNC"] = "CONNECT_PLUGIN_CONCURRENT_PERMS_SYNC";
|
|
8
|
+
})(ApiErrorCode = exports.ApiErrorCode || (exports.ApiErrorCode = {}));
|
|
9
|
+
exports.KNOWN_HARMONIZED_APP_INSTALLATION_ERRORS = {
|
|
10
|
+
[ApiErrorCode.CONCURRENT_SYNC]: cli_shared_1.Text.harmonization.installation.errors.concurrentSync
|
|
11
|
+
};
|
|
12
|
+
const expandHarmonizedAppInstallationError = (errorCode) => {
|
|
13
|
+
if (errorCode) {
|
|
14
|
+
return exports.KNOWN_HARMONIZED_APP_INSTALLATION_ERRORS[errorCode];
|
|
15
|
+
}
|
|
16
|
+
return undefined;
|
|
17
|
+
};
|
|
18
|
+
exports.expandHarmonizedAppInstallationError = expandHarmonizedAppInstallationError;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { UserError } from '@forge/cli-shared';
|
|
2
1
|
import { spawn } from 'cross-spawn';
|
|
2
|
+
import { UserError } from '@forge/cli-shared';
|
|
3
3
|
export declare class DockerError extends UserError {
|
|
4
4
|
readonly code: DockerErrorCode;
|
|
5
5
|
constructor(message: string, code: DockerErrorCode);
|
|
@@ -10,6 +10,7 @@ export declare enum DockerErrorCode {
|
|
|
10
10
|
NOT_INSTALLED = 1
|
|
11
11
|
}
|
|
12
12
|
export declare class DockerService {
|
|
13
|
+
verifyInstalled(): void;
|
|
13
14
|
runContainer(args: string[]): ReturnType<typeof spawn>;
|
|
14
15
|
getDockerVersion(debugEnabled: boolean): Promise<string>;
|
|
15
16
|
removeContainer(containerName: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-service.d.ts","sourceRoot":"","sources":["../../src/service/docker-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"docker-service.d.ts","sourceRoot":"","sources":["../../src/service/docker-service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAQ,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAUpD,qBAAa,WAAY,SAAQ,SAAS;aAGtB,IAAI,EAAE,eAAe;gBADrC,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,eAAe;CAIxC;AAED,eAAO,MAAM,oBAAoB,wCAAwC,CAAC;AAE1E,oBAAY,eAAe;IACzB,kBAAkB,IAAA;IAClB,aAAa,IAAA;CACd;AAED,qBAAa,aAAa;IACjB,eAAe,IAAI,IAAI;IAMvB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC;IAKhD,gBAAgB,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAexD,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC;IAK1D,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IActE,OAAO,CAAC,WAAW;CAWpB"}
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DockerService = exports.DockerErrorCode = exports.DOCKER_DOWNLOAD_LINK = exports.DockerError = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const cli_shared_1 = require("@forge/cli-shared");
|
|
6
|
-
const command_exists_1 = tslib_1.__importDefault(require("command-exists"));
|
|
7
5
|
const child_process_1 = require("child_process");
|
|
8
|
-
const cross_spawn_1 = require("cross-spawn");
|
|
9
6
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
7
|
+
const command_exists_1 = tslib_1.__importDefault(require("command-exists"));
|
|
8
|
+
const cross_spawn_1 = require("cross-spawn");
|
|
9
|
+
const cli_shared_1 = require("@forge/cli-shared");
|
|
10
10
|
class DockerError extends cli_shared_1.UserError {
|
|
11
11
|
constructor(message, code) {
|
|
12
12
|
super(message);
|
|
@@ -21,13 +21,17 @@ var DockerErrorCode;
|
|
|
21
21
|
DockerErrorCode[DockerErrorCode["NOT_INSTALLED"] = 1] = "NOT_INSTALLED";
|
|
22
22
|
})(DockerErrorCode = exports.DockerErrorCode || (exports.DockerErrorCode = {}));
|
|
23
23
|
class DockerService {
|
|
24
|
+
verifyInstalled() {
|
|
25
|
+
if (!command_exists_1.default.sync('docker')) {
|
|
26
|
+
throw new DockerError(cli_shared_1.Text.tunnel.error.dockerNotInstalled(exports.DOCKER_DOWNLOAD_LINK), DockerErrorCode.NOT_INSTALLED);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
24
29
|
runContainer(args) {
|
|
30
|
+
this.verifyInstalled();
|
|
25
31
|
return (0, cross_spawn_1.spawn)('docker', ['run', ...args], { stdio: ['inherit', 'inherit', 'pipe'] });
|
|
26
32
|
}
|
|
27
33
|
async getDockerVersion(debugEnabled) {
|
|
28
|
-
|
|
29
|
-
throw new DockerError(cli_shared_1.Text.tunnel.error.dockerNotInstalled(exports.DOCKER_DOWNLOAD_LINK), DockerErrorCode.NOT_INSTALLED);
|
|
30
|
-
}
|
|
34
|
+
this.verifyInstalled();
|
|
31
35
|
const { err, stdout } = await this.execPromise('docker version --format "{{.Server.Version}}"');
|
|
32
36
|
if (err) {
|
|
33
37
|
throw new DockerError(cli_shared_1.Text.tunnel.error.dockerDaemonNotRunning(err.message, debugEnabled), DockerErrorCode.DAEMON_NOT_RUNNING);
|
|
@@ -36,9 +40,11 @@ class DockerService {
|
|
|
36
40
|
return dockerVersion;
|
|
37
41
|
}
|
|
38
42
|
async removeContainer(containerName) {
|
|
43
|
+
this.verifyInstalled();
|
|
39
44
|
await this.execPromise(`docker rm -f ${containerName}`);
|
|
40
45
|
}
|
|
41
46
|
downloadImage(imageName) {
|
|
47
|
+
this.verifyInstalled();
|
|
42
48
|
return (0, cross_spawn_1.spawn)('docker', ['pull', imageName]);
|
|
43
49
|
}
|
|
44
50
|
startCleanupWorker(pids, containerName) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/cli",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.3-next.20",
|
|
4
4
|
"description": "A command line interface for managing Atlassian-hosted apps",
|
|
5
5
|
"author": "Atlassian",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -18,16 +18,16 @@
|
|
|
18
18
|
"postinstall": "node -e \"fs.existsSync('./out/bin/postinstall.js') && require('./out/bin/postinstall.js')\""
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@forge/bundler": "4.15.
|
|
22
|
-
"@forge/cli-shared": "3.23.
|
|
23
|
-
"@forge/egress": "1.2.
|
|
24
|
-
"@forge/lint": "4.0.
|
|
25
|
-
"@forge/manifest": "5.5.
|
|
26
|
-
"@forge/node-runtime": "0.
|
|
27
|
-
"@forge/runtime": "5.
|
|
28
|
-
"@forge/tunnel": "4.0.
|
|
29
|
-
"@forge/util": "1.4.0",
|
|
30
|
-
"@sentry/node": "7.
|
|
21
|
+
"@forge/bundler": "4.15.3-next.18",
|
|
22
|
+
"@forge/cli-shared": "3.23.3-next.10",
|
|
23
|
+
"@forge/egress": "1.2.13-next.0",
|
|
24
|
+
"@forge/lint": "4.0.5-next.10",
|
|
25
|
+
"@forge/manifest": "5.5.3-next.5",
|
|
26
|
+
"@forge/node-runtime": "0.7.0-next.6",
|
|
27
|
+
"@forge/runtime": "5.4.0-next.4",
|
|
28
|
+
"@forge/tunnel": "4.0.3-next.19",
|
|
29
|
+
"@forge/util": "1.4.1-next.0",
|
|
30
|
+
"@sentry/node": "7.100.1",
|
|
31
31
|
"ajv": "^8.12.0",
|
|
32
32
|
"archiver": "^6.0.1",
|
|
33
33
|
"case": "^1.6.3",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"ora": "^5.4.1",
|
|
52
52
|
"portfinder": "^1.0.32",
|
|
53
53
|
"sanitize-filename": "^1.6.3",
|
|
54
|
-
"semver": "^7.
|
|
54
|
+
"semver": "^7.6.0",
|
|
55
55
|
"tmp": "^0.2.1",
|
|
56
56
|
"tslib": "^2.6.2",
|
|
57
57
|
"uuid": "^9.0.1"
|
|
@@ -65,20 +65,20 @@
|
|
|
65
65
|
"@types/fs-extra": "^11.0.4",
|
|
66
66
|
"@types/hidefile": "^3.0.3",
|
|
67
67
|
"@types/inquirer": "^8.2.10",
|
|
68
|
-
"@types/jest": "^29.5.
|
|
68
|
+
"@types/jest": "^29.5.12",
|
|
69
69
|
"@types/node": "14.18.63",
|
|
70
|
-
"@types/node-fetch": "^2.6.
|
|
70
|
+
"@types/node-fetch": "^2.6.11",
|
|
71
71
|
"@types/omelette": "^0.4.4",
|
|
72
72
|
"@types/semver": "^7.5.6",
|
|
73
73
|
"@types/tmp": "^0.2.6",
|
|
74
|
-
"@types/uuid": "^9.0.
|
|
74
|
+
"@types/uuid": "^9.0.8",
|
|
75
75
|
"jest": "^29.7.0",
|
|
76
76
|
"jest-fixtures": "^0.6.0",
|
|
77
77
|
"jest-matcher-specific-error": "^1.0.0",
|
|
78
78
|
"jest-when": "^3.6.0",
|
|
79
79
|
"memfs": "^4.6.0",
|
|
80
80
|
"sentry-testkit": "^5.0.8",
|
|
81
|
-
"type-fest": "4.
|
|
81
|
+
"type-fest": "4.10.2"
|
|
82
82
|
},
|
|
83
83
|
"engines": {
|
|
84
84
|
"node": ">=12.13.1"
|