@forge/cli-shared 8.5.0-next.5 → 8.5.0-next.7
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 +14 -0
- package/out/graphql/graphql-types.d.ts +1065 -286
- package/out/graphql/graphql-types.d.ts.map +1 -1
- package/out/graphql/graphql-types.js +101 -29
- package/out/service/statsig-service.d.ts +2 -1
- package/out/service/statsig-service.d.ts.map +1 -1
- package/out/service/statsig-service.js +3 -0
- package/out/shared/test.d.ts.map +1 -1
- package/out/shared/test.js +1 -2
- package/out/ui/text.d.ts +7 -0
- package/out/ui/text.d.ts.map +1 -1
- package/out/ui/text.js +31 -23
- package/package.json +1 -1
package/out/ui/text.js
CHANGED
|
@@ -12,10 +12,11 @@ const cli_details_1 = require("../shared/cli-details");
|
|
|
12
12
|
const environment_1 = require("../shared/environment");
|
|
13
13
|
const manifest_1 = require("@forge/manifest");
|
|
14
14
|
const ctrlC = 'Press Ctrl+C to cancel.';
|
|
15
|
-
const gettingStartedDACLink = 'https://go.atlassian.com/dac/platform/forge/getting-started/#log-in-with-an-atlassian-api-token';
|
|
16
15
|
const encryptedValue = '****';
|
|
17
16
|
const greenTick = `${chalk_1.default.bold(chalk_1.default.green('✔'))}`;
|
|
18
17
|
const buildTerminalLink = (text) => (0, terminal_link_1.default)(chalk_1.default.bold(text), text, { fallback: () => chalk_1.default.underline.bold(text) });
|
|
18
|
+
const go = (link) => buildTerminalLink(`https://go.atlassian.com/${link}`);
|
|
19
|
+
const gettingStartedDACLink = go('dac/platform/forge/getting-started/#log-in-with-an-atlassian-api-token');
|
|
19
20
|
const command = (...args) => chalk_1.default.bold(args.join(' '));
|
|
20
21
|
const forge = (...args) => command('forge', ...args);
|
|
21
22
|
const autoSpaceSentences = (...sentences) => sentences
|
|
@@ -48,9 +49,11 @@ const platformKeytarRecommendations = () => {
|
|
|
48
49
|
}
|
|
49
50
|
};
|
|
50
51
|
exports.Text = {
|
|
52
|
+
buildTerminalLink,
|
|
53
|
+
go,
|
|
51
54
|
error: {
|
|
52
|
-
noKeytar: autoSpaceSentences(`The CLI couldn't securely store your login credentials in a local keychain.`, platformKeytarRecommendations(), `If a local keychain is not available, use environment variables before trying again. See ${
|
|
53
|
-
noTokenStored: `Not logged in. If a local keychain is available, run ${forge('login')}, otherwise set environment variables before trying again. See ${
|
|
55
|
+
noKeytar: autoSpaceSentences(`The CLI couldn't securely store your login credentials in a local keychain.`, platformKeytarRecommendations(), `If a local keychain is not available, use environment variables before trying again. See ${gettingStartedDACLink} for more.`),
|
|
56
|
+
noTokenStored: `Not logged in. If a local keychain is available, run ${forge('login')}, otherwise set environment variables before trying again. See ${gettingStartedDACLink} for more.`,
|
|
54
57
|
keytarAccessError: {
|
|
55
58
|
other: (message) => keytarAccessErrorBase(message),
|
|
56
59
|
mac: (message) => keytarAccessErrorBase(message) +
|
|
@@ -102,7 +105,7 @@ exports.Text = {
|
|
|
102
105
|
warning: {
|
|
103
106
|
plaintextCredentialsFound: (url) => `Your credentials were stored in plaintext by a previous version of the Forge CLI. For additional security, revoke your existing API token by visting this URL ${buildTerminalLink(url)}.`,
|
|
104
107
|
plaintextCredentialsMigrated: 'The credentials found in plaintext have been migrated to your local keychain.',
|
|
105
|
-
plaintextCredentialsNotMigrated: autoSpaceSentences(`The CLI couldn't securely store your login credentials in a local keychain.`, platformKeytarRecommendations(), `If a local keychain is not available, use environment variables instead. See ${
|
|
108
|
+
plaintextCredentialsNotMigrated: autoSpaceSentences(`The CLI couldn't securely store your login credentials in a local keychain.`, platformKeytarRecommendations(), `If a local keychain is not available, use environment variables instead. See ${gettingStartedDACLink} for more information.`),
|
|
106
109
|
unsupportedNodeVersion: (_userNodeVersion, supportedNodeVersions) => log_color_1.LogColor.warn(`Warning: Forge CLI supports Node.js ${supportedNodeVersions}.` +
|
|
107
110
|
`\nUnsupported Node.js versions are not guaranteed to work correctly.\n`),
|
|
108
111
|
deprecation: {
|
|
@@ -217,9 +220,9 @@ exports.Text = {
|
|
|
217
220
|
action: {
|
|
218
221
|
start: `Help us make Forge even better.
|
|
219
222
|
|
|
220
|
-
For any questions, post them on:
|
|
223
|
+
For any questions, post them on: ${go('developer-community')}
|
|
221
224
|
|
|
222
|
-
To report bugs or issues, go to:
|
|
225
|
+
To report bugs or issues, go to: ${go('forge-project')}
|
|
223
226
|
|
|
224
227
|
What do you like or don't like about Forge? Share your feedback below or press Ctrl+C to cancel.
|
|
225
228
|
`,
|
|
@@ -242,7 +245,7 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
242
245
|
introWithCurrentDirectory: (currentDirectory) => `Creating an app in your current directory:\n\n ${chalk_1.default.bold(currentDirectory)}\n`,
|
|
243
246
|
optionTemplate: 'specify the template to use',
|
|
244
247
|
optionDirectory: 'specify the directory to create (uses the template name by default)',
|
|
245
|
-
optionSpace: 'specify the
|
|
248
|
+
optionSpace: 'specify the Developer Space id to use',
|
|
246
249
|
overviewAppName: `\nName your app. The app name can include dashes, spaces, and underscores.\n`,
|
|
247
250
|
overviewTemplates: '\nStart with a template. Each template contains the required files to be a valid app.\n',
|
|
248
251
|
waitTemplates: 'Getting template list...',
|
|
@@ -282,29 +285,29 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
282
285
|
}
|
|
283
286
|
},
|
|
284
287
|
devSpace: {
|
|
285
|
-
fetching: 'Fetching your
|
|
288
|
+
fetching: 'Fetching your Developer Spaces...',
|
|
286
289
|
documentationLink: 'https://developer.atlassian.com/platform/forge/developer-space/developer-spaces-introduction',
|
|
287
|
-
noSpacesFound: (command, documentationLink) => `You are not currently a member of a Developer Space. You must be a member of a Developer
|
|
290
|
+
noSpacesFound: (command, documentationLink) => `You are not currently a member of a Developer Space. You must be a member of a Developer Space to ${command} an app. Please contact an admin to be added to an existing space or create a new one. To learn more about your Developer Space, go to: ${documentationLink}\n`,
|
|
288
291
|
selectPrompt: 'Select or create a Developer Space:',
|
|
289
292
|
assignmentInfo: 'You are about to assign your app to a Developer Space. Once you assign your app to the selected Developer Space, all usage and billing for the app will be managed through this space.',
|
|
290
293
|
selectionPrompt: (documentationLink) => `Please select the Developer Space you want to assign your app to. To learn more about your Developer Space, go to: ${documentationLink}`,
|
|
291
294
|
createNewOption: 'Create a new Developer Space',
|
|
292
295
|
createContinuePrompt: 'Do you want to continue?',
|
|
293
296
|
createNewSpaceInfo: (documentationLink) => `\nA new Developer Space will now be created for you. To learn more about your Developer Space, go to: \n${documentationLink}`,
|
|
294
|
-
createMessage: '
|
|
297
|
+
createMessage: 'Name your Developer Space. The name must be unique and can include dashes, spaces, and underscores.\n',
|
|
295
298
|
createPrompt: 'Enter a name for your Developer Space:',
|
|
296
299
|
nameRequired: 'Developer Space name is required.',
|
|
297
300
|
createInProgress: 'Creating your Developer Space...',
|
|
298
301
|
contributingToSpace: (name) => `${greenTick} You are contributing to this Developer Space: ${name}.\n`,
|
|
299
302
|
assigningToSpace: (name) => `${greenTick} You are assigning your app to this Developer Space: ${name}.\n`,
|
|
300
303
|
createdAndContributing: (name) => `A Developer Space has been created for you. You are contributing to this Developer Space: ${name}.`,
|
|
301
|
-
invalidSpaceName: (spaceName) => `Developer
|
|
302
|
-
invalidSpaceId: (spaceId) => `Developer
|
|
304
|
+
invalidSpaceName: (spaceName) => `The Developer Space does not exist, or you don't have the correct permissions to access it.`,
|
|
305
|
+
invalidSpaceId: (spaceId) => `Developer Space id is not a valid UUID.`,
|
|
303
306
|
error: {
|
|
304
|
-
fetchOrSelect: (errorMessage) => `Failed to fetch or select
|
|
305
|
-
create: (errorMessage) => `Failed to create
|
|
306
|
-
selectedNotFound: 'Selected
|
|
307
|
-
nameAlreadyExists: chalk_1.default.red('\nError: The name you have entered for your
|
|
307
|
+
fetchOrSelect: (errorMessage) => `Failed to fetch or select Developer Space: ${errorMessage}`,
|
|
308
|
+
create: (errorMessage) => `Failed to create Developer Space: ${errorMessage}`,
|
|
309
|
+
selectedNotFound: 'Selected Developer Space not found',
|
|
310
|
+
nameAlreadyExists: chalk_1.default.red('\nError: The name you have entered for your Developer Space is already in use. Please choose a different name to ensure it is unique.')
|
|
308
311
|
},
|
|
309
312
|
terms: {
|
|
310
313
|
agreement: 'Please review the following agreement before continuing:\n',
|
|
@@ -824,10 +827,10 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
824
827
|
mpacAppConnectKeyChangeAnalyticsError: 'Cannot change app.connect.key for an app with an Atlassian Marketplace listing.',
|
|
825
828
|
mpacAppConnectKeyChangeError: (mpacAppKey, connectKey) => log_color_1.LogColor.error(`Cannot change the app.connect.key from \'${mpacAppKey}\' to \'${connectKey}\'. The app's Connect key must match the Atlassian Marketplace key.\n`),
|
|
826
829
|
connectKeyChangeWarning: (environment, migrationKey, connectKey) => `WARNING: Changing the app.connect.key in ${(0, environment_1.environmentToOption)(environment)} from \'${migrationKey}\' to \'${connectKey}\' affects features using the Connect key as an identifier. ` +
|
|
827
|
-
`\nLearn more about the impact of this change at
|
|
830
|
+
`\nLearn more about the impact of this change at ${go('forge-connect-key-changes')}.\n`,
|
|
828
831
|
connectKeyDeleteWarning: (environment) => `WARNING: You're about to delete the app.connect.key of the app in ${(0, environment_1.environmentToOption)(environment)}. ` +
|
|
829
832
|
`\nIf you proceed, non-Forge Connect installations using the Connect key will no longer be replaced by future Forge installations of the app, and will co-exist. ` +
|
|
830
|
-
`\nLearn more at
|
|
833
|
+
`\nLearn more at ${go('forge-connect-key-deletion')}.\n`,
|
|
831
834
|
connectKeyMutationInProductionError: (migrationKey, connectKey) => log_color_1.LogColor.error(`Cannot change the app.connect.key from \'${migrationKey}\' to \'${connectKey}\'. The app's Connect key cannot be mutated in production after deployment.\n`),
|
|
832
835
|
connectKeyMutationInProductionAnalyticsError: 'Cannot mutate app.connect.key for an app in production.'
|
|
833
836
|
},
|
|
@@ -851,8 +854,8 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
851
854
|
},
|
|
852
855
|
outdatedInstallations: `We've detected new scopes or egress URLs in your app.\n` +
|
|
853
856
|
`Run ${forge('install', '--upgrade')} and restart your tunnel to put them into effect.`,
|
|
854
|
-
postDeploymentRoaEligibilityFailure: (appVersion, envKey, envType) => `${log_symbols_1.default.info} The version of your app [${appVersion}] that was just deployed to [${exports.Text.env.displayEnvironment(envKey, envType)}] is not eligible for the Runs on Atlassian program. Run ${forge('eligibility')} to know more.\n\nTo know more about Runs on Atlassian, go to
|
|
855
|
-
postDeploymentRoaEligibilitySuccess: (appVersion, envKey, envType) => `${log_symbols_1.default.info} The version of your app [${appVersion}] that was just deployed to [${exports.Text.env.displayEnvironment(envKey, envType)}] is eligible for the Runs on Atlassian program.\n\nTo know more about Runs on Atlassian, go to
|
|
857
|
+
postDeploymentRoaEligibilityFailure: (appVersion, envKey, envType) => `${log_symbols_1.default.info} The version of your app [${appVersion}] that was just deployed to [${exports.Text.env.displayEnvironment(envKey, envType)}] is not eligible for the Runs on Atlassian program. Run ${forge('eligibility')} to know more.\n\nTo know more about Runs on Atlassian, go to ${go('runs-on-atlassian')}.`,
|
|
858
|
+
postDeploymentRoaEligibilitySuccess: (appVersion, envKey, envType) => `${log_symbols_1.default.info} The version of your app [${appVersion}] that was just deployed to [${exports.Text.env.displayEnvironment(envKey, envType)}] is eligible for the Runs on Atlassian program.\n\nTo know more about Runs on Atlassian, go to ${go('runs-on-atlassian')}.`,
|
|
856
859
|
listIndexes: (environment) => `Run ${forge('storage', 'entities', 'indexes', 'list', '-e', (0, environment_1.environmentToOption)(environment))} to check the status of the indexes.`,
|
|
857
860
|
reindexingInProgress: {
|
|
858
861
|
continueDeployment: 'Reindexing is currently in progress. Are you sure you want to deploy?',
|
|
@@ -885,12 +888,14 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
885
888
|
bannerSite: `\nInstalling your app onto an Atlassian site.\n${ctrlC}\n`,
|
|
886
889
|
bannerWorkspace: `\nInstalling your app onto the selected workspace.\n${ctrlC}\n`,
|
|
887
890
|
devAppInstallWarning: `${chalk_1.default.bold('WARNING:')} You are about to install a development app to a production site. If you do not intend to test your app, we strongly recommend that you deploy your app to production and install the production version instead.`,
|
|
891
|
+
majorVersionIsNotLatest: (versionToInstall) => `WARNING: You are about to install a previous version of the app. (${versionToInstall})`,
|
|
888
892
|
devAppInstallConfirm: `Are you sure you want to proceed?`,
|
|
889
893
|
optionConfirmScopes: 'skip confirmation of scopes for the app before installing or upgrading the app',
|
|
890
894
|
optionUpgrade: 'upgrade an existing installation',
|
|
891
895
|
optionLicense: 'specify the license value for the app (allowed values: active, standard, advanced, inactive, and trial)',
|
|
892
896
|
optionLicenseModes: 'specify the list of license mode value for the app (allowed values: user-access)',
|
|
893
897
|
optionUsersWithAccess: 'specify the list of Atlassian Account IDs(aaid) for users who have access to the app',
|
|
898
|
+
optionMajorVersion: 'specify the major version to install',
|
|
894
899
|
listScopes: (scopes) => `Your app will be installed with the following scopes:\n${scopes
|
|
895
900
|
.map(({ name, requiresInteractiveConsent }) => `- ${name}${requiresInteractiveConsent ? ' (requires user consent)' : ''}`)
|
|
896
901
|
.join('\n')}\n`,
|
|
@@ -917,13 +922,16 @@ What do you like or don't like about Forge? Share your feedback below or press C
|
|
|
917
922
|
url: (url) => `Site URL is invalid: ${url}`,
|
|
918
923
|
site: (url) => `Site is invalid: ${url}`,
|
|
919
924
|
alreadyInstalledError: `Installation error: App is already installed.\nIf you're trying to upgrade your app, use the ${forge('install', '--upgrade')} command.`,
|
|
925
|
+
alreadyInstalledErrorWithMajorVersion: (envKey, envType) => `The app in the ${exports.Text.env.displayEnvironment(envKey, envType)} environment is already installed on this site. Uninstall the app before trying again.`,
|
|
920
926
|
serverSideInstallationError: (message) => `Installation error: ${message}`,
|
|
921
927
|
noDeploymentFound: (environment) => `Forge apps must be deployed before installation. Deploy your app by running ${forge('deploy', '-e', (0, environment_1.environmentToOption)(environment))}.`,
|
|
922
928
|
permissionsDeniedInstructions: (requestId, appId) => `Insufficient permissions to install app (requestId: ${requestId})` +
|
|
923
929
|
'\n\nTo install the app on this site, generate an installation link ' +
|
|
924
930
|
'in the developer console and share it with the site admin: ' +
|
|
925
931
|
`https://developer.atlassian.com/console/myapps/${appId}/distribution`,
|
|
926
|
-
appendRequestIdToErrorMessage: (message, requestId) => `${message} For more help on this issue, please reach out to support ${buildTerminalLink('
|
|
932
|
+
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}`,
|
|
933
|
+
majorVersionNotFound: 'The major version you specified does not exist. Check the version number and try again.',
|
|
934
|
+
majorVersionAndUpgrade: 'Cannot use the major version flag with the upgrade flag'
|
|
927
935
|
},
|
|
928
936
|
failedAll: (site, environment) => `Your app in ${(0, environment_1.environmentToOption)(environment)} was not installed to any contexts on ${chalk_1.default.bold(site)}.`,
|
|
929
937
|
security: {
|
|
@@ -956,7 +964,7 @@ ${buildTerminalLink(link)}\n`,
|
|
|
956
964
|
harmonization: {
|
|
957
965
|
installation: {
|
|
958
966
|
errors: {
|
|
959
|
-
concurrentSync: `Install has failed due to a background syncing clash. Try installing your app again in 10 minutes. If you see this error again, raise a thread at ${
|
|
967
|
+
concurrentSync: `Install has failed due to a background syncing clash. Try installing your app again in 10 minutes. If you see this error again, raise a thread at ${go('cdac-connect-forge')}.`,
|
|
960
968
|
placeholderMacroCollision: 'Confluence macro key is already used by another app. Macro keys must be globally unique. Prefixing with your app.key name ensures compatibility with other apps.',
|
|
961
969
|
placeholderFailedDescriptorValidation: 'One or more connectModules are defined incorrectly in your manifest.yml. Check the module definitions and deploy before trying again.'
|
|
962
970
|
}
|
|
@@ -1024,7 +1032,7 @@ ${buildTerminalLink(link)}\n`,
|
|
|
1024
1032
|
fileServed: (filename, resourceKey) => `Serving file ${filename} for resource ${resourceKey}`,
|
|
1025
1033
|
fileProxied: (filename, resourceKey, tunnelPort) => `Received proxy request. ${exports.Text.tunnel.customUI.fileServed(filename, resourceKey)} from specified address http://localhost:${tunnelPort}`,
|
|
1026
1034
|
warning: {
|
|
1027
|
-
cspViolation: (localUrl, violation) => `CSP violation detected for '${violation}' while serving content at ${localUrl}\nFor an app to share data with external resources or use custom CSP, follow the steps in:
|
|
1035
|
+
cspViolation: (localUrl, violation) => `CSP violation detected for '${violation}' while serving content at ${localUrl}\nFor an app to share data with external resources or use custom CSP, follow the steps in: ${go('forge-content-security-and-egress-controls')}\n`
|
|
1028
1036
|
}
|
|
1029
1037
|
},
|
|
1030
1038
|
container: {
|