@forge/cli 5.2.1 → 6.0.0-next.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/npm-shrinkwrap.json +1065 -792
  3. package/out/analytics-client/analytics-client.js +2 -2
  4. package/out/analytics-client/analytics-message-handler.d.ts.map +1 -1
  5. package/out/analytics-client/analytics-message-handler.js +1 -1
  6. package/out/autocomplete/index.js +6 -5
  7. package/out/autocomplete/util.js +4 -2
  8. package/out/bin/cli.js +1 -1
  9. package/out/bin/postinstall.js +3 -3
  10. package/out/command-line/anon-user-id.js +1 -1
  11. package/out/command-line/command.d.ts.map +1 -1
  12. package/out/command-line/command.js +19 -17
  13. package/out/command-line/controller/autocomplete-controller.js +2 -2
  14. package/out/command-line/controller/feedback-controller.js +1 -1
  15. package/out/command-line/controller/install-controller.js +8 -8
  16. package/out/command-line/controller/prerequisites-controller.js +4 -4
  17. package/out/command-line/controller/tunnel-controller.js +1 -1
  18. package/out/command-line/dependency-injection.d.ts +2 -2
  19. package/out/command-line/dependency-injection.js +8 -7
  20. package/out/command-line/environment.js +3 -2
  21. package/out/command-line/index.d.ts +1 -1
  22. package/out/command-line/index.d.ts.map +1 -1
  23. package/out/command-line/index.js +21 -19
  24. package/out/command-line/register-app-commands.js +4 -4
  25. package/out/command-line/register-authentication-command.js +2 -2
  26. package/out/command-line/register-autocomplete-commands.js +2 -1
  27. package/out/command-line/register-deployment-commands.js +2 -1
  28. package/out/command-line/register-environment-variables-commands.js +2 -1
  29. package/out/command-line/register-feedback-commands.js +2 -1
  30. package/out/command-line/register-installation-commands.js +15 -12
  31. package/out/command-line/register-lint-command.js +2 -1
  32. package/out/command-line/register-log-commands.js +9 -8
  33. package/out/command-line/register-providers-commands.js +2 -1
  34. package/out/command-line/register-settings-commands.js +2 -1
  35. package/out/command-line/register-tunnel-commands.js +2 -1
  36. package/out/command-line/register-webtrigger-commands.js +3 -2
  37. package/out/command-line/unique-machine-id.js +4 -3
  38. package/out/command-line/version-info.d.ts.map +1 -1
  39. package/out/command-line/version-info.js +7 -4
  40. package/out/command-line/view/deploy-view.js +2 -2
  41. package/out/command-line/view/install-view.js +7 -7
  42. package/out/command-line/view/lint-view.d.ts +1 -1
  43. package/out/command-line/view/lint-view.d.ts.map +1 -1
  44. package/out/command-line/view/lite-lint-view.d.ts +1 -1
  45. package/out/command-line/view/lite-lint-view.d.ts.map +1 -1
  46. package/out/command-line/view/tunnel-view.js +1 -1
  47. package/out/deploy/deployer/deployer.js +1 -1
  48. package/out/deploy/deployer/trigger-deploy-graphql-client.js +1 -1
  49. package/out/deploy/package-upload-deploy.js +1 -1
  50. package/out/deploy/packager/archiver.js +4 -4
  51. package/out/deploy/packager/runtime-bundler.js +1 -1
  52. package/out/deploy/uploader/artifact-graphql-client.js +2 -2
  53. package/out/environment-variables/graphql-client.d.ts +2 -2
  54. package/out/environment-variables/graphql-client.d.ts.map +1 -1
  55. package/out/environment-variables/graphql-client.js +2 -2
  56. package/out/installations/graphql-client.js +6 -6
  57. package/out/installations/shared.d.ts.map +1 -1
  58. package/out/installations/shared.js +2 -1
  59. package/out/installations/site-translation/bitbucket.js +5 -4
  60. package/out/providers/graphql-client.js +1 -1
  61. package/out/service/command-suggestion-service.js +1 -1
  62. package/out/service/docker-service.js +4 -4
  63. package/out/service/installation-service.js +6 -6
  64. package/out/service/lint-service.d.ts +1 -1
  65. package/out/service/lint-service.d.ts.map +1 -1
  66. package/out/service/lint-service.js +3 -3
  67. package/out/service/lite-lint-service.d.ts +1 -1
  68. package/out/service/lite-lint-service.d.ts.map +1 -1
  69. package/out/service/migration-keys-service.d.ts +1 -1
  70. package/out/service/migration-keys-service.d.ts.map +1 -1
  71. package/out/service/port-finding-service.js +1 -1
  72. package/out/service/resource-packaging-service.js +4 -4
  73. package/out/service/resources-uploader-service.js +1 -1
  74. package/out/service/tunnel-service.js +8 -8
  75. package/out/storage/local-file-storage.js +1 -1
  76. package/out/webtrigger/get-webtrigger-url.js +2 -2
  77. package/out/workers/forge-cli-workers.js +1 -1
  78. package/out/workers/tunnel-clean-up-worker.js +1 -1
  79. package/out/workers/version-check-worker.js +1 -1
  80. package/out/workers/worker-info.js +3 -2
  81. package/out/workers/worker.d.ts.map +1 -1
  82. package/out/workers/worker.js +5 -3
  83. package/out/workers/workers-starter.js +1 -1
  84. package/package.json +8 -7
