@forge/cli-shared 6.6.1-next.8 → 6.6.1

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.
@@ -2,28 +2,37 @@
2
2
  import { StatsigService } from './statsig-service';
3
3
  import { URL } from 'url';
4
4
  import { ProductDisplayName } from '../shared';
5
- declare const SUPPORTED_PRODUCTS_ALL: readonly ["Jira", "Confluence", "Compass", "Teamwork Graph", "Atlas", "Bitbucket"];
6
- export declare const TEST_ONLY_EXPORTS: {
7
- SITED_PRODUCTS_ALL: readonly ["Jira", "Confluence", "Compass", "Teamwork Graph", "Atlas"];
8
- SITED_PRODUCTS_ALWAYS_ENABLED: readonly ["Jira", "Confluence", "Compass"];
9
- WORKSPACE_PRODUCTS_ALL: readonly ["Bitbucket"];
10
- SUPPORTED_PRODUCTS_ALWAYS_ENABLED: readonly ["Jira", "Confluence", "Compass", "Bitbucket"];
5
+ export declare type SupportedProduct = 'Jira' | 'Confluence' | 'Compass' | 'Teamwork Graph' | 'Atlas' | 'Bitbucket';
6
+ declare type ProductType = 'sited' | 'workspace';
7
+ export declare type ProductDefinition = {
8
+ name: SupportedProduct;
9
+ productType: ProductType;
10
+ special?: {
11
+ supportedByCrossProductApps?: boolean;
12
+ isEnabledByFeatureGate?: (statsigService: StatsigService) => Promise<boolean>;
13
+ };
11
14
  };
12
- export declare type SupportedProduct = (typeof SUPPORTED_PRODUCTS_ALL)[number] & ProductDisplayName;
15
+ declare class SupportedProductEntry {
16
+ productName: SupportedProduct;
17
+ productType: ProductType;
18
+ supportedByCrossProductApps: boolean;
19
+ constructor(productName: SupportedProduct, productType: ProductType, supportedByCrossProductApps: boolean);
20
+ }
21
+ declare function resolveEnabledProducts(statsigService: StatsigService): Promise<SupportedProductEntry[]>;
13
22
  export declare class SupportedProductsService {
14
- private readonly statsigService;
15
- private featureGatedProductsCache;
16
- constructor(statsigService: StatsigService);
17
- private buildFeatureGatedProduct;
18
- private getFeatureGatedProducts;
19
- private getProductsEnabledByFeatureGate;
20
- private ensureProductDisplayName;
21
- getSupportedProducts(requiredProducts?: string[]): Promise<SupportedProduct[]>;
22
- private getSupportedWorkspaceProducts;
23
- validateSupportedProduct(productNameInput: string): Promise<SupportedProduct>;
24
- isWorkspaceProduct(product: string): Promise<boolean>;
25
- validateSite(site: string, product: ProductDisplayName | undefined): Promise<URL>;
23
+ private supportedProductEntriesHolder;
24
+ constructor(supportedProductEntries?: SupportedProductEntry[]);
25
+ initializeWithSupportedProducts(statsigService: StatsigService): Promise<void>;
26
+ private getFilteredSupportedProducts;
27
+ getSupportedProducts(): SupportedProduct[];
28
+ getSupportedSecondaryProductsForXPA(requiredProducts: string[]): SupportedProduct[];
29
+ validateSupportedProduct(productNameInput: string): SupportedProduct;
30
+ isWorkspaceProduct(product: string): boolean;
31
+ validateSite(site: string, product: ProductDisplayName | undefined): URL;
26
32
  }
27
33
  export declare const isBitbucketProduct: (product: string) => boolean;
34
+ export declare const TEST_ONLY_EXPORTS: {
35
+ resolveEnabledProducts: typeof resolveEnabledProducts;
36
+ };
28
37
  export {};
29
38
  //# sourceMappingURL=supported-products-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"supported-products-service.d.ts","sourceRoot":"","sources":["../../src/service/supported-products-service.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAuC,MAAM,WAAW,CAAC;AAgCpF,QAAA,MAAM,sBAAsB,oFAA8D,CAAC;AAO3F,eAAO,MAAM,iBAAiB;;;;;CAK7B,CAAC;AAGF,oBAAY,gBAAgB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,GAAG,kBAAkB,CAAC;AAa5F,qBAAa,wBAAwB;IAGvB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAF3C,OAAO,CAAC,yBAAyB,CAAsC;gBAE1C,cAAc,EAAE,cAAc;YAE7C,wBAAwB;YAYxB,uBAAuB;YAUvB,+BAA+B;IAS7C,OAAO,CAAC,wBAAwB;IAWnB,oBAAoB,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAe7E,6BAA6B;IAO9B,wBAAwB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAW7E,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;CAmB/F;AAID,eAAO,MAAM,kBAAkB,YAAa,MAAM,KAAG,OAEpD,CAAC"}
1
+ {"version":3,"file":"supported-products-service.d.ts","sourceRoot":"","sources":["../../src/service/supported-products-service.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAuC,MAAM,WAAW,CAAC;AAKpF,oBAAY,gBAAgB,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,gBAAgB,GAAG,OAAO,GAAG,WAAW,CAAC;AA8C5G,aAAK,WAAW,GAAG,OAAO,GAAG,WAAW,CAAC;AAEzC,oBAAY,iBAAiB,GAAG;IAC9B,IAAI,EAAE,gBAAgB,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,CAAC,EAAE;QACR,2BAA2B,CAAC,EAAE,OAAO,CAAC;QACtC,sBAAsB,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;KAC/E,CAAC;CACH,CAAC;AAEF,cAAM,qBAAqB;IAEhB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,WAAW;IACxB,2BAA2B,EAAE,OAAO;gBAFpC,WAAW,EAAE,gBAAgB,EAC7B,WAAW,EAAE,WAAW,EACxB,2BAA2B,EAAE,OAAO;CAE9C;AAED,iBAAe,sBAAsB,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAgBtG;AA2BD,qBAAa,wBAAwB;IACnC,OAAO,CAAC,6BAA6B,CAAgC;gBAMzD,uBAAuB,CAAC,EAAE,qBAAqB,EAAE;IAIhD,+BAA+B,CAAC,cAAc,EAAE,cAAc;IAM3E,OAAO,CAAC,4BAA4B;IAO7B,oBAAoB,IAAI,gBAAgB,EAAE;IAI1C,mCAAmC,CAAC,gBAAgB,EAAE,MAAM,EAAE,GAAG,gBAAgB,EAAE;IAOnF,wBAAwB,CAAC,gBAAgB,EAAE,MAAM,GAAG,gBAAgB;IAWpE,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAO5C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,SAAS,GAAG,GAAG;CAqBhF;AAID,eAAO,MAAM,kBAAkB,YAAa,MAAM,KAAG,OAEpD,CAAC;AAGF,eAAO,MAAM,iBAAiB;;CAE7B,CAAC"}
@@ -1,106 +1,131 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isBitbucketProduct = exports.SupportedProductsService = exports.TEST_ONLY_EXPORTS = void 0;
3
+ exports.TEST_ONLY_EXPORTS = exports.isBitbucketProduct = exports.SupportedProductsService = void 0;
4
4
  const url_1 = require("url");
5
5
  const shared_1 = require("../shared");
6
6
  const ui_1 = require("../ui");
7
- const SITED_PRODUCTS_ALWAYS_ENABLED = ['Jira', 'Confluence', 'Compass'];
8
- const SITED_PRODUCTS_UNDER_FEATURE_FLAG = ['Teamwork Graph', 'Atlas'];
9
- const WORKSPACE_PRODUCTS_ALWAYS_ENABLED = ['Bitbucket'];
10
- const WORKSPACE_PRODUCTS_UNDER_FEATURE_FLAG = [];
11
- const SITED_PRODUCTS_ALL = [...SITED_PRODUCTS_ALWAYS_ENABLED, ...SITED_PRODUCTS_UNDER_FEATURE_FLAG];
12
- const WORKSPACE_PRODUCTS_ALL = [
13
- ...WORKSPACE_PRODUCTS_ALWAYS_ENABLED,
14
- ...WORKSPACE_PRODUCTS_UNDER_FEATURE_FLAG
15
- ];
16
- const SUPPORTED_PRODUCTS_ALWAYS_ENABLED = [
17
- ...SITED_PRODUCTS_ALWAYS_ENABLED,
18
- ...WORKSPACE_PRODUCTS_ALWAYS_ENABLED
7
+ const SUPPORTED_PRODUCTS_DEFINITIONS = [
8
+ {
9
+ name: 'Jira',
10
+ productType: 'sited',
11
+ special: {
12
+ supportedByCrossProductApps: true
13
+ }
14
+ },
15
+ {
16
+ name: 'Confluence',
17
+ productType: 'sited',
18
+ special: {
19
+ supportedByCrossProductApps: true
20
+ }
21
+ },
22
+ {
23
+ name: 'Compass',
24
+ productType: 'sited',
25
+ special: {
26
+ supportedByCrossProductApps: true
27
+ }
28
+ },
29
+ {
30
+ name: 'Teamwork Graph',
31
+ productType: 'sited',
32
+ special: {
33
+ isEnabledByFeatureGate: async (statsigService) => statsigService.isTeamworkGraphProductSupported()
34
+ }
35
+ },
36
+ {
37
+ name: 'Atlas',
38
+ productType: 'sited',
39
+ special: {
40
+ isEnabledByFeatureGate: async (statsigService) => statsigService.isAtlasProductSupported()
41
+ }
42
+ },
43
+ {
44
+ name: 'Bitbucket',
45
+ productType: 'workspace'
46
+ }
19
47
  ];
20
- const SUPPORTED_PRODUCTS_ALL = [...SITED_PRODUCTS_ALL, ...WORKSPACE_PRODUCTS_ALL];
21
- exports.TEST_ONLY_EXPORTS = {
22
- SITED_PRODUCTS_ALL,
23
- SITED_PRODUCTS_ALWAYS_ENABLED,
24
- WORKSPACE_PRODUCTS_ALL,
25
- SUPPORTED_PRODUCTS_ALWAYS_ENABLED
26
- };
27
- function arrayContains(arr, e) {
28
- return arr.includes(e);
48
+ class SupportedProductEntry {
49
+ productName;
50
+ productType;
51
+ supportedByCrossProductApps;
52
+ constructor(productName, productType, supportedByCrossProductApps) {
53
+ this.productName = productName;
54
+ this.productType = productType;
55
+ this.supportedByCrossProductApps = supportedByCrossProductApps;
56
+ }
29
57
  }
30
- class SupportedProductsService {
31
- statsigService;
32
- featureGatedProductsCache = null;
33
- constructor(statsigService) {
34
- this.statsigService = statsigService;
58
+ async function resolveEnabledProducts(statsigService) {
59
+ const productDefinitionWithIsEnabledResolved = await Promise.all(SUPPORTED_PRODUCTS_DEFINITIONS.map(async (pd) => {
60
+ const enabledByFeatureGateResolver = pd.special?.isEnabledByFeatureGate;
61
+ const isEnabled = enabledByFeatureGateResolver ? await enabledByFeatureGateResolver(statsigService) : true;
62
+ return { pd, isEnabled };
63
+ }));
64
+ const definitionsForEnabledProducts = productDefinitionWithIsEnabledResolved
65
+ .filter(({ isEnabled }) => isEnabled)
66
+ .map(({ pd }) => pd);
67
+ return definitionsForEnabledProducts.map((pd) => {
68
+ return new SupportedProductEntry(pd.name, pd.productType, pd.special?.supportedByCrossProductApps ?? false);
69
+ });
70
+ }
71
+ class SupportedProductEntriesHolder {
72
+ value;
73
+ constructor(value) {
74
+ this.value = value;
35
75
  }
36
- async buildFeatureGatedProduct(productName, productType, isEnabledPromise) {
37
- return {
38
- productName,
39
- productType,
40
- isEnabled: await isEnabledPromise
41
- };
76
+ async initialize(valueProvider) {
77
+ if (this.value) {
78
+ throw new Error('SupportedProductsService was already initialized - is initialization called multiple times?');
79
+ }
80
+ this.value = await valueProvider();
42
81
  }
43
- async getFeatureGatedProducts() {
44
- if (this.featureGatedProductsCache === null) {
45
- this.featureGatedProductsCache = await Promise.all([
46
- this.buildFeatureGatedProduct('Teamwork Graph', 'sited', this.statsigService.isTeamworkGraphProductSupported()),
47
- this.buildFeatureGatedProduct('Atlas', 'sited', this.statsigService.isAtlasProductSupported())
48
- ]);
82
+ get() {
83
+ if (!this.value) {
84
+ throw new Error('SupportedProductsService is not initialized - are you calling it from some constructor?');
49
85
  }
50
- return this.featureGatedProductsCache;
86
+ return this.value;
51
87
  }
52
- async getProductsEnabledByFeatureGate(filter = () => true) {
53
- const featureGatedProducts = await this.getFeatureGatedProducts();
54
- return featureGatedProducts
55
- .filter((gatedProductInfo) => gatedProductInfo.isEnabled && filter(gatedProductInfo))
56
- .map((product) => product.productName);
88
+ }
89
+ class SupportedProductsService {
90
+ supportedProductEntriesHolder;
91
+ constructor(supportedProductEntries) {
92
+ this.supportedProductEntriesHolder = new SupportedProductEntriesHolder(supportedProductEntries);
57
93
  }
58
- ensureProductDisplayName(product) {
59
- if (arrayContains(SUPPORTED_PRODUCTS_ALL, product)) {
60
- return product;
61
- }
62
- else {
63
- return (0, shared_1.productDisplayName)(product);
64
- }
94
+ async initializeWithSupportedProducts(statsigService) {
95
+ await this.supportedProductEntriesHolder.initialize(async () => await resolveEnabledProducts(statsigService));
65
96
  }
66
- async getSupportedProducts(requiredProducts) {
67
- if (requiredProducts?.length) {
68
- const upperCaseRequiredProducts = requiredProducts.map((product) => product.toUpperCase());
69
- return [
70
- ...SITED_PRODUCTS_ALWAYS_ENABLED.filter((product) => !upperCaseRequiredProducts.includes(product.toUpperCase()))
71
- ];
72
- }
73
- return [
74
- ...SITED_PRODUCTS_ALWAYS_ENABLED,
75
- ...WORKSPACE_PRODUCTS_ALWAYS_ENABLED,
76
- ...(await this.getProductsEnabledByFeatureGate())
77
- ];
97
+ getFilteredSupportedProducts(filter) {
98
+ return this.supportedProductEntriesHolder
99
+ .get()
100
+ .filter((p) => filter(p))
101
+ .map((p) => p.productName);
102
+ }
103
+ getSupportedProducts() {
104
+ return this.supportedProductEntriesHolder.get().map((p) => p.productName);
78
105
  }
79
- async getSupportedWorkspaceProducts() {
80
- return [
81
- ...WORKSPACE_PRODUCTS_ALWAYS_ENABLED,
82
- ...(await this.getProductsEnabledByFeatureGate((product) => product.productType == 'workspace'))
83
- ];
106
+ getSupportedSecondaryProductsForXPA(requiredProducts) {
107
+ const requiredProductsNames = requiredProducts.map((p) => (0, shared_1.productDisplayName)(p));
108
+ return this.getFilteredSupportedProducts((p) => p.supportedByCrossProductApps && !requiredProductsNames.includes(p.productName));
84
109
  }
85
- async validateSupportedProduct(productNameInput) {
110
+ validateSupportedProduct(productNameInput) {
86
111
  const productName = (0, shared_1.productDisplayName)(productNameInput);
87
- const supportedProducts = await this.getSupportedProducts();
88
- if (arrayContains(supportedProducts, productName)) {
112
+ const supportedProducts = this.getSupportedProducts();
113
+ if (supportedProducts.includes(productName)) {
89
114
  return productName;
90
115
  }
91
116
  else {
92
117
  throw new shared_1.ValidationError(ui_1.Text.error.invalidProduct);
93
118
  }
94
119
  }
95
- async isWorkspaceProduct(product) {
96
- return arrayContains(await this.getSupportedWorkspaceProducts(), this.ensureProductDisplayName(product));
120
+ isWorkspaceProduct(product) {
121
+ return this.getFilteredSupportedProducts((p) => p.productType === 'workspace').includes((0, shared_1.productDisplayName)(product));
97
122
  }
98
- async validateSite(site, product) {
123
+ validateSite(site, product) {
99
124
  const trySites = [site, `https://${site}`];
100
125
  for (const trySite of trySites) {
101
126
  try {
102
127
  const urlObj = new url_1.URL(trySite);
103
- if (product && (await this.isWorkspaceProduct(product))) {
128
+ if (product && this.isWorkspaceProduct(product)) {
104
129
  return urlObj;
105
130
  }
106
131
  urlObj.pathname = '/';
@@ -117,3 +142,6 @@ const isBitbucketProduct = (product) => {
117
142
  return (0, shared_1.productDisplayName)(product) === 'Bitbucket';
118
143
  };
119
144
  exports.isBitbucketProduct = isBitbucketProduct;
145
+ exports.TEST_ONLY_EXPORTS = {
146
+ resolveEnabledProducts
147
+ };
@@ -40,4 +40,7 @@ export declare class UIPromptError extends BaseError {
40
40
  constructor(message?: string, isTtyError?: boolean);
41
41
  isUserError(): boolean;
42
42
  }
43
+ export declare class PartialInstallationError extends UserError {
44
+ constructor(message?: string);
45
+ }
43
46
  //# sourceMappingURL=error-handling.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-handling.d.ts","sourceRoot":"","sources":["../../src/shared/error-handling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAI/B,oBAAY,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,SAAS,CAAC,GAAG;IACrF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAKF,MAAM,WAAW,kBAAkB;IACjC,aAAa,IAAI,cAAc,CAAC;CACjC;AAMD,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAe3C;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,GAAG,GAAG,cAAc,CAOzD;AAED,qBAAa,SAAU,SAAQ,KAAM,YAAW,kBAAkB;IAE9D,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAV,SAAS,CAAC,oBAAoB,EACjD,OAAO,CAAC,EAAE,MAAM;IAKX,aAAa,IAAI,cAAc;IAM/B,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,SAAU,SAAQ,SAAS;gBAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS;IAIrD,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,WAAY,SAAQ,SAAS;gBAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS;CAG7D;AAgBD,eAAO,MAAM,WAAW,WAAkB,MAAM,SAAS,KAAK,SAAS,MAAM,GAAG,IAAI,KAAG,QAAQ,KAAK,CA+BnG,CAAC;AAOF,eAAO,MAAM,SAAS,UAAW,OAAO,KAAG,KAK1C,CAAC;AAMF,eAAO,MAAM,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,KAAK,IAAI,KAIhE,CAAC;AAEF,qBAAa,eAAgB,SAAQ,SAAS;CAAG;AAEjD,qBAAa,cAAe,SAAQ,SAAS;CAAG;AAEhD,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,qBAAa,uBAAwB,SAAQ,SAAS;CAAG;AAEzD,qBAAa,aAAc,SAAQ,SAAS;IAGxC,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAD3B,OAAO,CAAC,EAAE,MAAM,EACC,UAAU,GAAE,OAAe;IAKvC,WAAW;CAGnB"}
1
+ {"version":3,"file":"error-handling.d.ts","sourceRoot":"","sources":["../../src/shared/error-handling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAI/B,oBAAY,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,SAAS,CAAC,GAAG;IACrF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAKF,MAAM,WAAW,kBAAkB;IACjC,aAAa,IAAI,cAAc,CAAC;CACjC;AAMD,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAe3C;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,GAAG,GAAG,cAAc,CAOzD;AAED,qBAAa,SAAU,SAAQ,KAAM,YAAW,kBAAkB;IAE9D,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAV,SAAS,CAAC,oBAAoB,EACjD,OAAO,CAAC,EAAE,MAAM;IAKX,aAAa,IAAI,cAAc;IAM/B,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,SAAU,SAAQ,SAAS;gBAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS;IAIrD,WAAW,IAAI,OAAO;CAG9B;AAED,qBAAa,WAAY,SAAQ,SAAS;gBAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS;CAG7D;AAgBD,eAAO,MAAM,WAAW,WAAkB,MAAM,SAAS,KAAK,SAAS,MAAM,GAAG,IAAI,KAAG,QAAQ,KAAK,CA+BnG,CAAC;AAOF,eAAO,MAAM,SAAS,UAAW,OAAO,KAAG,KAK1C,CAAC;AAMF,eAAO,MAAM,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,KAAK,IAAI,KAIhE,CAAC;AAEF,qBAAa,eAAgB,SAAQ,SAAS;CAAG;AAEjD,qBAAa,cAAe,SAAQ,SAAS;CAAG;AAEhD,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,qBAAa,uBAAwB,SAAQ,SAAS;CAAG;AAEzD,qBAAa,aAAc,SAAQ,SAAS;IAGxC,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAD3B,OAAO,CAAC,EAAE,MAAM,EACC,UAAU,GAAE,OAAe;IAKvC,WAAW;CAGnB;AAUD,qBAAa,wBAAyB,SAAQ,SAAS;gBAMzC,OAAO,CAAC,EAAE,MAAM;CAG7B"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UIPromptError = exports.ApplicationCompileError = exports.BundlerTSError = exports.ValidationError = exports.assertIsError = exports.wrapError = exports.exitOnError = exports.HiddenError = exports.UserError = exports.BaseError = exports.getErrorAttributes = exports.isUserError = void 0;
3
+ exports.PartialInstallationError = exports.UIPromptError = exports.ApplicationCompileError = exports.BundlerTSError = exports.ValidationError = exports.assertIsError = exports.wrapError = exports.exitOnError = exports.HiddenError = exports.UserError = exports.BaseError = exports.getErrorAttributes = exports.isUserError = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const ui_1 = require("../ui");
6
6
  const Sentry = tslib_1.__importStar(require("@sentry/node"));
@@ -121,3 +121,9 @@ class UIPromptError extends BaseError {
121
121
  }
122
122
  }
123
123
  exports.UIPromptError = UIPromptError;
124
+ class PartialInstallationError extends UserError {
125
+ constructor(message) {
126
+ super(message);
127
+ }
128
+ }
129
+ exports.PartialInstallationError = PartialInstallationError;
@@ -1,5 +1,5 @@
1
1
  export declare type ProductDisplayName = string;
2
- export declare function productsDisplayName(primaryResourceOwner: string, secondaryResourceOwners?: string[]): string;
2
+ export declare function productsDisplayName(requiredResourceOwner: string, optionalResourceOwners?: string[]): string;
3
3
  export declare function productDisplayName(ariResourceOwnerOrUserProvidedProductName: string): ProductDisplayName;
4
4
  export declare function ariResourceOwner(productDisplayName: string): string;
5
5
  //# sourceMappingURL=product.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"product.d.ts","sourceRoot":"","sources":["../../src/shared/product.ts"],"names":[],"mappings":"AAeA,oBAAY,kBAAkB,GAAG,MAAM,CAAC;AAiBxC,wBAAgB,mBAAmB,CAAC,oBAAoB,EAAE,MAAM,EAAE,uBAAuB,GAAE,MAAM,EAAO,GAAG,MAAM,CAOhH;AAED,wBAAgB,kBAAkB,CAAC,yCAAyC,EAAE,MAAM,GAAG,kBAAkB,CAGxG;AAED,wBAAgB,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAEnE"}
1
+ {"version":3,"file":"product.d.ts","sourceRoot":"","sources":["../../src/shared/product.ts"],"names":[],"mappings":"AAeA,oBAAY,kBAAkB,GAAG,MAAM,CAAC;AAiBxC,wBAAgB,mBAAmB,CAAC,qBAAqB,EAAE,MAAM,EAAE,sBAAsB,GAAE,MAAM,EAAO,GAAG,MAAM,CAOhH;AAED,wBAAgB,kBAAkB,CAAC,yCAAyC,EAAE,MAAM,GAAG,kBAAkB,CAGxG;AAED,wBAAgB,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAEnE"}
@@ -10,12 +10,12 @@ const PRODUCT_DISPLAY_NAME_TO_RESOURCE_OWNER = Object.entries(RESOURCE_OWNER_TO_
10
10
  acc[value] = key;
11
11
  return acc;
12
12
  }, {});
13
- function productsDisplayName(primaryResourceOwner, secondaryResourceOwners = []) {
14
- if (secondaryResourceOwners.length === 0) {
15
- return productDisplayName(primaryResourceOwner);
13
+ function productsDisplayName(requiredResourceOwner, optionalResourceOwners = []) {
14
+ if (optionalResourceOwners.length === 0) {
15
+ return productDisplayName(requiredResourceOwner);
16
16
  }
17
- const primaryProduct = `${productDisplayName(primaryResourceOwner)} (Primary)`;
18
- return [primaryProduct, ...secondaryResourceOwners.map(productDisplayName)].join(', ');
17
+ const requiredProduct = `${productDisplayName(requiredResourceOwner)} (Required)`;
18
+ return [requiredProduct, ...optionalResourceOwners.map(productDisplayName)].join(', ');
19
19
  }
20
20
  exports.productsDisplayName = productsDisplayName;
21
21
  function productDisplayName(ariResourceOwnerOrUserProvidedProductName) {
@@ -32,10 +32,7 @@ export declare class CommandLineUI implements UI {
32
32
  promptForList<T extends string>(message: string, choices: T[], config?: {
33
33
  format?: (choice: T) => string;
34
34
  }): Promise<T>;
35
- promptForMultiSelectList<T extends string>(message: string, choices: T[], config?: {
36
- format?: (choice: T) => string;
37
- }): Promise<T[]>;
38
- promptForTable(message: string, infoMessage: string, columns: string[], choices: object[]): Promise<number[]>;
35
+ promptForTable(message: string, infoMessage: string, columns: string[], choices: object[], isBorderless?: boolean): Promise<number[]>;
39
36
  promptForSingleChoiceTable(message: string, infoMessage: string, columns: string[], choices: object[]): Promise<number>;
40
37
  table<Key extends string>(head: [Key, string][], data: Record<Key, TableCell>[] | undefined | null, { json, emptyMessage, preMessage, postMessage, format, groupRows }?: TableOptions<Key>): void;
41
38
  private formatTableValue;
@@ -47,6 +44,7 @@ export declare class CommandLineUI implements UI {
47
44
  private stopProgressSpinner;
48
45
  private replaceStartTextOnSuccess;
49
46
  private stopWaitSpinner;
47
+ clearSpinner(): void;
50
48
  private promptForString;
51
49
  private registerCustomUIElements;
52
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"command-line-ui.d.ts","sourceRoot":"","sources":["../../src/ui/command-line-ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-line-ui.d.ts","sourceRoot":"","sources":["../../src/ui/command-line-ui.ts"],"names":[],"mappings":"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"}
@@ -174,27 +174,7 @@ class CommandLineUI {
174
174
  const formattedChoice = config?.format ? choices[formattedChoices.indexOf(choice)] : choice;
175
175
  return formattedChoice;
176
176
  }
177
- async promptForMultiSelectList(message, choices, config) {
178
- const formattedChoices = config?.format ? choices.map((choice) => config?.format?.(choice)) : choices;
179
- const { selectedChoices } = await this.prompt([
180
- {
181
- type: 'checkbox',
182
- name: 'selectedChoices',
183
- choices: formattedChoices.map((choice, index) => ({
184
- name: choice,
185
- value: choice,
186
- index
187
- })),
188
- validate: (selected) => (selected.length === 0 ? text_1.Text.error.promptInputRequired : true),
189
- message
190
- }
191
- ]);
192
- const formattedSelectedChoices = config?.format
193
- ? selectedChoices.map((choice) => choices[formattedChoices.indexOf(choice)])
194
- : selectedChoices;
195
- return formattedSelectedChoices;
196
- }
197
- async promptForTable(message, infoMessage, columns, choices) {
177
+ async promptForTable(message, infoMessage, columns, choices, isBorderless) {
198
178
  const { choice } = await this.prompt([
199
179
  {
200
180
  type: 'multiple-choice-table',
@@ -202,7 +182,8 @@ class CommandLineUI {
202
182
  message,
203
183
  infoMessage,
204
184
  columns,
205
- choices
185
+ choices,
186
+ isBorderless
206
187
  }
207
188
  ]);
208
189
  return choice;
@@ -345,6 +326,9 @@ class CommandLineUI {
345
326
  this.spinner.stopAndPersist();
346
327
  }
347
328
  }
329
+ clearSpinner() {
330
+ this.spinner.text = '';
331
+ }
348
332
  async promptForString(message, secret, defaultValue) {
349
333
  const { text } = await this.prompt([
350
334
  {
@@ -9,6 +9,7 @@ export interface TableRenderProps extends TablePromptShared {
9
9
  isDone: boolean;
10
10
  infoMessage: string;
11
11
  promptMessage: string;
12
+ isBorderless?: boolean;
12
13
  }
13
14
  export interface TablePromptState extends TablePromptShared {
14
15
  done: (callback: any) => void;
@@ -30,6 +31,7 @@ export declare abstract class TablePrompt extends Base {
30
31
  private pointer;
31
32
  private options;
32
33
  private hasMultipleChoices;
34
+ private isBorderless;
33
35
  constructor(questions: any, readline: any, answers: any);
34
36
  protected _run(callback: any): Base;
35
37
  private attachEventHandlers;
@@ -1 +1 @@
1
- {"version":3,"file":"table-prompt.d.ts","sourceRoot":"","sources":["../../src/ui/table-prompt.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,2BAA2B,CAAC;AAY7C,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC;CAC/B;AAED,oBAAY,gBAAgB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,KAAK,MAAM,CAAC;AAClG,oBAAY,kBAAkB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,KAAK,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;AACrH,oBAAY,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;AAE3D,UAAU,GAAG;IACX,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,8BAAsB,WAAY,SAAQ,IAAI;IAC5C,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,kBAAkB,CAAU;gBAExB,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG;IAYvD,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI;IAQnC,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,UAAU;IAKlB,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAEhE,OAAO,CAAC,QAAQ;IAMhB,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAE9D,OAAO,CAAC,MAAM;IAYd,SAAS,CAAC,WAAW,CACnB,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,gBAAgB,EACpD,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EAAE,kBAAkB,EAC7B,UAAU,EAAE,cAAc,GACzB,MAAM;IAmBT,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;CACzD"}
1
+ {"version":3,"file":"table-prompt.d.ts","sourceRoot":"","sources":["../../src/ui/table-prompt.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,2BAA2B,CAAC;AAa7C,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC;CAC/B;AAED,oBAAY,gBAAgB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,KAAK,MAAM,CAAC;AAClG,oBAAY,kBAAkB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,KAAK,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;AACrH,oBAAY,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;AAE3D,UAAU,GAAG;IACX,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB;AAoBD,8BAAsB,WAAY,SAAQ,IAAI;IAC5C,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,kBAAkB,CAAU;IACpC,OAAO,CAAC,YAAY,CAAU;gBAElB,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG;IAavD,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI;IAQnC,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,UAAU;IAKlB,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAEhE,OAAO,CAAC,QAAQ;IAMhB,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAE9D,OAAO,CAAC,MAAM;IAad,SAAS,CAAC,WAAW,CACnB,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,gBAAgB,EACpD,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EAAE,kBAAkB,EAC7B,UAAU,EAAE,cAAc,GACzB,MAAM;IAoBT,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;CACzD"}
@@ -7,6 +7,23 @@ const events_1 = tslib_1.__importDefault(require("inquirer/lib/utils/events"));
7
7
  const readline_1 = tslib_1.__importDefault(require("inquirer/lib/utils/readline"));
8
8
  const cli_table3_1 = tslib_1.__importDefault(require("cli-table3"));
9
9
  const text_1 = require("./text");
10
+ const NO_BORDERS = {
11
+ top: '',
12
+ 'top-mid': '',
13
+ 'top-left': '',
14
+ 'top-right': '',
15
+ bottom: '',
16
+ 'bottom-mid': '',
17
+ 'bottom-left': '',
18
+ 'bottom-right': '',
19
+ left: '',
20
+ 'left-mid': '',
21
+ mid: '',
22
+ 'mid-mid': '',
23
+ right: '',
24
+ 'right-mid': '',
25
+ middle: ' '
26
+ };
10
27
  class TablePrompt extends base_1.default {
11
28
  done;
12
29
  columns;
@@ -16,6 +33,7 @@ class TablePrompt extends base_1.default {
16
33
  pointer = 1;
17
34
  options;
18
35
  hasMultipleChoices;
36
+ isBorderless;
19
37
  constructor(questions, readline, answers) {
20
38
  super(questions, readline, answers);
21
39
  this.options = this.opt;
@@ -24,6 +42,7 @@ class TablePrompt extends base_1.default {
24
42
  this.columns = [...this.options.columns];
25
43
  this.rows = [...this.options.choices.choices];
26
44
  this.hasMultipleChoices = this.rows.length > 1;
45
+ this.isBorderless = this.options.isBorderless || false;
27
46
  }
28
47
  _run(callback) {
29
48
  this.done = callback;
@@ -69,13 +88,15 @@ class TablePrompt extends base_1.default {
69
88
  hasMultipleChoices: this.hasMultipleChoices,
70
89
  promptMessage: this.promptMessage,
71
90
  infoMessage: this.infoMessage,
72
- isDone
91
+ isDone,
92
+ isBorderless: this.isBorderless
73
93
  });
74
94
  }
75
95
  renderTable({ pointer, columns, rows, isDone }, getRowSymbol, formatRow, isSelected) {
76
96
  const table = new cli_table3_1.default({
77
97
  head: [...columns],
78
- style: { head: [] }
98
+ style: { head: [] },
99
+ chars: this.isBorderless ? NO_BORDERS : {}
79
100
  });
80
101
  rows.forEach((row, rowIndex) => {
81
102
  const isHover = pointer === rowIndex + 1;
package/out/ui/text.d.ts CHANGED
@@ -49,6 +49,7 @@ export declare const Text: {
49
49
  licenseModeRequired: string;
50
50
  };
51
51
  multipleMatchingInstallations: string;
52
+ partialInstallation: (failedProductInstallations: string[]) => string;
52
53
  };
53
54
  warning: {
54
55
  plaintextCredentialsFound: (url: string) => string;
@@ -586,13 +587,14 @@ export declare const Text: {
586
587
  install: {
587
588
  cmd: {
588
589
  description: string;
589
- start: (envKey: string, envType: AppEnvironmentType) => string;
590
- end: (displayTick: boolean) => string;
590
+ start: (envKey: string, envType: AppEnvironmentType, product: string) => string;
591
+ end: (displayTick: boolean, product: string) => string;
591
592
  };
592
593
  booleanToScope: (isLatest: boolean) => string;
593
594
  alreadyInstalledInRequiredProduct: (product: string) => string;
594
595
  installingToRequiredProduct: (product: string) => string;
595
- installingToOptionalProduct: string;
596
+ installingToOptionalProduct: (product: string) => string;
597
+ installConfirmation: (product: string, site: string) => string;
596
598
  bannerSite: string;
597
599
  bannerWorkspace: string;
598
600
  optionConfirmScopes: string;
@@ -619,6 +621,7 @@ export declare const Text: {
619
621
  noDeploymentFound: (environment: string) => string;
620
622
  permissionsDeniedInstructions: (requestId: string, appId: string) => string;
621
623
  };
624
+ failedAll: (site: URL, environment: string) => string;
622
625
  security: {
623
626
  banner: (site: string) => string;
624
627
  questions: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/ui/text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/ui/text.ts"],"names":[],"mappings":"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"}