@forge/cli-shared 6.7.1-next.2-experimental-611b366 → 6.8.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.
- package/CHANGELOG.md +3 -6
- package/out/apps/create-an-app.d.ts +6 -2
- package/out/apps/create-an-app.d.ts.map +1 -1
- package/out/apps/create-an-app.js +20 -3
- package/out/apps/register-app.d.ts +2 -1
- package/out/apps/register-app.d.ts.map +1 -1
- package/out/apps/register-app.js +3 -2
- package/out/graphql/graphql-types.d.ts +3 -2
- package/out/graphql/graphql-types.d.ts.map +1 -1
- package/out/graphql/graphql-types.js +0 -2
- package/out/ui/text.js +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
# @forge/cli-shared
|
|
2
2
|
|
|
3
|
-
## 6.
|
|
3
|
+
## 6.8.0-next.3
|
|
4
4
|
|
|
5
|
-
###
|
|
5
|
+
### Minor Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
- 999a9d0: Update error messages for deployment
|
|
9
|
-
- Updated dependencies [94e48b9]
|
|
10
|
-
- @forge/manifest@8.9.0-next.0-experimental-611b366
|
|
7
|
+
- d156658: Switch the `forge create` flow to select product context first
|
|
11
8
|
|
|
12
9
|
## 6.7.1-next.2
|
|
13
10
|
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { CreateAppClientInput, RegisterAppCommand, RegisterAppResult } from './register-app';
|
|
2
2
|
import { Templater } from './template';
|
|
3
3
|
import { PackageInstaller } from './package-installer';
|
|
4
|
+
import { StatsigService } from '../service';
|
|
4
5
|
export interface CreateAppCommandInput extends CreateAppClientInput {
|
|
5
6
|
template: string;
|
|
6
7
|
directory: string;
|
|
8
|
+
requiredProduct?: string;
|
|
7
9
|
}
|
|
8
10
|
export declare class NoTemplatesError extends Error {
|
|
9
11
|
constructor();
|
|
@@ -17,8 +19,10 @@ export declare class CreateAppCommand {
|
|
|
17
19
|
private readonly templater;
|
|
18
20
|
private readonly registerAppCommand;
|
|
19
21
|
private readonly packageInstaller;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
private readonly statsig;
|
|
23
|
+
constructor(templater: Templater, registerAppCommand: RegisterAppCommand, packageInstaller: PackageInstaller, statsig: StatsigService);
|
|
24
|
+
execute({ name, description, template, directory, requiredProduct }: CreateAppCommandInput): Promise<CreateAppCommandResult>;
|
|
22
25
|
getAvailableTemplates(): Promise<string[]>;
|
|
26
|
+
filterAvailableProducts<T extends string>(products: T[], teamworkGraph: T, crossContext: T): Promise<T[]>;
|
|
23
27
|
}
|
|
24
28
|
//# sourceMappingURL=create-an-app.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-an-app.d.ts","sourceRoot":"","sources":["../../src/apps/create-an-app.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"create-an-app.d.ts","sourceRoot":"","sources":["../../src/apps/create-an-app.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,gBAAiB,SAAQ,KAAK;;CAI1C;AAED,oBAAY,sBAAsB,GAAG,iBAAiB,GAAG;IACvD,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAHP,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,cAAc;IAG7B,OAAO,CAAC,EACnB,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,SAAS,EACT,eAAe,EAChB,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAa7C,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAS1C,uBAAuB,CAAC,CAAC,SAAS,MAAM,EACnD,QAAQ,EAAE,CAAC,EAAE,EACb,aAAa,EAAE,CAAC,EAChB,YAAY,EAAE,CAAC,GACd,OAAO,CAAC,CAAC,EAAE,CAAC;CAehB"}
|
|
@@ -12,15 +12,18 @@ class CreateAppCommand {
|
|
|
12
12
|
templater;
|
|
13
13
|
registerAppCommand;
|
|
14
14
|
packageInstaller;
|
|
15
|
-
|
|
15
|
+
statsig;
|
|
16
|
+
constructor(templater, registerAppCommand, packageInstaller, statsig) {
|
|
16
17
|
this.templater = templater;
|
|
17
18
|
this.registerAppCommand = registerAppCommand;
|
|
18
19
|
this.packageInstaller = packageInstaller;
|
|
20
|
+
this.statsig = statsig;
|
|
19
21
|
}
|
|
20
|
-
async execute({ name, description, template, directory }) {
|
|
22
|
+
async execute({ name, description, template, directory, requiredProduct }) {
|
|
21
23
|
await this.templater.downloadAndExtract(template, directory);
|
|
22
24
|
const result = await this.registerAppCommand.registerApp({ name, description }, directory, {
|
|
23
|
-
shouldPrependAppName: true
|
|
25
|
+
shouldPrependAppName: true,
|
|
26
|
+
requiredProduct
|
|
24
27
|
});
|
|
25
28
|
await this.packageInstaller.install(directory);
|
|
26
29
|
return {
|
|
@@ -35,5 +38,19 @@ class CreateAppCommand {
|
|
|
35
38
|
}
|
|
36
39
|
return availableTemplates;
|
|
37
40
|
}
|
|
41
|
+
async filterAvailableProducts(products, teamworkGraph, crossContext) {
|
|
42
|
+
const useTeamworkGraph = await this.statsig.isTeamworkGraphProductSupported();
|
|
43
|
+
const useCrossProduct = await this.statsig.enableCrossProductAppInstallation();
|
|
44
|
+
return products.filter((product) => {
|
|
45
|
+
switch (product) {
|
|
46
|
+
case teamworkGraph:
|
|
47
|
+
return useTeamworkGraph;
|
|
48
|
+
case crossContext:
|
|
49
|
+
return useCrossProduct;
|
|
50
|
+
default:
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
38
55
|
}
|
|
39
56
|
exports.CreateAppCommand = CreateAppCommand;
|
|
@@ -31,8 +31,9 @@ export declare class RegisterAppCommand {
|
|
|
31
31
|
execute(input: CreateAppClientInput, { shouldPrependAppName }?: {
|
|
32
32
|
shouldPrependAppName?: boolean | undefined;
|
|
33
33
|
}): Promise<RegisterAppResult>;
|
|
34
|
-
registerApp(input: CreateAppClientInput, directory: string, { shouldPrependAppName }: {
|
|
34
|
+
registerApp(input: CreateAppClientInput, directory: string, { shouldPrependAppName, requiredProduct }: {
|
|
35
35
|
shouldPrependAppName: boolean;
|
|
36
|
+
requiredProduct?: string;
|
|
36
37
|
}): Promise<CreateAppResult>;
|
|
37
38
|
}
|
|
38
39
|
//# sourceMappingURL=register-app.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-app.d.ts","sourceRoot":"","sources":["../../src/apps/register-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,mBAAmB,EAAqB,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAExH,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;CACL;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAClE;AAED,oBAAY,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAJV,SAAS,EAAE,eAAe,EAC1B,eAAe,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,EACxD,eAAe,EAAE,mBAAmB,CAAC,UAAU,CAAC,EAChD,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU;IAG5B,OAAO,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,oBAA4B,EAAE;;KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQvG,WAAW,CACtB,KAAK,EAAE,oBAAoB,EAC3B,SAAS,EAAE,MAAM,EACjB,EAAE,oBAAoB,EAAE,EAAE;QAAE,oBAAoB,EAAE,OAAO,CAAA;KAAE,
|
|
1
|
+
{"version":3,"file":"register-app.d.ts","sourceRoot":"","sources":["../../src/apps/register-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,mBAAmB,EAAqB,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAExH,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;CACL;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAClE;AAED,oBAAY,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAJV,SAAS,EAAE,eAAe,EAC1B,eAAe,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,EACxD,eAAe,EAAE,mBAAmB,CAAC,UAAU,CAAC,EAChD,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU;IAG5B,OAAO,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,oBAA4B,EAAE;;KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQvG,WAAW,CACtB,KAAK,EAAE,oBAAoB,EAC3B,SAAS,EAAE,MAAM,EACjB,EAAE,oBAAoB,EAAE,eAAe,EAAE,EAAE;QAAE,oBAAoB,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,GACrG,OAAO,CAAC,eAAe,CAAC;CAiC5B"}
|
package/out/apps/register-app.js
CHANGED
|
@@ -24,7 +24,7 @@ class RegisterAppCommand {
|
|
|
24
24
|
environments: result.environments.map((env) => env.key)
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
async registerApp(input, directory, { shouldPrependAppName }) {
|
|
27
|
+
async registerApp(input, directory, { shouldPrependAppName, requiredProduct }) {
|
|
28
28
|
this.logger.info(ui_1.Text.create.taskRegister);
|
|
29
29
|
const result = await this.appClient.createApp(input);
|
|
30
30
|
await (0, file_system_1.inDirectory)(directory, async () => {
|
|
@@ -37,7 +37,8 @@ class RegisterAppCommand {
|
|
|
37
37
|
}
|
|
38
38
|
const section = await this.appConfigReader.readConfigSection();
|
|
39
39
|
let newAppDetails = {
|
|
40
|
-
id: result.id
|
|
40
|
+
id: result.id,
|
|
41
|
+
...(requiredProduct && { requiredProduct })
|
|
41
42
|
};
|
|
42
43
|
if (section !== 'invalid' && section !== 'missing') {
|
|
43
44
|
newAppDetails = {
|
|
@@ -24712,7 +24712,6 @@ export declare enum ExternalDocumentCategory {
|
|
|
24712
24712
|
Audio = "AUDIO",
|
|
24713
24713
|
Blogpost = "BLOGPOST",
|
|
24714
24714
|
Code = "CODE",
|
|
24715
|
-
Comment = "COMMENT",
|
|
24716
24715
|
Document = "DOCUMENT",
|
|
24717
24716
|
Folder = "FOLDER",
|
|
24718
24717
|
Form = "FORM",
|
|
@@ -24722,7 +24721,6 @@ export declare enum ExternalDocumentCategory {
|
|
|
24722
24721
|
Pdf = "PDF",
|
|
24723
24722
|
Presentation = "PRESENTATION",
|
|
24724
24723
|
Shortcut = "SHORTCUT",
|
|
24725
|
-
Space = "SPACE",
|
|
24726
24724
|
Spreadsheet = "SPREADSHEET",
|
|
24727
24725
|
Video = "VIDEO",
|
|
24728
24726
|
WebPage = "WEB_PAGE"
|
|
@@ -58563,7 +58561,9 @@ export declare type JiraIssueSearchChildIssuesInput = {
|
|
|
58563
58561
|
filterByProjectKeys?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
58564
58562
|
filterId?: InputMaybe<Scalars['String']['input']>;
|
|
58565
58563
|
jql?: InputMaybe<Scalars['String']['input']>;
|
|
58564
|
+
namespace?: InputMaybe<Scalars['String']['input']>;
|
|
58566
58565
|
parentIssueKey: Scalars['String']['input'];
|
|
58566
|
+
viewId?: InputMaybe<Scalars['String']['input']>;
|
|
58567
58567
|
};
|
|
58568
58568
|
export declare type JiraIssueSearchContextlessContent = JiraIssueSearchResultContent & {
|
|
58569
58569
|
__typename?: 'JiraIssueSearchContextlessContent';
|
|
@@ -86639,6 +86639,7 @@ export declare enum SearchSortOrder {
|
|
|
86639
86639
|
export declare type SearchThirdPartyFilter = {
|
|
86640
86640
|
ancestorAris?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
86641
86641
|
assignees?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
86642
|
+
containerAris?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
86642
86643
|
containerNames?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
86643
86644
|
excludeSubtypes?: InputMaybe<Array<Scalars['String']['input']>>;
|
|
86644
86645
|
integrations?: InputMaybe<Array<Scalars['ID']['input']>>;
|