@forge/cli-shared 6.6.1-next.0 → 6.6.1-next.10
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.
- package/CHANGELOG.md +68 -0
- package/out/graphql/graphql-types.d.ts +1813 -182
- package/out/graphql/graphql-types.d.ts.map +1 -1
- package/out/graphql/graphql-types.js +182 -37
- package/out/service/supported-products-service.d.ts +28 -19
- package/out/service/supported-products-service.d.ts.map +1 -1
- package/out/service/supported-products-service.js +89 -73
- package/out/ui/command-line-ui.d.ts +3 -0
- package/out/ui/command-line-ui.d.ts.map +1 -1
- package/out/ui/command-line-ui.js +20 -0
- package/out/ui/text.d.ts +4 -0
- package/out/ui/text.d.ts.map +1 -1
- package/out/ui/text.js +5 -1
- package/out/ui/ui.d.ts +6 -3
- package/out/ui/ui.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -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
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
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
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
private
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
validateSupportedProduct(productNameInput: string): Promise<SupportedProduct>;
|
|
24
|
-
isWorkspaceProduct(product: string): Promise<boolean>;
|
|
25
|
-
validateSite(site: string, product: ProductDisplayName | undefined): Promise<URL>;
|
|
23
|
+
private supportedProducts?;
|
|
24
|
+
constructor(supportedProducts?: SupportedProductEntry[] | undefined);
|
|
25
|
+
initializeWithSupportedProducts(statsigService: StatsigService): Promise<void>;
|
|
26
|
+
private getSupportedProductsNames;
|
|
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;
|
|
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;AAED,qBAAa,wBAAwB;IAKvB,OAAO,CAAC,iBAAiB,CAAC;gBAAlB,iBAAiB,CAAC,qCAAyB;IAElD,+BAA+B,CAAC,cAAc,EAAE,cAAc;IAS3E,OAAO,CAAC,yBAAyB;IAS1B,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,103 +1,116 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
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
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
+
}
|
|
57
|
+
}
|
|
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
|
+
});
|
|
29
70
|
}
|
|
30
71
|
class SupportedProductsService {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
this.statsigService = statsigService;
|
|
35
|
-
}
|
|
36
|
-
async buildFeatureGatedProduct(productName, productType, isEnabledPromise) {
|
|
37
|
-
return {
|
|
38
|
-
productName,
|
|
39
|
-
productType,
|
|
40
|
-
isEnabled: await isEnabledPromise
|
|
41
|
-
};
|
|
72
|
+
supportedProducts;
|
|
73
|
+
constructor(supportedProducts) {
|
|
74
|
+
this.supportedProducts = supportedProducts;
|
|
42
75
|
}
|
|
43
|
-
async
|
|
44
|
-
if (this.
|
|
45
|
-
|
|
46
|
-
this.buildFeatureGatedProduct('Teamwork Graph', 'sited', this.statsigService.isTeamworkGraphProductSupported()),
|
|
47
|
-
this.buildFeatureGatedProduct('Atlas', 'sited', this.statsigService.isAtlasProductSupported())
|
|
48
|
-
]);
|
|
76
|
+
async initializeWithSupportedProducts(statsigService) {
|
|
77
|
+
if (this.supportedProducts) {
|
|
78
|
+
throw new Error('SupportedProductsService is already initialized');
|
|
49
79
|
}
|
|
50
|
-
|
|
80
|
+
this.supportedProducts = await resolveEnabledProducts(statsigService);
|
|
51
81
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
.filter((gatedProductInfo) => gatedProductInfo.isEnabled && filter(gatedProductInfo))
|
|
56
|
-
.map((product) => product.productName);
|
|
57
|
-
}
|
|
58
|
-
ensureProductDisplayName(product) {
|
|
59
|
-
if (arrayContains(SUPPORTED_PRODUCTS_ALL, product)) {
|
|
60
|
-
return product;
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
return (0, shared_1.productDisplayName)(product);
|
|
82
|
+
getSupportedProductsNames(filter = () => true) {
|
|
83
|
+
if (!this.supportedProducts) {
|
|
84
|
+
throw new Error('SupportedProductsService is not initialized, are you calling it from some constructor?');
|
|
64
85
|
}
|
|
86
|
+
return this.supportedProducts.filter((p) => filter(p)).map((p) => p.productName);
|
|
65
87
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
return [...SITED_PRODUCTS_ALWAYS_ENABLED.filter((product) => product !== primaryProduct)];
|
|
69
|
-
}
|
|
70
|
-
return [
|
|
71
|
-
...SITED_PRODUCTS_ALWAYS_ENABLED,
|
|
72
|
-
...WORKSPACE_PRODUCTS_ALWAYS_ENABLED,
|
|
73
|
-
...(await this.getProductsEnabledByFeatureGate())
|
|
74
|
-
];
|
|
88
|
+
getSupportedProducts() {
|
|
89
|
+
return this.getSupportedProductsNames();
|
|
75
90
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
...(await this.getProductsEnabledByFeatureGate((product) => product.productType == 'workspace'))
|
|
80
|
-
];
|
|
91
|
+
getSupportedSecondaryProductsForXPA(requiredProducts) {
|
|
92
|
+
const requiredProductsNames = requiredProducts.map((p) => (0, shared_1.productDisplayName)(p));
|
|
93
|
+
return this.getSupportedProductsNames((p) => p.supportedByCrossProductApps && !requiredProductsNames.includes(p.productName));
|
|
81
94
|
}
|
|
82
|
-
|
|
95
|
+
validateSupportedProduct(productNameInput) {
|
|
83
96
|
const productName = (0, shared_1.productDisplayName)(productNameInput);
|
|
84
|
-
const supportedProducts =
|
|
85
|
-
if (
|
|
97
|
+
const supportedProducts = this.getSupportedProducts();
|
|
98
|
+
if (supportedProducts.includes(productName)) {
|
|
86
99
|
return productName;
|
|
87
100
|
}
|
|
88
101
|
else {
|
|
89
102
|
throw new shared_1.ValidationError(ui_1.Text.error.invalidProduct);
|
|
90
103
|
}
|
|
91
104
|
}
|
|
92
|
-
|
|
93
|
-
return
|
|
105
|
+
isWorkspaceProduct(product) {
|
|
106
|
+
return this.getSupportedProductsNames((p) => p.productType === 'workspace').includes((0, shared_1.productDisplayName)(product));
|
|
94
107
|
}
|
|
95
|
-
|
|
108
|
+
validateSite(site, product) {
|
|
96
109
|
const trySites = [site, `https://${site}`];
|
|
97
110
|
for (const trySite of trySites) {
|
|
98
111
|
try {
|
|
99
112
|
const urlObj = new url_1.URL(trySite);
|
|
100
|
-
if (product &&
|
|
113
|
+
if (product && this.isWorkspaceProduct(product)) {
|
|
101
114
|
return urlObj;
|
|
102
115
|
}
|
|
103
116
|
urlObj.pathname = '/';
|
|
@@ -114,3 +127,6 @@ const isBitbucketProduct = (product) => {
|
|
|
114
127
|
return (0, shared_1.productDisplayName)(product) === 'Bitbucket';
|
|
115
128
|
};
|
|
116
129
|
exports.isBitbucketProduct = isBitbucketProduct;
|
|
130
|
+
exports.TEST_ONLY_EXPORTS = {
|
|
131
|
+
resolveEnabledProducts
|
|
132
|
+
};
|
|
@@ -32,6 +32,9 @@ 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[]>;
|
|
35
38
|
promptForTable(message: string, infoMessage: string, columns: string[], choices: object[]): Promise<number[]>;
|
|
36
39
|
promptForSingleChoiceTable(message: string, infoMessage: string, columns: string[], choices: object[]): Promise<number>;
|
|
37
40
|
table<Key extends string>(head: [Key, string][], data: Record<Key, TableCell>[] | undefined | null, { json, emptyMessage, preMessage, postMessage, format, groupRows }?: TableOptions<Key>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-line-ui.d.ts","sourceRoot":"","sources":["../../src/ui/command-line-ui.ts"],"names":[],"mappings":"AAEA,OAAY,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAM/B,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAiBnD,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,aAAc,YAAW,EAAE;IA4BpC,OAAO,CAAC,QAAQ,CAAC,OAAO;IA3B1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IAKjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAM;IAE9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IAGvD,OAAO,CAAC,cAAc,CAAS;IAc/B,OAAO,CAAC,oBAAoB,CAAS;gBAGlB,OAAO,EAAE,MAAM,OAAO,EACvC,OAAO,CAAC,EAAE,GAAG,EACb,MAAM,CAAC,EAAE,OAAO;YAUJ,MAAM;IAapB,IAAW,YAAY,IAAI,OAAO,CAEjC;IAED,IAAW,YAAY,IAAI,OAAO,CAEjC;IAEY,eAAe,CAAC,MAAM,EACjC,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC/B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,cAAc,CAAC,GAClE,OAAO,CAAC,MAAM,CAAC;IAgCL,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAyBzG,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAU5B,KAAK,CAAC,OAAO,EAAE,MAAM;IAUrB,IAAI,CAAC,OAAO,EAAE,MAAM;IAKpB,IAAI,CAAC,OAAO,EAAE,MAAM;IAMpB,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,GAAU,EAAE;;KAAK;IAcvC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,GAAG,SAAS,GAAG,OAAgB,GAAG,IAAI;IAKhF,SAAS,IAAI,IAAI;IAIX,OAAO,CAAC,OAAO,EAAE,MAAM;IAa7B,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAIpD,eAAe,CAAC,OAAO,EAAE,MAAM;IAIzB,aAAa,CAAC,CAAC,SAAS,MAAM,EACzC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,CAAC,EAAE,EACZ,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,CAAC,CAAC;IAeA,cAAc,CACzB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"command-line-ui.d.ts","sourceRoot":"","sources":["../../src/ui/command-line-ui.ts"],"names":[],"mappings":"AAEA,OAAY,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAM/B,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAiBnD,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,aAAc,YAAW,EAAE;IA4BpC,OAAO,CAAC,QAAQ,CAAC,OAAO;IA3B1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IAKjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAM;IAE9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IAGvD,OAAO,CAAC,cAAc,CAAS;IAc/B,OAAO,CAAC,oBAAoB,CAAS;gBAGlB,OAAO,EAAE,MAAM,OAAO,EACvC,OAAO,CAAC,EAAE,GAAG,EACb,MAAM,CAAC,EAAE,OAAO;YAUJ,MAAM;IAapB,IAAW,YAAY,IAAI,OAAO,CAEjC;IAED,IAAW,YAAY,IAAI,OAAO,CAEjC;IAEY,eAAe,CAAC,MAAM,EACjC,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC/B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,cAAc,CAAC,GAClE,OAAO,CAAC,MAAM,CAAC;IAgCL,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAyBzG,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAU5B,KAAK,CAAC,OAAO,EAAE,MAAM;IAUrB,IAAI,CAAC,OAAO,EAAE,MAAM;IAKpB,IAAI,CAAC,OAAO,EAAE,MAAM;IAMpB,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,GAAU,EAAE;;KAAK;IAcvC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,GAAG,SAAS,GAAG,OAAgB,GAAG,IAAI;IAKhF,SAAS,IAAI,IAAI;IAIX,OAAO,CAAC,OAAO,EAAE,MAAM;IAa7B,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAIpD,eAAe,CAAC,OAAO,EAAE,MAAM;IAIzB,aAAa,CAAC,CAAC,SAAS,MAAM,EACzC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,CAAC,EAAE,EACZ,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,CAAC,CAAC;IAeA,wBAAwB,CAAC,CAAC,SAAS,MAAM,EACpD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,CAAC,EAAE,EACZ,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,CAAC,EAAE,CAAC;IAuBF,cAAc,CACzB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC;IAcP,0BAA0B,CACrC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,MAAM,CAAC;IAeX,KAAK,CAAC,GAAG,SAAS,MAAM,EAC7B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EACrB,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,GAAG,IAAI,EACjD,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,GAAE,YAAY,CAAC,GAAG,CAAM,GACzF,IAAI;IAsBP,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,QAAQ;IAwChB,OAAO,CAAC,GAAG;IAqBX,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,eAAe;YAaT,eAAe;IAa7B,OAAO,CAAC,wBAAwB;CAIjC"}
|
|
@@ -174,6 +174,26 @@ 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
|
+
}
|
|
177
197
|
async promptForTable(message, infoMessage, columns, choices) {
|
|
178
198
|
const { choice } = await this.prompt([
|
|
179
199
|
{
|
package/out/ui/text.d.ts
CHANGED
|
@@ -63,6 +63,7 @@ export declare const Text: {
|
|
|
63
63
|
installationContext: {
|
|
64
64
|
overviewProduct: string;
|
|
65
65
|
promptProduct: string;
|
|
66
|
+
promptOptionalProducts: string;
|
|
66
67
|
overviewSite: string;
|
|
67
68
|
overviewWorkspace: string;
|
|
68
69
|
promptSite: string;
|
|
@@ -589,6 +590,9 @@ export declare const Text: {
|
|
|
589
590
|
end: (displayTick: boolean) => string;
|
|
590
591
|
};
|
|
591
592
|
booleanToScope: (isLatest: boolean) => string;
|
|
593
|
+
alreadyInstalledInRequiredProduct: (product: string) => string;
|
|
594
|
+
installingToRequiredProduct: (product: string) => string;
|
|
595
|
+
installingToOptionalProduct: string;
|
|
592
596
|
bannerSite: string;
|
|
593
597
|
bannerWorkspace: string;
|
|
594
598
|
optionConfirmScopes: string;
|
package/out/ui/text.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/ui/text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAK9D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AA2BD,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,MAAsD,CAAC;AAoDjG,eAAO,MAAM,IAAI;;;;;6BAiBM,MAAM;2BACR,MAAM;6BAGJ,MAAM;+BAEJ,MAAM;;wCAIK,MAAM,UAAU,MAAM;qDAOT,MAAM,sBAAsB,MAAM;;;;;;6CAc1C,MAAM,YAAY,MAAM,YAAY,MAAM;;;kDAQrC,MAAM,EAAE;gDAKV,MAAM,aAAa,MAAM;8CAG3B,MAAM,aAAa,MAAM;uCAGhC,MAAM;iCAEZ,MAAM;;;;;;;;;;;;;;;kDAoBS,MAAM;;;;;;yCASb,MAAM;;;mDAYI,MAAM,yBAAyB,MAAM;;6BAM7D,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/ui/text.ts"],"names":[],"mappings":"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"}
|
package/out/ui/text.js
CHANGED
|
@@ -104,7 +104,7 @@ exports.Text = {
|
|
|
104
104
|
`\nUnsupported Node.js versions are not guaranteed to work correctly.\n`),
|
|
105
105
|
deprecation: {
|
|
106
106
|
uikit: (modules) => {
|
|
107
|
-
return `${chalk_1.default.bold('Warning')}: Your app is currently using deprecated UI Kit 1 modules: ${modules.join(', ')}. ${chalk_1.default.bold('UI Kit 1')}
|
|
107
|
+
return `${chalk_1.default.bold('Warning')}: Your app is currently using deprecated UI Kit 1 modules: ${modules.join(', ')}. ${chalk_1.default.bold('UI Kit 1')} has been deprecated on February 28, 2025. Please refer to the ${(0, terminal_link_1.default)('documentation', 'https://developer.atlassian.com/platform/forge/ui-kit/upgrade-to-ui-kit-latest/#upgrade-from-ui-kit-1-to-ui-kit-latest-version')} to upgrade your modules.`;
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
},
|
|
@@ -112,6 +112,7 @@ exports.Text = {
|
|
|
112
112
|
installationContext: {
|
|
113
113
|
overviewProduct: 'Select the product your app uses.\n',
|
|
114
114
|
promptProduct: 'Select a product:',
|
|
115
|
+
promptOptionalProducts: 'Select optional products:',
|
|
115
116
|
overviewSite: '\nEnter your site. For example, your-domain.atlassian.net\n',
|
|
116
117
|
overviewWorkspace: '\nEnter your workspace. For example, bitbucket.org/your-workspace\n',
|
|
117
118
|
promptSite: 'Enter the site URL:',
|
|
@@ -695,6 +696,9 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
695
696
|
end: (displayTick) => `${displayTick ? greenTick + ' ' : ''}Install complete!`
|
|
696
697
|
},
|
|
697
698
|
booleanToScope: (isLatest) => (isLatest ? `Latest` : `Out-of-date`),
|
|
699
|
+
alreadyInstalledInRequiredProduct: (product) => `\nYou have already installed this app into your required product,${chalk_1.default.reset(' ')}${chalk_1.default.bold(product)}.\n`,
|
|
700
|
+
installingToRequiredProduct: (product) => `\nYour app will be installed into your required product,${chalk_1.default.reset(' ')}${chalk_1.default.bold(product)}. Once this is done, you can install your app into any optional products.\n`,
|
|
701
|
+
installingToOptionalProduct: `This app will be installed as an optional product.`,
|
|
698
702
|
bannerSite: `\nInstalling your app onto an Atlassian site.\n${ctrlC}\n`,
|
|
699
703
|
bannerWorkspace: `\nInstalling your app onto the selected workspace.\n${ctrlC}\n`,
|
|
700
704
|
optionConfirmScopes: 'skip confirmation of scopes for the app before installing or upgrading the app',
|
package/out/ui/ui.d.ts
CHANGED
|
@@ -4,9 +4,12 @@ export interface Prompt {
|
|
|
4
4
|
confirm(message: string): Promise<boolean>;
|
|
5
5
|
promptForText(message: string, defaultValue?: string): Promise<string>;
|
|
6
6
|
promptForSecret(message: string): Promise<string>;
|
|
7
|
-
promptForList(message: string, choices:
|
|
8
|
-
format?: (
|
|
9
|
-
}): Promise<
|
|
7
|
+
promptForList<T extends string>(message: string, choices: T[], config?: {
|
|
8
|
+
format?: (choice: T) => string;
|
|
9
|
+
}): Promise<T>;
|
|
10
|
+
promptForMultiSelectList<T extends string>(message: string, choices: T[], config?: {
|
|
11
|
+
format?: (choice: T) => string;
|
|
12
|
+
}): Promise<T[]>;
|
|
10
13
|
promptForTable(message: string, infoMessage: string, columns: string[], choices: object[]): Promise<number[]>;
|
|
11
14
|
promptForSingleChoiceTable(message: string, infoMessage: string, columns: string[], choices: object[]): Promise<number>;
|
|
12
15
|
}
|
package/out/ui/ui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/ui/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,MAAM;IACrB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/ui/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,MAAM;IACrB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,aAAa,CAAC,CAAC,SAAS,MAAM,EAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,CAAC,EAAE,EACZ,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,CAAC,CAAC,CAAC;IACd,wBAAwB,CAAC,CAAC,SAAS,MAAM,EACvC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,CAAC,EAAE,EACZ,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAChB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9G,0BAA0B,CACxB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,MAAM,CAAC,CAAC;CACpB;AAED,oBAAY,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAE5D,oBAAY,YAAY,CAAC,GAAG,SAAS,MAAM,IAAI;IAC7C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE;SAAG,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM;KAAE,CAAC;IACvD,SAAS,CAAC,EAAE;SAAG,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,OAAO;KAAE,CAAC;CACtC,CAAC;AAEF,MAAM,WAAW,EAAG,SAAQ,MAAM,EAAE,MAAM;IACxC,SAAS,IAAI,IAAI,CAAC;IAElB,eAAe,CAAC,MAAM,EACpB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC/B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,cAAc,CAAC,GAClE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpG,KAAK,CAAC,GAAG,SAAS,MAAM,EACtB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EACrB,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,GAAG,IAAI,EACjD,OAAO,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,GAC1B,IAAI,CAAC;CACT"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/cli-shared",
|
|
3
|
-
"version": "6.6.1-next.
|
|
3
|
+
"version": "6.6.1-next.10",
|
|
4
4
|
"description": "Common functionality for Forge CLI",
|
|
5
5
|
"author": "Atlassian",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
"generate-graphql-types": "graphql-codegen --config src/graphql/codegen.yml"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@forge/manifest": "8.
|
|
16
|
-
"@forge/util": "1.4.
|
|
15
|
+
"@forge/manifest": "8.7.0-next.5",
|
|
16
|
+
"@forge/util": "1.4.8-next.0",
|
|
17
17
|
"@forge/i18n": "0.0.3",
|
|
18
18
|
"@sentry/node": "7.106.0",
|
|
19
19
|
"adm-zip": "^0.5.10",
|