@forge/cli 6.18.0 → 6.19.0-next.28

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.
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/deploy-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EAEpB,UAAU,EACV,cAAc,EACd,WAAW,EAIZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAA+B,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACzG,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE9E,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,sBAAuB,SAAQ,WAAW;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM,EAAE;IAItC,aAAa,IAAI,cAAc;IAM/B,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,sBAAuB,SAAQ,WAAW;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAGpC,aAAa,IAAI,cAAc;IAM/B,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,iCAAiC;IAClD,OAAO,CAAC,QAAQ,CAAC,8BAA8B;IAC/C,OAAO,CAAC,QAAQ,CAAC,wBAAwB;gBAVxB,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,mBAAmB,EACzC,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,oBAAoB,EAAE,oBAAoB,EAC1C,UAAU,EAAE,UAAU,EACtB,iCAAiC,EAAE,0BAA0B,EAC7D,8BAA8B,EAAE,0BAA0B,EAC1D,wBAAwB,EAAE,wBAAwB;IAGrE,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,iBAAiB;YAGX,wBAAwB;YAwBxB,mBAAmB;YA2BnB,oBAAoB;YAgBpB,2BAA2B;YAe3B,wBAAwB;IAkBzB,GAAG,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;CA4D3G"}
1
+ {"version":3,"file":"deploy-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/deploy-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EAEpB,UAAU,EACV,cAAc,EACd,WAAW,EAIZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAA+B,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACzG,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE9E,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,sBAAuB,SAAQ,WAAW;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM,EAAE;IAItC,aAAa,IAAI,cAAc;IAM/B,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,sBAAuB,SAAQ,WAAW;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAGpC,aAAa,IAAI,cAAc;IAM/B,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,iCAAiC;IAClD,OAAO,CAAC,QAAQ,CAAC,8BAA8B;IAC/C,OAAO,CAAC,QAAQ,CAAC,wBAAwB;gBAVxB,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,mBAAmB,EACzC,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,oBAAoB,EAAE,oBAAoB,EAC1C,UAAU,EAAE,UAAU,EACtB,iCAAiC,EAAE,0BAA0B,EAC7D,8BAA8B,EAAE,0BAA0B,EAC1D,wBAAwB,EAAE,wBAAwB;IAGrE,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,iBAAiB;YAGX,wBAAwB;YAwBxB,mBAAmB;YA2BnB,oBAAoB;YAgBpB,2BAA2B;YAe3B,wBAAwB;IAkBzB,GAAG,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;CA6D3G"}
@@ -136,6 +136,7 @@ class DeployController {
136
136
  }
137
137
  }
