@forge/cli 0.0.0-experimental-819498d → 0.0.0-experimental-a9f00a0

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.
Files changed (135) hide show
  1. package/CHANGELOG.md +2901 -7
  2. package/README.md +18 -19
  3. package/npm-shrinkwrap.json +1957 -4159
  4. package/out/analytics-client/analytics-client.d.ts +0 -24
  5. package/out/analytics-client/analytics-client.d.ts.map +1 -1
  6. package/out/analytics-client/analytics-client.js +0 -115
  7. package/out/analytics-client/analytics-message-handler.d.ts +1 -5
  8. package/out/analytics-client/analytics-message-handler.d.ts.map +1 -1
  9. package/out/analytics-client/analytics-message-handler.js +2 -30
  10. package/out/autocomplete/autocomplete-config.json +16 -26
  11. package/out/bin/cli.js +0 -2
  12. package/out/bin/postinstall.js +0 -13
  13. package/out/command-line/anon-user-id.js +6 -10
  14. package/out/command-line/command.d.ts +7 -3
  15. package/out/command-line/command.d.ts.map +1 -1
  16. package/out/command-line/command.js +56 -60
  17. package/out/command-line/controller/deploy-controller.d.ts +13 -2
  18. package/out/command-line/controller/deploy-controller.d.ts.map +1 -1
  19. package/out/command-line/controller/deploy-controller.js +67 -5
  20. package/out/command-line/controller/install-controller.d.ts +2 -1
  21. package/out/command-line/controller/install-controller.d.ts.map +1 -1
  22. package/out/command-line/controller/install-controller.js +28 -32
  23. package/out/command-line/controller/lint-controller.js +1 -1
  24. package/out/command-line/controller/pre-command-controller.js +1 -1
  25. package/out/command-line/controller/prerequisites-controller.d.ts +11 -0
  26. package/out/command-line/controller/prerequisites-controller.d.ts.map +1 -0
  27. package/out/command-line/controller/prerequisites-controller.js +34 -0
  28. package/out/command-line/controller/stubController.d.ts +9 -0
  29. package/out/command-line/controller/stubController.d.ts.map +1 -0
  30. package/out/command-line/controller/stubController.js +15 -0
  31. package/out/command-line/controller/tunnel-controller.d.ts.map +1 -1
  32. package/out/command-line/controller/tunnel-controller.js +0 -1
  33. package/out/command-line/dependency-injection.d.ts +11 -3
  34. package/out/command-line/dependency-injection.d.ts.map +1 -1
  35. package/out/command-line/dependency-injection.js +38 -23
  36. package/out/command-line/index.d.ts.map +1 -1
  37. package/out/command-line/index.js +4 -0
  38. package/out/command-line/register-app-commands.d.ts.map +1 -1
  39. package/out/command-line/register-app-commands.js +1 -9
  40. package/out/command-line/register-authentication-command.d.ts.map +1 -1
  41. package/out/command-line/register-authentication-command.js +0 -16
  42. package/out/command-line/register-deployment-commands.d.ts +8 -0
  43. package/out/command-line/register-deployment-commands.d.ts.map +1 -1
  44. package/out/command-line/register-environment-variables-commands.d.ts +1 -1
  45. package/out/command-line/register-environment-variables-commands.d.ts.map +1 -1
  46. package/out/command-line/register-environment-variables-commands.js +22 -7
  47. package/out/command-line/register-installation-commands.d.ts +1 -1
  48. package/out/command-line/register-installation-commands.d.ts.map +1 -1
  49. package/out/command-line/register-installation-commands.js +19 -13
  50. package/out/command-line/register-providers-commands.d.ts +3 -0
  51. package/out/command-line/register-providers-commands.d.ts.map +1 -0
  52. package/out/command-line/register-providers-commands.js +43 -0
  53. package/out/command-line/register-webtrigger-commands.d.ts.map +1 -1
  54. package/out/command-line/register-webtrigger-commands.js +9 -11
  55. package/out/command-line/unique-machine-id.d.ts.map +1 -1
  56. package/out/command-line/unique-machine-id.js +1 -10
  57. package/out/command-line/version-info.d.ts +1 -0
  58. package/out/command-line/version-info.d.ts.map +1 -1
  59. package/out/command-line/version-info.js +3 -2
  60. package/out/command-line/view/deploy-view.d.ts +7 -1
  61. package/out/command-line/view/deploy-view.d.ts.map +1 -1
  62. package/out/command-line/view/deploy-view.js +22 -5
  63. package/out/command-line/view/install-view.d.ts +5 -5
  64. package/out/command-line/view/install-view.d.ts.map +1 -1
  65. package/out/command-line/view/install-view.js +20 -15
  66. package/out/command-line/view/lint-view.d.ts +3 -2
  67. package/out/command-line/view/lint-view.d.ts.map +1 -1
  68. package/out/command-line/view/lint-view.js +3 -0
  69. package/out/command-line/view/lite-lint-view.d.ts +3 -2
  70. package/out/command-line/view/lite-lint-view.d.ts.map +1 -1
  71. package/out/command-line/view/lite-lint-view.js +3 -0
  72. package/out/deploy/deployer/deploy-monitor-graphql-client.js +1 -1
  73. package/out/deploy/deployer/trigger-deploy-graphql-client.js +1 -1
  74. package/out/deploy/packager/archiver.d.ts +3 -2
  75. package/out/deploy/packager/archiver.d.ts.map +1 -1
  76. package/out/deploy/packager/archiver.js +10 -2
  77. package/out/deploy/packager/packager.d.ts +1 -3
  78. package/out/deploy/packager/packager.d.ts.map +1 -1
  79. package/out/deploy/packager/packager.js +2 -25
  80. package/out/deploy/uploader/artifact-graphql-client.js +2 -2
  81. package/out/environment-variables/graphql-client.d.ts +1 -1
  82. package/out/environment-variables/graphql-client.js +3 -3
  83. package/out/installations/graphql-client.d.ts +7 -9
  84. package/out/installations/graphql-client.d.ts.map +1 -1
  85. package/out/installations/graphql-client.js +61 -85
  86. package/out/installations/install-app-site.d.ts +2 -8
  87. package/out/installations/install-app-site.d.ts.map +1 -1
  88. package/out/installations/install-app-site.js +2 -3
  89. package/out/installations/uninstall-app.d.ts +0 -1
  90. package/out/installations/uninstall-app.d.ts.map +1 -1
  91. package/out/installations/uninstall-app.js +2 -4
  92. package/out/migration-keys/graphql-client.d.ts +8 -0
  93. package/out/migration-keys/graphql-client.d.ts.map +1 -0
  94. package/out/migration-keys/graphql-client.js +55 -0
  95. package/out/providers/configure-provider.d.ts +19 -0
  96. package/out/providers/configure-provider.d.ts.map +1 -0
  97. package/out/providers/configure-provider.js +14 -0
  98. package/out/providers/graphql-client.d.ts +12 -0
  99. package/out/providers/graphql-client.d.ts.map +1 -0
  100. package/out/providers/graphql-client.js +47 -0
  101. package/out/service/installation-service.d.ts +13 -11
  102. package/out/service/installation-service.d.ts.map +1 -1
  103. package/out/service/installation-service.js +38 -13
  104. package/out/service/lint-service.d.ts +2 -2
  105. package/out/service/lint-service.d.ts.map +1 -1
  106. package/out/service/lint-service.js +2 -2
  107. package/out/service/lite-lint-service.d.ts +3 -3
  108. package/out/service/lite-lint-service.d.ts.map +1 -1
  109. package/out/service/lite-lint-service.js +2 -2
  110. package/out/service/migration-keys-service.d.ts +19 -0
  111. package/out/service/migration-keys-service.d.ts.map +1 -0
  112. package/out/service/migration-keys-service.js +14 -0
  113. package/out/service/resource-packaging-service.d.ts +3 -2
  114. package/out/service/resource-packaging-service.d.ts.map +1 -1
  115. package/out/service/resource-packaging-service.js +6 -2
  116. package/out/service/tunnel-analytics-service.d.ts +0 -5
  117. package/out/service/tunnel-analytics-service.d.ts.map +1 -1
  118. package/out/service/tunnel-analytics-service.js +3 -14
  119. package/out/service/tunnel-service.d.ts +1 -3
  120. package/out/service/tunnel-service.d.ts.map +1 -1
  121. package/out/service/tunnel-service.js +8 -9
  122. package/out/webtrigger/get-webtrigger-url.d.ts +10 -4
  123. package/out/webtrigger/get-webtrigger-url.d.ts.map +1 -1
  124. package/out/webtrigger/get-webtrigger-url.js +11 -21
  125. package/out/webtrigger/graphql-client.d.ts +14 -0
  126. package/out/webtrigger/graphql-client.d.ts.map +1 -0
  127. package/out/webtrigger/graphql-client.js +52 -0
  128. package/out/workers/forge-cli-workers.js +2 -2
  129. package/package.json +12 -13
  130. package/out/bin/preinstall.d.ts +0 -3
  131. package/out/bin/preinstall.d.ts.map +0 -1
  132. package/out/bin/preinstall.js +0 -9
  133. package/out/command-line/cli-prerequisites.d.ts +0 -3
  134. package/out/command-line/cli-prerequisites.d.ts.map +0 -1
  135. package/out/command-line/cli-prerequisites.js +0 -37
