@forge/cli-shared 9.3.0-next.9 → 9.3.1-next.0
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 +115 -0
- package/out/config/config.js +1 -1
- package/out/file-system/archiver.d.ts.map +1 -1
- package/out/file-system/archiver.js +6 -0
- package/out/graphql/graphql-types.d.ts +4340 -17989
- package/out/graphql/graphql-types.d.ts.map +1 -1
- package/out/graphql/graphql-types.js +482 -397
- package/out/service/statsig-service.d.ts +1 -1
- package/out/service/statsig-service.d.ts.map +1 -1
- package/out/service/statsig-service.js +1 -1
- package/out/tunnel/docker-compose-lifecycle.d.ts.map +1 -1
- package/out/tunnel/docker-compose-lifecycle.js +49 -13
- package/out/ui/log-color.d.ts +1 -0
- package/out/ui/log-color.d.ts.map +1 -1
- package/out/ui/log-color.js +1 -0
- package/out/ui/text.d.ts +40 -6
- package/out/ui/text.d.ts.map +1 -1
- package/out/ui/text.js +71 -23
- package/package.json +3 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AppEnvironmentType } from '../graphql/graphql-types';
|
|
2
2
|
import { CLIDetails, ConfigSectionReader, CredentialGetter, getEnvironmentConfig, Logger } from '../index';
|
|
3
|
-
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' | 'forge-cli-enable-combined-artifact-upload';
|
|
3
|
+
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';
|
|
4
4
|
export type DynamicConfig = {
|
|
5
5
|
'forge-cli-test-dynamic-configs': string[];
|
|
6
6
|
'xls-forge-cli-deprecated-runtimes': string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statsig-service.d.ts","sourceRoot":"","sources":["../../src/service/statsig-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EAEpB,MAAM,EAEP,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,WAAW,GACnB,qBAAqB,GACrB,yBAAyB,GACzB,iCAAiC,GACjC,iDAAiD,GACjD,mDAAmD,GACnD,qCAAqC,GACrC,sCAAsC,GACtC,
|
|
1
|
+
{"version":3,"file":"statsig-service.d.ts","sourceRoot":"","sources":["../../src/service/statsig-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,7 +49,7 @@ class StatsigReader {
|
|
|
49
49
|
else if (process.env.FORGE_CLI_ENABLE_COMBINED_ARTIFACT_UPLOAD === 'false') {
|
|
50
50
|
return false;
|
|
51
51
|
}
|
|
52
|
-
return (await this.checkGate('forge-cli-enable-combined-artifact-upload', { environmentType })) ?? false;
|
|
52
|
+
return (await this.checkGate('fg-forge-cli-enable-combined-artifact-upload', { environmentType })) ?? false;
|
|
53
53
|
}
|
|
54
54
|
async getCustomSpinnerConfig() {
|
|
55
55
|
return (await this.getDynamicConfig('forge-cli-enable-custom-spinner')) ?? null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-compose-lifecycle.d.ts","sourceRoot":"","sources":["../../src/tunnel/docker-compose-lifecycle.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAO3C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,eAAO,MAAM,wBAAwB,qBAAqB,CAAC;AAC3D,eAAO,MAAM,wBAAwB,8BAA8B,CAAC;AACpE,eAAO,MAAM,uBAAuB,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"docker-compose-lifecycle.d.ts","sourceRoot":"","sources":["../../src/tunnel/docker-compose-lifecycle.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAO3C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,eAAO,MAAM,wBAAwB,qBAAqB,CAAC;AAC3D,eAAO,MAAM,wBAAwB,8BAA8B,CAAC;AACpE,eAAO,MAAM,uBAAuB,kBAAkB,CAAC;AAgCvD,eAAO,MAAM,gBAAgB,QAAY,CAAC;AAC1C,eAAO,MAAM,uBAAuB,QAAW,CAAC;AAEhD,qBAAa,2BAA4B,SAAQ,SAAS;gBAC5C,UAAU,EAAE,MAAM;CAG/B;AAED,qBAAa,mCAAoC,SAAQ,SAAS;gBACpD,GAAG,CAAC,EAAE,KAAK;CAGxB;AAED,qBAAa,wBAAyB,SAAQ,SAAS;gBACzC,GAAG,CAAC,EAAE,KAAK;CAGxB;AAED,qBAAa,mCAAoC,SAAQ,SAAS;gBACpD,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK;CAG5C;AAED,qBAAa,+BAAgC,SAAQ,SAAS;gBAChD,YAAY,EAAE,MAAM;CAGjC;AAED,qBAAa,sCAAuC,SAAQ,SAAS;gBACvD,YAAY,EAAE,MAAM;CAGjC;AAED,qBAAa,yBAA0B,SAAQ,SAAS;gBAC1C,OAAO,EAAE,MAAM;CAG5B;AAMD,eAAO,MAAM,mCAAmC,GAAU,UAAU,QAAQ,EAAE,OAAO,MAAM,EAAE,OAAO,MAAM,oCAgFzG,CAAC;AAsFF,eAAO,MAAM,uBAAuB,GAAU,aAAa,MAAM,kBAYhE,CAAC;AAOF,eAAO,MAAM,uBAAuB,GAAU,uBAAuB,MAAM,EAAE,YAAY,MAAM,EAAE,QAAQ,MAAM,kBA8B9G,CAAC;AA6BF,eAAO,MAAM,qBAAqB,GAChC,uBAAuB,MAAM,EAC7B,YAAY,MAAM,EAClB,QAAQ,MAAM,KACb,OAAO,CAAC,MAAM,EAAE,CAgBlB,CAAC;AA2LF,eAAO,MAAM,sBAAsB,GACjC,YAAY,UAAU,EACtB,QAAQ,MAAM,EACd,eAAe,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,kBAmCtC,CAAC;AAgCF,eAAO,MAAM,2BAA2B,GAAU,cAAc,YAAY,kBAW3E,CAAC"}
|
|
@@ -15,6 +15,19 @@ exports.PROXY_SIDECAR_VOLUME_DIR = '/forge/container';
|
|
|
15
15
|
exports.CONTAINER_SERVICE_ASSETS = '.container-service-assets';
|
|
16
16
|
exports.K8S_AUTH_TOKEN_FILENAME = 'local-account';
|
|
17
17
|
const PROXY_SIDECAR_SERVICE_NAME = 'proxy-sidecar';
|
|
18
|
+
const PROXY_SIDECAR_IMAGE_PATH = 'forge-platform/proxy-sidecar:latest';
|
|
19
|
+
const PROXY_SIDECAR_REGISTRIES = {
|
|
20
|
+
portable: {
|
|
21
|
+
production: 'forge-registry.services.atlassian.com',
|
|
22
|
+
staging: 'forge-registry.stg.services.atlassian.com'
|
|
23
|
+
},
|
|
24
|
+
ecr: {
|
|
25
|
+
production: 'forge-ecr.services.atlassian.com',
|
|
26
|
+
staging: 'forge-ecr.stg.services.atlassian.com'
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
const isStagingEnvironment = () => process.env.FORGE_GRAPHQL_GATEWAY?.startsWith('https://api-private.stg.atlassian.com/graphql') ?? false;
|
|
30
|
+
const getProxySidecarRegistry = (registryType) => PROXY_SIDECAR_REGISTRIES[registryType][isStagingEnvironment() ? 'staging' : 'production'];
|
|
18
31
|
const LIFECYCLE_PATTERNS = [
|
|
19
32
|
/Container .* (Starting|Started|Stopping|Stopped|Creating|Created|Recreated)/,
|
|
20
33
|
/Network .* (Creating|Created|Removing|Removed)/,
|
|
@@ -134,11 +147,10 @@ const adjustFilePath = (filePath) => {
|
|
|
134
147
|
const getProxySidecarConfig = async (serviceKey, containerKeys, port, appId, envId, serviceIndex, healthEndpointPath) => {
|
|
135
148
|
let fopBaseUrl = 'https://forge-outbound-proxy.services.atlassian.com';
|
|
136
149
|
let jwksUrl = 'https://forge.cdn.prod.atlassian-dev.net/.well-known/jwks.json';
|
|
137
|
-
|
|
138
|
-
if (
|
|
150
|
+
const proxySidecarRegistry = getProxySidecarRegistry('portable');
|
|
151
|
+
if (isStagingEnvironment()) {
|
|
139
152
|
fopBaseUrl = 'https://forge-outbound-proxy.stg.services.atlassian.com';
|
|
140
153
|
jwksUrl = 'https://forge.cdn.stg.atlassian-dev.net/.well-known/jwks.json';
|
|
141
|
-
proxySidecarImage = 'forge-ecr.stg.services.atlassian.com/forge-platform/proxy-sidecar:latest';
|
|
142
154
|
}
|
|
143
155
|
let appIdShort = appId;
|
|
144
156
|
if (appId.startsWith('ari:cloud:ecosystem::app/')) {
|
|
@@ -146,7 +158,7 @@ const getProxySidecarConfig = async (serviceKey, containerKeys, port, appId, env
|
|
|
146
158
|
}
|
|
147
159
|
return {
|
|
148
160
|
[PROXY_SIDECAR_SERVICE_NAME]: {
|
|
149
|
-
image:
|
|
161
|
+
image: `${proxySidecarRegistry}/${PROXY_SIDECAR_IMAGE_PATH}`,
|
|
150
162
|
container_name: getProxySidecarContainerName(serviceKey),
|
|
151
163
|
environment: [
|
|
152
164
|
`SERVICE_URL=http://${containerKeys[0]}:8080`,
|
|
@@ -190,19 +202,44 @@ const deleteDockerComposeFile = async (composeFile) => {
|
|
|
190
202
|
};
|
|
191
203
|
exports.deleteDockerComposeFile = deleteDockerComposeFile;
|
|
192
204
|
const startDockerComposeStack = async (dockerComposeFilePath, serviceKey, logger) => {
|
|
205
|
+
const pullOptions = {
|
|
206
|
+
cwd: path.dirname(dockerComposeFilePath),
|
|
207
|
+
log: true,
|
|
208
|
+
config: dockerComposeFilePath
|
|
209
|
+
};
|
|
193
210
|
try {
|
|
194
|
-
await (0, docker_compose_1.pullOne)(
|
|
195
|
-
cwd: path.dirname(dockerComposeFilePath),
|
|
196
|
-
log: true,
|
|
197
|
-
config: dockerComposeFilePath
|
|
198
|
-
});
|
|
211
|
+
await (0, docker_compose_1.pullOne)(PROXY_SIDECAR_SERVICE_NAME, pullOptions);
|
|
199
212
|
}
|
|
200
|
-
catch (
|
|
201
|
-
|
|
213
|
+
catch (portableRegistryError) {
|
|
214
|
+
logger.warn('Unable to pull the proxy sidecar image. Retrying from an alternate source...');
|
|
215
|
+
useEcrProxySidecarImage(dockerComposeFilePath);
|
|
216
|
+
try {
|
|
217
|
+
await (0, docker_compose_1.pullOne)(PROXY_SIDECAR_SERVICE_NAME, pullOptions);
|
|
218
|
+
}
|
|
219
|
+
catch (ecrRegistryError) {
|
|
220
|
+
throw new DockerUnableToPullProxySidecarImage(new Error(`Initial pull error: ${getDockerComposeErrorMessage(portableRegistryError)}. Retry error: ${getDockerComposeErrorMessage(ecrRegistryError)}`));
|
|
221
|
+
}
|
|
202
222
|
}
|
|
203
223
|
await waitForContainersToStart(dockerComposeFilePath, serviceKey, logger);
|
|
204
224
|
};
|
|
205
225
|
exports.startDockerComposeStack = startDockerComposeStack;
|
|
226
|
+
const getDockerComposeErrorMessage = (error) => {
|
|
227
|
+
if (error && typeof error === 'object') {
|
|
228
|
+
const dockerComposeError = error;
|
|
229
|
+
return dockerComposeError.err || dockerComposeError.out || dockerComposeError.message || 'Unknown Error Occurred.';
|
|
230
|
+
}
|
|
231
|
+
return error != null ? String(error) : 'Unknown Error Occurred.';
|
|
232
|
+
};
|
|
233
|
+
const useEcrProxySidecarImage = (dockerComposeFilePath) => {
|
|
234
|
+
const composeConfig = yaml.parse(fs.readFileSync(dockerComposeFilePath, 'utf8'));
|
|
235
|
+
const proxySidecar = composeConfig?.services?.[PROXY_SIDECAR_SERVICE_NAME];
|
|
236
|
+
if (!proxySidecar) {
|
|
237
|
+
throw new Error(`The Docker Compose file does not contain the ${PROXY_SIDECAR_SERVICE_NAME} service.`);
|
|
238
|
+
}
|
|
239
|
+
const ecrRegistry = getProxySidecarRegistry('ecr');
|
|
240
|
+
proxySidecar.image = `${ecrRegistry}/${PROXY_SIDECAR_IMAGE_PATH}`;
|
|
241
|
+
fs.writeFileSync(dockerComposeFilePath, yaml.stringify(composeConfig));
|
|
242
|
+
};
|
|
206
243
|
const determineComposeFlags = async (dockerComposeFilePath, serviceKey, logger) => {
|
|
207
244
|
const flags = ['--build', '--quiet-pull'];
|
|
208
245
|
try {
|
|
@@ -318,8 +355,7 @@ const waitForContainersToStart = async (dockerComposeFilePath, serviceKey, logge
|
|
|
318
355
|
callback: logFilter
|
|
319
356
|
}).catch((error) => {
|
|
320
357
|
clearTimeout(startupTimer);
|
|
321
|
-
|
|
322
|
-
reject(new DockerUnableToStartError(new Error(errorMessage)));
|
|
358
|
+
reject(new DockerUnableToStartError(new Error(getDockerComposeErrorMessage(error))));
|
|
323
359
|
});
|
|
324
360
|
setTimeout(async () => {
|
|
325
361
|
if (containersStarted)
|
package/out/ui/log-color.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-color.d.ts","sourceRoot":"","sources":["../../src/ui/log-color.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ;qBACF,MAAM,KAAG,MAAM;qBACf,MAAM,KAAG,MAAM;oBAChB,MAAM,KAAG,MAAM;qBACd,MAAM,KAAG,MAAM;;
|
|
1
|
+
{"version":3,"file":"log-color.d.ts","sourceRoot":"","sources":["../../src/ui/log-color.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ;qBACF,MAAM,KAAG,MAAM;qBACf,MAAM,KAAG,MAAM;oBAChB,MAAM,KAAG,MAAM;qBACd,MAAM,KAAG,MAAM;wBACZ,MAAM,KAAG,MAAM;;CAGpC,CAAC;AAKF,eAAO,MAAM,eAAe;;;;;;;CAO3B,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;CAkBtB,CAAC"}
|
package/out/ui/log-color.js
CHANGED
|
@@ -8,6 +8,7 @@ exports.LogColor = {
|
|
|
8
8
|
debug: (message) => chalk_1.default.gray(message),
|
|
9
9
|
warn: (message) => chalk_1.default.yellow(message),
|
|
10
10
|
error: (message) => chalk_1.default.red(message),
|
|
11
|
+
approval: (message) => chalk_1.default.cyan(message),
|
|
11
12
|
errorPrefix: chalk_1.default.red.bold('Error: ')
|
|
12
13
|
};
|
|
13
14
|
const withPadding = (input) => input.padEnd(7);
|
package/out/ui/text.d.ts
CHANGED
|
@@ -432,6 +432,7 @@ export declare const Text: {
|
|
|
432
432
|
error: {
|
|
433
433
|
noDeployUrl: string;
|
|
434
434
|
noPresignedUrls: string;
|
|
435
|
+
noManifestUrl: string;
|
|
435
436
|
noUploadId: string;
|
|
436
437
|
noManifestInZip: (manifestFilename: string) => string;
|
|
437
438
|
noManifestAtPath: (path: string) => string;
|
|
@@ -643,10 +644,6 @@ export declare const Text: {
|
|
|
643
644
|
invalidBuildTagFormat: string;
|
|
644
645
|
};
|
|
645
646
|
};
|
|
646
|
-
taskLint: {
|
|
647
|
-
lintError: string;
|
|
648
|
-
lintWarning: (numWarnings: number) => string;
|
|
649
|
-
};
|
|
650
647
|
list: {
|
|
651
648
|
cmd: {
|
|
652
649
|
desc: string;
|
|
@@ -662,18 +659,29 @@ export declare const Text: {
|
|
|
662
659
|
error: string;
|
|
663
660
|
};
|
|
664
661
|
};
|
|
662
|
+
buildDeploy: {
|
|
663
|
+
inspect: {
|
|
664
|
+
description: string;
|
|
665
|
+
};
|
|
666
|
+
taskLint: {
|
|
667
|
+
lintError: (cmd: "build" | "deploy") => string;
|
|
668
|
+
lintWarning: (numWarnings: number) => string;
|
|
669
|
+
};
|
|
670
|
+
};
|
|
665
671
|
deploy: {
|
|
666
672
|
cmd: {
|
|
667
673
|
desc: string;
|
|
668
674
|
start1: (envKey: string, envType: AppEnvironmentType, buildTag?: string) => string;
|
|
669
675
|
start2: (appName: string, envKey: string, envType: AppEnvironmentType, buildTag?: string) => string;
|
|
670
676
|
success: string;
|
|
671
|
-
successDetails: (appName: string, envKey: string, envType: AppEnvironmentType, buildTag?: string) => string;
|
|
677
|
+
successDetails: (appName: string, envKey: string, envType: AppEnvironmentType, buildTag?: string, numApprovals?: number) => string;
|
|
672
678
|
distributePageLink: (appId: string) => string;
|
|
673
679
|
};
|
|
674
680
|
taskLint: {
|
|
675
681
|
lintError: string;
|
|
676
682
|
lintWarning: (numWarnings: number) => string;
|
|
683
|
+
lintApproval: (numApprovals: number, ruleNames?: string[]) => string;
|
|
684
|
+
lintErrorsWithApprovals: string;
|
|
677
685
|
};
|
|
678
686
|
hasNoAppInstallationsForEnv: {
|
|
679
687
|
hasNoAppInstallationsForEnvError: string;
|
|
@@ -693,6 +701,9 @@ export declare const Text: {
|
|
|
693
701
|
skipRollout: {
|
|
694
702
|
description: string;
|
|
695
703
|
};
|
|
704
|
+
approveRule: {
|
|
705
|
+
description: string;
|
|
706
|
+
};
|
|
696
707
|
connectKeyChange: {
|
|
697
708
|
continueChange: string;
|
|
698
709
|
continueDelete: string;
|
|
@@ -706,6 +717,7 @@ export declare const Text: {
|
|
|
706
717
|
taskPackage: {
|
|
707
718
|
title: string;
|
|
708
719
|
packageBundledFiles: string;
|
|
720
|
+
inspectOutputPath: (inspectDirectory: string) => string;
|
|
709
721
|
packageFile: (fileName: string, filePath: string | null) => string;
|
|
710
722
|
archiveCreated: (archivePath: string) => string;
|
|
711
723
|
invalidArchivePath: (fileName: string) => string;
|
|
@@ -775,6 +787,10 @@ export declare const Text: {
|
|
|
775
787
|
installationLimitWarning: string;
|
|
776
788
|
success: {
|
|
777
789
|
banner: (envKey: string, envType: AppEnvironmentType, product: string, site: string) => string;
|
|
790
|
+
deeplinks: (links: Array<{
|
|
791
|
+
label?: string;
|
|
792
|
+
url: string;
|
|
793
|
+
}>) => string;
|
|
778
794
|
};
|
|
779
795
|
error: {
|
|
780
796
|
activationIdMissing: (url: string, context: string) => string;
|
|
@@ -1028,16 +1044,20 @@ export declare const Text: {
|
|
|
1028
1044
|
cmd: string;
|
|
1029
1045
|
running: string;
|
|
1030
1046
|
noProblems: string;
|
|
1047
|
+
approvalRequired: string;
|
|
1031
1048
|
noFixableProblem: string;
|
|
1032
1049
|
noFixableProblems: string;
|
|
1033
1050
|
filename: chalk.Chalk;
|
|
1051
|
+
errorMissingManifest: string;
|
|
1052
|
+
errorInvalidManifest: string;
|
|
1034
1053
|
linterFailed: (linterClass: string, failure: string) => string;
|
|
1035
1054
|
fixed: (numFixableErrors: number, numFixableWarnings: number) => string;
|
|
1036
1055
|
fixFollowUp: string;
|
|
1037
1056
|
error: (line: number, column: number, message: string, reference: string) => string;
|
|
1038
|
-
summary: (numErrors: number, numWarnings: number, numFixableErrors: number, numFixableWarnings: number) => string;
|
|
1057
|
+
summary: (numErrors: number, numWarnings: number, numApprovals: number, numFixableErrors: number, numFixableWarnings: number) => string;
|
|
1039
1058
|
fixSummary: (numErrors: number, numFixableErrors: number, numFixableWarnings: number) => string;
|
|
1040
1059
|
warning: (line: number, column: number, message: string, reference: string) => string;
|
|
1060
|
+
approval: (line: number, column: number, message: string, reference: string) => string;
|
|
1041
1061
|
};
|
|
1042
1062
|
repositories: {
|
|
1043
1063
|
cmd: {
|
|
@@ -1087,6 +1107,7 @@ export declare const Text: {
|
|
|
1087
1107
|
start: string;
|
|
1088
1108
|
success: string;
|
|
1089
1109
|
createdRepositoryURI: (uri: string) => string;
|
|
1110
|
+
authRequired: (key: string) => string;
|
|
1090
1111
|
};
|
|
1091
1112
|
login: {
|
|
1092
1113
|
cmd: {
|
|
@@ -1292,12 +1313,24 @@ export declare const Text: {
|
|
|
1292
1313
|
dynamicTable: {
|
|
1293
1314
|
exiting: string;
|
|
1294
1315
|
};
|
|
1316
|
+
manifest: {
|
|
1317
|
+
cmd: {
|
|
1318
|
+
description: string;
|
|
1319
|
+
};
|
|
1320
|
+
render: {
|
|
1321
|
+
description: string;
|
|
1322
|
+
optionPlacement: string;
|
|
1323
|
+
errorMissingTransformation: string;
|
|
1324
|
+
};
|
|
1325
|
+
};
|
|
1295
1326
|
module: {
|
|
1296
1327
|
cmd: {
|
|
1297
1328
|
description: string;
|
|
1298
1329
|
};
|
|
1299
1330
|
add: {
|
|
1300
1331
|
description: string;
|
|
1332
|
+
spinnerAdding: string;
|
|
1333
|
+
spinnerAdded: string;
|
|
1301
1334
|
optionModuleType: string;
|
|
1302
1335
|
optionUiType: string;
|
|
1303
1336
|
optionProduct: string;
|
|
@@ -1336,6 +1369,7 @@ export declare const Text: {
|
|
|
1336
1369
|
warnNoFragment: string;
|
|
1337
1370
|
warnNoManifestDelta: string;
|
|
1338
1371
|
warnAddedAppCompatibility: (existingProducts: string[], newProduct: string) => string;
|
|
1372
|
+
warnAddedGlobalAppCompatibility: (requiredProduct: "jira" | "confluence") => string;
|
|
1339
1373
|
warnUnsupportedFileOperations: (ops: string[]) => string;
|
|
1340
1374
|
warnViteConfigExists: (configPath: string) => string;
|
|
1341
1375
|
errorViteConfigNestedInput: () => 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;
|
|
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
|
@@ -33,10 +33,11 @@ const keytarAccessErrorBase = (message) => `Keytar error detected: ${message}`;
|
|
|
33
33
|
const capitalise = (word) => word.charAt(0).toUpperCase() + word.slice(1);
|
|
34
34
|
exports.capitalise = capitalise;
|
|
35
35
|
const getLintMessage = (line, column, message, level, colourFunction, reference) => `${chalk_1.default.dim(`${line}:${column}`.padEnd(7))} ${colourFunction(level.padEnd(8))} ${message} ${chalk_1.default.dim(reference)}\n`;
|
|
36
|
-
const checkLintTotalPlurals = (numErrors, numWarnings, numFixableErrors, numFixableWarnings) => ({
|
|
36
|
+
const checkLintTotalPlurals = (numErrors, numWarnings, numApprovals, numFixableErrors, numFixableWarnings) => ({
|
|
37
37
|
pluralCheckedErrors: `${numErrors} ${numErrors === 1 ? 'error' : 'errors'}`,
|
|
38
38
|
pluralCheckedWarnings: `${numWarnings} ${numWarnings === 1 ? 'warning' : 'warnings'}`,
|
|
39
|
-
|
|
39
|
+
pluralCheckedApprovals: `${numApprovals} ${numApprovals === 1 ? 'approval' : 'approvals'}`,
|
|
40
|
+
pluralCheckedTotal: `${numErrors + numWarnings + numApprovals} ${numErrors + numWarnings + numApprovals === 1 ? 'issue' : 'issues'}`,
|
|
40
41
|
pluralCheckedFixableErrors: `${numFixableErrors} ${numFixableErrors === 1 ? 'error' : 'errors'}`,
|
|
41
42
|
pluralCheckedFixableWarnings: `${numFixableWarnings} ${numFixableWarnings === 1 ? 'warning' : 'warnings'}`
|
|
42
43
|
});
|
|
@@ -257,7 +258,7 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
257
258
|
success: (appName) => `Created ${appName}`,
|
|
258
259
|
successDetails: (directory, validEnvironmentOptions) => `\nYour app is ready to work on, deploy, and install. We created ${validEnvironmentOptions.length} environments you can deploy to: ${validEnvironmentOptions
|
|
259
260
|
.map(environment_1.environmentToOption)
|
|
260
|
-
.join(', ')}.\n\nChange to directory ${chalk_1.default.bold(directory)} to see your app files
|
|
261
|
+
.join(', ')}.\n\nChange to directory ${chalk_1.default.bold(directory)} to see your app files.\n\n${chalk_1.default.green('Tip: You can add more modules to your app later with')} ${forge('module', 'add')}${chalk_1.default.green('.')} ${chalk_1.default.dim('(module commands are in Preview)')}`
|
|
261
262
|
},
|
|
262
263
|
intro: (givenDirectory) => `Creating an app in directory ${chalk_1.default.bold(givenDirectory)}.\n`,
|
|
263
264
|
introWithCurrentDirectory: (currentDirectory) => `Creating an app in your current directory:\n\n ${chalk_1.default.bold(currentDirectory)}\n`,
|
|
@@ -519,6 +520,7 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
519
520
|
error: {
|
|
520
521
|
noDeployUrl: "Couldn't find deployment URL",
|
|
521
522
|
noPresignedUrls: "Couldn't find presigned URLs",
|
|
523
|
+
noManifestUrl: "Couldn't find manifest URL",
|
|
522
524
|
noUploadId: "Couldn't find uploadId",
|
|
523
525
|
noManifestInZip: (manifestFilename) => `Couldn't find ${manifestFilename} file in the zip archive. Add one.`,
|
|
524
526
|
noManifestAtPath: (path) => `We couldn't find the artifact file ${path}.`,
|
|
@@ -830,13 +832,6 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
830
832
|
invalidBuildTagFormat: 'Invalid build tag; tags are case-insensitive and must start with a letter or number and can only contain alphanumeric characters, underscores, hyphens, and periods.'
|
|
831
833
|
}
|
|
832
834
|
},
|
|
833
|
-
taskLint: {
|
|
834
|
-
lintError: log_color_1.LogColor.error(`Error: The build failed due to errors in the app code. Fix the errors before rerunning ${forge('build')}, or run ${forge('build', '--no-verify')} to skip the linter.\n`),
|
|
835
|
-
lintWarning: (numWarnings) => {
|
|
836
|
-
const { pluralCheckedTotal } = checkLintTotalPlurals(0, numWarnings, 0, 0);
|
|
837
|
-
return log_color_1.LogColor.warn(`${pluralCheckedTotal} found. Run ${forge('lint')} to review the warnings.`);
|
|
838
|
-
}
|
|
839
|
-
},
|
|
840
835
|
list: {
|
|
841
836
|
cmd: {
|
|
842
837
|
desc: 'list builds for your app'
|
|
@@ -852,6 +847,18 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
852
847
|
error: log_color_1.LogColor.error(`Error: Manifest environment variables are not supported for builds. Please remove the environment variables from your manifest.yml before rerunning ${forge('build')}.\n`)
|
|
853
848
|
}
|
|
854
849
|
},
|
|
850
|
+
buildDeploy: {
|
|
851
|
+
inspect: {
|
|
852
|
+
description: 'save application bundle for inspection'
|
|
853
|
+
},
|
|
854
|
+
taskLint: {
|
|
855
|
+
lintError: (cmd) => log_color_1.LogColor.error(`Error: The ${cmd} failed due to errors in the app code. Fix the errors before rerunning ${forge(cmd)}, or run ${forge(cmd, '--no-verify')} to skip the linter.\n`),
|
|
856
|
+
lintWarning: (numWarnings) => {
|
|
857
|
+
const { pluralCheckedTotal } = checkLintTotalPlurals(0, numWarnings, 0, 0, 0);
|
|
858
|
+
return log_color_1.LogColor.warn(`${pluralCheckedTotal} found. Run ${forge('lint')} to review the warnings.`);
|
|
859
|
+
}
|
|
860
|
+
}
|
|
861
|
+
},
|
|
855
862
|
deploy: {
|
|
856
863
|
cmd: {
|
|
857
864
|
desc: 'deploy your app to an environment',
|
|
@@ -864,9 +871,12 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
864
871
|
return `Deploying ${appName}${buildTagText} to ${exports.Text.env.displayEnvironment(envKey, envType)}...`;
|
|
865
872
|
},
|
|
866
873
|
success: 'Deployed\n',
|
|
867
|
-
successDetails: (appName, envKey, envType, buildTag) => {
|
|
874
|
+
successDetails: (appName, envKey, envType, buildTag, numApprovals) => {
|
|
868
875
|
const buildTagText = buildTag ? ` using build with tag ${buildTag}` : '';
|
|
869
|
-
|
|
876
|
+
const approvalsText = numApprovals && numApprovals > 0
|
|
877
|
+
? ` with ${numApprovals} ${numApprovals === 1 ? 'approval' : 'approvals'} acknowledged`
|
|
878
|
+
: '';
|
|
879
|
+
return `Deployed ${appName}${buildTagText} to the ${exports.Text.env.displayEnvironment(envKey, envType)} environment${approvalsText}.`;
|
|
870
880
|
},
|
|
871
881
|
distributePageLink: (appId) => `To install on a site that you're an admin of, run ${forge('install')}.\n` +
|
|
872
882
|
'To install on any other site, generate an installation link in the developer console and share it with the site admin: ' +
|
|
@@ -875,9 +885,15 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
875
885
|
taskLint: {
|
|
876
886
|
lintError: log_color_1.LogColor.error(`Error: The deploy failed due to errors in the app code. Fix the errors before rerunning ${forge('deploy')}, or run ${forge('deploy', '--no-verify')} to skip the linter.\n`),
|
|
877
887
|
lintWarning: (numWarnings) => {
|
|
878
|
-
const { pluralCheckedTotal } = checkLintTotalPlurals(0, numWarnings, 0, 0);
|
|
888
|
+
const { pluralCheckedTotal } = checkLintTotalPlurals(0, numWarnings, 0, 0, 0);
|
|
879
889
|
return log_color_1.LogColor.warn(`${pluralCheckedTotal} found. Run ${forge('lint')} to review the warnings.`);
|
|
880
|
-
}
|
|
890
|
+
},
|
|
891
|
+
lintApproval: (numApprovals, ruleNames) => {
|
|
892
|
+
const { pluralCheckedApprovals } = checkLintTotalPlurals(0, 0, numApprovals, 0, 0);
|
|
893
|
+
const rulesArg = ruleNames && ruleNames.length > 0 ? ruleNames.join(' ') : '[ruleName]';
|
|
894
|
+
return log_color_1.LogColor.approval(`The deploy failed due to ${pluralCheckedApprovals} requested. Run ${forge('deploy', `--approve ${rulesArg}`)} to acknowledge and proceed.\n`);
|
|
895
|
+
},
|
|
896
|
+
lintErrorsWithApprovals: log_color_1.LogColor.error(`Fix the error above before approving deployment rules.\n`)
|
|
881
897
|
},
|
|
882
898
|
hasNoAppInstallationsForEnv: {
|
|
883
899
|
hasNoAppInstallationsForEnvError: log_color_1.LogColor.error(`Error: The deployment failed due to errors while trying to determine if the app has any installations for the deployed environment.`)
|
|
@@ -897,6 +913,9 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
897
913
|
skipRollout: {
|
|
898
914
|
description: 'Skip rolling release rollout after deployment'
|
|
899
915
|
},
|
|
916
|
+
approveRule: {
|
|
917
|
+
description: 'list of validation rules to approve'
|
|
918
|
+
},
|
|
900
919
|
connectKeyChange: {
|
|
901
920
|
continueChange: `Do you wish to continue with changing the Connect key?`,
|
|
902
921
|
continueDelete: `Do you wish to continue with deleting the Connect key?`,
|
|
@@ -913,6 +932,7 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
913
932
|
taskPackage: {
|
|
914
933
|
title: 'Packaging app files',
|
|
915
934
|
packageBundledFiles: 'Packaging bundled files',
|
|
935
|
+
inspectOutputPath: (inspectDirectory) => `Application bundle has been copied to ${chalk_1.default.bold(inspectDirectory)} for inspection`,
|
|
916
936
|
packageFile: (fileName, filePath) => `File added to archive: ${fileName || '.'}${filePath ? `, from ${filePath}` : ''}`,
|
|
917
937
|
archiveCreated: (archivePath) => `Archive created: ${archivePath}`,
|
|
918
938
|
invalidArchivePath: (fileName) => `Invalid archive path "${fileName}"`
|
|
@@ -1001,7 +1021,16 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
1001
1021
|
installationLimitWarning: 'Warning: Site exceeds recommended app limit\n' +
|
|
1002
1022
|
'This site has more than 100 apps installed. Exceeding this limit may cause future installations to fail.',
|
|
1003
1023
|
success: {
|
|
1004
|
-
banner: (envKey, envType, product, site) => `Your app in the ${exports.Text.env.displayEnvironment(envKey, envType)} environment is now installed in ${product} on ${buildTerminalLink(site)}. You can install the app into other Atlassian apps by running the ${chalk_1.default.bold('forge install')} command again
|
|
1024
|
+
banner: (envKey, envType, product, site) => `Your app in the ${exports.Text.env.displayEnvironment(envKey, envType)} environment is now installed in ${product} on ${buildTerminalLink(site)}. You can install the app into other Atlassian apps by running the ${chalk_1.default.bold('forge install')} command again.`,
|
|
1025
|
+
deeplinks: (links) => {
|
|
1026
|
+
if (links.length === 1) {
|
|
1027
|
+
return `\nCheck it out here: ${buildTerminalLink(links[0].url)}`;
|
|
1028
|
+
}
|
|
1029
|
+
const linkList = links
|
|
1030
|
+
.map((link) => link.label ? `- ${link.label}: ${buildTerminalLink(link.url)}` : `- ${buildTerminalLink(link.url)}`)
|
|
1031
|
+
.join('\n');
|
|
1032
|
+
return `\nCheck them out here:\n${linkList}`;
|
|
1033
|
+
}
|
|
1005
1034
|
},
|
|
1006
1035
|
error: {
|
|
1007
1036
|
activationIdMissing: (url, context) => `Atlassian app is not activated on ${url}. Enable ${context} in your suite or contact your administrator for assistance.`,
|
|
@@ -1288,28 +1317,32 @@ ${buildTerminalLink(link)}\n`,
|
|
|
1288
1317
|
cmd: 'check the source files for common errors',
|
|
1289
1318
|
running: `Running ${forge('lint')}...`,
|
|
1290
1319
|
noProblems: 'No issues found.',
|
|
1320
|
+
approvalRequired: chalk_1.default.cyan(` Approval required, fixable with ${forge('deploy', '--approve <ruleName..>')}.`),
|
|
1291
1321
|
noFixableProblem: chalk_1.default.red(` Issue found is not automatically fixable with ${forge('lint')}.`),
|
|
1292
1322
|
noFixableProblems: chalk_1.default.red(` Issues found are not automatically fixable with ${forge('lint')}.`),
|
|
1293
1323
|
filename: chalk_1.default.underline,
|
|
1324
|
+
errorMissingManifest: `Missing manifest`,
|
|
1325
|
+
errorInvalidManifest: `Invalid manifest`,
|
|
1294
1326
|
linterFailed: (linterClass, failure) => chalk_1.default.yellow(`${chalk_1.default.bold('Warning:')} Could not perform some linting actions for ${chalk_1.default.bold(linterClass)} due to unhandled error "${failure}".\n`),
|
|
1295
1327
|
fixed: (numFixableErrors, numFixableWarnings) => {
|
|
1296
|
-
const { pluralCheckedFixableErrors, pluralCheckedFixableWarnings } = checkLintTotalPlurals(0, 0, numFixableErrors, numFixableWarnings);
|
|
1328
|
+
const { pluralCheckedFixableErrors, pluralCheckedFixableWarnings } = checkLintTotalPlurals(0, 0, 0, numFixableErrors, numFixableWarnings);
|
|
1297
1329
|
return `${greenTick} Fixed ${pluralCheckedFixableErrors} and ${pluralCheckedFixableWarnings}`;
|
|
1298
1330
|
},
|
|
1299
1331
|
fixFollowUp: `Run ${forge('lint')} to review outstanding errors and warnings`,
|
|
1300
1332
|
error: (line, column, message, reference) => getLintMessage(line, column, message, 'error', log_color_1.LogColor.error, reference),
|
|
1301
|
-
summary: (numErrors, numWarnings, numFixableErrors, numFixableWarnings) => {
|
|
1302
|
-
const { pluralCheckedErrors, pluralCheckedWarnings, pluralCheckedTotal } = checkLintTotalPlurals(numErrors, numWarnings, numFixableErrors, numFixableWarnings);
|
|
1303
|
-
const colourFunction = numErrors ? log_color_1.LogColor.error : log_color_1.LogColor.warn;
|
|
1333
|
+
summary: (numErrors, numWarnings, numApprovals, numFixableErrors, numFixableWarnings) => {
|
|
1334
|
+
const { pluralCheckedErrors, pluralCheckedWarnings, pluralCheckedApprovals, pluralCheckedTotal } = checkLintTotalPlurals(numErrors, numWarnings, numApprovals, numFixableErrors, numFixableWarnings);
|
|
1335
|
+
const colourFunction = numErrors ? log_color_1.LogColor.error : numWarnings ? log_color_1.LogColor.warn : log_color_1.LogColor.approval;
|
|
1304
1336
|
const warningCharacter = numErrors ? 'X' : '⚠';
|
|
1305
|
-
return colourFunction(`${warningCharacter} ${pluralCheckedTotal} (${pluralCheckedErrors}, ${pluralCheckedWarnings})`);
|
|
1337
|
+
return colourFunction(`${warningCharacter} ${pluralCheckedTotal} (${pluralCheckedErrors}, ${pluralCheckedWarnings}, ${pluralCheckedApprovals})`);
|
|
1306
1338
|
},
|
|
1307
1339
|
fixSummary: (numErrors, numFixableErrors, numFixableWarnings) => {
|
|
1308
|
-
const { pluralCheckedFixableErrors, pluralCheckedFixableWarnings } = checkLintTotalPlurals(0, 0, numFixableErrors, numFixableWarnings);
|
|
1340
|
+
const { pluralCheckedFixableErrors, pluralCheckedFixableWarnings } = checkLintTotalPlurals(0, 0, 0, numFixableErrors, numFixableWarnings);
|
|
1309
1341
|
const colourFunction = numErrors ? log_color_1.LogColor.error : log_color_1.LogColor.warn;
|
|
1310
1342
|
return colourFunction(` Run ${forge('lint', '--fix')} to automatically fix ${pluralCheckedFixableErrors} and ${pluralCheckedFixableWarnings}.\n`);
|
|
1311
1343
|
},
|
|
1312
|
-
warning: (line, column, message, reference) => getLintMessage(line, column, message, 'warning', log_color_1.LogColor.warn, reference)
|
|
1344
|
+
warning: (line, column, message, reference) => getLintMessage(line, column, message, 'warning', log_color_1.LogColor.warn, reference),
|
|
1345
|
+
approval: (line, column, message, reference) => getLintMessage(line, column, message, 'approval', log_color_1.LogColor.approval, reference)
|
|
1313
1346
|
},
|
|
1314
1347
|
repositories: {
|
|
1315
1348
|
cmd: {
|
|
@@ -1358,7 +1391,9 @@ ${buildTerminalLink(link)}\n`,
|
|
|
1358
1391
|
creatingNewContainer: (key) => `Creating new container with key '${key}'.`,
|
|
1359
1392
|
start: 'Creating container...',
|
|
1360
1393
|
success: 'Container created.',
|
|
1361
|
-
createdRepositoryURI: (uri) => `New repository URI: ${uri}
|
|
1394
|
+
createdRepositoryURI: (uri) => `New repository URI: ${uri}`,
|
|
1395
|
+
authRequired: (key) => `To push images to the '${key}' repository, you need to authenticate first. ` +
|
|
1396
|
+
'Run `forge containers docker-login` (or `forge containers get-login`) to authenticate, then push your image.'
|
|
1362
1397
|
},
|
|
1363
1398
|
login: {
|
|
1364
1399
|
cmd: {
|
|
@@ -1565,12 +1600,24 @@ When errors occur during Forge command execution, error details will be sent to
|
|
|
1565
1600
|
dynamicTable: {
|
|
1566
1601
|
exiting: 'Exiting...'
|
|
1567
1602
|
},
|
|
1603
|
+
manifest: {
|
|
1604
|
+
cmd: {
|
|
1605
|
+
description: 'manage app manifest'
|
|
1606
|
+
},
|
|
1607
|
+
render: {
|
|
1608
|
+
description: 'render the app manifest after applying environment transformations',
|
|
1609
|
+
optionPlacement: 'placement where the app is deployed, for example a DaRe region or Isolated Cloud ID',
|
|
1610
|
+
errorMissingTransformation: 'Unable to retrieve transformed manifest'
|
|
1611
|
+
}
|
|
1612
|
+
},
|
|
1568
1613
|
module: {
|
|
1569
1614
|
cmd: {
|
|
1570
1615
|
description: '[Preview] Commands for managing modules in your app. ⚠️ These commands may modify your app files (manifest.yml, source files, and package.json).'
|
|
1571
1616
|
},
|
|
1572
1617
|
add: {
|
|
1573
1618
|
description: '[Preview] add a module to your Forge App. ⚠️ This will modify your app files (manifest.yml, source files, and package.json).',
|
|
1619
|
+
spinnerAdding: 'Adding module...',
|
|
1620
|
+
spinnerAdded: 'Module added.',
|
|
1574
1621
|
optionModuleType: 'module type to add (e.g. jira:issuePanel, jiraServiceManagement:portalFooter, confluence:macro, etc.)',
|
|
1575
1622
|
optionUiType: 'UI framework (ui-kit, custom-ui)',
|
|
1576
1623
|
optionProduct: 'target product (Jira, Jira Service Management, Confluence, etc.)',
|
|
@@ -1611,6 +1658,7 @@ When errors occur during Forge command execution, error details will be sent to
|
|
|
1611
1658
|
warnAddedAppCompatibility: (existingProducts, newProduct) => `Adding a "${newProduct}" module to an app that already targets ${existingProducts
|
|
1612
1659
|
.map((p) => `"${p}"`)
|
|
1613
1660
|
.join(', ')}; updated app.compatibility so the app must be installed to "${newProduct}" to see changes.`,
|
|
1661
|
+
warnAddedGlobalAppCompatibility: (requiredProduct) => `Adding a "global" module requires app.compatibility for both "jira" and "confluence"\nUpdated app.compatibility and marked "${requiredProduct}" as required.`,
|
|
1614
1662
|
warnUnsupportedFileOperations: (ops) => `Skipping ${ops.length} unsupported file operation(s): ${ops.join(', ')}. Only "create" operations are supported.`,
|
|
1615
1663
|
warnViteConfigExists: (configPath) => `An existing vite.config.js at ${configPath} could not be merged automatically. Skipping vite config changes; re-run with --force to overwrite.`,
|
|
1616
1664
|
errorViteConfigNestedInput: () => `Cannot safely merge vite.config.js: the existing "input" block contains a nested object. Merging would corrupt the file. Re-run with --force to regenerate the config from scratch, or edit the input map manually.`,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/cli-shared",
|
|
3
|
-
"version": "9.3.
|
|
3
|
+
"version": "9.3.1-next.0",
|
|
4
4
|
"description": "Common functionality for Forge CLI",
|
|
5
5
|
"author": "Atlassian",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
@@ -12,12 +12,12 @@
|
|
|
12
12
|
"generate-graphql-types": "graphql-codegen --config src/graphql/codegen.yml"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@forge/manifest": "13.3.0
|
|
15
|
+
"@forge/manifest": "13.3.0",
|
|
16
16
|
"@forge/util": "3.0.0",
|
|
17
17
|
"@forge/i18n": "1.0.0",
|
|
18
18
|
"@sentry/node": "7.106.0",
|
|
19
19
|
"@vercel/detect-agent": "^1.2.3",
|
|
20
|
-
"adm-zip": "^0.
|
|
20
|
+
"adm-zip": "^0.6.0",
|
|
21
21
|
"archiver": "^8.0.0",
|
|
22
22
|
"array.prototype.flatmap": "^1.3.3",
|
|
23
23
|
"case": "^1.6.3",
|