@forge/cli 13.3.0-next.18-experimental-6320d72 → 13.3.0-next.25

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 (50) hide show
  1. package/CHANGELOG.md +54 -43
  2. package/npm-shrinkwrap.json +47 -45
  3. package/out/analytics-client/analytics-client.d.ts +4 -0
  4. package/out/analytics-client/analytics-client.d.ts.map +1 -1
  5. package/out/analytics-client/analytics-client.js.map +1 -1
  6. package/out/autocomplete/autocomplete-config.json +3 -0
  7. package/out/command-line/controller/build-controller.d.ts.map +1 -1
  8. package/out/command-line/controller/build-controller.js +1 -1
  9. package/out/command-line/controller/build-controller.js.map +1 -1
  10. package/out/command-line/controller/deploy-controller.d.ts +2 -1
  11. package/out/command-line/controller/deploy-controller.d.ts.map +1 -1
  12. package/out/command-line/controller/deploy-controller.js +34 -19
  13. package/out/command-line/controller/deploy-controller.js.map +1 -1
  14. package/out/command-line/controller/lint-controller.js +1 -1
  15. package/out/command-line/controller/lint-controller.js.map +1 -1
  16. package/out/command-line/dependency-injection.js +1 -1
  17. package/out/command-line/dependency-injection.js.map +1 -1
  18. package/out/command-line/register-app-commands.d.ts.map +1 -1
  19. package/out/command-line/register-app-commands.js +14 -4
  20. package/out/command-line/register-app-commands.js.map +1 -1
  21. package/out/command-line/register-deployment-commands.d.ts.map +1 -1
  22. package/out/command-line/register-deployment-commands.js +9 -2
  23. package/out/command-line/register-deployment-commands.js.map +1 -1
  24. package/out/command-line/register-installation-commands.d.ts.map +1 -1
  25. package/out/command-line/register-installation-commands.js +1 -2
  26. package/out/command-line/register-installation-commands.js.map +1 -1
  27. package/out/command-line/uninstall-command-helpers.d.ts +1 -1
  28. package/out/command-line/uninstall-command-helpers.d.ts.map +1 -1
  29. package/out/command-line/uninstall-command-helpers.js +4 -1
  30. package/out/command-line/uninstall-command-helpers.js.map +1 -1
  31. package/out/command-line/view/deploy-view.d.ts +3 -1
  32. package/out/command-line/view/deploy-view.d.ts.map +1 -1
  33. package/out/command-line/view/deploy-view.js +13 -2
  34. package/out/command-line/view/deploy-view.js.map +1 -1
  35. package/out/deploy/package-upload-deploy.d.ts.map +1 -1
  36. package/out/deploy/package-upload-deploy.js +9 -2
  37. package/out/deploy/package-upload-deploy.js.map +1 -1
  38. package/out/deploy/packager/packager.d.ts +10 -2
  39. package/out/deploy/packager/packager.d.ts.map +1 -1
  40. package/out/deploy/packager/packager.js +24 -3
  41. package/out/deploy/packager/packager.js.map +1 -1
  42. package/out/installations/uninstall-app.d.ts +1 -1
  43. package/out/installations/uninstall-app.d.ts.map +1 -1
  44. package/out/installations/uninstall-app.js +1 -1
  45. package/out/installations/uninstall-app.js.map +1 -1
  46. package/out/service/lint-service.d.ts +8 -3
  47. package/out/service/lint-service.d.ts.map +1 -1
  48. package/out/service/lint-service.js +13 -3
  49. package/out/service/lint-service.js.map +1 -1
  50. package/package.json +6 -6
@@ -14,11 +14,14 @@ class AppPackager {
14
14
  this.logger = logger;
15
15
  this.analyticsClient = analyticsClient;
16
16
  }