@@ -22,9 +22,10 @@ const DEFAULT_BITBUCKET_ENDPOINT = 'https://api.bitbucket.org';
22
22
  const BITBUCKET_URL = new url_1.URL('https://bitbucket.org');
23
23
  const RESOURCE_TYPE = 'workspace';
24
24
  const RESOURCE_OWNER = 'bitbucket';
25
- exports.getBitbucketEndpoint = () => {
25
+ const getBitbucketEndpoint = () => {
26
26
  return process.env.BITBUCKET_ENDPOINT || DEFAULT_BITBUCKET_ENDPOINT;
27
27
  };
28
+ exports.getBitbucketEndpoint = getBitbucketEndpoint;
28
29
  class BitbucketTranslator {
29
30
  ariBelongsToProduct(ari) {
30
31
  return ari.resourceOwner === RESOURCE_OWNER;
@@ -51,7 +52,7 @@ class BitbucketTranslator {
51
52
  async getWorkspaceId(site) {
52
53
  const workspaceName = this.extractWorkspaceName(site);
53
54
  const url = this.buildFetchUrl(workspaceName);
54
- const res = await node_fetch_1.default(url);
55
+ const res = await (0, node_fetch_1.default)(url);
55
56
  if (!res.ok) {
56
57
  throw new InvalidWorkspaceError(site);
57
58
  }
@@ -69,7 +70,7 @@ class BitbucketTranslator {
69
70
  }
70
71
  async getWorkspaceUrl(workspaceId) {
71
72
  const url = this.buildFetchUrl(this.decorateWorkspaceId(workspaceId));
72
- const res = await node_fetch_1.default(url);
73
+ const res = await (0, node_fetch_1.default)(url);
73
74
  if (!res.ok) {
74
75
  return null;
75
76
  }
@@ -92,7 +93,7 @@ class BitbucketTranslator {
92
93
  return workspaceIdWithBraces.replace(/\{|\}/gi, '');
93
94
  }
94
95
  buildFetchUrl(workspaceNameOrId) {
95
- const urlObj = new url_1.URL(`${exports.getBitbucketEndpoint()}/2.0/workspaces/${workspaceNameOrId}`);
96
+ const urlObj = new url_1.URL(`${(0, exports.getBitbucketEndpoint)()}/2.0/workspaces/${workspaceNameOrId}`);
96
97
  return urlObj.toString();
97
98
  }
98
99
  extractWorkspaceName(workspaceURL) {
@@ -38,7 +38,7 @@ class GraphqlClient {
38
38
  }
39
39
  }
40
40
  });
41
- const error = cli_shared_1.getError(errors);
41
+ const error = (0, cli_shared_1.getError)(errors);
42
42
  if (!success) {
43
43
  throw new cli_shared_1.GraphQlMutationError(`${error.message} (requestId: ${requestId || 'unknown'})`, error.code);
44
44
  }
@@ -6,7 +6,7 @@ class CommandSuggestionService {
6
6
  getSuggestions(input, list) {
7
7
  const set = [...list, ...list.map((item) => item.split(':')[0])];
8
8
  let result = set.filter((search) => search.includes(input));
9
- const dym = didyoumean_1.default(input, set);
9
+ const dym = (0, didyoumean_1.default)(input, set);
10
10
  if (dym) {
11
11
  result.push(dym);
12
12
  result = [...result, ...set.filter((search) => search.includes(dym))];
@@ -22,7 +22,7 @@ var DockerErrorCode;
22
22
  })(DockerErrorCode = exports.DockerErrorCode || (exports.DockerErrorCode = {}));
23
23
  class DockerService {
24
24
  runContainer(args) {
25
- return cross_spawn_1.spawn('docker', ['run', ...args], { stdio: 'inherit' });
25
+ return (0, cross_spawn_1.spawn)('docker', ['run', ...args], { stdio: 'inherit' });
26
26
  }
27
27
  async getDockerVersion(debugEnabled) {
28
28
  if (!command_exists_1.default.sync('docker')) {
@@ -46,10 +46,10 @@ class DockerService {
46
46
  await this.execPromise(`docker rm -f ${containerName}`);
47
47
  }
48
48
  downloadImage(imageName) {
49
- return cross_spawn_1.spawn('docker', ['pull', imageName]);
49
+ return (0, cross_spawn_1.spawn)('docker', ['pull', imageName]);
50
50
  }
51
51
  startCleanupWorker(pids, containerName) {
52
- const dockerCleanUp = cross_spawn_1.spawn(process.env.NODE_ENV === 'development' ? 'ts-node' : 'node', [path_1.default.join(__dirname, '../workers/tunnel-cleanup-worker')], { stdio: ['ignore', 'ignore', 'ignore', 'ipc'] });
52
+ const dockerCleanUp = (0, cross_spawn_1.spawn)(process.env.NODE_ENV === 'development' ? 'ts-node' : 'node', [path_1.default.join(__dirname, '../workers/tunnel-cleanup-worker')], { stdio: ['ignore', 'ignore', 'ignore', 'ipc'] });
53
53
  const message = {
54
54
  pids,
55
55
  containers: [containerName]
@@ -58,7 +58,7 @@ class DockerService {
58
58
  }
59
59
  execPromise(cmd) {
60
60
  return new Promise((resolve) => {
61
- child_process_1.exec(cmd, (err, stdout, stderr) => {
61
+ (0, child_process_1.exec)(cmd, (err, stdout, stderr) => {
62
62
  resolve({
63
63
  err: err,
64
64
  stdout: stdout,
@@ -14,12 +14,12 @@ class InstallationService {
14
14
  this.upgradeAppInstallationsClient = upgradeAppInstallationsClient;
15
15
  }
16
16
  filterInstallations(installations, { site: filterSite, product: filterProduct, environment: filterEnvironment }) {
17
- const isDefaultEnvironment = (env) => env === cli_shared_1.optionToEnvironment(cli_shared_1.DEFAULT_ENVIRONMENT_OPTION);
17
+ const isDefaultEnvironment = (env) => env === (0, cli_shared_1.optionToEnvironment)(cli_shared_1.DEFAULT_ENVIRONMENT_OPTION);
18
18
  return installations.filter(({ product, site, environmentKey }) => {
19
- const matchProduct = !filterProduct || filterProduct === cli_shared_1.capitalizeProduct(product);
19
+ const matchProduct = !filterProduct || filterProduct === (0, cli_shared_1.capitalizeProduct)(product);
20
20
  const matchSite = !filterSite || filterSite === site;
21
21
  const matchEnvironment = filterEnvironment
22
- ? isDefaultEnvironment(filterEnvironment) || filterEnvironment === cli_shared_1.environmentToOption(environmentKey)
22
+ ? isDefaultEnvironment(filterEnvironment) || filterEnvironment === (0, cli_shared_1.environmentToOption)(environmentKey)
23
23
  : true;
24
24
  return matchProduct && matchSite && matchEnvironment;
25
25
  });
@@ -66,7 +66,7 @@ class InstallationService {
66
66
  return { scopes: [], egressAddresses: [] };
67
67
  }
68
68
  const scopes = permissions.scopes.map((s) => s.key);
69
- 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
+ const egressAddresses = (permissions === null || permissions === void 0 ? void 0 : permissions.egress) ? (0, cli_shared_1.flatMap)(permissions.egress, ({ addresses }) => addresses !== null && addresses !== void 0 ? addresses : []) : [];
70
70
  return { scopes, egressAddresses };
71
71
  }
72
72
  async getAppEnvironmentPermissions(appId, environmentKey) {
@@ -75,7 +75,7 @@ class InstallationService {
75
75
  if (!versions || versions.length === 0)
76
76
  return;
77
77
  const [{ scopes, egressAddresses }, oldVersion] = versions.map((appEnvironmentVersion) => this.getPermissionsFromAppEnvironmentVersion(appEnvironmentVersion));
78
- const groupedEgressAddresses = egress_1.sortAndGroupEgressPermissionsByDomain(egressAddresses);
78
+ const groupedEgressAddresses = (0, egress_1.sortAndGroupEgressPermissionsByDomain)(egressAddresses);
79
79
  if (!oldVersion) {
80
80
  return {
81
81
  scopes,
@@ -84,7 +84,7 @@ class InstallationService {
84
84
  };
85
85
  }
86
86
  const { scopes: oldScopes } = oldVersion;
87
- const addedScopes = lodash_1.difference(scopes, oldScopes);
87
+ const addedScopes = (0, lodash_1.difference)(scopes, oldScopes);
88
88
  return { scopes, egressAddresses: groupedEgressAddresses, addedScopes };
89
89
  }
90
90
  }
@@ -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: 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>;
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;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"}
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,0hBAAO,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"}
@@ -10,7 +10,7 @@ class LintService {
10
10
  this.fileSystemReader = fileSystemReader;
11
11
  }
12
12
  async run(environment, { fix }, logger, directory = exports.DEFAULT_DIRECTORY, lintFunction = lint_1.lint) {
13
- const exclude = [...(await cli_shared_1.listGitIgnoreFiles(this.fileSystemReader)), '.git', 'node_modules'];
13
+ const exclude = [...(await (0, cli_shared_1.listGitIgnoreFiles)(this.fileSystemReader)), '.git', 'node_modules'];
14
14
  const filesToLint = await this.fileSystemReader.recursiveReadDir(directory, exclude);
15
15
  const lintResults = await lintFunction(filesToLint, await this.configFile.readConfig(), environment, logger);
16
16
  if (fix) {
@@ -23,10 +23,10 @@ class LintService {
23
23
  return lintResults.reduce((promiseChain, nextResult) => promiseChain.then((state) => nextResult.runFixer(state)), Promise.resolve(initialState));
24
24
  }
25
25
  problemCount(lintResults) {
26
- return lint_1.problemCount(lintResults);
26
+ return (0, lint_1.problemCount)(lintResults);
27
27
  }
28
28
  failedScopesFromLintResult({ errors, warnings }) {
29
- return Array.from(lint_1.findMissingPermissions(errors, warnings, 'missingPermission'));
29
+ return Array.from((0, lint_1.findMissingPermissions)(errors, warnings, 'missingPermission'));
30
30
  }
31
31
  failedScopes(lintResults) {
32
32
  return lintResults.reduce((acc, lintResult) => {
@@ -2,7 +2,7 @@ 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?: (logger: Pick<import("@forge/cli-shared/src").Logger, "info">, linter?: import("@forge/lint").LinterInterface | undefined) => Promise<LintResult[]>, problemCounter?: (lintResults: LintResult[]) => import("@forge/lint").ProblemCount);
5
+ constructor(lintService?: (logger: LintLogger, linter?: import("@forge/lint").LinterInterface | undefined) => Promise<LintResult[]>, problemCounter?: (lintResults: LintResult[]) => import("@forge/lint").ProblemCount);
6
6
  run(checkSchema: boolean, logger: LintLogger): Promise<LintResult[]>;
7
7
  private filterResults;
8
8
  hasErrors(report: LintResult[]): boolean;
@@ -1 +1 @@
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"}
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,4GAAW,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"}
@@ -1,4 +1,4 @@
1
- import { AppConfigProvider } from 'packages/forge-cli-shared/src/apps';
1
+ import { AppConfigProvider } from '@forge/cli-shared';
2
2
  export declare type MigrationKeys = {
3
3
  jira?: string;
4
4
  confluence?: string;
@@ -1 +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"}
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,mBAAmB,CAAC;AACtD,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"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConfigFilePortFindingService = void 0;
4
4
  const portfinder_1 = require("portfinder");
5
5
  const util_1 = require("util");
6
- const getPortsPromise = util_1.promisify(portfinder_1.getPorts);
6
+ const getPortsPromise = (0, util_1.promisify)(portfinder_1.getPorts);
7
7
  class ConfigFilePortFindingService {
8
8
  constructor(configFile) {
9
9
  this.configFile = configFile;
@@ -64,7 +64,7 @@ class ResourcePackagingService {
64
64
  transformRelativeResourcePathsToAbsolute(appDir, resources) {
65
65
  return resources.map(({ key, path, resourceType }) => ({
66
66
  key,
67
- directory: resourceType === 'nativeUI' ? path : path_1.join(appDir, path),
67
+ directory: resourceType === 'nativeUI' ? path : (0, path_1.join)(appDir, path),
68
68
  resourceType
69
69
  }));
70
70
  }
@@ -85,7 +85,7 @@ class ResourcePackagingService {
85
85
  }
86
86
  }
87
87
  assertDirectoryIncludesEntrypoint(directory, filePaths) {
88
- if (!filePaths.map((path) => path_1.relative(directory, path)).includes(CUSTOM_UI_ENTRYPOINT)) {
88
+ if (!filePaths.map((path) => (0, path_1.relative)(directory, path)).includes(CUSTOM_UI_ENTRYPOINT)) {
89
89
  throw new MissingHtmlEntrypointError();
90
90
  }
91
91
  }
@@ -93,7 +93,7 @@ class ResourcePackagingService {
93
93
  await Promise.all(filePaths.map(async (filePath) => {
94
94
  const file = await this.fileSystemReader.readBinaryFileAsync(filePath);
95
95
  if (file) {
96
- const relativePathToArchiveRoot = path_1.relative(directory, filePath);
96
+ const relativePathToArchiveRoot = (0, path_1.relative)(directory, filePath);
97
97
  archiver.addFile(relativePathToArchiveRoot, this.processFile(relativePathToArchiveRoot, file));
98
98
  }
99
99
  }));
@@ -112,7 +112,7 @@ class ResourcePackagingService {
112
112
  zipPath: archivePath,
113
113
  rawSize: this.fileSystemReader.bytesToMb(await this.fileSystemReader.getFolderSizeAsync(directory)),
114
114
  zipSize: this.fileSystemReader.bytesToMb(this.fileSystemReader.getSize(archivePath)),
115
- extensions: [...new Set(filePaths.map((file) => path_1.extname(file)))],
115
+ extensions: [...new Set(filePaths.map((file) => (0, path_1.extname)(file)))],
116
116
  fileCount: filePaths.length
117
117
  };
118
118
  }
@@ -22,7 +22,7 @@ class ResourcesUploaderService {
22
22
  formData.append(k, v);
23
23
  });
24
24
  formData.append('file', content);
25
- const response = await node_fetch_1.default(preSignedUrl.uploadUrl, {
25
+ const response = await (0, node_fetch_1.default)(preSignedUrl.uploadUrl, {
26
26
  method: 'POST',
27
27
  body: formData
28
28
  });
@@ -12,14 +12,14 @@ const version_info_1 = require("../command-line/version-info");
12
12
  const DISABLE_TTY = process.env.DISABLE_TTY === 'true';
13
13
  const CUR_WORK_APP_DIR = process.env.CUR_WORK_APP_DIR;
14
14
  exports.CONTAINER_NAME = 'forge-tunnel-docker';
15
- const cliDetails = version_info_1.getCLIDetails();
15
+ const cliDetails = (0, version_info_1.getCLIDetails)();
16
16
  let versionTags;
17
17
  if ((cliDetails === null || cliDetails === void 0 ? void 0 : cliDetails.version) !== undefined) {
18
18
  if (process.env.FORGE_IN_LOCAL_E2E === 'true') {
19
19
  versionTags = ['e2e'];
20
20
  }
21
21
  else {
22
- versionTags = semver_1.prerelease(cliDetails.version) || ['latest'];
22
+ versionTags = (0, semver_1.prerelease)(cliDetails.version) || ['latest'];
23
23
  }
24
24
  }
25
25
  else {
@@ -37,7 +37,7 @@ class TunnelService {
37
37
  }
38
38
  async getDockerOptions(tunnelOptions, debugEnabled, { email, token }) {
39
39
  try {
40
- const graphqlGateway = cli_shared_1.getGraphqlGateway();
40
+ const graphqlGateway = (0, cli_shared_1.getGraphqlGateway)();
41
41
  return [
42
42
  '--rm',
43
43
  `--name`,
@@ -66,7 +66,7 @@ class TunnelService {
66
66
  }
67
67
  }
68
68
  getPortOptions(port, resourcePorts, cspReporterPort) {
69
- const resourcePortOptions = cli_shared_1.flatMap(Object.values(resourcePorts), (resourcePort) => [
69
+ const resourcePortOptions = (0, cli_shared_1.flatMap)(Object.values(resourcePorts), (resourcePort) => [
70
70
  '-p',
71
71
  `${resourcePort}:${resourcePort}`
72
72
  ]);
@@ -119,7 +119,7 @@ class TunnelService {
119
119
  getVolumeOptions() {
120
120
  const options = [`-v=${CUR_WORK_APP_DIR || process.cwd()}:/app:cached`];
121
121
  if (process.env.FORGE_DEV_DOCKER_TUNNEL) {
122
- options.push(`-v=${path_1.join(__dirname, '../../../forge-tunnel/hardcopied_node_modules/node_modules')}:/tunnel/node_modules:cached`, `-v=${path_1.join(__dirname, '../../../forge-tunnel/out')}:/tunnel/out:cached`);
122
+ options.push(`-v=${(0, path_1.join)(__dirname, '../../../forge-tunnel/hardcopied_node_modules/node_modules')}:/tunnel/node_modules:cached`, `-v=${(0, path_1.join)(__dirname, '../../../forge-tunnel/out')}:/tunnel/out:cached`);
123
123
  }
124
124
  if (process.env.FORGE_TUNNEL_MOUNT_DIRECTORIES) {
125
125
  const mounts = process.env.FORGE_TUNNEL_MOUNT_DIRECTORIES.split(',');
@@ -134,7 +134,7 @@ exports.TunnelService = TunnelService;
134
134
  class LocalTunnelService extends TunnelService {
135
135
  async run(tunnelOptions, creds, debugEnabled, onError) {
136
136
  const dockerOptions = await this.getDockerOptions(tunnelOptions, debugEnabled, creds);
137
- const port = await portfinder_1.getPortPromise();
137
+ const port = await (0, portfinder_1.getPortPromise)();
138
138
  const resourcePorts = await this.configFilePortFindingService.findPorts();
139
139
  const cspReporterPort = await this.configFilePortFindingService.findPortAfter(Object.values(resourcePorts));
140
140
  const portOptions = this.getPortOptions(port, resourcePorts, cspReporterPort);
@@ -146,7 +146,7 @@ class LocalTunnelService extends TunnelService {
146
146
  ...envVariablesOptions,
147
147
  ...resourcePortEnvVarOption
148
148
  ]));
149
- cross_spawn_1.spawn('forge-tunnel', [], {
149
+ (0, cross_spawn_1.spawn)('forge-tunnel', [], {
150
150
  stdio: 'inherit',
151
151
  env: Object.assign(Object.assign({}, env), { FORGE_DEV_TUNNEL: 'true' })
152
152
  }).on('error', onError);
@@ -162,7 +162,7 @@ class DockerTunnelService extends TunnelService {
162
162
  async run(tunnelOptions, creds, debugEnabled) {
163
163
  await this.validateDockerVersion(creds, debugEnabled);
164
164
  const dockerOptions = await this.getDockerOptions(tunnelOptions, debugEnabled, creds);
165
- const port = await portfinder_1.getPortPromise();
165
+ const port = await (0, portfinder_1.getPortPromise)();
166
166
  const resourcePorts = await this.configFilePortFindingService.findPorts(port);
167
167
  const cspReporterPort = await this.configFilePortFindingService.findPortAfter(Object.values(resourcePorts));
168
168
  const portOptions = this.getPortOptions(port, resourcePorts, cspReporterPort);
@@ -49,5 +49,5 @@ class LocalFileStorage {
49
49
  }
50
50
  }
51
51
  exports.LocalFileStorage = LocalFileStorage;
52
- LocalFileStorage.STORAGE_PATHS = env_paths_1.default('forge-cli');
52
+ LocalFileStorage.STORAGE_PATHS = (0, env_paths_1.default)('forge-cli');
53
53
  LocalFileStorage.FOLDER = LocalFileStorage.STORAGE_PATHS.data;
@@ -13,8 +13,8 @@ class GetWebTriggerURLCommand {
13
13
  const { id: appId } = await this.getAppConfig();
14
14
  const { environmentKey, context } = await this.webTriggerClient.getInstallation(appId, installationId);
15
15
  const environmentId = await this.appEnvironmentClient.getAppEnvironmentId(appId, environmentKey);
16
- const ari = cs_ari_1.parse(appId);
17
- const appAri = cs_ari_1.parseAppAri(ari);
16
+ const ari = (0, cs_ari_1.parse)(appId);
17
+ const appAri = (0, cs_ari_1.parseAppAri)(ari);
18
18
  return await this.webTriggerGraphqlClient.createWebTriggerUrl({
19
19
  appId: appAri.appId,
20
20
  contextId: context,
@@ -16,6 +16,6 @@ const ALL_WORKERS = [
16
16
  new version_check_worker_1.VersionCheckWorker(workerInfo)
17
17
  ];
18
18
  const TIMEOUT = 10 * 1000;
19
- worker_1.handleWithTimeout(() => Promise.all(ALL_WORKERS.map((worker) => worker.doWork())), TIMEOUT)
19
+ (0, worker_1.handleWithTimeout)(() => Promise.all(ALL_WORKERS.map((worker) => worker.doWork())), TIMEOUT)
20
20
  .finally(() => process.exit(0))
21
21
  .catch((e) => process.exit(1));
@@ -15,7 +15,7 @@ class TunnelCleanUpWorker {
15
15
  pids.forEach((pid) => {
16
16
  process.kill(pid, os_1.constants.signals.SIGINT);
17
17
  });
18
- cross_spawn_1.spawn('docker', ['rm', '-f', ...containers]);
18
+ (0, cross_spawn_1.spawn)('docker', ['rm', '-f', ...containers]);
19
19
  process.exit(0);
20
20
  };
21
21
  process.on('message', messageHandler);
@@ -11,7 +11,7 @@ class VersionCheckWorker {
11
11
  return;
12
12
  }
13
13
  try {
14
- await version_info_1.cacheLatestVersion(this.workerInfo.name);
14
+ await (0, version_info_1.cacheLatestVersion)(this.workerInfo.name);
15
15
  }
16
16
  catch (e) {
17
17
  }
@@ -2,13 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getWorkerInfo = void 0;
4
4
  const cli_shared_1 = require("@forge/cli-shared");
5
- exports.getWorkerInfo = (cliDetails) => {
5
+ const getWorkerInfo = (cliDetails) => {
6
6
  if (!cliDetails) {
7
7
  return undefined;
8
8
  }
9
9
  return {
10
10
  name: cliDetails.name,
11
11
  checkForUpdate: cliDetails.latest === undefined,
12
- environment: cli_shared_1.getEnvironment()
12
+ environment: (0, cli_shared_1.getEnvironment)()
13
13
  };
14
14
  };
15
+ exports.getWorkerInfo = getWorkerInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/workers/worker.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,YAAa,MAAM,KAAG,OAAO,CAAC,IAAI,CAA2D,CAAC;AAOhH,eAAO,MAAM,iBAAiB,WAAkB,MAAM,OAAO,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,WAAW,MAAM,KAAG,OAAO,CAAC,IAAI,CAE3G,CAAC;AAEF,MAAM,WAAW,MAAM;IACrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/workers/worker.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,YAAa,MAAM,KAAG,QAAQ,IAAI,CAA2D,CAAC;AAOhH,eAAO,MAAM,iBAAiB,WAAkB,MAAM,QAAQ,IAAI,GAAG,IAAI,EAAE,CAAC,WAAW,MAAM,KAAG,QAAQ,IAAI,CAE3G,CAAC;AAEF,MAAM,WAAW,MAAM;IACrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB"}
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.handleWithTimeout = exports.timer = void 0;
4
- exports.timer = (timeout) => new Promise((resolve) => setTimeout(resolve, timeout));
5
- exports.handleWithTimeout = async (action, timeout) => {
6
- await Promise.race([action(), exports.timer(timeout)]);
4
+ const timer = (timeout) => new Promise((resolve) => setTimeout(resolve, timeout));
5
+ exports.timer = timer;
6
+ const handleWithTimeout = async (action, timeout) => {
7
+ await Promise.race([action(), (0, exports.timer)(timeout)]);
7
8
  };
9
+ exports.handleWithTimeout = handleWithTimeout;
@@ -12,7 +12,7 @@ class WorkersStarter {
12
12
  prg = 'ts-node';
13
13
  filePath = './forge-cli-workers.ts';
14
14
  }
15
- const workers = cross_spawn_1.spawn(prg, [path_1.default.join(__dirname, filePath), JSON.stringify(workerInfo || '')], {
15
+ const workers = (0, cross_spawn_1.spawn)(prg, [path_1.default.join(__dirname, filePath), JSON.stringify(workerInfo || '')], {
16
16
  detached: true,
17
17
  stdio: 'ignore'
18
18
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/cli",
3
- "version": "5.2.1",
3
+ "version": "6.0.0-next.3",
4
4
  "description": "A command line interface for managing Atlassian-hosted apps",
5
5
  "author": "Atlassian",
6
6
  "license": "UNLICENSED",
@@ -18,11 +18,11 @@
18
18
  "postinstall": "node -e \"process.exitCode = fs.existsSync('./out/bin/postinstall.js')\" || node ./out/bin/postinstall.js"
19
19
  },
20
20
  "dependencies": {
21
- "@forge/bundler": "3.1.3",
22
- "@forge/cli-shared": "3.2.1",
21
+ "@forge/bundler": "4.0.0-next.2",
22
+ "@forge/cli-shared": "3.2.2-next.1",
23
23
  "@forge/egress": "^1.1.1",
24
- "@forge/lint": "3.2.7",
25
- "@forge/manifest": "4.4.0",
24
+ "@forge/lint": "3.2.8-next.1",
25
+ "@forge/manifest": "4.4.1-next.0",
26
26
  "@forge/util": "1.2.0",
27
27
  "ajv": "^6.12.5",
28
28
  "archiver": "^5.2.0",
@@ -48,7 +48,7 @@
48
48
  "sanitize-filename": "^1.6.3",
49
49
  "semver": "^6.3.0",
50
50
  "tmp": "^0.1.0",
51
- "tslib": "^1.11.0",
51
+ "tslib": "^2.4.0",
52
52
  "uuid": "^3.4.0"
53
53
  },
54
54
  "devDependencies": {
@@ -60,7 +60,7 @@
60
60
  "@types/fs-extra": "^8.0.1",
61
61
  "@types/hidefile": "^3.0.0",
62
62
  "@types/inquirer": "^6.5.0",
63
- "@types/jest": "^26.0.0",
63
+ "@types/jest": "^29.1.2",
64
64
  "@types/js-yaml": "^3.12.2",
65
65
  "@types/minimatch": "^3.0.3",
66
66
  "@types/mkdirp": "^1.0.0",
@@ -72,6 +72,7 @@
72
72
  "@types/unzipper": "^0.10.1",
73
73
  "@types/uuid": "^3.4.7",
74
74
  "@types/webpack": "^5.28.0",
75
+ "jest": "^29.1.2",
75
76
  "jest-fixtures": "^0.6.0",
76
77
  "memfs": "^3.4.1"
77
78
  },