@forge/cli 10.13.3-next.10 → 10.13.4-next.1-experimental-19bd64d
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 +66 -0
- package/npm-shrinkwrap.json +73 -57
- package/out/autocomplete/autocomplete-config.json +8 -0
- package/out/command-line/controller/version-controller.d.ts +36 -0
- package/out/command-line/controller/version-controller.d.ts.map +1 -0
- package/out/command-line/controller/version-controller.js +121 -0
- package/out/command-line/dependency-injection.d.ts +2 -0
- package/out/command-line/dependency-injection.d.ts.map +1 -1
- package/out/command-line/dependency-injection.js +7 -1
- package/out/command-line/index.d.ts.map +1 -1
- package/out/command-line/index.js +2 -0
- package/out/command-line/register-version-commands.d.ts +4 -0
- package/out/command-line/register-version-commands.d.ts.map +1 -0
- package/out/command-line/register-version-commands.js +72 -0
- package/out/command-line/view/version-view.d.ts +26 -0
- package/out/command-line/view/version-view.d.ts.map +1 -0
- package/out/command-line/view/version-view.js +193 -0
- package/out/service/version-service.d.ts +74 -0
- package/out/service/version-service.d.ts.map +1 -0
- package/out/service/version-service.js +134 -0
- package/out/version/graphql-client.d.ts +27 -0
- package/out/version/graphql-client.d.ts.map +1 -0
- package/out/version/graphql-client.js +150 -0
- package/package.json +12 -9
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AppVersionDetailsClient = exports.MissingAppEnvironmentError = exports.MissingAppVersionError = exports.EnvironmentNotFoundError = exports.MissingAppError = void 0;
|
|
4
|
+
const cli_shared_1 = require("@forge/cli-shared");
|
|
5
|
+
class MissingAppError extends cli_shared_1.UserError {
|
|
6
|
+
}
|
|
7
|
+
exports.MissingAppError = MissingAppError;
|
|
8
|
+
class EnvironmentNotFoundError extends cli_shared_1.UserError {
|
|
9
|
+
constructor(environmentKey) {
|
|
10
|
+
super(cli_shared_1.Text.env.error.envNotExist(environmentKey));
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.EnvironmentNotFoundError = EnvironmentNotFoundError;
|
|
14
|
+
class MissingAppVersionError extends Error {
|
|
15
|
+
}
|
|
16
|
+
exports.MissingAppVersionError = MissingAppVersionError;
|
|
17
|
+
class MissingAppEnvironmentError extends Error {
|
|
18
|
+
}
|
|
19
|
+
exports.MissingAppEnvironmentError = MissingAppEnvironmentError;
|
|
20
|
+
class AppVersionDetailsClient {
|
|
21
|
+
graphqlClient;
|
|
22
|
+
constructor(graphqlClient) {
|
|
23
|
+
this.graphqlClient = graphqlClient;
|
|
24
|
+
}
|
|
25
|
+
async getVersionDetails(appId, environmentKey, majorVersion) {
|
|
26
|
+
const query = `
|
|
27
|
+
query forge_cli_getApplicationVersionDetails($appId: ID!, $environmentKey: String!, $firstN: Int!, $majorVersion: Int) {
|
|
28
|
+
app(id: $appId) {
|
|
29
|
+
environmentByKey(key: $environmentKey) {
|
|
30
|
+
type
|
|
31
|
+
versions(first: $firstN, majorVersion: $majorVersion) {
|
|
32
|
+
nodes {
|
|
33
|
+
version
|
|
34
|
+
createdAt
|
|
35
|
+
isLatest
|
|
36
|
+
requiresLicense
|
|
37
|
+
permissions {
|
|
38
|
+
scopes {
|
|
39
|
+
key
|
|
40
|
+
}
|
|
41
|
+
egress {
|
|
42
|
+
type
|
|
43
|
+
addresses
|
|
44
|
+
}
|
|
45
|
+
securityPolicies {
|
|
46
|
+
type
|
|
47
|
+
policies
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
extensions {
|
|
51
|
+
nodes {
|
|
52
|
+
id
|
|
53
|
+
key
|
|
54
|
+
extensionData
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
storage {
|
|
58
|
+
hosted {
|
|
59
|
+
classifications
|
|
60
|
+
locations
|
|
61
|
+
}
|
|
62
|
+
remotes {
|
|
63
|
+
key
|
|
64
|
+
baseUrl
|
|
65
|
+
classifications
|
|
66
|
+
locations
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
migrationKeys {
|
|
70
|
+
jira
|
|
71
|
+
confluence
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
`;
|
|
79
|
+
const result = await this.graphqlClient.query(query, {
|
|
80
|
+
appId,
|
|
81
|
+
environmentKey,
|
|
82
|
+
firstN: 1,
|
|
83
|
+
majorVersion
|
|
84
|
+
});
|
|
85
|
+
if (!result.app) {
|
|
86
|
+
throw new MissingAppError();
|
|
87
|
+
}
|
|
88
|
+
if (!result.app.environmentByKey) {
|
|
89
|
+
throw new EnvironmentNotFoundError(environmentKey);
|
|
90
|
+
}
|
|
91
|
+
if (!result.app.environmentByKey.versions?.nodes?.length) {
|
|
92
|
+
throw new MissingAppEnvironmentError();
|
|
93
|
+
}
|
|
94
|
+
if (!result.app.environmentByKey.versions?.nodes?.[0]?.version) {
|
|
95
|
+
throw new MissingAppVersionError();
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
migrationKeys: result.app.environmentByKey.versions?.nodes?.[0]?.migrationKeys,
|
|
99
|
+
environmentType: result.app.environmentByKey.type,
|
|
100
|
+
appVersion: result.app.environmentByKey.versions?.nodes?.[0]?.version,
|
|
101
|
+
deploymentDateTime: new Date(Number.parseInt(result.app.environmentByKey.versions?.nodes?.[0]?.createdAt)),
|
|
102
|
+
storage: result.app.environmentByKey.versions?.nodes?.[0]?.storage,
|
|
103
|
+
requiresLicense: result.app.environmentByKey.versions?.nodes?.[0]?.requiresLicense,
|
|
104
|
+
permissions: result.app.environmentByKey.versions?.nodes?.[0]?.permissions,
|
|
105
|
+
modules: result.app.environmentByKey.versions?.nodes?.[0]?.extensions?.nodes
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
async getVersionList(appId, environmentKey) {
|
|
109
|
+
const query = `
|
|
110
|
+
query forge_cli_getApplicationVersionList($appId: ID!, $first: Int, $after: String) {
|
|
111
|
+
app(id: $appId) {
|
|
112
|
+
environments {
|
|
113
|
+
key
|
|
114
|
+
versions(first: $first, after: $after) {
|
|
115
|
+
nodes {
|
|
116
|
+
version
|
|
117
|
+
}
|
|
118
|
+
pageInfo {
|
|
119
|
+
hasNextPage
|
|
120
|
+
endCursor
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
`;
|
|
127
|
+
const output = [];
|
|
128
|
+
let cursor = undefined;
|
|
129
|
+
let hasNext = undefined;
|
|
130
|
+
do {
|
|
131
|
+
const result = await this.graphqlClient.query(query, {
|
|
132
|
+
appId,
|
|
133
|
+
first: 20,
|
|
134
|
+
after: cursor
|
|
135
|
+
});
|
|
136
|
+
if (!result.app) {
|
|
137
|
+
throw new MissingAppError();
|
|
138
|
+
}
|
|
139
|
+
if (!result.app.environments) {
|
|
140
|
+
throw new MissingAppVersionError();
|
|
141
|
+
}
|
|
142
|
+
const environment = result.app.environments.filter((env) => env.key === environmentKey)[0];
|
|
143
|
+
cursor = environment?.versions?.pageInfo.endCursor;
|
|
144
|
+
hasNext = environment?.versions?.pageInfo.hasNextPage;
|
|
145
|
+
output.push(...(environment?.versions?.nodes?.map((node) => node?.version) || []).filter((item) => Boolean(item)));
|
|
146
|
+
} while (hasNext && cursor);
|
|
147
|
+
return output;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
exports.AppVersionDetailsClient = AppVersionDetailsClient;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/cli",
|
|
3
|
-
"version": "10.13.
|
|
3
|
+
"version": "10.13.4-next.1-experimental-19bd64d",
|
|
4
4
|
"description": "A command line interface for managing Atlassian-hosted apps",
|
|
5
5
|
"author": "Atlassian",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -18,16 +18,17 @@
|
|
|
18
18
|
"postinstall": "node -e \"fs.existsSync('./out/bin/postinstall.js') && require('./out/bin/postinstall.js')\""
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@forge/bundler": "4.20.
|
|
22
|
-
"@forge/cli-shared": "6.5.
|
|
23
|
-
"@forge/egress": "1.3.0
|
|
24
|
-
"@forge/lint": "5.6.
|
|
25
|
-
"@forge/manifest": "8.4.
|
|
26
|
-
"@forge/runtime": "5.10.4
|
|
27
|
-
"@forge/tunnel": "5.8.
|
|
28
|
-
"@forge/util": "1.4.6
|
|
21
|
+
"@forge/bundler": "4.20.5-next.1-experimental-19bd64d",
|
|
22
|
+
"@forge/cli-shared": "6.5.2-next.1-experimental-19bd64d",
|
|
23
|
+
"@forge/egress": "1.3.0",
|
|
24
|
+
"@forge/lint": "5.6.5-next.1-experimental-19bd64d",
|
|
25
|
+
"@forge/manifest": "8.4.1-next.1-experimental-19bd64d",
|
|
26
|
+
"@forge/runtime": "5.10.4",
|
|
27
|
+
"@forge/tunnel": "5.8.1-next.1-experimental-19bd64d",
|
|
28
|
+
"@forge/util": "1.4.6",
|
|
29
29
|
"@sentry/node": "7.106.0",
|
|
30
30
|
"@forge/i18n": "0.0.2",
|
|
31
|
+
"@sandfox/arn": "^2.1.0",
|
|
31
32
|
"ajv": "^8.12.0",
|
|
32
33
|
"archiver": "^6.0.2",
|
|
33
34
|
"case": "^1.6.3",
|
|
@@ -39,6 +40,7 @@
|
|
|
39
40
|
"cross-spawn": "^7.0.3",
|
|
40
41
|
"dayjs": "^1.11.10",
|
|
41
42
|
"didyoumean": "^1.2.2",
|
|
43
|
+
"diff": "^7.0.0",
|
|
42
44
|
"env-paths": "^2.2.1",
|
|
43
45
|
"exponential-backoff": "^3.1.1",
|
|
44
46
|
"form-data": "^4.0.0",
|
|
@@ -63,6 +65,7 @@
|
|
|
63
65
|
"@types/command-exists": "^1.2.3",
|
|
64
66
|
"@types/cross-spawn": "^6.0.6",
|
|
65
67
|
"@types/didyoumean": "^1.2.2",
|
|
68
|
+
"@types/diff": "^6.0.0",
|
|
66
69
|
"@types/fs-extra": "^11.0.4",
|
|
67
70
|
"@types/hidefile": "^3.0.3",
|
|
68
71
|
"@types/inquirer": "^8.2.10",
|