138
138
  async run({ environment, verify, nonInteractive }) {
139
+ var _a;
139
140
  const { id } = await this.appConfigProvider();
140
141
  const appDetails = await this.getAppEnvironmentDetails(id, environment, nonInteractive);
141
142
  this.deployView.displayStart(environment, appDetails.environmentType);
@@ -169,7 +170,8 @@ class DeployController {
169
170
  const deployCommand = (await this.configFile.runtimeType()) === cli_shared_1.RuntimeType.nodejs
170
171
  ? this.nodePackageUploadDeployCommand
171
172
  : this.sandboxPackageUploadDeployCommand;
172
- const analytics = await this.deployView.reportDeploymentProgress(appDetails, hasProdInstallations, () => deployCommand.execute({ handlers, resources, environmentKey: environment }));
173
+ const packageConfig = (_a = (await this.configFile.readConfig()).app) === null || _a === void 0 ? void 0 : _a.package;
174
+ const analytics = await this.deployView.reportDeploymentProgress(appDetails, hasProdInstallations, () => deployCommand.execute({ handlers, resources, environmentKey: environment, packageConfig }));
173
175
  if (verify) {
174
176
  await this.verifyPostDeployment(environment);
175
177
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/tunnel-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,UAAU,EAIV,+BAA+B,EAEhC,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;gBALV,gBAAgB,EAAE,sBAAsB,EACxC,iBAAiB,EAAE,aAAa,EAChC,kBAAkB,EAAE,aAAa,EACjC,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU;IAG5B,GAAG,CAAC,aAAa,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBnE,eAAe,CAC1B,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,+BAA+B,EACtC,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,IAAI,CAAC;CAuBjB"}
1
+ {"version":3,"file":"tunnel-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/tunnel-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,UAAU,EAIV,+BAA+B,EAEhC,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;gBALV,gBAAgB,EAAE,sBAAsB,EACxC,iBAAiB,EAAE,aAAa,EAChC,kBAAkB,EAAE,aAAa,EACjC,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU;IAG5B,GAAG,CAAC,aAAa,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBnE,eAAe,CAC1B,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,+BAA+B,EACtC,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,IAAI,CAAC;CAuBjB"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TunnelController = void 0;
4
4
  const cli_shared_1 = require("@forge/cli-shared");
5
5
  const docker_service_1 = require("../../service/docker-service");
6
+ const path_1 = require("path");
6
7
  class TunnelController {
7
8
  constructor(analyticsService, nodeTunnelService, localTunnelService, dockerTunnelService, tunnelView, configFile) {
8
9
  this.analyticsService = analyticsService;
@@ -16,6 +17,9 @@ class TunnelController {
16
17
  const creds = await (0, cli_shared_1.getCredentialStore)(ui).getCredentials();
17
18
  const localTunnelErrorCallback = this.tunnelView.getTunnelErrorHandler(cli_shared_1.exitOnError);
18
19
  this.tunnelView.dockerPreamble(tunnelOptions.environment);
20
+ if (tunnelOptions.ngrokConfig) {
21
+ tunnelOptions.ngrokConfig = (0, path_1.resolve)(tunnelOptions.ngrokConfig);
22
+ }
19
23
  if ((await this.configFile.runtimeType()) === cli_shared_1.RuntimeType.nodejs) {
20
24
  return await this.nodeTunnelService.run(tunnelOptions, creds, ui.debugEnabled);
21
25
  }
@@ -139,15 +139,15 @@ const getDependencies = async (cliDetails) => {
139
139
  const uninstallAppCommand = new uninstall_app_1.UninstallAppCommand(assertiveAppConfigReader, installationsClient);
140
140
  const deployMonitorClient = new deploy_1.DeployMonitorGraphqlClient(graphQLClient);
141
141
  const webTriggerGraphqlClient = new graphql_client_7.WebTriggerGraphQLClient(graphQLClient);
142
- const archiverFactory = () => new deploy_1.ZipArchiver(ui);
142
+ const archiverFactory = () => (0, deploy_1.makeArchiver)(ui);
143
143
  const uploaderArtifactClient = new deploy_1.ArtifactGraphQLClient(graphQLClient);
144
144
  const triggerDeployClient = new deploy_1.TriggerDeployGraphQLClient(graphQLClient);
145
145
  const archiveUploader = new deploy_1.AppArchiveUploader(assertiveAppConfigReader, uploaderArtifactClient, fileUploader, ui, new resources_uploader_service_1.ResourcesUploaderService(fileReader));
146
146
  const deployer = new deploy_1.ArtifactDeployer(assertiveAppConfigReader, triggerDeployClient, deployMonitorClient, cli_shared_1.pause, ui);
147
147
  const sandboxBundle = (0, bundler_1.getSandboxBundler)();
148
- const nodeBundle = (0, bundler_1.getNodeBundler)(await (0, bundler_1.getWrapperProvider)({ fileSystemReader: fileReader }));
149
- const sandboxRuntimeBundler = new runtime_bundler_1.RuntimeBundler(archiverFactory, ui, sandboxBundle);
150
- const nodeRuntimeBundler = new runtime_bundler_1.RuntimeBundler(archiverFactory, ui, nodeBundle);
148
+ const nodeBundle = (0, bundler_1.getNodeBundler)((0, bundler_1.getWrapperProvider)({ fileSystemReader: fileReader }));
149
+ const sandboxRuntimeBundler = new runtime_bundler_1.SandboxRuntimeBundler(archiverFactory, ui, sandboxBundle);
150
+ const nodeRuntimeBundler = new runtime_bundler_1.NodeRuntimeBundler(archiverFactory, ui, nodeBundle);
151
151
  const nativeUiBundler = new nativeui_bundler_1.NativeUIBundler(ui, bundler_1.nativeUiBundle);
152
152
  const sandboxAppPackager = new deploy_1.AppPackager(sandboxRuntimeBundler, nativeUiBundler, ui);
153
153
  const nodeAppPackager = new deploy_1.AppPackager(nodeRuntimeBundler, nativeUiBundler, ui);
@@ -1,4 +1,4 @@
1
- import { AppConfigProvider, AppDeploymentStatus, Pause, UI, BaseError } from '@forge/cli-shared';
1
+ import { AppConfigProvider, AppDeploymentStatus, Pause, UI, UserError, BaseError } from '@forge/cli-shared';
2
2
  import { DeployMonitorClient } from './deploy-monitor-graphql-client';
3
3
  import { TriggerDeployClient } from './trigger-deploy-graphql-client';
4
4
  export declare class AppDeploymentFailedError extends BaseError {
@@ -16,6 +16,9 @@ export declare class HostedResourceDeploymentFailedError extends BaseError {
16
16
  constructor(userError?: boolean, requestId?: string | undefined, message?: string);
17
17
  isUserError(): boolean;
18
18
  }
19
+ export declare class ManifestValidationFailedError extends UserError {
20
+ constructor(requestId?: string | undefined, message?: string);
21
+ }
19
22
  export interface Deployer {
20
23
  deploy(environmentKey: string, artifactUrl: string, hostedResourceUploadId?: string): Promise<void>;
21
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"deployer.d.ts","sourceRoot":"","sources":["../../../src/deploy/deployer/deployer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAKjB,mBAAmB,EAGnB,KAAK,EAEL,EAAE,EAEF,SAAS,EACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAsB,MAAM,iCAAiC,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAItE,qBAAa,wBAAyB,SAAQ,SAAS;IAEnD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,GAAE,OAAe,EAC3C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,CAAC,EAAE,MAAM;IAIX,WAAW,IAAI,OAAO;CAG9B;AACD,qBAAa,sBAAuB,SAAQ,SAAS;IAEjD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,GAAE,OAAe,EAC3C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,CAAC,EAAE,MAAM;IAIX,WAAW,IAAI,OAAO;CAG9B;AACD,qBAAa,mCAAoC,SAAQ,SAAS;IAE9D,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,GAAE,OAAe,EAC3C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,CAAC,EAAE,MAAM;IAIX,WAAW,IAAI,OAAO;CAG9B;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,sBAAsB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrG;AAyBD,qBAAa,gBAAiB,YAAW,QAAQ;IAE7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAJF,gBAAgB,EAAE,iBAAiB,EACnC,YAAY,EAAE,mBAAmB,EACjC,mBAAmB,EAAE,mBAAmB,EACxC,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,EAAE;IAGZ,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,sBAAsB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAMlG,QAAQ;IAcT,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;;;;YA2BpG,iBAAiB;IAa/B,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,0BAA0B;IA6BlC,OAAO,CAAC,gBAAgB;CAuDzB"}
1
+ {"version":3,"file":"deployer.d.ts","sourceRoot":"","sources":["../../../src/deploy/deployer/deployer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAKjB,mBAAmB,EAGnB,KAAK,EAEL,EAAE,EACF,SAAS,EAET,SAAS,EACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAsB,MAAM,iCAAiC,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAItE,qBAAa,wBAAyB,SAAQ,SAAS;IAEnD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,GAAE,OAAe,EAC3C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,CAAC,EAAE,MAAM;IAIX,WAAW,IAAI,OAAO;CAG9B;AACD,qBAAa,sBAAuB,SAAQ,SAAS;IAEjD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,GAAE,OAAe,EAC3C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,CAAC,EAAE,MAAM;IAIX,WAAW,IAAI,OAAO;CAG9B;AACD,qBAAa,mCAAoC,SAAQ,SAAS;IAE9D,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,GAAE,OAAe,EAC3C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,CAAC,EAAE,MAAM;IAIX,WAAW,IAAI,OAAO;CAG9B;AACD,qBAAa,6BAA8B,SAAQ,SAAS;gBAC9C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM;CAG7D;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,sBAAsB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrG;AAyBD,qBAAa,gBAAiB,YAAW,QAAQ;IAE7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAJF,gBAAgB,EAAE,iBAAiB,EACnC,YAAY,EAAE,mBAAmB,EACjC,mBAAmB,EAAE,mBAAmB,EACxC,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,EAAE;IAGZ,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,sBAAsB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAMlG,QAAQ;IAcT,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;;;;YA2BpG,iBAAiB;IAa/B,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,0BAA0B;IA6BlC,OAAO,CAAC,gBAAgB;CA8DzB"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ArtifactDeployer = exports.HostedResourceDeploymentFailedError = exports.AppSnapshotFailedError = exports.AppDeploymentFailedError = void 0;
3
+ exports.ArtifactDeployer = exports.ManifestValidationFailedError = exports.HostedResourceDeploymentFailedError = exports.AppSnapshotFailedError = exports.AppDeploymentFailedError = void 0;
4
4
  const cli_shared_1 = require("@forge/cli-shared");
5
5
  const DEPLOYMENT_EVENT_POLL_INTERVAL = 500;
6
6
  class AppDeploymentFailedError extends cli_shared_1.BaseError {
@@ -33,6 +33,12 @@ class HostedResourceDeploymentFailedError extends cli_shared_1.BaseError {
33
33
  }
34
34
  }
35
35
  exports.HostedResourceDeploymentFailedError = HostedResourceDeploymentFailedError;
36
+ class ManifestValidationFailedError extends cli_shared_1.UserError {
37
+ constructor(requestId, message) {
38
+ super(`${message} (requestId: ${requestId || 'unknown'})`, requestId);
39
+ }
40
+ }
41
+ exports.ManifestValidationFailedError = ManifestValidationFailedError;
36
42
  function isTransitionEvent(event) {
37
43
  return event.__typename === 'AppDeploymentTransitionEvent';
38
44
  }
@@ -143,42 +149,48 @@ class ArtifactDeployer {
143
149
  var _a;
144
150
  if (errorDetails) {
145
151
  const { code, message } = errorDetails;
146
- if (code === 'APP_CODE_SNAPSHOT_FAILED') {
147
- throw new AppSnapshotFailedError(true, requestId, cli_shared_1.Text.snapshot.error('App code snapshot error', message));
148
- }
149
- if (code === 'APP_CODE_SNAPSHOT_TIMEOUT') {
150
- throw new AppSnapshotFailedError(false, requestId, cli_shared_1.Text.snapshot.timeout);
151
- }
152
- if (code === 'ENVIRONMENT_UPDATE_VALIDATION_FAILED') {
153
- const causeMessage = (_a = errorDetails === null || errorDetails === void 0 ? void 0 : errorDetails.fields) === null || _a === void 0 ? void 0 : _a.validationResult.message.replace(/Upsert.*Details /, '');
154
- if ((causeMessage === null || causeMessage === void 0 ? void 0 : causeMessage.startsWith('Invalid URL')) && causeMessage.includes('EGRESS')) {
155
- throw new AppDeploymentFailedError(true, requestId, cli_shared_1.Text.deploy.egressURL.invalidURLError(causeMessage));
152
+ switch (code) {
153
+ case 'APP_CODE_SNAPSHOT_FAILED': {
154
+ throw new AppSnapshotFailedError(true, requestId, cli_shared_1.Text.snapshot.error('App code snapshot error', message));
156
155
  }
157
- else if (causeMessage === null || causeMessage === void 0 ? void 0 : causeMessage.startsWith('Egress permission URL')) {
158
- throw new AppDeploymentFailedError(true, requestId, cli_shared_1.Text.deploy.egressURL.tooManyURLCharactersError(causeMessage));
156
+ case 'APP_CODE_SNAPSHOT_TIMEOUT': {
157
+ throw new AppSnapshotFailedError(false, requestId, cli_shared_1.Text.snapshot.timeout);
159
158
  }
160
- else if (causeMessage === null || causeMessage === void 0 ? void 0 : causeMessage.includes('permission URLs provided, exceeding')) {
161
- throw new AppDeploymentFailedError(true, requestId, cli_shared_1.Text.deploy.egressURL.tooManyUrlsError(causeMessage));
159
+ case 'ENVIRONMENT_UPDATE_VALIDATION_FAILED': {
160
+ const causeMessage = (_a = errorDetails === null || errorDetails === void 0 ? void 0 : errorDetails.fields) === null || _a === void 0 ? void 0 : _a.validationResult.message.replace(/Upsert.*Details /, '');
161
+ if ((causeMessage === null || causeMessage === void 0 ? void 0 : causeMessage.startsWith('Invalid URL')) && causeMessage.includes('EGRESS')) {
162
+ throw new AppDeploymentFailedError(true, requestId, cli_shared_1.Text.deploy.egressURL.invalidURLError(causeMessage));
163
+ }
164
+ else if (causeMessage === null || causeMessage === void 0 ? void 0 : causeMessage.startsWith('Egress permission URL')) {
165
+ throw new AppDeploymentFailedError(true, requestId, cli_shared_1.Text.deploy.egressURL.tooManyURLCharactersError(causeMessage));
166
+ }
167
+ else if (causeMessage === null || causeMessage === void 0 ? void 0 : causeMessage.includes('permission URLs provided, exceeding')) {
168
+ throw new AppDeploymentFailedError(true, requestId, cli_shared_1.Text.deploy.egressURL.tooManyUrlsError(causeMessage));
169
+ }
170
+ break;
171
+ }
172
+ case 'HOSTED_RESOURCE_TOO_MANY_FILES':
173
+ case 'HOSTED_RESOURCE_ZIP_TOO_BIG':
174
+ case 'HOSTED_RESOURCE_FILE_PATH_REFERS_TO_PARENT':
175
+ case 'HOSTED_RESOURCE_INVALID_EGRESS_PERMISSIONS':
176
+ case 'HOSTED_RESOURCE_ICON_RESOURCE_MISSING': {
177
+ throw new HostedResourceDeploymentFailedError(true, requestId, cli_shared_1.Text.hostedResources.error(message));
178
+ }
179
+ case 'HOSTED_RESOURCE_FAILED_TO_FETCH':
180
+ case 'HOSTED_RESOURCE_FAILED_TO_COPY':
181
+ case 'HOSTED_RESOURCE_UPLOAD_ID_MISSING': {
182
+ throw new HostedResourceDeploymentFailedError(false, requestId, cli_shared_1.Text.hostedResources.error(message));
183
+ }
184
+ case 'HOSTED_RESOURCES_LAMBDA_TIMEOUT': {
185
+ throw new HostedResourceDeploymentFailedError(false, requestId, cli_shared_1.Text.hostedResources.error(cli_shared_1.Text.hostedResources.lambdaTimeout));
186
+ }
187
+ case 'ENTITY_VALIDATION_ERROR':
188
+ case 'MANIFEST_VALIDATION_FAILED': {
189
+ if (errorDetails.fields) {
190
+ throw new ManifestValidationFailedError(requestId, cli_shared_1.Text.config.manifest.error(message, JSON.stringify(errorDetails.fields, null, 2)));
191
+ }
192
+ throw new ManifestValidationFailedError(requestId, cli_shared_1.Text.config.manifest.error(message));
162
193
  }
163
- }
164
- if ([
165
- 'HOSTED_RESOURCE_TOO_MANY_FILES',
166
- 'HOSTED_RESOURCE_ZIP_TOO_BIG',
167
- 'HOSTED_RESOURCE_FILE_PATH_REFERS_TO_PARENT',
168
- 'HOSTED_RESOURCE_INVALID_EGRESS_PERMISSIONS',
169
- 'HOSTED_RESOURCE_ICON_RESOURCE_MISSING'
170
- ].includes(code)) {
171
- throw new HostedResourceDeploymentFailedError(true, requestId, cli_shared_1.Text.hostedResources.error(message));
172
- }
173
- if ([
174
- 'HOSTED_RESOURCE_FAILED_TO_FETCH',
175
- 'HOSTED_RESOURCE_FAILED_TO_COPY',
176
- 'HOSTED_RESOURCE_UPLOAD_ID_MISSING'
177
- ].includes(code)) {
178
- throw new HostedResourceDeploymentFailedError(false, requestId, cli_shared_1.Text.hostedResources.error(message));
179
- }
180
- if (code === 'HOSTED_RESOURCES_LAMBDA_TIMEOUT') {
181
- throw new HostedResourceDeploymentFailedError(false, requestId, cli_shared_1.Text.hostedResources.error(cli_shared_1.Text.hostedResources.lambdaTimeout));
182
194
  }
183
195
  }
184
196
  throw new AppDeploymentFailedError(false, requestId, cli_shared_1.Text.deploy.taskDeploy.serverStepFailed);
@@ -1,13 +1,15 @@
1
+ import { Handler, ResourceDetails } from '@forge/cli-shared';
2
+ import { App } from '@forge/manifest';
1
3
  import { Deployer } from './deployer/deployer';
2
4
  import { Packager } from './packager/packager';
3
5
  import { ArchiveUploader } from './uploader/uploader';
4
6
  import { DeploymentResult } from '../command-line/register-deployment-commands';
5
- import { Handler, ResourceDetails } from '@forge/cli-shared';
6
7
  import { ResourcePackagingService } from '../service/resource-packaging-service';
7
8
  export interface Details {
8
9
  handlers: Array<Handler>;
9
10
  environmentKey: string;
10
11
  resources: ResourceDetails[];
12
+ packageConfig: App['package'];
11
13
  }
12
14
  export declare class PackageUploadDeployCommand {
13
15
  private readonly packager;
@@ -1 +1 @@
1
- {"version":3,"file":"package-upload-deploy.d.ts","sourceRoot":"","sources":["../../src/deploy/package-upload-deploy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEjF,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,wBAAwB;gBAHxB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,QAAQ,EAClB,wBAAwB,EAAE,wBAAwB;IAGxD,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAuClE"}
1
+ {"version":3,"file":"package-upload-deploy.d.ts","sourceRoot":"","sources":["../../src/deploy/package-upload-deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAGtC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEjF,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;CAC/B;AAED,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,wBAAwB;gBAHxB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,QAAQ,EAClB,wBAAwB,EAAE,wBAAwB;IAGxD,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAwClE"}
@@ -11,7 +11,7 @@ class PackageUploadDeployCommand {
11
11
  }
12
12
  async execute(details) {
13
13
  const [resourcesToBeBundled, preBundledResources] = (0, lodash_1.partition)(details.resources, (res) => res.resourceType === 'nativeUI');
14
- const { runtimeArchivePath, nativeUiBundlesDetails, moduleList } = await this.packager.package(details.handlers, resourcesToBeBundled);
14
+ const { runtimeArchivePath, nativeUiBundlesDetails, moduleList } = await this.packager.package(details.handlers, resourcesToBeBundled, details.packageConfig);
15
15
  const resourcesArchives = await this.resourcePackagingService.zipResources([
16
16
  ...preBundledResources,
17
17
  ...nativeUiBundlesDetails
@@ -1,11 +1,11 @@
1
1
  /// <reference types="node" />
2
- import { Logger } from '@forge/cli-shared';
2
+ import { Logger, UserError } from '@forge/cli-shared';
3
3
  export interface Archiver {
4
4
  addFile(fileName: string, contents: Buffer): void;
5
5
  addFileFrom(fileName: string, filePath: string): void;
6
6
  finalise(): Promise<string>;
7
- onWarning(cb: (err: Error) => void): void;
8
- onEntry(cb: (filePath: string) => void): void;
7
+ }
8
+ export declare class ArchiverError extends UserError {
9
9
  }
10
10
  export declare class ZipArchiver implements Archiver {
11
11
  private readonly logger;
@@ -13,15 +13,29 @@ export declare class ZipArchiver implements Archiver {
13
13
  private tempFile;
14
14
  private resolves;
15
15
  private rejects;
16
- private inspectDirectory;
17
16
  constructor(logger: Logger);
18
17
  addFile(fileName: string, contents: Buffer): void;
19
18
  addFileFrom(fileName: string, filePath: string): void;
20
- private copyToInspect;
21
19
  finalise(): Promise<string>;
22
20
  onWarning(cb: (err: Error) => void): void;
23
- onEntry(cb: (filePath: string) => void): void;
24
21
  private onArchiveError;
25
22
  private onClose;
26
23
  }
24
+ export declare class DirectoryArchiver implements Archiver {
25
+ private directory;
26
+ private readonly logger;
27
+ constructor(directory: string, logger: Logger);
28
+ addFile(fileName: string, contents: Buffer): void;
29
+ addFileFrom(fileName: string, filePath: string): void;
30
+ private copy;
31
+ finalise(): Promise<string>;
32
+ }
33
+ export declare class MultiArchiver implements Archiver {
34
+ private readonly archivers;
35
+ constructor(archivers: Archiver[]);
36
+ addFile(fileName: string, contents: Buffer): void;
37
+ addFileFrom(fileName: string, filePath: string): void;
38
+ finalise(): Promise<string>;
39
+ }
40
+ export declare function makeArchiver(logger: Logger): Archiver;
27
41
  //# sourceMappingURL=archiver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/archiver.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;CAC/C;AAED,qBAAa,WAAY,YAAW,QAAQ;IAO9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IANnC,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,gBAAgB,CAAuB;gBAElB,MAAM,EAAE,MAAM;IAYpC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMjD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAM5D,OAAO,CAAC,aAAa;IAYd,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAS3B,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI;IAIlC,OAAO,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI;IAQ7C,OAAO,CAAC,cAAc,CAIpB;IAEF,OAAO,CAAC,OAAO,CAIb;CACH"}
1
+ {"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/archiver.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,MAAM,EAAQ,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7B;AAED,qBAAa,aAAc,SAAQ,SAAS;CAAG;AAE/C,qBAAa,WAAY,YAAW,QAAQ;IAM9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IALnC,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,OAAO,CAAmC;gBAErB,MAAM,EAAE,MAAM;IAapC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKjD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKrD,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAS3B,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI;IAIzC,OAAO,CAAC,cAAc,CAKpB;IAEF,OAAO,CAAC,OAAO,CAIb;CACH;AAED,qBAAa,iBAAkB,YAAW,QAAQ;IAE9C,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADf,SAAS,EAAE,MAAM,EACR,MAAM,EAAE,MAAM;IAG1B,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKjD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK5D,OAAO,CAAC,IAAI;IAcC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;CAGzC;AAED,qBAAa,aAAc,YAAW,QAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,QAAQ,EAAE;IAE3C,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMjD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAM/C,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;CAIzC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAMrD"}
@@ -1,12 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ZipArchiver = void 0;
3
+ exports.makeArchiver = exports.MultiArchiver = exports.DirectoryArchiver = exports.ZipArchiver = exports.ArchiverError = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const archiver_1 = tslib_1.__importDefault(require("archiver"));
6
6
  const fs_1 = require("fs");
7
7
  const path_1 = require("path");
8
8
  const tmp_1 = tslib_1.__importDefault(require("tmp"));
9
9
  const cli_shared_1 = require("@forge/cli-shared");
10
+ class ArchiverError extends cli_shared_1.UserError {
11
+ }
12
+ exports.ArchiverError = ArchiverError;
10
13
  class ZipArchiver {
11
14
  constructor(logger) {
12
15
  this.logger = logger;
@@ -14,10 +17,10 @@ class ZipArchiver {
14
17
  this.tempFile = tmp_1.default.fileSync({ postfix: '.zip' });
15
18
  this.resolves = [];
16
19
  this.rejects = [];
17
- this.inspectDirectory = null;
18
20
  this.onArchiveError = (err) => {
21
+ const error = new ArchiverError(err.message);
19
22
  for (const reject of this.rejects) {
20
- reject(err);
23
+ reject(error);
21
24
  }
22
25
  };
23
26
  this.onClose = () => {
@@ -28,33 +31,17 @@ class ZipArchiver {
28
31
  const output = (0, fs_1.createWriteStream)(this.tempFile.name);
29
32
  this.archive.pipe(output);
30
33
  output.on('close', this.onClose);
34
+ this.archive.on('warning', this.onArchiveError);
31
35
  this.archive.on('error', this.onArchiveError);
32
- if (process.env.FORGE_INSPECT_ARCHIVE) {
33
- this.inspectDirectory = process.env.FORGE_INSPECT_ARCHIVE;
34
- }
35
36
  }
36
37
  addFile(fileName, contents) {
37
38
  this.archive.append(contents, { name: fileName });
38
- this.copyToInspect(fileName, contents);
39
39
  this.logger.debug(cli_shared_1.Text.deploy.taskPackage.packageFile(fileName, null));
40
40
  }
41
41
  addFileFrom(fileName, filePath) {
42
42
  this.archive.file(filePath, { name: fileName });
43
- this.copyToInspect(fileName, filePath);
44
43
  this.logger.debug(cli_shared_1.Text.deploy.taskPackage.packageFile(fileName, filePath));
45
44
  }
46
- copyToInspect(fileName, contents) {
47
- if (this.inspectDirectory) {
48
- const targetName = (0, path_1.join)(this.inspectDirectory, fileName);
49
- (0, fs_1.mkdirSync)((0, path_1.dirname)(targetName), { recursive: true });
50
- if (typeof contents === 'string') {
51
- (0, fs_1.copyFileSync)(contents, targetName);
52
- }
53
- else {
54
- (0, fs_1.writeFileSync)(targetName, contents);
55
- }
56
- }
57
- }
58
45
  finalise() {
59
46
  return new Promise((resolve, reject) => {
60
47
  this.resolves.push(resolve);
@@ -65,12 +52,66 @@ class ZipArchiver {
65
52
  onWarning(cb) {
66
53
  this.archive.on('warning', cb);
67
54
  }
68
- onEntry(cb) {
69
- this.archive.on('entry', (entry) => {
70
- if (entry.name) {
71
- cb(entry.name);
55
+ }
56
+ exports.ZipArchiver = ZipArchiver;
57
+ class DirectoryArchiver {
58
+ constructor(directory, logger) {
59
+ this.directory = directory;
60
+ this.logger = logger;
61
+ }
62
+ addFile(fileName, contents) {
63
+ this.copy(fileName, contents);
64
+ this.logger.debug(cli_shared_1.Text.deploy.taskPackage.packageFile(fileName, null));
65
+ }
66
+ addFileFrom(fileName, filePath) {
67
+ this.copy(fileName, filePath);
68
+ this.logger.debug(cli_shared_1.Text.deploy.taskPackage.packageFile(fileName, filePath));
69
+ }
70
+ copy(fileName, contents) {
71
+ try {
72
+ const targetName = (0, path_1.join)(this.directory, fileName);
73
+ (0, fs_1.mkdirSync)((0, path_1.dirname)(targetName), { recursive: true });
74
+ if (typeof contents === 'string') {
75
+ (0, fs_1.copyFileSync)(contents, targetName);
72
76
  }
73
- });
77
+ else {
78
+ (0, fs_1.writeFileSync)(targetName, contents);
79
+ }
80
+ }
81
+ catch (e) {
82
+ throw new ArchiverError(e.message);
83
+ }
84
+ }
85
+ async finalise() {
86
+ return this.directory;
74
87
  }
75
88
  }
76
- exports.ZipArchiver = ZipArchiver;
89
+ exports.DirectoryArchiver = DirectoryArchiver;
90
+ class MultiArchiver {
91
+ constructor(archivers) {
92
+ this.archivers = archivers;
93
+ }
94
+ addFile(fileName, contents) {
95
+ for (const archiver of this.archivers) {
96
+ archiver.addFile(fileName, contents);
97
+ }
98
+ }
99
+ addFileFrom(fileName, filePath) {
100
+ for (const archiver of this.archivers) {
101
+ archiver.addFileFrom(fileName, filePath);
102
+ }
103
+ }
104
+ async finalise() {
105
+ const paths = await Promise.all(this.archivers.map((archiver) => archiver.finalise()));
106
+ return paths[0];
107
+ }
108
+ }
109
+ exports.MultiArchiver = MultiArchiver;
110
+ function makeArchiver(logger) {
111
+ const mainArchiver = new ZipArchiver(logger);
112
+ if (process.env.FORGE_ARCHIVE_DIR) {
113
+ return new MultiArchiver([mainArchiver, new DirectoryArchiver(process.env.FORGE_ARCHIVE_DIR, logger)]);
114
+ }
115
+ return mainArchiver;
116
+ }
117
+ exports.makeArchiver = makeArchiver;
@@ -1,4 +1,5 @@
1
1
  import { Handler, Logger, ResourceDetails, UserError } from '@forge/cli-shared';
2
+ import { App } from '@forge/manifest';
2
3
  import { NativeUIBundler } from './nativeui-bundler';
3
4
  import { RuntimeBundler } from './runtime-bundler';
4
5
  export interface PackagerBundlerOutput {
@@ -18,7 +19,7 @@ export interface PackageResult {
18
19
  moduleList?: string[];
19
20
  }
20
21
  export interface Packager {
21
- package(handlers: Handler[], resources: ResourceDetails[]): Promise<PackageResult>;
22
+ package(handlers: Handler[], resources: ResourceDetails[], packageConfig: App['package']): Promise<PackageResult>;
22
23
  }
23
24
  export declare class BundlerError extends UserError {
24
25
  }
@@ -27,6 +28,6 @@ export declare class AppPackager implements Packager {
27
28
  private readonly nativeUiBundler;
28
29
  private readonly logger;
29
30
  constructor(runtimeBundler: RuntimeBundler, nativeUiBundler: NativeUIBundler, logger: Logger);
30
- package(handlers: Handler[], resources: ResourceDetails[]): Promise<PackageResult>;
31
+ package(handlers: Handler[], resources: ResourceDetails[], packageConfig: App['package']): Promise<PackageResult>;
31
32
  }
32
33
  //# sourceMappingURL=packager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"packager.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/packager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAQ,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACvC,SAAS,CAAC,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC3C,QAAQ,CAAC,EAAE;QACT,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,eAAe,EAAE,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACpF;AAED,qBAAa,YAAa,SAAQ,SAAS;CAAG;AAE9C,qBAAa,WAAY,YAAW,QAAQ;IAExC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,MAAM;IAGpB,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;CAWhG"}
1
+ {"version":3,"file":"packager.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/packager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAQ,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACvC,SAAS,CAAC,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC3C,QAAQ,CAAC,EAAE;QACT,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,eAAe,EAAE,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACnH;AAED,qBAAa,YAAa,SAAQ,SAAS;CAAG;AAE9C,qBAAa,WAAY,YAAW,QAAQ;IAExC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,MAAM;IAGpB,OAAO,CAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,EAAE,eAAe,EAAE,EAC5B,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,GAC5B,OAAO,CAAC,aAAa,CAAC;CAW1B"}
@@ -11,9 +11,9 @@ class AppPackager {
11
11
  this.nativeUiBundler = nativeUiBundler;
12
12
  this.logger = logger;
13
13
  }
14
- async package(handlers, resources) {
14
+ async package(handlers, resources, packageConfig) {
15
15
  this.logger.info(cli_shared_1.Text.deploy.taskPackage.title);
16
- const runtimeBundle = await this.runtimeBundler.bundle(handlers);
16
+ const runtimeBundle = await this.runtimeBundler.bundle(handlers, packageConfig);
17
17
  const nativeUiBundle = await this.nativeUiBundler.bundle(resources);
18
18
  return Object.assign(Object.assign({}, runtimeBundle), nativeUiBundle);
19
19
  }
@@ -1,5 +1,6 @@
1
1
  import { Bundler, FunctionsEntryPoint } from '@forge/bundler';
2
2
  import { Handler, Logger } from '@forge/cli-shared';
3
+ import { App } from '@forge/manifest';
3
4
  import { Archiver } from './archiver';
4
5
  export interface RuntimeBundleResult {
5
6
  runtimeArchivePath: string;
@@ -10,6 +11,15 @@ export declare class RuntimeBundler {
10
11
  private readonly logger;
11
12
  private readonly bundler;
12
13
  constructor(archiverFactory: () => Archiver, logger: Logger, bundler: Bundler<FunctionsEntryPoint>);
13
- bundle(handlers: Handler[]): Promise<RuntimeBundleResult>;
14
+ protected packageCode(archiver: Archiver, entryPoints: FunctionsEntryPoint[]): Promise<string[]>;
15
+ protected packageDependencies(archiver: Archiver): Promise<void>;
16
+ protected packageAll(archiver: Archiver, handlers: Handler[], packageConfig: App['package']): Promise<string[]>;
17
+ bundle(handlers: Handler[], packageConfig?: App['package']): Promise<RuntimeBundleResult>;
18
+ }
19
+ export declare class SandboxRuntimeBundler extends RuntimeBundler {
20
+ bundle(handlers: Handler[], packageConfig?: App['package']): Promise<RuntimeBundleResult>;
21
+ }
22
+ export declare class NodeRuntimeBundler extends RuntimeBundler {
23
+ protected packageAll(archiver: Archiver, handlers: Handler[], packageConfig: App['package']): Promise<string[]>;
14
24
  }
15
25
  //# sourceMappingURL=runtime-bundler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-bundler.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/runtime-bundler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAkB,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAuB,OAAO,EAAE,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAFP,eAAe,EAAE,MAAM,QAAQ,EAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC;IAG3C,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAgDvE"}
1
+ {"version":3,"file":"runtime-bundler.d.ts","sourceRoot":"","sources":["../../../src/deploy/packager/runtime-bundler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAkB,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAuB,OAAO,EAAE,MAAM,EAA0B,MAAM,mBAAmB,CAAC;AACjG,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAFP,eAAe,EAAE,MAAM,QAAQ,EAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC;cAGxC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAgCtF,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;cAQtD,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,GAC5B,OAAO,CAAC,MAAM,EAAE,CAAC;IAUP,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAUvG;AAED,qBAAa,qBAAsB,SAAQ,cAAc;IAC1C,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAMvG;AAED,qBAAa,kBAAmB,SAAQ,cAAc;cACpC,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,GAC5B,OAAO,CAAC,MAAM,EAAE,CAAC;CASrB"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RuntimeBundler = void 0;
3
+ exports.NodeRuntimeBundler = exports.SandboxRuntimeBundler = exports.RuntimeBundler = void 0;
4
4
  const fs_1 = require("fs");
5
5
  const bundler_1 = require("@forge/bundler");
6
6
  const cli_shared_1 = require("@forge/cli-shared");
@@ -11,12 +11,7 @@ class RuntimeBundler {
11
11
  this.logger = logger;
12
12
  this.bundler = bundler;
13
13
  }
14
- async bundle(handlers) {
15
- const archiver = this.archiverFactory();
16
- archiver.onWarning((err) => {
17
- this.logger.warn(cli_shared_1.Text.deploy.taskPackage.archiverWarning(err));
18
- });
19
- const entryPoints = (0, bundler_1.getEntryPoints)(handlers);
14
+ async packageCode(archiver, entryPoints) {
20
15
  const moduleList = [];
21
16
  if (entryPoints.length > 0) {
22
17
  let bundlerResponse;
@@ -40,14 +35,48 @@ class RuntimeBundler {
40
35
  }
41
36
  }
42
37
  }
38
+ return moduleList;
39
+ }
40
+ async packageDependencies(archiver) {
43
41
  for (const fileName of cli_shared_1.dependencyFileNames) {
44
42
  if ((0, fs_1.existsSync)(fileName)) {
45
43
  archiver.addFileFrom(fileName, fileName);
46
44
  }
47
45
  }
46
+ }
47
+ async packageAll(archiver, handlers, packageConfig) {
48
+ const entryPoints = (0, bundler_1.getEntryPoints)(handlers);
49
+ const moduleList = await this.packageCode(archiver, entryPoints);
50
+ await this.packageDependencies(archiver);
51
+ return moduleList;
52
+ }
53
+ async bundle(handlers, packageConfig) {
54
+ const archiver = this.archiverFactory();
55
+ const moduleList = await this.packageAll(archiver, handlers, packageConfig);
48
56
  const archivePath = await archiver.finalise();
49
57
  this.logger.debug(cli_shared_1.Text.deploy.taskPackage.archiveCreated(archivePath));
50
58
  return { runtimeArchivePath: archivePath, moduleList };
51
59
  }
52
60
  }
53
61
  exports.RuntimeBundler = RuntimeBundler;
62
+ class SandboxRuntimeBundler extends RuntimeBundler {
63
+ async bundle(handlers, packageConfig) {
64
+ if (packageConfig) {
65
+ throw new packager_1.BundlerError(cli_shared_1.Text.deploy.taskPackage.packageOptionsNotSupported);
66
+ }
67
+ return await super.bundle(handlers, packageConfig);
68
+ }
69
+ }
70
+ exports.SandboxRuntimeBundler = SandboxRuntimeBundler;
71
+ class NodeRuntimeBundler extends RuntimeBundler {
72
+ async packageAll(archiver, handlers, packageConfig) {
73
+ var _a;
74
+ const moduleList = await super.packageAll(archiver, handlers, packageConfig);
75
+ const files = await new cli_shared_1.FileSystemReader().getFileGlobList((_a = packageConfig === null || packageConfig === void 0 ? void 0 : packageConfig.extraFiles) !== null && _a !== void 0 ? _a : []);
76
+ files.forEach((fileName) => {
77
+ archiver.addFileFrom(fileName, fileName);
78
+ });
79
+ return moduleList;
80
+ }
81
+ }
82
+ exports.NodeRuntimeBundler = NodeRuntimeBundler;
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/environment-variables/graphql-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAEtB,aAAa,EAEb,KAAK,EACL,SAAS,EACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,6BAA6B,IAAI,mCAAmC,EACpE,+BAA+B,EAChC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,8BAA8B,IAAI,kCAAkC,EACpE,8BAA8B,EAC/B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,6BAA6B,IAAI,gCAAgC,EACjE,4BAA4B,EAC7B,MAAM,4BAA4B,CAAC;AAEpC,qBAAa,eAAgB,SAAQ,SAAS;CAAG;AACjD,qBAAa,0BAA2B,SAAQ,KAAK;CAAG;AAExD,qBAAa,aACX,YAAW,4BAA4B,EAAE,+BAA+B,EAAE,8BAA8B;IAE5F,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAE5C,wBAAwB,CACnC,OAAO,EAAE,kCAAkC,GAC1C,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC,GAAG,SAAS,CAAC;IAkC1C,sBAAsB,CAAC,OAAO,EAAE,gCAAgC;IA8ChE,yBAAyB,CAAC,OAAO,EAAE,mCAAmC;CA4CpF"}
1
+ {"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/environment-variables/graphql-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAEtB,aAAa,EAEb,KAAK,EACL,SAAS,EACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,6BAA6B,IAAI,mCAAmC,EACpE,+BAA+B,EAChC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,8BAA8B,IAAI,kCAAkC,EACpE,8BAA8B,EAC/B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,6BAA6B,IAAI,gCAAgC,EACjE,4BAA4B,EAC7B,MAAM,4BAA4B,CAAC;AAEpC,qBAAa,eAAgB,SAAQ,SAAS;CAAG;AACjD,qBAAa,0BAA2B,SAAQ,KAAK;CAAG;AAOxD,qBAAa,aACX,YAAW,4BAA4B,EAAE,+BAA+B,EAAE,8BAA8B;IAE5F,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAE5C,wBAAwB,CACnC,OAAO,EAAE,kCAAkC,GAC1C,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC,GAAG,SAAS,CAAC;IAkC1C,sBAAsB,CAAC,OAAO,EAAE,gCAAgC;IA8ChE,yBAAyB,CAAC,OAAO,EAAE,mCAAmC;CA4CpF"}
@@ -13,7 +13,7 @@ export declare class LintService {
13
13
  private readonly configFile;
14
14
  private readonly fileSystemReader;
15
15
  constructor(configFile: ConfigFile, fileSystemReader: FileSystemReader);
16
- run(environment: string, { fix }: LintOptions, logger: LintLogger, directory?: string, lintFunction?: (filesToLint: string[], manifest: import("@forge/manifest").ManifestSchema, environment: string, logger: LintLogger, parseFunction?: ((filepath: string, parser: (code: string, filepath: string, parseOptions?: Partial<import("@forge/lint").ParseOptions> | undefined) => Promise<import("@forge/lint").ASTParseResult>, readFilePromise?: typeof import("node:fs").readFile.__promisify__ | undefined) => Promise<import("@forge/lint").LintInput>) | undefined, linters?: import("@forge/lint").LinterInterface[] | undefined) => Promise<LintResult[]>): Promise<RunResult>;
16
+ run(environment: string, { fix }: LintOptions, logger: LintLogger, directory?: string, lintFunction?: (filesToLint: string[], manifest: import("@forge/manifest").ManifestSchema, environment: string, logger: LintLogger, parseFunction?: ((filepath: string, parser: (code: string, filepath: string, parseOptions?: Partial<import("@forge/lint").ParseOptions> | undefined) => Promise<import("@forge/lint").ASTParseResult>, readFilePromise?: typeof import("fs").readFile.__promisify__ | undefined) => Promise<import("@forge/lint").LintInput>) | undefined, linters?: import("@forge/lint").LinterInterface[] | undefined) => Promise<LintResult[]>): Promise<RunResult>;
17
17
  private fix;
18
18
  problemCount(lintResults: LintResult[]): ProblemCount;
19
19
  private failedScopesFromLintResult;
@@ -1 +1 @@
1
- {"version":3,"file":"lint-service.d.ts","sourceRoot":"","sources":["../../src/service/lint-service.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAsB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAEL,YAAY,EACZ,UAAU,EAGV,UAAU,EACV,YAAY,EACb,MAAM,aAAa,CAAC;AAGrB,UAAU,WAAW;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,UAAU,SAAS;IACjB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,YAAY,CAAC;CAC3B;AAED,eAAO,MAAM,iBAAiB,UAAU,CAAC;AACzC,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBADhB,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB;IAGxC,GAAG,CACd,WAAW,EAAE,MAAM,EACnB,EAAE,GAAG,EAAE,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,EAClB,SAAS,SAAoB,EAC7B,YAAY,+hBAAO,GAClB,OAAO,CAAC,SAAS,CAAC;YA4BP,GAAG;IASV,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,YAAY;IAI5D,OAAO,CAAC,0BAA0B;IAI3B,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE;CAOzD"}
1
+ {"version":3,"file":"lint-service.d.ts","sourceRoot":"","sources":["../../src/service/lint-service.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAsB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAEL,YAAY,EACZ,UAAU,EAGV,UAAU,EACV,YAAY,EACb,MAAM,aAAa,CAAC;AAGrB,UAAU,WAAW;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,UAAU,SAAS;IACjB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,YAAY,CAAC;CAC3B;AAED,eAAO,MAAM,iBAAiB,UAAU,CAAC;AACzC,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBADhB,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB;IAGxC,GAAG,CACd,WAAW,EAAE,MAAM,EACnB,EAAE,GAAG,EAAE,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,EAClB,SAAS,SAAoB,EAC7B,YAAY,0hBAAO,GAClB,OAAO,CAAC,SAAS,CAAC;YA4BP,GAAG;IASV,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,YAAY;IAI5D,OAAO,CAAC,0BAA0B;IAI3B,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE;CAOzD"}
@@ -250,7 +250,7 @@ class DockerTunnelService extends TunnelServiceBase {
250
250
  });
251
251
  }
252
252
  if (ngrokConfig) {
253
- options.push(`-v=${ngrokConfig}`);
253
+ options.push(`-v=${ngrokConfig}:${ngrokConfig}`);
254
254
  }
255
255
  return options;
256
256
  }