@@ -1 +1 @@
1
- {"version":3,"file":"installation-service.d.ts","sourceRoot":"","sources":["../../src/service/installation-service.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,iBAAiB,EAKjB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG1B,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE;QACP,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,YAAY,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,IAAI,CAAC;CACtB;AAED,UAAU,yBAAyB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,0BAA0B;IACzC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC1D,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;CACrF;AAED,MAAM,WAAW,6BAA6B;IAC5C,mBAAmB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACjH;AAID,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,6BAA6B;gBAF7B,YAAY,EAAE,iBAAiB,EAC/B,uBAAuB,EAAE,0BAA0B,EACnD,6BAA6B,EAAE,6BAA6B;IAG/E,OAAO,CAAC,mBAAmB;IAiBd,oBAAoB,CAAC,MAAM,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,eAAe,CAAC;IAOlF,+BAA+B,CAAC,MAAM,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,eAAe,CAAC;IAM7F,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOrE,mBAAmB,CAC9B,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,gBAAgB,GAAG,qBAAqB,CAAC;IAqBvC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;CAG7D"}
1
+ {"version":3,"file":"installation-service.d.ts","sourceRoot":"","sources":["../../src/service/installation-service.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,iBAAiB,EACjB,cAAc,EAQf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QACP,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,YAAY,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,gCAAgC;IAC/C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,yBAA0B,SAAQ,gCAAgC;IACjF,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,UAAU,yBAAyB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,0BAA0B;IACzC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC1D,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;CACzG;AAED,MAAM,WAAW,6BAA6B;IAC5C,mBAAmB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrG;AAKD,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,6BAA6B;gBAF7B,YAAY,EAAE,iBAAiB,EAC/B,uBAAuB,EAAE,0BAA0B,EACnD,6BAA6B,EAAE,6BAA6B;IAG/E,OAAO,CAAC,mBAAmB;IAiBd,oBAAoB,CAAC,MAAM,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,eAAe,CAAC;IAOlF,gCAAgC,CAAC,MAAM,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,eAAe,CAAC;IAU9F,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOrE,mBAAmB,CAC9B,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC;IAkBnB,OAAO,CAAC,uCAAuC;IAgBlC,4BAA4B,CACvC,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;CAyBlD"}
@@ -2,8 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InstallationService = void 0;
4
4
  const cli_shared_1 = require("@forge/cli-shared");
5
+ const lodash_1 = require("lodash");
5
6
  const graphql_client_1 = require("../installations/graphql-client");
6
7
  const IDENTITY_PRODUCT_NAME = 'identity';
8
+ const JIRA_SERVICE_DESK_PRODUCT_NAME = 'jira-servicedesk';
7
9
  class InstallationService {
8
10
  constructor(getAppConfig, listInstallationsClient, upgradeAppInstallationsClient) {
9
11
  this.getAppConfig = getAppConfig;
@@ -22,43 +24,66 @@ class InstallationService {
22
24
  });
23
25
  }
24
26
  async listAppInstallations(filter) {
25
- const { id: appId, name } = await this.getAppConfig();
27
+ const { id: appId } = await this.getAppConfig();
26
28
  const installations = await this.listInstallationsClient.listInstallations(appId);
27
- return { name, installations: this.filterInstallations(installations, Object.assign({}, filter)) };
29
+ return { installations: this.filterInstallations(installations, Object.assign({}, filter)) };
28
30
  }
29
- async listNonIdentityAppInstallations(filter) {
30
- const { name, installations } = await this.listAppInstallations(filter);
31
- return { name, installations: installations.filter(({ product }) => product !== IDENTITY_PRODUCT_NAME) };
31
+ async listNonTechnicalAppInstallations(filter) {
32
+ const { installations } = await this.listAppInstallations(filter);
33
+ return {
34
+ installations: installations.filter(({ product }) => product !== IDENTITY_PRODUCT_NAME && product !== JIRA_SERVICE_DESK_PRODUCT_NAME)
35
+ };
32
36
  }
33
37
  async hasOutdatedProductInstallation(environment) {
34
- const { installations } = await this.listNonIdentityAppInstallations({
38
+ const { installations } = await this.listNonTechnicalAppInstallations({
35
39
  environment
36
40
  });
37
41
  return installations.some((installation) => !installation.version.isLatest);
38
42
  }
39
43
  async upgradeInstallation(site, product, environmentKey, appId) {
40
44
  try {
41
- const result = await this.upgradeAppInstallationsClient.upgradeInstallation({
45
+ await this.upgradeAppInstallationsClient.upgradeInstallation({
42
46
  site,
43
47
  product,
44
48
  environmentKey,
45
49
  appId
46
50
  });
47
- return result;
51
+ return false;
48
52
  }
49
53
  catch (e) {
50
54
  if (e.code === graphql_client_1.ALREADY_UPGRADED_CODE) {
51
- return {
52
- alreadyUpdated: true
53
- };
55
+ return true;
54
56
  }
55
57
  else {
56
58
  throw e;
57
59
  }
58
60
  }
59
61
  }
60
- async getScopes(appId, environmentKey) {
61
- return await this.listInstallationsClient.getScopes(appId, environmentKey);
62
+ getPermissionsFromAppEnvironmentVersion(appEnvironmentVersion) {
63
+ const permissions = appEnvironmentVersion === null || appEnvironmentVersion === void 0 ? void 0 : appEnvironmentVersion.permissions[0];
64
+ if (!permissions) {
65
+ return { scopes: [], egressAddresses: [] };
66
+ }
67
+ const scopes = permissions.scopes.map((s) => s.key);
68
+ const egressAddresses = (permissions === null || permissions === void 0 ? void 0 : permissions.egress) ? cli_shared_1.flatMap(permissions.egress, ({ addresses }) => addresses !== null && addresses !== void 0 ? addresses : []) : [];
69
+ return { scopes, egressAddresses };
70
+ }
71
+ async getAppEnvironmentPermissions(appId, environmentKey) {
72
+ const versionDetails = await this.listInstallationsClient.getVersions(appId, environmentKey, 2);
73
+ const versions = versionDetails === null || versionDetails === void 0 ? void 0 : versionDetails.nodes;
74
+ if (!versions || versions.length === 0)
75
+ return;
76
+ const [{ scopes }, oldVersion] = versions.map((appEnvironmentVersion) => this.getPermissionsFromAppEnvironmentVersion(appEnvironmentVersion));
77
+ if (!oldVersion) {
78
+ return {
79
+ scopes,
80
+ egressAddresses: [],
81
+ addedScopes: scopes
82
+ };
83
+ }
84
+ const { scopes: oldScopes } = oldVersion;
85
+ const addedScopes = lodash_1.difference(scopes, oldScopes);
86
+ return { scopes, egressAddresses: [], addedScopes };
62
87
  }
63
88
  }
64
89
  exports.InstallationService = InstallationService;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { ConfigFile, FileSystemReader } from '@forge/cli-shared';
3
- import { LintFixState, LintResult, ProblemCount } from '@forge/lint';
3
+ import { LintFixState, LintResult, LintLogger, ProblemCount } from '@forge/lint';
4
4
  interface LintOptions {
5
5
  fix?: boolean;
6
6
  }
@@ -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, directory?: string, lintFunction?: (filesToLint: string[], manifest: import("@forge/manifest").ManifestSchema, environment: string, parseFunction?: ((filepath: string, parser: (code: string, ...args: any[]) => 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>;
16
+ run(environment: string, { fix }: LintOptions, logger: LintLogger, directory?: string, lintFunction?: (filesToLint: string[], manifest: import("@forge/manifest").ManifestSchema, environment: string, logger: Pick<import("@forge/cli-shared/src").Logger, "info">, 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,YAAY,EACb,MAAM,aAAa,CAAC;AAErB,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;AAEzC,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,UAAU;IAAc,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAzD,UAAU,EAAE,UAAU,EAAmB,gBAAgB,EAAE,gBAAgB;IAE3F,GAAG,CACd,WAAW,EAAE,MAAM,EACnB,EAAE,GAAG,EAAE,EAAE,WAAW,EACpB,SAAS,SAAoB,EAC7B,YAAY,4bAAO,GAClB,OAAO,CAAC,SAAS,CAAC;YAYP,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;AAErB,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;AAEzC,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,UAAU;IAAc,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAzD,UAAU,EAAE,UAAU,EAAmB,gBAAgB,EAAE,gBAAgB;IAE3F,GAAG,CACd,WAAW,EAAE,MAAM,EACnB,EAAE,GAAG,EAAE,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,EAClB,SAAS,SAAoB,EAC7B,YAAY,okBAAO,GAClB,OAAO,CAAC,SAAS,CAAC;YAYP,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"}
@@ -9,10 +9,10 @@ class LintService {
9
9
  this.configFile = configFile;
10
10
  this.fileSystemReader = fileSystemReader;
11
11
  }
12
- async run(environment, { fix }, directory = exports.DEFAULT_DIRECTORY, lintFunction = lint_1.lint) {
12
+ async run(environment, { fix }, logger, directory = exports.DEFAULT_DIRECTORY, lintFunction = lint_1.lint) {
13
13
  const exclude = [...(await cli_shared_1.listGitIgnoreFiles(this.fileSystemReader)), '.git', 'node_modules'];
14
14
  const filesToLint = await this.fileSystemReader.recursiveReadDir(directory, exclude);
15
- const lintResults = await lintFunction(filesToLint, await this.configFile.readConfig(), environment);
15
+ const lintResults = await lintFunction(filesToLint, await this.configFile.readConfig(), environment, logger);
16
16
  if (fix) {
17
17
  return { lintResults, fixResults: await this.fix(lintResults) };
18
18
  }
@@ -1,9 +1,9 @@
1
- import { LintResult } from '@forge/lint';
1
+ import { LintLogger, LintResult } from '@forge/lint';
2
2
  export declare class LiteLintService {
3
3
  private readonly lintService;
4
4
  private readonly problemCounter;
5
- constructor(lintService?: (linter?: import("@forge/lint").LinterInterface | undefined) => Promise<LintResult[]>, problemCounter?: (lintResults: LintResult[]) => import("@forge/lint").ProblemCount);
6
- run(checkSchema: boolean): Promise<LintResult[]>;
5
+ constructor(lintService?: (logger: Pick<import("@forge/cli-shared/src").Logger, "info">, linter?: import("@forge/lint").LinterInterface | undefined) => Promise<LintResult[]>, problemCounter?: (lintResults: LintResult[]) => import("@forge/lint").ProblemCount);
6
+ run(checkSchema: boolean, logger: LintLogger): Promise<LintResult[]>;
7
7
  private filterResults;
8
8
  hasErrors(report: LintResult[]): boolean;
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lite-lint-service.d.ts","sourceRoot":"","sources":["../../src/service/lite-lint-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,UAAU,EAAE,MAAM,aAAa,CAAC;AAGjE,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,WAAW;IAAa,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAvD,WAAW,wFAAW,EAAmB,cAAc,oEAAe;IAEtF,GAAG,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAK7D,OAAO,CAAC,aAAa;IASd,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO;CAGhD"}
1
+ {"version":3,"file":"lite-lint-service.d.ts","sourceRoot":"","sources":["../../src/service/lite-lint-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAAgB,UAAU,EAAE,MAAM,aAAa,CAAC;AAG7E,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,WAAW;IAAa,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAvD,WAAW,sJAAW,EAAmB,cAAc,oEAAe;IAEtF,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAKjF,OAAO,CAAC,aAAa;IASd,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO;CAGhD"}
@@ -8,8 +8,8 @@ class LiteLintService {
8
8
  this.lintService = lintService;
9
9
  this.problemCounter = problemCounter;
10
10
  }
11
- async run(checkSchema) {
12
- const report = await this.lintService();
11
+ async run(checkSchema, logger) {
12
+ const report = await this.lintService(logger);
13
13
  return this.filterResults(report, checkSchema);
14
14
  }
15
15
  filterResults(report, checkSchema) {
@@ -0,0 +1,19 @@
1
+ import { AppConfigProvider } from 'packages/forge-cli-shared/src/apps';
2
+ export declare type MigrationKeys = {
3
+ jira?: string;
4
+ confluence?: string;
5
+ };
6
+ export interface AppEnvironmentMigrationKeys {
7
+ migrationKeys?: MigrationKeys | null;
8
+ mpacAppKey?: string | null;
9
+ }
10
+ export interface GetMigrationKeysClient {
11
+ getLatestMigrationKeys(appId: string, environmentKey: string): Promise<AppEnvironmentMigrationKeys>;
12
+ }
13
+ export declare class MigrationKeysService {
14
+ private readonly migrationKeysClient;
15
+ private readonly getAppConfig;
16
+ constructor(migrationKeysClient: GetMigrationKeysClient, getAppConfig: AppConfigProvider);
17
+ getMigrationKeysForAppEnvironment(environmentKey: string): Promise<AppEnvironmentMigrationKeys>;
18
+ }
19
+ //# sourceMappingURL=migration-keys-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration-keys-service.d.ts","sourceRoot":"","sources":["../../src/service/migration-keys-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,oBAAY,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,MAAM,WAAW,2BAA2B;IAC1C,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AACD,MAAM,WAAW,sBAAsB;IACrC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;CACrG;AAED,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,mBAAmB,EAAE,sBAAsB,EAC3C,YAAY,EAAE,iBAAiB;IAGrC,iCAAiC,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;CAI7G"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MigrationKeysService = void 0;
4
+ class MigrationKeysService {
5
+ constructor(migrationKeysClient, getAppConfig) {
6
+ this.migrationKeysClient = migrationKeysClient;
7
+ this.getAppConfig = getAppConfig;
8
+ }
9
+ async getMigrationKeysForAppEnvironment(environmentKey) {
10
+ const { id: appId } = await this.getAppConfig();
11
+ return await this.migrationKeysClient.getLatestMigrationKeys(appId, environmentKey);
12
+ }
13
+ }
14
+ exports.MigrationKeysService = MigrationKeysService;
@@ -1,5 +1,5 @@
1
1
  import { Modules } from '@forge/manifest';
2
- import { FileSystemReader, ResourceDetails, BridgeScriptService } from '@forge/cli-shared';
2
+ import { FileSystemReader, ResourceDetails, BridgeScriptService, IframeResizerScriptService } from '@forge/cli-shared';
3
3
  import { Archiver } from '../deploy';
4
4
  export declare class ResourceDirectoryMissingError extends Error {
5
5
  constructor(key: string, dir: string);
@@ -33,7 +33,8 @@ export declare class ResourcePackagingService {
33
33
  private readonly fileSystemReader;
34
34
  private readonly appDir;
35
35
  private readonly bridgeScriptService;
36
- constructor(archiverFactory: () => Archiver, fileSystemReader: FileSystemReader, appDir: string, bridgeScriptService: BridgeScriptService);
36
+ private readonly iframeResizerScriptService;
37
+ constructor(archiverFactory: () => Archiver, fileSystemReader: FileSystemReader, appDir: string, bridgeScriptService: BridgeScriptService, iframeResizerScriptService: IframeResizerScriptService);
37
38
  private getResourcesInformation;
38
39
  private transformRelativeResourcePathsToAbsolute;
39
40
  private processFile;
@@ -1 +1 @@
1
- {"version":3,"file":"resource-packaging-service.d.ts","sourceRoot":"","sources":["../../src/service/resource-packaging-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAsB,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC/G,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAKrC,qBAAa,6BAA8B,SAAQ,KAAK;gBAC1C,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAGrC;AAED,qBAAa,2BAA4B,SAAQ,KAAK;gBACxC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAGrC;AAeD,MAAM,WAAW,gBAAgB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,qBAAa,4BAA6B,SAAQ,KAAK;;CAItD;AAED,qBAAa,0BAA2B,SAAQ,KAAK;;CAIpD;AAED,qBAAa,kCAAmC,SAAQ,KAAK;gBAC/C,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAGnD;AAED,qBAAa,oCAAqC,SAAQ,KAAK;gBACjD,WAAW,EAAE,MAAM;CAGhC;AAED,qBAAa,wBAAwB;IAEjC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAHnB,eAAe,EAAE,MAAM,QAAQ,EAC/B,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,mBAAmB;YAG7C,uBAAuB;IAerC,OAAO,CAAC,wCAAwC;IAIhD,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,wBAAwB;IAMhC,OAAO,CAAC,iCAAiC;YAM3B,qBAAqB;IAatB,YAAY,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAiCtG"}
1
+ {"version":3,"file":"resource-packaging-service.d.ts","sourceRoot":"","sources":["../../src/service/resource-packaging-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EACL,gBAAgB,EAChB,eAAe,EAGf,mBAAmB,EACnB,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAKrC,qBAAa,6BAA8B,SAAQ,KAAK;gBAC1C,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAGrC;AAED,qBAAa,2BAA4B,SAAQ,KAAK;gBACxC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAGrC;AAeD,MAAM,WAAW,gBAAgB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,qBAAa,4BAA6B,SAAQ,KAAK;;CAItD;AAED,qBAAa,0BAA2B,SAAQ,KAAK;;CAIpD;AAED,qBAAa,kCAAmC,SAAQ,KAAK;gBAC/C,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAGnD;AAED,qBAAa,oCAAqC,SAAQ,KAAK;gBACjD,WAAW,EAAE,MAAM;CAGhC;AAED,qBAAa,wBAAwB;IAEjC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;gBAJ1B,eAAe,EAAE,MAAM,QAAQ,EAC/B,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,mBAAmB,EACxC,0BAA0B,EAAE,0BAA0B;YAG3D,uBAAuB;IAerC,OAAO,CAAC,wCAAwC;IAIhD,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,wBAAwB;IAMhC,OAAO,CAAC,iCAAiC;YAM3B,qBAAqB;IAatB,YAAY,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAiCtG"}
@@ -42,11 +42,12 @@ class DetailedMalformedHtmlEntrypointError extends Error {
42
42
  }
43
43
  exports.DetailedMalformedHtmlEntrypointError = DetailedMalformedHtmlEntrypointError;
44
44
  class ResourcePackagingService {
45
- constructor(archiverFactory, fileSystemReader, appDir, bridgeScriptService) {
45
+ constructor(archiverFactory, fileSystemReader, appDir, bridgeScriptService, iframeResizerScriptService) {
46
46
  this.archiverFactory = archiverFactory;
47
47
  this.fileSystemReader = fileSystemReader;
48
48
  this.appDir = appDir;
49
49
  this.bridgeScriptService = bridgeScriptService;
50
+ this.iframeResizerScriptService = iframeResizerScriptService;
50
51
  }
51
52
  async getResourcesInformation(resources) {
52
53
  return await Promise.all(resources.map(async ({ key, directory, resourceType }) => {
@@ -65,7 +66,10 @@ class ResourcePackagingService {
65
66
  }
66
67
  processFile(filePath, content) {
67
68
  if (filePath === CUSTOM_UI_ENTRYPOINT) {
68
- return this.bridgeScriptService.injectBridgeCore(content, () => {
69
+ const contentWithIframeResizerScript = this.iframeResizerScriptService.injectIframeResizer(content, () => {
70
+ throw new MalformedHtmlEntrypointError();
71
+ });
72
+ return this.bridgeScriptService.injectBridgeCore(contentWithIframeResizerScript, () => {
69
73
  throw new MalformedHtmlEntrypointError();
70
74
  });
71
75
  }
@@ -1,11 +1,6 @@
1
1
  import { PersonalApiCredentialsValidated } from '@forge/cli-shared';
2
- import { AnalyticsClientReporter } from '../analytics-client/analytics-client';
3
2
  import { DownloadProgressCallbacks } from '../command-line/view/tunnel-view';
4
3
  export declare class TunnelAnalyticsService {
5
- private readonly analyticsClientReporter;
6
- constructor(analyticsClientReporter: AnalyticsClientReporter);
7
- reportDockerVersion(creds: PersonalApiCredentialsValidated, dockerVersion: string | null): void;
8
- reportTunnelClosed(creds: PersonalApiCredentialsValidated): void;
9
4
  getImageDownloadReporters(creds: PersonalApiCredentialsValidated): DownloadProgressCallbacks;
10
5
  }
11
6
  //# sourceMappingURL=tunnel-analytics-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel-analytics-service.d.ts","sourceRoot":"","sources":["../../src/service/tunnel-analytics-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,qBAAa,sBAAsB;IACrB,OAAO,CAAC,QAAQ,CAAC,uBAAuB;gBAAvB,uBAAuB,EAAE,uBAAuB;IAEtE,mBAAmB,CAAC,KAAK,EAAE,+BAA+B,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAM/F,kBAAkB,CAAC,KAAK,EAAE,+BAA+B,GAAG,IAAI;IAIhE,yBAAyB,CAAC,KAAK,EAAE,+BAA+B,GAAG,yBAAyB;CAOpG"}
1
+ {"version":3,"file":"tunnel-analytics-service.d.ts","sourceRoot":"","sources":["../../src/service/tunnel-analytics-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,qBAAa,sBAAsB;IAC1B,yBAAyB,CAAC,KAAK,EAAE,+BAA+B,GAAG,yBAAyB;CAOpG"}
@@ -2,22 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TunnelAnalyticsService = void 0;
4
4
  class TunnelAnalyticsService {
5
- constructor(analyticsClientReporter) {
6
- this.analyticsClientReporter = analyticsClientReporter;
7
- }
8
- reportDockerVersion(creds, dockerVersion) {
9
- this.analyticsClientReporter.reportSuccess('docker version check', creds, {
10
- dockerVersion
11
- });
12
- }
13
- reportTunnelClosed(creds) {
14
- this.analyticsClientReporter.reportSuccess('close tunnel', creds, {});
15
- }
16
5
  getImageDownloadReporters(creds) {
17
6
  return {
18
- onStart: () => this.analyticsClientReporter.reportSuccess('image download started', creds, {}),
19
- onFailure: () => this.analyticsClientReporter.reportSuccess('image download failed', creds, {}),
20
- onSuccess: () => this.analyticsClientReporter.reportSuccess('image download finished', creds, {})
7
+ onStart: () => void 0,
8
+ onFailure: () => void 0,
9
+ onSuccess: () => void 0
21
10
  };
22
11
  }
23
12
  }
@@ -2,7 +2,6 @@ import { HiddenError, PersonalApiCredentialsValidated } from '@forge/cli-shared'
2
2
  import { spawn } from 'cross-spawn';
3
3
  import { DockerService } from './docker-service';
4
4
  import { ConfigFilePortFindingService } from './port-finding-service';
5
- import { TunnelAnalyticsService } from './tunnel-analytics-service';
6
5
  export interface TunnelOptions {
7
6
  debug?: boolean;
8
7
  }
@@ -36,8 +35,7 @@ export declare class LocalTunnelService extends TunnelService {
36
35
  }
37
36
  export declare class DockerTunnelService extends TunnelService {
38
37
  private readonly dockerService;
39
- private readonly analyticsService;
40
- constructor(configFilePortFindingService: ConfigFilePortFindingService, dockerService: DockerService, analyticsService: TunnelAnalyticsService);
38
+ constructor(configFilePortFindingService: ConfigFilePortFindingService, dockerService: DockerService);
41
39
  run(tunnelOptions: TunnelOptions, creds: {
42
40
  email: string;
43
41
  token: string;
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel-service.d.ts","sourceRoot":"","sources":["../../src/service/tunnel-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,WAAW,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAC7G,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAOpC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAKD,eAAO,MAAM,cAAc,wBAAwB,CAAC;AAcpD,eAAO,MAAM,UAAU,QAEuB,CAAC;AAE/C,qBAAa,uBAAwB,SAAQ,WAAW;CAAG;AAE3D,8BAAsB,aAAa;IACrB,SAAS,CAAC,QAAQ,CAAC,4BAA4B,EAAE,4BAA4B;gBAA1D,4BAA4B,EAAE,4BAA4B;aAEzE,GAAG,CACjB,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,+BAA+B,EACtC,YAAY,EAAE,OAAO,EACrB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAC7B,OAAO,CAAC,IAAI,CAAC;cAEA,gBAAgB,CAC9B,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,OAAO,EACrB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,+BAA+B,GAChD,OAAO,CAAC,MAAM,EAAE,CAAC;IA8BpB,SAAS,CAAC,cAAc,CACtB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,eAAe,EAAE,MAAM,GAAG,SAAS,GAClC,MAAM,EAAE;IAwBX,SAAS,CAAC,2BAA2B,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE;IAItF,SAAS,CAAC,kCAAkC,IAAI,MAAM,EAAE;IAUxD,SAAS,CAAC,wBAAwB,CAAC,GAAG,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQ1F,SAAS,CAAC,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;IAWvF,SAAS,CAAC,qBAAqB,IAAI,MAAM,EAAE;IAQ3C,SAAS,CAAC,gBAAgB,IAAI,MAAM,EAAE;CAavC;AAED,qBAAa,kBAAmB,SAAQ,aAAa;IACtC,GAAG,CACd,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAC1D,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAC5B,OAAO,CAAC,IAAI,CAAC;CA0BjB;AAED,qBAAa,mBAAoB,SAAQ,aAAa;IAGlD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAFjC,4BAA4B,EAAE,4BAA4B,EACzC,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,sBAAsB;IAK9C,GAAG,CACd,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAC1D,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,IAAI,CAAC;IA2BH,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;YAKnD,qBAAqB;CASpC"}
1
+ {"version":3,"file":"tunnel-service.d.ts","sourceRoot":"","sources":["../../src/service/tunnel-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,WAAW,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAC7G,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAOpC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAEtE,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAKD,eAAO,MAAM,cAAc,wBAAwB,CAAC;AAcpD,eAAO,MAAM,UAAU,QAEuB,CAAC;AAE/C,qBAAa,uBAAwB,SAAQ,WAAW;CAAG;AAE3D,8BAAsB,aAAa;IACrB,SAAS,CAAC,QAAQ,CAAC,4BAA4B,EAAE,4BAA4B;gBAA1D,4BAA4B,EAAE,4BAA4B;aAEzE,GAAG,CACjB,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,+BAA+B,EACtC,YAAY,EAAE,OAAO,EACrB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAC7B,OAAO,CAAC,IAAI,CAAC;cAEA,gBAAgB,CAC9B,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,OAAO,EACrB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,+BAA+B,GAChD,OAAO,CAAC,MAAM,EAAE,CAAC;IA+BpB,SAAS,CAAC,cAAc,CACtB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,eAAe,EAAE,MAAM,GAAG,SAAS,GAClC,MAAM,EAAE;IAwBX,SAAS,CAAC,2BAA2B,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE;IAItF,SAAS,CAAC,kCAAkC,IAAI,MAAM,EAAE;IAUxD,SAAS,CAAC,wBAAwB,CAAC,GAAG,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQ1F,SAAS,CAAC,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;IAYvF,SAAS,CAAC,qBAAqB,IAAI,MAAM,EAAE;IAQ3C,SAAS,CAAC,gBAAgB,IAAI,MAAM,EAAE;CAavC;AAED,qBAAa,kBAAmB,SAAQ,aAAa;IACtC,GAAG,CACd,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAC1D,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAC5B,OAAO,CAAC,IAAI,CAAC;CA0BjB;AAED,qBAAa,mBAAoB,SAAQ,aAAa;IAGlD,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAD9B,4BAA4B,EAAE,4BAA4B,EACzC,aAAa,EAAE,aAAa;IAKlC,GAAG,CACd,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAC1D,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,IAAI,CAAC;IAyBH,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;YAKnD,qBAAqB;CAOpC"}
@@ -38,7 +38,7 @@ class TunnelService {
38
38
  async getDockerOptions(tunnelOptions, debugEnabled, { email, token }) {
39
39
  try {
40
40
  const graphqlGateway = cli_shared_1.getGraphqlGateway();
41
- const dockerOptions = [
41
+ return [
42
42
  '--rm',
43
43
  `--name`,
44
44
  exports.CONTAINER_NAME,
@@ -56,9 +56,10 @@ class TunnelService {
56
56
  `FORGE_GRAPHQL_GATEWAY=${graphqlGateway}`,
57
57
  `--env`,
58
58
  `VERBOSE_MODE=${debugEnabled}`,
59
+ `--env`,
60
+ `CLI_DETAILS=${JSON.stringify(cliDetails)}`,
59
61
  `${exports.IMAGE_NAME}`
60
62
  ];
61
- return dockerOptions;
62
63
  }
63
64
  catch (e) {
64
65
  throw new HiddenDockerTunnelError("Couldn't populate docker options for tunneling");
@@ -99,11 +100,12 @@ class TunnelService {
99
100
  return Object.assign(Object.assign({}, env), { PATH: process.env.PATH || '', FORCE_COLOR: '1' });
100
101
  }
101
102
  transformDockerOptionsToEnvVars(options) {
102
- const envVarRegex = new RegExp('^\\w+=.+$', 'g');
103
+ const envVarRegex = new RegExp('^(\\w+)=(.+)$', 'g');
103
104
  const envVars = options.filter((opt) => envVarRegex.test(opt));
104
105
  const envVarObj = {};
105
106
  envVars.forEach((envVar) => {
106
- const [key, val] = envVar.split('=');
107
+ envVarRegex.lastIndex = 0;
108
+ const [, key, val] = envVarRegex.exec(envVar);
107
109
  envVarObj[key] = val;
108
110
  });
109
111
  return envVarObj;
@@ -146,10 +148,9 @@ class LocalTunnelService extends TunnelService {
146
148
  }
147
149
  exports.LocalTunnelService = LocalTunnelService;
148
150
  class DockerTunnelService extends TunnelService {
149
- constructor(configFilePortFindingService, dockerService, analyticsService) {
151
+ constructor(configFilePortFindingService, dockerService) {
150
152
  super(configFilePortFindingService);
151
153
  this.dockerService = dockerService;
152
- this.analyticsService = analyticsService;
153
154
  }
154
155
  async run(tunnelOptions, creds, debugEnabled) {
155
156
  await this.validateDockerVersion(creds, debugEnabled);
@@ -170,7 +171,6 @@ class DockerTunnelService extends TunnelService {
170
171
  ...resourcePortEnvVarOption,
171
172
  ...dockerOptions
172
173
  ]);
173
- docker.on('exit', () => this.analyticsService.reportTunnelClosed(creds));
174
174
  this.dockerService.startCleanupWorker([docker.pid], exports.CONTAINER_NAME);
175
175
  }
176
176
  async bootstrapDocker() {
@@ -178,8 +178,7 @@ class DockerTunnelService extends TunnelService {
178
178
  return this.dockerService.downloadImage(exports.IMAGE_NAME);
179
179
  }
180
180
  async validateDockerVersion(creds, debugEnabled) {
181
- const { major, minor, full } = await this.dockerService.getDockerVersion(debugEnabled);
182
- this.analyticsService.reportDockerVersion(creds, full);
181
+ const { major, minor } = await this.dockerService.getDockerVersion(debugEnabled);
183
182
  if (major < 17 || (major === 17 && minor < 3)) {
184
183
  throw new HiddenDockerTunnelError();
185
184
  }
@@ -1,12 +1,18 @@
1
1
  import { AppConfigProvider } from '@forge/cli-shared';
2
- import { GlobalEdgeClient } from '@forge/cli-shared';
3
2
  import { AppEnvironmentClient } from '@forge/cli-shared';
4
3
  import { Installation } from '../service/installation-service';
4
+ import { WebTriggerGraphQLClient } from './graphql-client';
5
5
  export interface Context {
6
6
  contextId: string;
7
7
  environmentARI: string;
8
8
  extensionKey: string;
9
9
  }
10
+ export interface WebTriggerUrlDetails {
11
+ appId: string;
12
+ contextId: string;
13
+ environmentId: string;
14
+ triggerKey: string;
15
+ }
10
16
  export interface WebTriggerClient {
11
17
  getInstallation(appId: string, installationId: string): Promise<Installation>;
12
18
  }
@@ -14,8 +20,8 @@ export declare class GetWebTriggerURLCommand {
14
20
  private readonly getAppConfig;
15
21
  private readonly webTriggerClient;
16
22
  private readonly appEnvironmentClient;
17
- private readonly globalEdgeClient;
18
- constructor(getAppConfig: AppConfigProvider, webTriggerClient: WebTriggerClient, appEnvironmentClient: AppEnvironmentClient, globalEdgeClient: GlobalEdgeClient);
19
- execute(installationId: string, functionKey: string, isProduction: boolean): Promise<string>;
23
+ private readonly webTriggerGraphqlClient;
24
+ constructor(getAppConfig: AppConfigProvider, webTriggerClient: WebTriggerClient, appEnvironmentClient: AppEnvironmentClient, webTriggerGraphqlClient: WebTriggerGraphQLClient);
25
+ execute(installationId: string, functionKey: string): Promise<string>;
20
26
  }
21
27
  //# sourceMappingURL=get-webtrigger-url.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-webtrigger-url.d.ts","sourceRoot":"","sources":["../../src/webtrigger/get-webtrigger-url.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/E;AAQD,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAHhB,YAAY,EAAE,iBAAiB,EAC/B,gBAAgB,EAAE,gBAAgB,EAClC,oBAAoB,EAAE,oBAAoB,EAC1C,gBAAgB,EAAE,gBAAgB;IAGxC,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;CAkB1G"}
1
+ {"version":3,"file":"get-webtrigger-url.d.ts","sourceRoot":"","sources":["../../src/webtrigger/get-webtrigger-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/E;AACD,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;gBAHvB,YAAY,EAAE,iBAAiB,EAC/B,gBAAgB,EAAE,gBAAgB,EAClC,oBAAoB,EAAE,oBAAoB,EAC1C,uBAAuB,EAAE,uBAAuB;IAGtD,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAcnF"}
@@ -1,33 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GetWebTriggerURLCommand = void 0;
4
- const cs_ari_1 = require("@forge/util/packages/cs-ari");
5
- const url_1 = require("url");
6
- const cli_shared_1 = require("@forge/cli-shared");
7
- function buildWebtriggerURL(appId, context, extension, isProduction) {
8
- const hostname = isProduction ? `${appId}.hello.atlassian-dev.net` : `${appId}.xen.atlassian-dev.net`;
9
- const urlObj = new url_1.URL(`/x0/${cli_shared_1.encodeContext(context, extension)}`, `https://${hostname}`);
10
- return urlObj.toString();
11
- }
12
4
  class GetWebTriggerURLCommand {
13
- constructor(getAppConfig, webTriggerClient, appEnvironmentClient, globalEdgeClient) {
5
+ constructor(getAppConfig, webTriggerClient, appEnvironmentClient, webTriggerGraphqlClient) {
14
6
  this.getAppConfig = getAppConfig;
15
7
  this.webTriggerClient = webTriggerClient;
16
8
  this.appEnvironmentClient = appEnvironmentClient;
17
- this.globalEdgeClient = globalEdgeClient;
9
+ this.webTriggerGraphqlClient = webTriggerGraphqlClient;
18
10
  }
19
- async execute(installationId, functionKey, isProduction) {
11
+ async execute(installationId, functionKey) {
20
12
  const { id: appId } = await this.getAppConfig();
21
- const { product, site, environmentKey } = await this.webTriggerClient.getInstallation(appId, installationId);
22
- const [environmentId, cloudId] = await Promise.all([
23
- this.appEnvironmentClient.getAppEnvironmentId(appId, environmentKey),
24
- this.globalEdgeClient.getCloudId(new url_1.URL(`https://${site}`))
25
- ]);
26
- const context = cli_shared_1.buildContextAri(cloudId, product);
27
- const ari = cs_ari_1.parse(appId);
28
- const appAri = cs_ari_1.parseAppAri(ari);
29
- const extension = cli_shared_1.buildExtensionAri(appAri.appId, environmentId, functionKey);
30
- return buildWebtriggerURL(appAri.appId, context, extension, isProduction);
13
+ const { environmentKey, context } = await this.webTriggerClient.getInstallation(appId, installationId);
14
+ const environmentId = await this.appEnvironmentClient.getAppEnvironmentId(appId, environmentKey);
15
+ return await this.webTriggerGraphqlClient.createWebTriggerUrl({
16
+ appId: '',
17
+ contextId: context,
18
+ environmentId: environmentId,
19
+ triggerKey: functionKey
20
+ });
31
21
  }
32
22
  }
33
23
  exports.GetWebTriggerURLCommand = GetWebTriggerURLCommand;
@@ -0,0 +1,14 @@
1
+ import { GraphQLClient, GraphQlMutationError } from '@forge/cli-shared';
2
+ import { WebTriggerUrlDetails } from './get-webtrigger-url';
3
+ export declare class WebTriggerCreationError extends GraphQlMutationError {
4
+ constructor(message: string, code: string | undefined);
5
+ }
6
+ export declare class MissingWebTriggerUrlError extends GraphQlMutationError {
7
+ constructor(requestId: string | undefined);
8
+ }
9
+ export declare class WebTriggerGraphQLClient {
10
+ private readonly graphQLClient;
11
+ constructor(graphQLClient: GraphQLClient);
12
+ createWebTriggerUrl({ appId, contextId, environmentId, triggerKey }: WebTriggerUrlDetails): Promise<string>;
13
+ }
14
+ //# sourceMappingURL=graphql-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/webtrigger/graphql-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAyC,MAAM,mBAAmB,CAAC;AAC/G,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,qBAAa,uBAAwB,SAAQ,oBAAoB;gBACnD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS;CAGtD;AAED,qBAAa,yBAA0B,SAAQ,oBAAoB;gBACrD,SAAS,EAAE,MAAM,GAAG,SAAS;CAO1C;AAED,qBAAa,uBAAuB;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAE5C,mBAAmB,CAAC,EAC/B,KAAK,EACL,SAAS,EACT,aAAa,EACb,UAAU,EACX,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;CAoC1C"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebTriggerGraphQLClient = exports.MissingWebTriggerUrlError = exports.WebTriggerCreationError = void 0;
4
+ const cli_shared_1 = require("@forge/cli-shared");
5
+ class WebTriggerCreationError extends cli_shared_1.GraphQlMutationError {
6
+ constructor(message, code) {
7
+ super(cli_shared_1.Text.webtrigger.error.creationError(message), code);
8
+ }
9
+ }
10
+ exports.WebTriggerCreationError = WebTriggerCreationError;
11
+ class MissingWebTriggerUrlError extends cli_shared_1.GraphQlMutationError {
12
+ constructor(requestId) {
13
+ super(cli_shared_1.Text.webtrigger.error.creationError(`Web Trigger URL not found after successful creation, requestId: ${requestId !== null && requestId !== void 0 ? requestId : 'N/A'}`));
14
+ }
15
+ }
16
+ exports.MissingWebTriggerUrlError = MissingWebTriggerUrlError;
17
+ class WebTriggerGraphQLClient {
18
+ constructor(graphQLClient) {
19
+ this.graphQLClient = graphQLClient;
20
+ }
21
+ async createWebTriggerUrl({ appId, contextId, environmentId, triggerKey }) {
22
+ const query = `
23
+ mutation forge_cli_createWebTriggerUrl($input: WebTriggerUrlInput!) {
24
+ createWebTriggerUrl(input: $input) {
25
+ statusCode
26
+ success
27
+ message
28
+ url
29
+ }
30
+ }
31
+ `;
32
+ const variables = {
33
+ input: {
34
+ appId,
35
+ contextId,
36
+ envId: environmentId,
37
+ triggerKey
38
+ }
39
+ };
40
+ const { response: { createWebTriggerUrl: { success, statusCode, message, url } }, requestId } = await this.graphQLClient.mutate(query, variables);
41
+ if (!success) {
42
+ throw new WebTriggerCreationError(message, statusCode.toString());
43
+ }
44
+ else {
45
+ if (url) {
46
+ return url;
47
+ }
48
+ throw new MissingWebTriggerUrlError(requestId);
49
+ }
50
+ }
51
+ }
52
+ exports.WebTriggerGraphQLClient = WebTriggerGraphQLClient;
@@ -9,10 +9,10 @@ const cached_config_service_1 = require("../service/cached-config-service");
9
9
  const cli_shared_1 = require("@forge/cli-shared");
10
10
  const unique_machine_id_1 = require("../command-line/unique-machine-id");
11
11
  const workerInfo = JSON.parse(process.argv[2]);
12
- const cachedConf = new cli_shared_1.CachedConf(unique_machine_id_1.FORGE_CLI_PACKAGE);
12
+ const cachedConf = cli_shared_1.CachedConf.getCache(unique_machine_id_1.FORGE_CLI_PACKAGE);
13
13
  const cachedConfigService = new cached_config_service_1.CachedConfigService(cachedConf);
14
14
  const ALL_WORKERS = [
15
- new analytics_message_worker_1.AnalyticsMessageWorker(new local_file_storage_1.LocalFileStorage(), new analytics_message_handler_1.AnalyticsMessageHandler(workerInfo ? workerInfo.environment : undefined), cachedConfigService),
15
+ new analytics_message_worker_1.AnalyticsMessageWorker(new local_file_storage_1.LocalFileStorage(), new analytics_message_handler_1.AnalyticsMessageHandler(), cachedConfigService),
16
16
  new version_check_worker_1.VersionCheckWorker(workerInfo)
17
17
  ];
18
18
  const TIMEOUT = 10 * 1000;