17
- async package(handlers, resources, packageConfig, i18nResourceBundle, i18nConfig) {
17
+ async package({ handlers, resources, allResources, packageConfig, i18nResourceBundle, i18nConfig }) {
18
18
  this.logger.info(cli_shared_1.Text.deploy.taskPackage.title);
19
19
  const runtimeBundle = await this.runtimeBundler.bundle(handlers, i18nResourceBundle, packageConfig);
20
20
  const nativeUiBundle = await this.nativeUiBundler.bundleResources(resources, i18nConfig);
21
- const metadata = this.getAppMetadata((0, bundler_1.mergeMetadata)(runtimeBundle.metadata, nativeUiBundle.metadata));
21
+ const metadata = this.getAppMetadata((0, bundler_1.mergeMetadata)(runtimeBundle.metadata, nativeUiBundle.metadata), {
22
+ allResources,
23
+ packageConfig
24
+ });
22
25
  await this.analyticsClient.reportAppPackaged(metadata);
23
26
  return {
24
27
  runtimeArchivePath: runtimeBundle.runtimeArchivePath,
@@ -26,7 +29,21 @@ class AppPackager {
26
29
  ...nativeUiBundle
27
30
  };
28
31
  }
29
- getAppMetadata(bundleMetadata) {
32
+ getAppMetadata(bundleMetadata, options) {
33
+ let uiKitResources = 0;
34
+ let customUIResources = 0;
35
+ let uiKitManualResources = 0;
36
+ for (const resource of options.allResources) {
37
+ if (resource.resourceType === 'nativeUI') {
38
+ uiKitResources++;
39
+ if (resource.bundler) {
40
+ uiKitManualResources++;
41
+ }
42
+ }
43
+ else if (resource.resourceType === 'customUI') {
44
+ customUIResources++;
45
+ }
46
+ }
30
47
  return {
31
48
  jsFiles: bundleMetadata.jsFiles,
32
49
  tsFiles: bundleMetadata.tsFiles,
@@ -35,6 +52,10 @@ class AppPackager {
35
52
  sdkImports: Array.from(bundleMetadata.sdkImports),
36
53
  errors: bundleMetadata.errors,
37
54
  isCI: process.env.CI === 'true',
55
+ extraFiles: Boolean(options.packageConfig?.extraFiles?.length),
56
+ uiKitResources,
57
+ customUIResources,
58
+ uiKitManualResources,
38
59
  bundler: bundleMetadata.bundler
39
60
  };
40
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"packager.js","sourceRoot":"","sources":["../../../src/deploy/packager/packager.ts"],"names":[],"mappings":";;;AAAA,kDAAoG;AACpG,4CAAiF;AAsBjF,MAAa,WAAW;IAEH;IACA;IACA;IACA;IAJnB,YACmB,cAA8B,EAC9B,eAAgC,EAChC,MAAc,EACd,eAAwC;QAHxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,oBAAe,GAAf,eAAe,CAAiB;QAChC,WAAM,GAAN,MAAM,CAAQ;QACd,oBAAe,GAAf,eAAe,CAAyB;IACxD,CAAC;IAEG,KAAK,CAAC,OAAO,CAClB,QAAmB,EACnB,SAA4B,EAC5B,aAA6B,EAC7B,kBAAsC,EACtC,UAAyB;QAEzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEhD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;QACpG,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAEzF,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAA,uBAAa,EAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;QAErG,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAEvD,OAAO;YACL,kBAAkB,EAAE,aAAa,CAAC,kBAAkB;YACpD,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,OAAO;YAC1C,GAAG,cAAc;SAClB,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,cAA+B;QACpD,OAAO;YACL,OAAO,EAAE,cAAc,CAAC,OAAO;YAC/B,OAAO,EAAE,cAAc,CAAC,OAAO;YAC/B,GAAG,EAAE,cAAc,CAAC,GAAG;YACvB,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;YACrD,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;YACjD,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM;YAC/B,OAAO,EAAE,cAAc,CAAC,OAAO;SAChC,CAAC;IACJ,CAAC;CACF;AA3CD,kCA2CC"}
1
+ {"version":3,"file":"packager.js","sourceRoot":"","sources":["../../../src/deploy/packager/packager.ts"],"names":[],"mappings":";;;AAAA,kDAAoG;AACpG,4CAAiF;AAyBjF,MAAa,WAAW;IAEH;IACA;IACA;IACA;IAJnB,YACmB,cAA8B,EAC9B,eAAgC,EAChC,MAAc,EACd,eAAwC;QAHxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,oBAAe,GAAf,eAAe,CAAiB;QAChC,WAAM,GAAN,MAAM,CAAQ;QACd,oBAAe,GAAf,eAAe,CAAyB;IACxD,CAAC;IAEG,KAAK,CAAC,OAAO,CAAC,EACnB,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,UAAU,EACI;QACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEhD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;QACpG,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAEzF,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAA,uBAAa,EAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE;YACnG,YAAY;YACZ,aAAa;SACd,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAEvD,OAAO;YACL,kBAAkB,EAAE,aAAa,CAAC,kBAAkB;YACpD,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,OAAO;YAC1C,GAAG,cAAc;SAClB,CAAC;IACJ,CAAC;IAEO,cAAc,CACpB,cAA+B,EAC/B,OAA2E;QAE3E,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAE7B,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC5C,IAAI,QAAQ,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;gBACzC,cAAc,EAAE,CAAC;gBACjB,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACrB,oBAAoB,EAAE,CAAC;gBACzB,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;gBAChD,iBAAiB,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,cAAc,CAAC,OAAO;YAC/B,OAAO,EAAE,cAAc,CAAC,OAAO;YAC/B,GAAG,EAAE,cAAc,CAAC,GAAG;YACvB,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;YACrD,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;YACjD,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM;YAC/B,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC;YAC9D,cAAc;YACd,iBAAiB;YACjB,oBAAoB;YACpB,OAAO,EAAE,cAAc,CAAC,OAAO;SAChC,CAAC;IACJ,CAAC;CACF;AArED,kCAqEC"}
@@ -20,7 +20,7 @@ export declare class UninstallAppCommand {
20
20
  private readonly getAppConfig;
21
21
  private readonly client;
22
22
  constructor(getAppConfig: AppConfigProvider, client: UninstallAppClient);
23
- execute(installationId: string, installationContext: string, appIdOverride?: string): Promise<UninstallAppOutput>;
23
+ execute(installationId: string, installationContext: string | null, appIdOverride?: string): Promise<UninstallAppOutput>;
24
24
  batchExecute(installationIds?: string[], installationInfos?: Installation[], appIdOverride?: string): Promise<UninstallAppOutput[]>;
25
25
  }
26
26
  //# sourceMappingURL=uninstall-app.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall-app.d.ts","sourceRoot":"","sources":["../../src/installations/uninstall-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,2BAA4B,SAAQ,sBAAsB;IACzE,KAAK,EAAE,IAAI,CAAC;CACb;AAED,MAAM,WAAW,kBAAkB;IACjC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9E,YAAY,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,qBAAqB,CAAC,KAAK,EAAE,2BAA2B,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;CACrG;AAED,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,YAAY,EAAE,iBAAiB,EAC/B,MAAM,EAAE,kBAAkB;IAGhC,OAAO,CAClB,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,EAC3B,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,kBAAkB,CAAC;IAkBjB,YAAY,CACvB,eAAe,GAAE,MAAM,EAAO,EAC9B,iBAAiB,CAAC,EAAE,YAAY,EAAE,EAClC,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,kBAAkB,EAAE,CAAC;CA6BjC"}
1
+ {"version":3,"file":"uninstall-app.d.ts","sourceRoot":"","sources":["../../src/installations/uninstall-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,2BAA4B,SAAQ,sBAAsB;IACzE,KAAK,EAAE,IAAI,CAAC;CACb;AAED,MAAM,WAAW,kBAAkB;IACjC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9E,YAAY,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,qBAAqB,CAAC,KAAK,EAAE,2BAA2B,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;CACrG;AAED,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,YAAY,EAAE,iBAAiB,EAC/B,MAAM,EAAE,kBAAkB;IAGhC,OAAO,CAClB,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,GAAG,IAAI,EAClC,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,kBAAkB,CAAC;IAkBjB,YAAY,CACvB,eAAe,GAAE,MAAM,EAAO,EAC9B,iBAAiB,CAAC,EAAE,YAAY,EAAE,EAClC,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,kBAAkB,EAAE,CAAC;CA6BjC"}
@@ -15,7 +15,7 @@ class UninstallAppCommand {
15
15
  appId,
16
16
  environmentKey,
17
17
  installationId,
18
- installationContext,
18
+ ...(installationContext && { installationContext }),
19
19
  async: true
20
20
  });
21
21
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall-app.js","sourceRoot":"","sources":["../../src/installations/uninstall-app.ts"],"names":[],"mappings":";;;AAsBA,MAAa,mBAAmB;IAEX;IACA;IAFnB,YACmB,YAA+B,EAC/B,MAA0B;QAD1B,iBAAY,GAAZ,YAAY,CAAmB;QAC/B,WAAM,GAAN,MAAM,CAAoB;IAC1C,CAAC;IAEG,KAAK,CAAC,OAAO,CAClB,cAAsB,EACtB,mBAA2B,EAC3B,aAAsB;QAEtB,MAAM,KAAK,GAAG,aAAa,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACnG,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC7C,KAAK;YACL,cAAc;YACd,cAAc;YACd,mBAAmB;YACnB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,OAAO;YACL,OAAO;YACP,IAAI;YACJ,cAAc;YACd,UAAU,EAAE,OAAO;SACpB,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,kBAA4B,EAAE,EAC9B,iBAAkC,EAClC,aAAsB;QAEtB,MAAM,KAAK,GAAG,aAAa,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC;QAC9D,IAAI,eAA+B,CAAC;QAEpC,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAClD,eAAe,GAAG,iBAAiB,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,eAAe,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAClF,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAC7D,eAAe,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACpC,KAAK;YACL,cAAc,EAAE,WAAW,CAAC,cAAc;YAC1C,cAAc,EAAE,WAAW,CAAC,EAAE;YAC9B,mBAAmB,EAAE,WAAW,CAAC,OAAO;YACxC,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC,CACJ,CAAC;QAEF,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACxE,OAAO;YACP,IAAI;YACJ,cAAc;YACd,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,UAAU;SAC9C,CAAC,CAAC,CAAC;IACN,CAAC;CACF;AA7DD,kDA6DC"}
1
+ {"version":3,"file":"uninstall-app.js","sourceRoot":"","sources":["../../src/installations/uninstall-app.ts"],"names":[],"mappings":";;;AAsBA,MAAa,mBAAmB;IAEX;IACA;IAFnB,YACmB,YAA+B,EAC/B,MAA0B;QAD1B,iBAAY,GAAZ,YAAY,CAAmB;QAC/B,WAAM,GAAN,MAAM,CAAoB;IAC1C,CAAC;IAEG,KAAK,CAAC,OAAO,CAClB,cAAsB,EACtB,mBAAkC,EAClC,aAAsB;QAEtB,MAAM,KAAK,GAAG,aAAa,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACnG,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC7C,KAAK;YACL,cAAc;YACd,cAAc;YACd,GAAG,CAAC,mBAAmB,IAAI,EAAE,mBAAmB,EAAE,CAAC;YACnD,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,OAAO;YACL,OAAO;YACP,IAAI;YACJ,cAAc;YACd,UAAU,EAAE,OAAO;SACpB,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,kBAA4B,EAAE,EAC9B,iBAAkC,EAClC,aAAsB;QAEtB,MAAM,KAAK,GAAG,aAAa,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC;QAC9D,IAAI,eAA+B,CAAC;QAEpC,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAClD,eAAe,GAAG,iBAAiB,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,eAAe,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAClF,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAC7D,eAAe,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACpC,KAAK;YACL,cAAc,EAAE,WAAW,CAAC,cAAc;YAC1C,cAAc,EAAE,WAAW,CAAC,EAAE;YAC9B,mBAAmB,EAAE,WAAW,CAAC,OAAO;YACxC,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC,CACJ,CAAC;QAEF,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACxE,OAAO;YACP,IAAI;YACJ,cAAc;YACd,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,UAAU;SAC9C,CAAC,CAAC,CAAC;IACN,CAAC;CACF;AA7DD,kDA6DC"}
@@ -1,7 +1,11 @@
1
- import { ConfigFile, FileSystemReader, StatsigService } from '@forge/cli-shared';
1
+ import { ConfigFile, FileSystemReader, StatsigService, GraphQLClient } from '@forge/cli-shared';
2
2
  import { LintFixState, LintResult, LintLogger, ProblemCount } from '@forge/lint';
3
3
  interface LintOptions {
4
4
  fix?: boolean;
5
+ approveRules?: string[];
6
+ majorVersion?: number;
7
+ buildTag?: string;
8
+ linterMode: 'server-side' | 'client-side' | 'both';
5
9
  }
6
10
  interface RunResult {
7
11
  lintResults: LintResult[];
@@ -12,8 +16,9 @@ export declare class LintService {
12
16
  private readonly configFile;
13
17
  private readonly fileSystemReader;
14
18
  private readonly statsigService;
15
- constructor(configFile: ConfigFile, fileSystemReader: FileSystemReader, statsigService: StatsigService);
16
- run(environment: string, { fix }: LintOptions, logger: LintLogger, directory?: string, lintFunction?: (filesToLint: string[], manifest: import("@forge/manifest").ManifestSchema, environment: string, logger: LintLogger, statsigService: StatsigService, parseFunction?: (filepath: string, parser: typeof import("@forge/lint").tsParser, readFilePromise?: typeof import("fs").readFile.__promisify__) => Promise<import("@forge/lint").LintInput>, linters?: import("@forge/lint").LinterInterface[]) => Promise<LintResult[]>): Promise<RunResult>;
19
+ private readonly graphqlClient;
20
+ constructor(configFile: ConfigFile, fileSystemReader: FileSystemReader, statsigService: StatsigService, graphqlClient: GraphQLClient);
21
+ run(environment: string, { fix, approveRules, majorVersion, buildTag, linterMode }: LintOptions, logger: LintLogger, directory?: string, lintFunction?: (filesToLint: string[], manifest: import("@forge/manifest").ManifestSchema, environment: string, logger: LintLogger, statsigService: StatsigService, config: import("@forge/lint").LintConfig) => Promise<LintResult[]>): Promise<RunResult>;
17
22
  private fix;
18
23
  problemCount(lintResults: LintResult[]): ProblemCount;
19
24
  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,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACrG,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;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAFd,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc;IAGpC,GAAG,CACd,WAAW,EAAE,MAAM,EACnB,EAAE,GAAG,EAAE,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,EAClB,SAAS,SAAoB,EAC7B,YAAY,yPAEwD,CAAC,sKAFlD,GAClB,OAAO,CAAC,SAAS,CAAC;YAiCP,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,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACpH,OAAO,EAEL,YAAY,EACZ,UAAU,EAGV,UAAU,EACV,YAAY,EACb,MAAM,aAAa,CAAC;AAGrB,UAAU,WAAW;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,aAAa,GAAG,aAAa,GAAG,MAAM,CAAC;CACpD;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;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAHb,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa;IAGlC,GAAG,CACd,WAAW,EAAE,MAAM,EACnB,EAAE,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,WAAW,EACtE,MAAM,EAAE,UAAU,EAClB,SAAS,SAAoB,EAC7B,YAAY,0NAAO,GAClB,OAAO,CAAC,SAAS,CAAC;YA0CP,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,12 +10,14 @@ class LintService {
10
10
  configFile;
11
11
  fileSystemReader;
12
12
  statsigService;
13
- constructor(configFile, fileSystemReader, statsigService) {
13
+ graphqlClient;
14
+ constructor(configFile, fileSystemReader, statsigService, graphqlClient) {
14
15
  this.configFile = configFile;
15
16
  this.fileSystemReader = fileSystemReader;
16
17
  this.statsigService = statsigService;
18
+ this.graphqlClient = graphqlClient;
17
19
  }
18
- async run(environment, { fix }, logger, directory = exports.DEFAULT_DIRECTORY, lintFunction = lint_1.lint) {
20
+ async run(environment, { fix, approveRules, majorVersion, buildTag, linterMode }, logger, directory = exports.DEFAULT_DIRECTORY, lintFunction = lint_1.lint) {
19
21
  const UIKitResources = await this.configFile.getResources(['nativeUI']);
20
22
  const UIKitDirectories = UIKitResources.map((resource) => path_1.default.dirname(resource.path));
21
23
  const exclude = [...(await (0, cli_shared_1.listGitIgnoreFiles)(this.fileSystemReader)), '.git', 'node_modules'];
@@ -27,7 +29,15 @@ class LintService {
27
29
  const allFilesToLint = filesToLint
28
30
  .concat(UIKitFilesToLint)
29
31
  .filter((value, index, arr) => arr.indexOf(value) === index);
30
- const lintResults = await lintFunction(allFilesToLint, await this.configFile.readConfig(), environment, logger, this.statsigService);
32
+ const lintResults = await lintFunction(allFilesToLint, await this.configFile.readConfig(), environment, logger, this.statsigService, {
33
+ approveRules,
34
+ buildTag,
35
+ majorVersion,
36
+ linter: {
37
+ mode: linterMode,
38
+ graphqlClient: this.graphqlClient
39
+ }
40
+ });
31
41
  if (fix) {
32
42
  return { lintResults, fixResults: await this.fix(lintResults) };
33
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lint-service.js","sourceRoot":"","sources":["../../src/service/lint-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lint-service.js","sourceRoot":"","sources":["../../src/service/lint-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/cli",
3
- "version": "13.3.0-next.18-experimental-6320d72",
3
+ "version": "13.3.0-next.25",
4
4
  "description": "A command line interface for managing Atlassian-hosted apps",
5
5
  "author": "Atlassian",
6
6
  "license": "SEE LICENSE IN LICENSE.txt",
@@ -21,14 +21,14 @@
21
21
  "generate:custom-scopes-types": "json2ts --input src/custom-scopes/validation/schema.json --output src/custom-scopes/generated-types.d.ts --style.singleQuote"
22
22
  },
23
23
  "dependencies": {
24
- "@forge/bundler": "7.1.0-next.18-experimental-6320d72",
25
- "@forge/cli-shared": "9.3.0-next.17-experimental-6320d72",
24
+ "@forge/bundler": "7.1.0-next.22",
25
+ "@forge/cli-shared": "9.3.0-next.20",
26
26
  "@forge/egress": "3.0.0",
27
- "@forge/lint": "6.0.3-next.18-experimental-6320d72",
28
- "@forge/manifest": "13.3.0-next.9-experimental-6320d72",
27
+ "@forge/lint": "6.1.0-next.22",
28
+ "@forge/manifest": "13.3.0-next.11",
29
29
  "@forge/i18n": "1.0.0",
30
30
  "@forge/runtime": "7.0.0",
31
- "@forge/tunnel": "7.1.0-next.18-experimental-6320d72",
31
+ "@forge/tunnel": "7.1.0-next.22",
32
32
  "@forge/util": "3.0.0",
33
33
  "@sentry/node": "7.106.0",
34
34
  "ajv": "^8.18.0",