@forge/cli-shared 9.3.1-next.2-experimental-f258a6d → 9.4.0-next.11
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 +49 -6
- package/out/app-logs/graphql-client.d.ts.map +1 -1
- package/out/app-logs/graphql-client.js +26 -0
- package/out/app-logs/view-logs.d.ts +15 -3
- package/out/app-logs/view-logs.d.ts.map +1 -1
- package/out/app-logs/view-logs.js +14 -4
- package/out/graphql/graphql-types.d.ts +3150 -380
- package/out/graphql/graphql-types.d.ts.map +1 -1
- package/out/graphql/graphql-types.js +453 -104
- package/out/http-client/file-uploader.d.ts.map +1 -1
- package/out/service/statsig-service.d.ts +8 -2
- package/out/service/statsig-service.d.ts.map +1 -1
- package/out/service/statsig-service.js +28 -2
- package/out/ui/command-line-ui.d.ts +11 -2
- package/out/ui/command-line-ui.d.ts.map +1 -1
- package/out/ui/command-line-ui.js +62 -1
- package/out/ui/hint-rotation.d.ts +5 -0
- package/out/ui/hint-rotation.d.ts.map +1 -0
- package/out/ui/hint-rotation.js +27 -0
- package/out/ui/text.d.ts +45 -1
- package/out/ui/text.d.ts.map +1 -1
- package/out/ui/text.js +49 -5
- package/out/ui/ui.d.ts +2 -1
- package/out/ui/ui.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-uploader.d.ts","sourceRoot":"","sources":["../../src/http-client/file-uploader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIlD,qBAAa,qBAAsB,SAAQ,KAAK;CAAG;AACnD,qBAAa,uBAAwB,SAAQ,KAAK;CAAG;AACrD,qBAAa,oBAAqB,SAAQ,KAAK;CAAG;AAElD,MAAM,WAAW,YAAY;IAC3B,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAkBD,qBAAa,gBAAiB,YAAW,YAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,gBAAgB;IAE5C,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"file-uploader.d.ts","sourceRoot":"","sources":["../../src/http-client/file-uploader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIlD,qBAAa,qBAAsB,SAAQ,KAAK;CAAG;AACnD,qBAAa,uBAAwB,SAAQ,KAAK;CAAG;AACrD,qBAAa,oBAAqB,SAAQ,KAAK;CAAG;AAElD,MAAM,WAAW,YAAY;IAC3B,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAkBD,qBAAa,gBAAiB,YAAW,YAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,gBAAgB;IAE5C,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAe1E"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
import { AppEnvironmentType } from '../graphql/graphql-types';
|
|
2
1
|
import { CLIDetails, ConfigSectionReader, CredentialGetter, getEnvironmentConfig, Logger } from '../index';
|
|
3
2
|
export type FeatureGate = 'forge-cli-test-gate' | 'is-logs-v-2-api-enabled' | 'forge-cli-bundle-runtime-loader' | 'forge-cli-enable-teamwork-graph-product-support' | 'forge-cli-enable-developer-space-enforcement-flow' | 'forge-cli-enable-typescript-bundler' | 'forge-cli-enable-self-managed-tunnel' | 'fg-forge-cli-enable-combined-artifact-upload';
|
|
3
|
+
export interface CliHint {
|
|
4
|
+
weight: number;
|
|
5
|
+
categories: string[];
|
|
6
|
+
text: string;
|
|
7
|
+
}
|
|
4
8
|
export type DynamicConfig = {
|
|
5
9
|
'forge-cli-test-dynamic-configs': string[];
|
|
6
10
|
'xls-forge-cli-deprecated-runtimes': string[];
|
|
7
11
|
'forge-cli-enable-custom-spinner': string[];
|
|
12
|
+
'forge-cli-hints': string[];
|
|
8
13
|
};
|
|
9
14
|
export type DynamicConfigKey = keyof DynamicConfig;
|
|
10
15
|
export declare abstract class StatsigReader {
|
|
@@ -20,8 +25,9 @@ export declare abstract class StatsigReader {
|
|
|
20
25
|
isDeveloperSpaceEnforcementFlowEnabled(): Promise<boolean>;
|
|
21
26
|
isTypescriptBundlerEnabled(): Promise<boolean>;
|
|
22
27
|
isSelfManagedTunnelEnabled(): Promise<boolean>;
|
|
23
|
-
isCombinedArtifactUploadEnabled(
|
|
28
|
+
isCombinedArtifactUploadEnabled(): Promise<boolean>;
|
|
24
29
|
getCustomSpinnerConfig(): Promise<string[] | null>;
|
|
30
|
+
getHints(): Promise<CliHint[] | null>;
|
|
25
31
|
}
|
|
26
32
|
export declare function cacheStatsigResult<C, T>(getter: (this: C, ...args: any[]) => Promise<T>): (this: C, ...args: any[]) => Promise<T>;
|
|
27
33
|
export declare class StatsigService extends StatsigReader {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statsig-service.d.ts","sourceRoot":"","sources":["../../src/service/statsig-service.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"statsig-service.d.ts","sourceRoot":"","sources":["../../src/service/statsig-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.StatsigService = exports.StatsigReader = void 0;
|
|
4
4
|
exports.cacheStatsigResult = cacheStatsigResult;
|
|
5
5
|
const index_1 = require("../index");
|
|
6
|
+
const HINT_SEPARATOR = '::';
|
|
7
|
+
const HINT_CATEGORY_SEPARATOR = ',';
|
|
8
|
+
function parseHint(configured) {
|
|
9
|
+
const weightEnd = configured.indexOf(HINT_SEPARATOR);
|
|
10
|
+
if (weightEnd <= 0) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
const categoriesEnd = configured.indexOf(HINT_SEPARATOR, weightEnd + HINT_SEPARATOR.length);
|
|
14
|
+
if (categoriesEnd < 0) {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
const weight = Number(configured.slice(0, weightEnd));
|
|
18
|
+
const categories = configured
|
|
19
|
+
.slice(weightEnd + HINT_SEPARATOR.length, categoriesEnd)
|
|
20
|
+
.split(HINT_CATEGORY_SEPARATOR)
|
|
21
|
+
.map((category) => category.trim().toLowerCase())
|
|
22
|
+
.filter((category) => category.length > 0);
|
|
23
|
+
const text = configured.slice(categoriesEnd + HINT_SEPARATOR.length);
|
|
24
|
+
return text && categories.length > 0 && Number.isFinite(weight) && weight > 0
|
|
25
|
+
? { weight, categories, text }
|
|
26
|
+
: undefined;
|
|
27
|
+
}
|
|
6
28
|
class StatsigReader {
|
|
7
29
|
async testForgeCliTestGate() {
|
|
8
30
|
return (await this.checkGate('forge-cli-test-gate')) ?? false;
|
|
@@ -40,18 +62,22 @@ class StatsigReader {
|
|
|
40
62
|
async isSelfManagedTunnelEnabled() {
|
|
41
63
|
return (await this.checkGate('forge-cli-enable-self-managed-tunnel')) ?? false;
|
|
42
64
|
}
|
|
43
|
-
async isCombinedArtifactUploadEnabled(
|
|
65
|
+
async isCombinedArtifactUploadEnabled() {
|
|
44
66
|
if (process.env.FORGE_CLI_ENABLE_COMBINED_ARTIFACT_UPLOAD === 'true') {
|
|
45
67
|
return true;
|
|
46
68
|
}
|
|
47
69
|
else if (process.env.FORGE_CLI_ENABLE_COMBINED_ARTIFACT_UPLOAD === 'false') {
|
|
48
70
|
return false;
|
|
49
71
|
}
|
|
50
|
-
return (await this.checkGate('fg-forge-cli-enable-combined-artifact-upload'
|
|
72
|
+
return (await this.checkGate('fg-forge-cli-enable-combined-artifact-upload')) ?? false;
|
|
51
73
|
}
|
|
52
74
|
async getCustomSpinnerConfig() {
|
|
53
75
|
return (await this.getDynamicConfig('forge-cli-enable-custom-spinner')) ?? null;
|
|
54
76
|
}
|
|
77
|
+
async getHints() {
|
|
78
|
+
const configured = await this.getDynamicConfig('forge-cli-hints');
|
|
79
|
+
return configured?.map(parseHint).filter((hint) => hint !== undefined) ?? null;
|
|
80
|
+
}
|
|
55
81
|
}
|
|
56
82
|
exports.StatsigReader = StatsigReader;
|
|
57
83
|
var STATSIG_API_KEYS;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Ora } from 'ora';
|
|
2
|
-
import { TableCell, TableOptions, UI } from './ui';
|
|
2
|
+
import { HintCategory, TableCell, TableOptions, UI } from './ui';
|
|
3
3
|
import { StatsigService } from '../service/statsig-service';
|
|
4
4
|
export interface ProgressResult {
|
|
5
5
|
successful: boolean;
|
|
@@ -15,6 +15,10 @@ export declare class CommandLineUI implements UI {
|
|
|
15
15
|
private insideProgress;
|
|
16
16
|
private statsigService;
|
|
17
17
|
private cachedSpinnerConfig;
|
|
18
|
+
private static HINT_ROTATION_INTERVAL_MS;
|
|
19
|
+
private hintLine;
|
|
20
|
+
private hintTimer;
|
|
21
|
+
private hintGeneration;
|
|
18
22
|
private addedProgressPadding;
|
|
19
23
|
private static ANSI_MOVE_CURSOR_UP_ONE;
|
|
20
24
|
private static ANSI_CLEAR_CURSOR_LINE;
|
|
@@ -27,7 +31,12 @@ export declare class CommandLineUI implements UI {
|
|
|
27
31
|
private prompt;
|
|
28
32
|
get traceEnabled(): boolean;
|
|
29
33
|
get debugEnabled(): boolean;
|
|
30
|
-
displayProgress<Result>(progress: () => Promise<Result>, startText: string, successText: string | ((result: Result) => string | ProgressResult)): Promise<Result>;
|
|
34
|
+
displayProgress<Result>(progress: () => Promise<Result>, startText: string, successText: string | ((result: Result) => string | ProgressResult), hintCategory?: HintCategory): Promise<Result>;
|
|
35
|
+
private startHintRotation;
|
|
36
|
+
private rotateHints;
|
|
37
|
+
private stripHintLine;
|
|
38
|
+
private clearHintTimer;
|
|
39
|
+
private stopHintRotation;
|
|
31
40
|
displayTemporaryMessage<Result>(progress: () => Promise<Result>, waitText: string): Promise<Result>;
|
|
32
41
|
trace(message: string): void;
|
|
33
42
|
debug(message: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-line-ui.d.ts","sourceRoot":"","sources":["../../src/ui/command-line-ui.ts"],"names":[],"mappings":"AAGA,OAAY,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAQ/B,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"command-line-ui.d.ts","sourceRoot":"","sources":["../../src/ui/command-line-ui.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ const text_1 = require("./text");
|
|
|
15
15
|
const multiple_table_prompt_1 = require("./multiple-table-prompt");
|
|
16
16
|
const single_table_prompt_1 = require("./single-table-prompt");
|
|
17
17
|
const shared_1 = require("../shared");
|
|
18
|
+
const hint_rotation_1 = require("./hint-rotation");
|
|
18
19
|
var ProgressLogType;
|
|
19
20
|
(function (ProgressLogType) {
|
|
20
21
|
ProgressLogType[ProgressLogType["startText"] = 0] = "startText";
|
|
@@ -33,6 +34,10 @@ class CommandLineUI {
|
|
|
33
34
|
insideProgress = false;
|
|
34
35
|
statsigService;
|
|
35
36
|
cachedSpinnerConfig = 'dots';
|
|
37
|
+
static HINT_ROTATION_INTERVAL_MS = 7000;
|
|
38
|
+
hintLine;
|
|
39
|
+
hintTimer;
|
|
40
|
+
hintGeneration = 0;
|
|
36
41
|
addedProgressPadding = false;
|
|
37
42
|
static ANSI_MOVE_CURSOR_UP_ONE = '\x1B[1A';
|
|
38
43
|
static ANSI_CLEAR_CURSOR_LINE = '\x1B[2K';
|
|
@@ -89,7 +94,7 @@ class CommandLineUI {
|
|
|
89
94
|
get debugEnabled() {
|
|
90
95
|
return this.verbose();
|
|
91
96
|
}
|
|
92
|
-
async displayProgress(progress, startText, successText) {
|
|
97
|
+
async displayProgress(progress, startText, successText, hintCategory) {
|
|
93
98
|
try {
|
|
94
99
|
this.insideProgress = true;
|
|
95
100
|
this.addedProgressPadding = false;
|
|
@@ -98,6 +103,9 @@ class CommandLineUI {
|
|
|
98
103
|
this.spinner.start();
|
|
99
104
|
}
|
|
100
105
|
this.log(startText, ProgressLogType.startText);
|
|
106
|
+
if (hintCategory) {
|
|
107
|
+
this.startHintRotation(hintCategory);
|
|
108
|
+
}
|
|
101
109
|
const result = await progress();
|
|
102
110
|
const progressResult = typeof successText === 'function' ? successText(result) : successText;
|
|
103
111
|
const isSuccessful = typeof progressResult === 'string' || progressResult.successful;
|
|
@@ -118,6 +126,54 @@ class CommandLineUI {
|
|
|
118
126
|
this.insideProgress = false;
|
|
119
127
|
}
|
|
120
128
|
}
|
|
129
|
+
startHintRotation(category) {
|
|
130
|
+
if (!this.spinner.isSpinning) {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
const generation = ++this.hintGeneration;
|
|
134
|
+
this.statsigService
|
|
135
|
+
?.getHints()
|
|
136
|
+
.then((hints) => this.rotateHints(hints ?? [], generation, category))
|
|
137
|
+
.catch(() => this.debug(text_1.Text.hints.loadError));
|
|
138
|
+
}
|
|
139
|
+
rotateHints(hints, generation, category) {
|
|
140
|
+
if (generation !== this.hintGeneration) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
const nextHint = (0, hint_rotation_1.createHintRotation)((0, hint_rotation_1.selectHintsForCategory)(hints, category));
|
|
144
|
+
let renderedHint = false;
|
|
145
|
+
const showNextHint = () => {
|
|
146
|
+
const text = nextHint();
|
|
147
|
+
if (text === undefined) {
|
|
148
|
+
this.clearHintTimer();
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
this.stripHintLine();
|
|
152
|
+
this.hintLine = '\n ' + chalk_1.default.dim('💡 ' + text);
|
|
153
|
+
this.spinner.text += this.hintLine;
|
|
154
|
+
renderedHint = true;
|
|
155
|
+
};
|
|
156
|
+
showNextHint();
|
|
157
|
+
if (renderedHint) {
|
|
158
|
+
this.clearHintTimer();
|
|
159
|
+
this.hintTimer = setInterval(showNextHint, CommandLineUI.HINT_ROTATION_INTERVAL_MS);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
stripHintLine() {
|
|
163
|
+
if (this.hintLine && this.spinner.text.endsWith(this.hintLine)) {
|
|
164
|
+
this.spinner.text = this.spinner.text.slice(0, -this.hintLine.length);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
clearHintTimer() {
|
|
168
|
+
clearInterval(this.hintTimer);
|
|
169
|
+
this.hintTimer = undefined;
|
|
170
|
+
}
|
|
171
|
+
stopHintRotation() {
|
|
172
|
+
this.hintGeneration++;
|
|
173
|
+
this.clearHintTimer();
|
|
174
|
+
this.stripHintLine();
|
|
175
|
+
this.hintLine = undefined;
|
|
176
|
+
}
|
|
121
177
|
async displayTemporaryMessage(progress, waitText) {
|
|
122
178
|
try {
|
|
123
179
|
this.insideProgress = true;
|
|
@@ -385,7 +441,11 @@ class CommandLineUI {
|
|
|
385
441
|
}
|
|
386
442
|
}
|
|
387
443
|
if (this.spinner.isSpinning) {
|
|
444
|
+
this.stripHintLine();
|
|
388
445
|
this.spinner.text += msg + '\n';
|
|
446
|
+
if (this.hintLine) {
|
|
447
|
+
this.spinner.text += this.hintLine;
|
|
448
|
+
}
|
|
389
449
|
}
|
|
390
450
|
else {
|
|
391
451
|
this.logger.log(msg);
|
|
@@ -408,6 +468,7 @@ class CommandLineUI {
|
|
|
408
468
|
}
|
|
409
469
|
}
|
|
410
470
|
stopProgressSpinner(success) {
|
|
471
|
+
this.stopHintRotation();
|
|
411
472
|
if (!this.spinner.isSpinning) {
|
|
412
473
|
return;
|
|
413
474
|
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { CliHint } from '../service/statsig-service';
|
|
2
|
+
import { HintCategory } from './ui';
|
|
3
|
+
export declare function selectHintsForCategory(hints: CliHint[], category: HintCategory): CliHint[];
|
|
4
|
+
export declare function createHintRotation(hints: CliHint[], random?: () => number): () => string | undefined;
|
|
5
|
+
//# sourceMappingURL=hint-rotation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hint-rotation.d.ts","sourceRoot":"","sources":["../../src/ui/hint-rotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAOpC,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,EAAE,CAK1F;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,GAAE,MAAM,MAAoB,GAAG,MAAM,MAAM,GAAG,SAAS,CAsBjH"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.selectHintsForCategory = selectHintsForCategory;
|
|
4
|
+
exports.createHintRotation = createHintRotation;
|
|
5
|
+
const HINT_CATEGORY_ALL = 'all';
|
|
6
|
+
function selectHintsForCategory(hints, category) {
|
|
7
|
+
return hints.filter(({ categories }) => category === HINT_CATEGORY_ALL || categories.includes(category) || categories.includes(HINT_CATEGORY_ALL));
|
|
8
|
+
}
|
|
9
|
+
function createHintRotation(hints, random = Math.random) {
|
|
10
|
+
const remaining = [...hints];
|
|
11
|
+
return () => {
|
|
12
|
+
const total = remaining.reduce((sum, { weight }) => sum + weight, 0);
|
|
13
|
+
if (total <= 0) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
const target = random() * total;
|
|
17
|
+
let cumulative = 0;
|
|
18
|
+
for (const [index, hint] of remaining.entries()) {
|
|
19
|
+
cumulative += hint.weight;
|
|
20
|
+
if (target < cumulative) {
|
|
21
|
+
remaining.splice(index, 1);
|
|
22
|
+
return hint.text;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return remaining.pop().text;
|
|
26
|
+
};
|
|
27
|
+
}
|
package/out/ui/text.d.ts
CHANGED
|
@@ -82,6 +82,7 @@ export declare const Text: {
|
|
|
82
82
|
overviewWorkspace: string;
|
|
83
83
|
promptSite: string;
|
|
84
84
|
promptWorkspace: string;
|
|
85
|
+
noSiteHint: string;
|
|
85
86
|
};
|
|
86
87
|
upgradeContext: {
|
|
87
88
|
overview: (isCodeUpgrade: boolean, version?: string, isLatest?: boolean) => string;
|
|
@@ -289,6 +290,39 @@ export declare const Text: {
|
|
|
289
290
|
};
|
|
290
291
|
};
|
|
291
292
|
};
|
|
293
|
+
site: {
|
|
294
|
+
cmd: {
|
|
295
|
+
desc: string;
|
|
296
|
+
};
|
|
297
|
+
debug: {
|
|
298
|
+
demoSiteLookup: (siteUrl?: string | null, status?: string | null, expiresAt?: string | null) => string;
|
|
299
|
+
demoSiteLookupFailed: (message: string) => string;
|
|
300
|
+
};
|
|
301
|
+
provision: {
|
|
302
|
+
cmd: {
|
|
303
|
+
desc: string;
|
|
304
|
+
};
|
|
305
|
+
requesting: string;
|
|
306
|
+
checkingExisting: string;
|
|
307
|
+
alreadyExists: string;
|
|
308
|
+
detach: string;
|
|
309
|
+
poll: {
|
|
310
|
+
start: string;
|
|
311
|
+
status: (status: string) => string;
|
|
312
|
+
completed: string;
|
|
313
|
+
timeoutSpinner: string;
|
|
314
|
+
};
|
|
315
|
+
backgroundTimeout: string;
|
|
316
|
+
completedWithErrors: string;
|
|
317
|
+
noResult: string;
|
|
318
|
+
table: {
|
|
319
|
+
name: string;
|
|
320
|
+
siteUrl: string;
|
|
321
|
+
status: string;
|
|
322
|
+
expires: string;
|
|
323
|
+
};
|
|
324
|
+
};
|
|
325
|
+
};
|
|
292
326
|
register: {
|
|
293
327
|
intro: string;
|
|
294
328
|
cmd: {
|
|
@@ -774,6 +808,7 @@ export declare const Text: {
|
|
|
774
808
|
majorVersionIsNotLatest: (versionToInstall: string) => string;
|
|
775
809
|
devAppInstallConfirm: string;
|
|
776
810
|
optionConfirmScopes: string;
|
|
811
|
+
optionDemoSite: string;
|
|
777
812
|
optionUpgrade: string;
|
|
778
813
|
optionLicense: string;
|
|
779
814
|
optionLicenseModes: string;
|
|
@@ -807,6 +842,8 @@ export declare const Text: {
|
|
|
807
842
|
majorVersionNotFound: string;
|
|
808
843
|
installationLimitReached: string;
|
|
809
844
|
tooManyRequests: string;
|
|
845
|
+
noDemoSite: string;
|
|
846
|
+
demoSiteWithSite: string;
|
|
810
847
|
};
|
|
811
848
|
debug: {
|
|
812
849
|
ccpEntitlementQueryFailed: string;
|
|
@@ -1034,8 +1071,11 @@ export declare const Text: {
|
|
|
1034
1071
|
optionInvocation: string;
|
|
1035
1072
|
optionLimit: string;
|
|
1036
1073
|
optionGroup: string;
|
|
1074
|
+
optionContainer: string;
|
|
1075
|
+
optionService: string;
|
|
1076
|
+
optionContainerInstance: string;
|
|
1077
|
+
optionFunction: string;
|
|
1037
1078
|
optionSince: string;
|
|
1038
|
-
optionContainers: string;
|
|
1039
1079
|
invalidSinceOption: (since: string) => string;
|
|
1040
1080
|
invalidOptionWithContainersCmd: (option: string) => string;
|
|
1041
1081
|
};
|
|
@@ -1225,6 +1265,7 @@ export declare const Text: {
|
|
|
1225
1265
|
};
|
|
1226
1266
|
proxy: {
|
|
1227
1267
|
description: string;
|
|
1268
|
+
invalidUrl: string;
|
|
1228
1269
|
};
|
|
1229
1270
|
};
|
|
1230
1271
|
assistant: {
|
|
@@ -1313,6 +1354,9 @@ export declare const Text: {
|
|
|
1313
1354
|
dynamicTable: {
|
|
1314
1355
|
exiting: string;
|
|
1315
1356
|
};
|
|
1357
|
+
hints: {
|
|
1358
|
+
loadError: string;
|
|
1359
|
+
};
|
|
1316
1360
|
manifest: {
|
|
1317
1361
|
cmd: {
|
|
1318
1362
|
description: 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":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAO9D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAwBD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjE;AAKD,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAAsD,CAAC;AAsDjG,eAAO,MAAM,IAAI;8BA/EgB,MAAM;eAKrB,MAAM;;;;;6BAyFD,MAAM;2BACR,MAAM;6BAGJ,MAAM;+BAEJ,MAAM;;wCAIK,MAAM,UAAU,MAAM;qDAOT,MAAM,sBAAsB,MAAM;;wCAO/C,MAAM,EAAE;;;;;;;;6CAgBH,MAAM,YAAY,MAAM,YAAY,MAAM;;;kDAQrC,MAAM,EAAE;gDAKV,MAAM,aAAa,MAAM;8CAG3B,MAAM,aAAa,MAAM;uCAGhC,MAAM;iCAEZ,MAAM;;;;;;;;;;;;;;kDAmBS,MAAM;;;0DAKI,MAAM,EAAE;yCAEzB,MAAM;0CAEL,MAAM;;;yCAKP,MAAM;;;mDAUI,MAAM,yBAAyB,MAAM;;6BAM7D,MAAM,EAAE;;;mCAKA,MAAM
|
|
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
|
@@ -131,7 +131,8 @@ exports.Text = {
|
|
|
131
131
|
overviewSite: '\nEnter your site. For example, your-domain.atlassian.net\n',
|
|
132
132
|
overviewWorkspace: '\nEnter your workspace. For example, bitbucket.org/your-workspace\n',
|
|
133
133
|
promptSite: 'Enter the site URL:',
|
|
134
|
-
promptWorkspace: 'Enter the workspace URL:'
|
|
134
|
+
promptWorkspace: 'Enter the workspace URL:',
|
|
135
|
+
noSiteHint: `${chalk_1.default.green(`You don't have an active demo site. Run`)} ${forge('site', 'provision')} ${chalk_1.default.green(`to create a free demo site for development and testing, then install to it with`)} ${forge('install', '--demo-site')}${chalk_1.default.green('.')}\n`
|
|
135
136
|
},
|
|
136
137
|
upgradeContext: {
|
|
137
138
|
overview: (isCodeUpgrade, version, isLatest) => {
|
|
@@ -258,7 +259,7 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
258
259
|
success: (appName) => `Created ${appName}`,
|
|
259
260
|
successDetails: (directory, validEnvironmentOptions) => `\nYour app is ready to work on, deploy, and install. We created ${validEnvironmentOptions.length} environments you can deploy to: ${validEnvironmentOptions
|
|
260
261
|
.map(environment_1.environmentToOption)
|
|
261
|
-
.join(', ')}.\n\nChange to directory ${chalk_1.default.bold(directory)} to see your app files.\n
|
|
262
|
+
.join(', ')}.\n\nChange to directory ${chalk_1.default.bold(directory)} to see your app files.\n`
|
|
262
263
|
},
|
|
263
264
|
intro: (givenDirectory) => `Creating an app in directory ${chalk_1.default.bold(givenDirectory)}.\n`,
|
|
264
265
|
introWithCurrentDirectory: (currentDirectory) => `Creating an app in your current directory:\n\n ${chalk_1.default.bold(currentDirectory)}\n`,
|
|
@@ -367,6 +368,39 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
367
368
|
}
|
|
368
369
|
}
|
|
369
370
|
},
|
|
371
|
+
site: {
|
|
372
|
+
cmd: {
|
|
373
|
+
desc: 'manage demo sites'
|
|
374
|
+
},
|
|
375
|
+
debug: {
|
|
376
|
+
demoSiteLookup: (siteUrl, status, expiresAt) => `Demo site lookup: siteUrl=${siteUrl ?? 'none'}, status=${status ?? 'none'}, expiresAt=${expiresAt ?? 'none'}`,
|
|
377
|
+
demoSiteLookupFailed: (message) => `Demo site lookup failed, assuming the user has one so no hint is shown. ${message}`
|
|
378
|
+
},
|
|
379
|
+
provision: {
|
|
380
|
+
cmd: {
|
|
381
|
+
desc: 'provision a demo site for development and testing'
|
|
382
|
+
},
|
|
383
|
+
requesting: 'Requesting a demo site...',
|
|
384
|
+
checkingExisting: 'Checking for an existing demo site...',
|
|
385
|
+
alreadyExists: `${greenTick} You already have a demo site. Here are its details:`,
|
|
386
|
+
detach: 'You can press Ctrl+C to stop watching — provisioning will continue in the background.',
|
|
387
|
+
poll: {
|
|
388
|
+
start: 'Provisioning your demo site...',
|
|
389
|
+
status: (status) => `Status: ${status}`,
|
|
390
|
+
completed: `${greenTick} Demo site provisioned.`,
|
|
391
|
+
timeoutSpinner: 'Still provisioning — continuing in the background.'
|
|
392
|
+
},
|
|
393
|
+
backgroundTimeout: 'Provisioning timed out. You can close this window — the job will continue in the background.',
|
|
394
|
+
completedWithErrors: 'Demo site is ready, with some setup warnings.',
|
|
395
|
+
noResult: 'Provisioning finished but no site details were returned.',
|
|
396
|
+
table: {
|
|
397
|
+
name: 'Site name',
|
|
398
|
+
siteUrl: 'Site URL',
|
|
399
|
+
status: 'Status',
|
|
400
|
+
expires: 'Expires'
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
},
|
|
370
404
|
register: {
|
|
371
405
|
intro: 'Registering the app to you.',
|
|
372
406
|
cmd: {
|
|
@@ -1001,6 +1035,7 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
1001
1035
|
majorVersionIsNotLatest: (versionToInstall) => `WARNING: You are about to install a previous version of the app. (${versionToInstall})`,
|
|
1002
1036
|
devAppInstallConfirm: `Are you sure you want to proceed?`,
|
|
1003
1037
|
optionConfirmScopes: 'skip confirmation of scopes for the app before installing or upgrading the app',
|
|
1038
|
+
optionDemoSite: 'install onto your demo site instead of a site passed with --site',
|
|
1004
1039
|
optionUpgrade: 'upgrade an existing installation (allowed values: all (default), code)',
|
|
1005
1040
|
optionLicense: 'specify the license value for the app (allowed values: active, standard, advanced, inactive, and trial)',
|
|
1006
1041
|
optionLicenseModes: 'specify the list of license mode value for the app (allowed values: user-access)',
|
|
@@ -1053,7 +1088,9 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
1053
1088
|
appendRequestIdToErrorMessage: (message, requestId) => `${message} For more help on this issue, please reach out to support (${buildTerminalLink('https://developer.atlassian.com/support')}) and provide them the following request ID: ${requestId}`,
|
|
1054
1089
|
majorVersionNotFound: 'The major version you specified does not exist. Check the version number and try again.',
|
|
1055
1090
|
installationLimitReached: 'Installation error: The target site already has the maximum number of apps installed. To install this app there, uninstall any unused apps first.',
|
|
1056
|
-
tooManyRequests: 'Too many requests'
|
|
1091
|
+
tooManyRequests: 'Too many requests',
|
|
1092
|
+
noDemoSite: `No demo site found. Run ${forge('site', 'provision')} to create one, or use ${forge('install', '--site <site>')} with another site.`,
|
|
1093
|
+
demoSiteWithSite: `Use either ${forge('install', '--demo-site')} or ${forge('install', '--site <site>')}, not both.`
|
|
1057
1094
|
},
|
|
1058
1095
|
debug: {
|
|
1059
1096
|
ccpEntitlementQueryFailed: `Non-essential request failed. Continuing installation.`
|
|
@@ -1307,8 +1344,11 @@ ${buildTerminalLink(link)}\n`,
|
|
|
1307
1344
|
optionInvocation: 'view logs for a given invocation ID',
|
|
1308
1345
|
optionLimit: 'number of log lines to return',
|
|
1309
1346
|
optionGroup: 'group logs by invocation ID',
|
|
1347
|
+
optionContainer: 'view logs for a given container',
|
|
1348
|
+
optionService: 'view logs for a given service',
|
|
1349
|
+
optionContainerInstance: 'view logs for a given container instance',
|
|
1350
|
+
optionFunction: 'view logs for a given function',
|
|
1310
1351
|
optionSince: 'view logs since the specified time. valid formats: YYYY-MM-DD, ISO 8061 timestamp or a relative time (e.g: 5m, 10h, 2d)',
|
|
1311
|
-
optionContainers: 'view container logs',
|
|
1312
1352
|
invalidSinceOption: (since) => `Invalid date-time format: '${since}'. Date filter will not be applied.\n`,
|
|
1313
1353
|
invalidOptionWithContainersCmd: (option) => `The '${option}' option is not supported for container logs.\n`
|
|
1314
1354
|
},
|
|
@@ -1510,7 +1550,8 @@ ${buildTerminalLink(link)}\n`,
|
|
|
1510
1550
|
setupError: chalk_1.default.yellow('Failed to fetch custom spinner config. Custom spinner effects can be disabled via forge settings')
|
|
1511
1551
|
},
|
|
1512
1552
|
proxy: {
|
|
1513
|
-
description: 'Configure proxy for all Forge CLI network requests'
|
|
1553
|
+
description: 'Configure proxy for all Forge CLI network requests',
|
|
1554
|
+
invalidUrl: 'Invalid proxy URL specified. Valid proxy URLs must start with http:// or https://'
|
|
1514
1555
|
}
|
|
1515
1556
|
},
|
|
1516
1557
|
assistant: {
|
|
@@ -1600,6 +1641,9 @@ When errors occur during Forge command execution, error details will be sent to
|
|
|
1600
1641
|
dynamicTable: {
|
|
1601
1642
|
exiting: 'Exiting...'
|
|
1602
1643
|
},
|
|
1644
|
+
hints: {
|
|
1645
|
+
loadError: 'Failed to load CLI hints.'
|
|
1646
|
+
},
|
|
1603
1647
|
manifest: {
|
|
1604
1648
|
cmd: {
|
|
1605
1649
|
description: 'manage app manifest'
|
package/out/ui/ui.d.ts
CHANGED
|
@@ -26,9 +26,10 @@ export type TableOptions<Key extends string> = {
|
|
|
26
26
|
[K in Key]?: boolean;
|
|
27
27
|
};
|
|
28
28
|
};
|
|
29
|
+
export type HintCategory = 'create' | 'deploy' | 'all';
|
|
29
30
|
export interface UI extends Logger, Prompt {
|
|
30
31
|
emptyLine(): void;
|
|
31
|
-
displayProgress<Result>(progress: () => Promise<Result>, startText: string, successText: string | ((result: Result) => string | ProgressResult)): Promise<Result>;
|
|
32
|
+
displayProgress<Result>(progress: () => Promise<Result>, startText: string, successText: string | ((result: Result) => string | ProgressResult), hintCategory?: HintCategory): Promise<Result>;
|
|
32
33
|
displayTemporaryMessage<Result>(progress: () => Promise<Result>, waitText: string): Promise<Result>;
|
|
33
34
|
clearSpinner(): void;
|
|
34
35
|
table<Key extends string>(head: [Key, string][], data: Record<Key, TableCell>[] | undefined | null, options?: TableOptions<Key>): void;
|
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,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,EAC3C,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,CAAC,CAAC,CAAC;IACd,uBAAuB,CAAC,CAAC,SAAS,MAAM,EACtC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,CAAC,EAAE,EACZ,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAA;KAAE,EAC3C,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,CAAC,CAAC,CAAC;IACd,cAAc,CACZ,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EAAE,EACjB,YAAY,CAAC,EAAE,OAAO,GACrB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACrB,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,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAE5D,MAAM,MAAM,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;
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/ui/ui.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/cli-shared",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.4.0-next.11",
|
|
4
4
|
"description": "Common functionality for Forge CLI",
|
|
5
5
|
"author": "Atlassian",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"generate-graphql-types": "graphql-codegen --config src/graphql/codegen.yml"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@forge/manifest": "13.3.1-next.
|
|
15
|
+
"@forge/manifest": "13.3.1-next.2",
|
|
16
16
|
"@forge/util": "3.0.0",
|
|
17
17
|
"@forge/i18n": "1.0.0",
|
|
18
18
|
"@sentry/node": "7.106.0",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"get-folder-size": "^5.0.0",
|
|
35
35
|
"glob": "^13.0.0",
|
|
36
36
|
"graphql": "^16.8.1",
|
|
37
|
-
"graphql-request": "
|
|
37
|
+
"graphql-request": "7.4.0",
|
|
38
38
|
"inquirer": "^8.2.6",
|
|
39
39
|
"inquirer-autocomplete-prompt": "^2.0.1",
|
|
40
40
|
"io-ts": "^2.2.22",
|