@forge/cli-shared
9.2.0-next.3-experimental-09496169.2.0-next.9
~
Modified (19 files)
Index: package/out/ari/ari.js
===================================================================
--- package/out/ari/ari.js
+++ package/out/ari/ari.js
@@ -1,7 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
-exports.createWorkspaceAriByProduct = exports.UnknownInstallationWithoutResourceIdError = exports.UnknownWorkspaceWithoutResourceIdError = exports.UnknownSiteWithoutResourceIdError = exports.BITBUCKET_RESOURCE_OWNER = exports.TRELLO_RESOURCE_OWNER = exports.INSTALLATION_RESOURCE_TYPE = exports.WORKSPACE_RESOURCE_TYPE = exports.SITE_RESOURCE_TYPE = void 0;
+exports.createWorkspaceAriByProduct = exports.UnknownInstallationWithoutResourceIdError = exports.UnknownWorkspaceWithoutResourceIdError = exports.UnknownSiteWithoutResourceIdError = exports.BITBUCKET_RESOURCE_OWNER = exports.TRELLO_RESOURCE_OWNER = exports.INSTALLATION_RESOURCE_TYPE = exports.WORKSPACE_USER_RESOURCE_TYPE = exports.WORKSPACE_RESOURCE_TYPE = exports.SITE_RESOURCE_TYPE = void 0;
exports.appIdToAriString = appIdToAriString;
exports.buildContextAri = buildContextAri;
exports.buildExtensionAri = buildExtensionAri;
exports.encodeContext = encodeContext;
@@ -10,8 +10,9 @@
const shared_1 = require("../shared");
const ui_1 = require("../ui");
exports.SITE_RESOURCE_TYPE = 'site';
exports.WORKSPACE_RESOURCE_TYPE = 'workspace';
+exports.WORKSPACE_USER_RESOURCE_TYPE = 'workspace-user';
exports.INSTALLATION_RESOURCE_TYPE = 'installation';
exports.TRELLO_RESOURCE_OWNER = 'trello';
exports.BITBUCKET_RESOURCE_OWNER = 'bitbucket';
function appIdToAriString(appId) {
@@ -70,8 +71,14 @@
if (!context.resourceId) {
throw new UnknownInstallationWithoutResourceIdError();
}
break;
+ case exports.WORKSPACE_USER_RESOURCE_TYPE:
+ const [activationId, userId] = (context.resourceId ?? '')?.split('/');
+ if (!(activationId && userId)) {
+ throw new UnknownWorkspaceWithoutResourceIdError();
+ }
+ break;
default:
throw new Error('Unknown resource type');
}
return context;
@@ -79,6 +86,6 @@
exports.createWorkspaceAriByProduct = {
jira: (siteId, activationId) => ari_1.JiraWorkspaceAri.create({ siteId, activationId }),
confluence: (siteId, activationId) => ari_1.ConfluenceWorkspaceAri.create({ siteId, activationId }),
compass: (siteId, workspaceId) => ari_1.CompassWorkspaceAri.create({ siteId, workspaceId }),
- graph: (_siteId, activationId) => ari_1.GraphWorkspaceAri.create({ workspaceId: activationId })
+ graph: (_siteId, workspaceId) => ari_1.GraphWorkspaceAri.create({ workspaceId })
}; Index: package/out/apps/create-an-app.js
===================================================================
--- package/out/apps/create-an-app.js
+++ package/out/apps/create-an-app.js
@@ -18,11 +18,17 @@
this.registerAppCommand = registerAppCommand;
this.packageInstaller = packageInstaller;
this.statsig = statsig;
}
- async execute({ name, description, template, directory, requiredProduct, installationTarget, developerSpaceId, billingConsent }) {
+ async execute({ name, description, template, directory, requiredProduct, installationTarget, developerSpaceId, billingConsent, appFeatures }) {
await this.templater.downloadAndExtract(template, directory);
- const result = await this.registerAppCommand.registerApp({ name, description, developerSpaceId, billingConsent }, directory, {
+ const result = await this.registerAppCommand.registerApp({
+ name,
+ description,
+ developerSpaceId,
+ billingConsent,
+ ...(appFeatures && { appFeatures })
+ }, directory, {
shouldPrependAppName: true,
requiredProduct,
installationTarget
}); File too large for inline diff
Index: package/out/ui/log-color.js
===================================================================
--- package/out/ui/log-color.js
+++ package/out/ui/log-color.js
@@ -7,9 +7,8 @@
trace: (message) => chalk_1.default.dim(message),
debug: (message) => chalk_1.default.gray(message),
warn: (message) => chalk_1.default.yellow(message),
error: (message) => chalk_1.default.red(message),
- approval: (message) => chalk_1.default.cyan(message),
errorPrefix: chalk_1.default.red.bold('Error: ')
};
const withPadding = (input) => input.padEnd(7);
exports.RuntimeLogLevel = { Index: package/out/ui/text.js
===================================================================
--- package/out/ui/text.js
+++ package/out/ui/text.js
@@ -2,18 +2,18 @@
Object.defineProperty(exports, "__esModule", { value: true });
exports.Text = exports.capitalise = void 0;
exports.itemList = itemList;
const tslib_1 = require("tslib");
+const manifest_1 = require("@forge/manifest");
+const case_1 = require("case");
const chalk_1 = tslib_1.__importDefault(require("chalk"));
const terminal_link_1 = tslib_1.__importDefault(require("terminal-link"));
-const case_1 = require("case");
-const log_symbols_1 = tslib_1.__importDefault(require("./log-symbols"));
-const log_color_1 = require("./log-color");
const graphql_types_1 = require("../graphql/graphql-types");
const cli_details_1 = require("../shared/cli-details");
const environment_1 = require("../shared/environment");
-const manifest_1 = require("@forge/manifest");
const installations_1 = require("../shared/installations");
+const log_color_1 = require("./log-color");
+const log_symbols_1 = tslib_1.__importDefault(require("./log-symbols"));
const ctrlC = 'Press Ctrl+C to cancel.';
const encryptedValue = '****';
const greenTick = `${chalk_1.default.bold(chalk_1.default.green('✔'))}`;
const buildTerminalLink = (text) => (0, terminal_link_1.default)(chalk_1.default.bold(text), text, { fallback: () => chalk_1.default.underline.bold(text) });
@@ -32,13 +32,12 @@
const keytarAccessErrorBase = (message) => `Keytar error detected: ${message}`;
const capitalise = (word) => word.charAt(0).toUpperCase() + word.slice(1);
exports.capitalise = capitalise;
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`;
-const checkLintTotalPlurals = (numErrors, numWarnings, numApprovals, numFixableErrors, numFixableWarnings) => ({
+const checkLintTotalPlurals = (numErrors, numWarnings, numFixableErrors, numFixableWarnings) => ({
pluralCheckedErrors: `${numErrors} ${numErrors === 1 ? 'error' : 'errors'}`,
pluralCheckedWarnings: `${numWarnings} ${numWarnings === 1 ? 'warning' : 'warnings'}`,
- pluralCheckedApprovals: `${numApprovals} ${numApprovals === 1 ? 'approval' : 'approvals'}`,
- pluralCheckedTotal: `${numErrors + numWarnings + numApprovals} ${numErrors + numWarnings + numApprovals === 1 ? 'issue' : 'issues'}`,
+ pluralCheckedTotal: `${numErrors + numWarnings} ${numErrors + numWarnings === 1 ? 'issue' : 'issues'}`,
pluralCheckedFixableErrors: `${numFixableErrors} ${numFixableErrors === 1 ? 'error' : 'errors'}`,
pluralCheckedFixableWarnings: `${numFixableWarnings} ${numFixableWarnings === 1 ? 'warning' : 'warnings'}`
});
const platformKeytarRecommendations = () => {
@@ -253,8 +252,9 @@
create: {
cmd: {
desc: 'create an app',
start: 'Creating app...',
+ startPersonal: 'Creating personal app...',
success: (appName) => `Created ${appName}`,
successDetails: (directory, validEnvironmentOptions) => `\nYour app is ready to work on, deploy, and install. We created ${validEnvironmentOptions.length} environments you can deploy to: ${validEnvironmentOptions
.map(environment_1.environmentToOption)
.join(', ')}.\n\nChange to directory ${chalk_1.default.bold(directory)} to see your app files.`
@@ -264,8 +264,9 @@
optionTemplate: 'specify the template to use',
optionDirectory: 'specify the directory to create (uses the template name by default)',
optionSpace: 'specify the Developer Space id to use',
optionAcceptTerms: 'automatically accept terms and conditions in non-interactive mode',
+ optionPersonal: 'register as a personal app',
overviewAppName: `\nName your app. The app name can include dashes, spaces, and underscores.\n`,
overviewTemplates: '\nStart with a template. Each template contains the required files to be a valid app.\n',
waitTemplates: 'Getting template list...',
promptName: 'Enter a name for your app:',
@@ -367,8 +368,9 @@
register: {
intro: 'Registering the app to you.',
cmd: {
desc: "register an app you didn't create so you can run commands for it",
+ startPersonal: `Registering personal app..`,
start: `Registering app...`,
success: (appName) => `Registered ${appName}`,
successDetails: (validEnvironmentOptions) => `\nYour app is ready to work on, deploy, and install. We created ${validEnvironmentOptions.length} environments you can deploy to: ${validEnvironmentOptions
.map(environment_1.environmentToOption)
@@ -515,9 +517,8 @@
artifact: {
error: {
noDeployUrl: "Couldn't find deployment URL",
noPresignedUrls: "Couldn't find presigned URLs",
- noManifestUrl: "Couldn't find manifest URL",
noUploadId: "Couldn't find uploadId",
noManifestInZip: (manifestFilename) => `Couldn't find ${manifestFilename} file in the zip archive. Add one.`,
noManifestAtPath: (path) => `We couldn't find the artifact file ${path}.`,
empty: 'The provided artifact file was empty.',
@@ -830,14 +831,10 @@
},
taskLint: {
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`),
lintWarning: (numWarnings) => {
- const { pluralCheckedTotal } = checkLintTotalPlurals(0, numWarnings, 0, 0, 0);
+ const { pluralCheckedTotal } = checkLintTotalPlurals(0, numWarnings, 0, 0);
return log_color_1.LogColor.warn(`${pluralCheckedTotal} found. Run ${forge('lint')} to review the warnings.`);
- },
- lintApproval: (numApprovals) => {
- const { pluralCheckedApprovals } = checkLintTotalPlurals(0, 0, numApprovals, 0, 0);
- return log_color_1.LogColor.approval(`The deploy failed due to ${pluralCheckedApprovals} requested. Approve the rule by running ${forge('deploy', '--approve=[ruleName]')}\n`);
}
},
list: {
cmd: {
@@ -865,31 +862,22 @@
const buildTagText = buildTag ? ` using build with tag ${buildTag}` : '';
return `Deploying ${appName}${buildTagText} to ${exports.Text.env.displayEnvironment(envKey, envType)}...`;
},
success: 'Deployed\n',
- successDetails: (appName, envKey, envType, buildTag, numApprovals) => {
+ successDetails: (appName, envKey, envType, buildTag) => {
const buildTagText = buildTag ? ` using build with tag ${buildTag}` : '';
- const approvalsText = numApprovals && numApprovals > 0
- ? ` with ${numApprovals} ${numApprovals === 1 ? 'approval' : 'approvals'} acknowledged`
- : '';
- return `Deployed ${appName}${buildTagText} to the ${exports.Text.env.displayEnvironment(envKey, envType)} environment${approvalsText}.`;
+ return `Deployed ${appName}${buildTagText} to the ${exports.Text.env.displayEnvironment(envKey, envType)} environment.`;
},
distributePageLink: (appId) => `To install on a site that you're an admin of, run ${forge('install')}.\n` +
'To install on any other site, generate an installation link in the developer console and share it with the site admin: ' +
`https://developer.atlassian.com/console/myapps/${appId}/manage/distribution`
},
taskLint: {
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`),
lintWarning: (numWarnings) => {
- const { pluralCheckedTotal } = checkLintTotalPlurals(0, numWarnings, 0, 0, 0);
+ const { pluralCheckedTotal } = checkLintTotalPlurals(0, numWarnings, 0, 0);
return log_color_1.LogColor.warn(`${pluralCheckedTotal} found. Run ${forge('lint')} to review the warnings.`);
- },
- lintApproval: (numApprovals, ruleNames) => {
- const { pluralCheckedApprovals } = checkLintTotalPlurals(0, 0, numApprovals, 0, 0);
- const rulesArg = ruleNames && ruleNames.length > 0 ? ruleNames.join(' ') : '[ruleName]';
- return log_color_1.LogColor.approval(`The deploy failed due to ${pluralCheckedApprovals} requested. Run ${forge('deploy', `--approve ${rulesArg}`)} to acknowledge and proceed.\n`);
- },
- lintErrorsWithApprovals: log_color_1.LogColor.error(`Fix the error above before approving deployment rules.\n`)
+ }
},
hasNoAppInstallationsForEnv: {
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.`)
},
@@ -907,11 +895,8 @@
},
skipRollout: {
description: 'Skip rolling release rollout after deployment'
},
- approveRule: {
- description: 'list of validation rules to approve'
- },
connectKeyChange: {
continueChange: `Do you wish to continue with changing the Connect key?`,
continueDelete: `Do you wish to continue with deleting the Connect key?`,
mpacAppConnectKeyChangeAnalyticsError: 'Cannot change app.connect.key for an app with an Atlassian Marketplace listing.',
@@ -926,9 +911,9 @@
},
taskPackage: {
title: 'Packaging app files',
packageBundledFiles: 'Packaging bundled files',
- packageFile: (fileName, filePath) => `File added to archive: ${filePath}` + fileName ? `, from ${fileName}` : '',
+ packageFile: (fileName, filePath) => `File added to archive: ${fileName || '.'}${filePath ? `, from ${filePath}` : ''}`,
archiveCreated: (archivePath) => `Archive created: ${archivePath}`
},
taskUpload: {
title: 'Uploading app',
@@ -1033,9 +1018,10 @@
'in the developer console and share it with the site admin: ' +
`https://developer.atlassian.com/console/myapps/${appId}/distribution`,
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}`,
majorVersionNotFound: 'The major version you specified does not exist. Check the version number and try again.',
- installationLimitReached: 'Installation error: The target site already has the maximum number of apps installed. To install this app there, uninstall any unused apps first.'
+ installationLimitReached: 'Installation error: The target site already has the maximum number of apps installed. To install this app there, uninstall any unused apps first.',
+ tooManyRequests: 'Too many requests'
},
debug: {
ccpEntitlementQueryFailed: `Non-essential request failed. Continuing installation.`
},
@@ -1297,34 +1283,30 @@
blurb: "The linter checks the app code for known errors. Warnings are issues you should fix, but they won't stop the app code from building.\nPress Ctrl+C to cancel.\n",
cmd: 'check the source files for common errors',
running: `Running ${forge('lint')}...`,
noProblems: 'No issues found.',
- approvalRequired: chalk_1.default.cyan(` Approval required, fixable with ${forge('deploy', '--approve=[ruleName]')}.`),
noFixableProblem: chalk_1.default.red(` Issue found is not automatically fixable with ${forge('lint')}.`),
noFixableProblems: chalk_1.default.red(` Issues found are not automatically fixable with ${forge('lint')}.`),
filename: chalk_1.default.underline,
- errorMissingManifest: `Missing manifest`,
- errorInvalidManifest: `Invalid manifest`,
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`),
fixed: (numFixableErrors, numFixableWarnings) => {
- const { pluralCheckedFixableErrors, pluralCheckedFixableWarnings } = checkLintTotalPlurals(0, 0, 0, numFixableErrors, numFixableWarnings);
+ const { pluralCheckedFixableErrors, pluralCheckedFixableWarnings } = checkLintTotalPlurals(0, 0, numFixableErrors, numFixableWarnings);
return `${greenTick} Fixed ${pluralCheckedFixableErrors} and ${pluralCheckedFixableWarnings}`;
},
fixFollowUp: `Run ${forge('lint')} to review outstanding errors and warnings`,
error: (line, column, message, reference) => getLintMessage(line, column, message, 'error', log_color_1.LogColor.error, reference),
- summary: (numErrors, numWarnings, numApprovals, numFixableErrors, numFixableWarnings) => {
- const { pluralCheckedErrors, pluralCheckedWarnings, pluralCheckedApprovals, pluralCheckedTotal } = checkLintTotalPlurals(numErrors, numWarnings, numApprovals, numFixableErrors, numFixableWarnings);
- const colourFunction = numErrors ? log_color_1.LogColor.error : numWarnings ? log_color_1.LogColor.warn : log_color_1.LogColor.approval;
+ summary: (numErrors, numWarnings, numFixableErrors, numFixableWarnings) => {
+ const { pluralCheckedErrors, pluralCheckedWarnings, pluralCheckedTotal } = checkLintTotalPlurals(numErrors, numWarnings, numFixableErrors, numFixableWarnings);
+ const colourFunction = numErrors ? log_color_1.LogColor.error : log_color_1.LogColor.warn;
const warningCharacter = numErrors ? 'X' : '⚠';
- return colourFunction(`${warningCharacter} ${pluralCheckedTotal} (${pluralCheckedErrors}, ${pluralCheckedWarnings}, ${pluralCheckedApprovals})`);
+ return colourFunction(`${warningCharacter} ${pluralCheckedTotal} (${pluralCheckedErrors}, ${pluralCheckedWarnings})`);
},
fixSummary: (numErrors, numFixableErrors, numFixableWarnings) => {
- const { pluralCheckedFixableErrors, pluralCheckedFixableWarnings } = checkLintTotalPlurals(0, 0, 0, numFixableErrors, numFixableWarnings);
+ const { pluralCheckedFixableErrors, pluralCheckedFixableWarnings } = checkLintTotalPlurals(0, 0, numFixableErrors, numFixableWarnings);
const colourFunction = numErrors ? log_color_1.LogColor.error : log_color_1.LogColor.warn;
return colourFunction(` Run ${forge('lint', '--fix')} to automatically fix ${pluralCheckedFixableErrors} and ${pluralCheckedFixableWarnings}.\n`);
},
- warning: (line, column, message, reference) => getLintMessage(line, column, message, 'warning', log_color_1.LogColor.warn, reference),
- approval: (line, column, message, reference) => getLintMessage(line, column, message, 'approval', log_color_1.LogColor.approval, reference)
+ warning: (line, column, message, reference) => getLintMessage(line, column, message, 'warning', log_color_1.LogColor.warn, reference)
},
repositories: {
cmd: {
desc: 'view repositories and repository images' Index: package/package.json
===================================================================
--- package/package.json
+++ package/package.json
@@ -1,7 +1,7 @@
{
"name": "@forge/cli-shared",
- "version": "9.2.0-next.3-experimental-0949616",
+ "version": "9.2.0-next.9",
"description": "Common functionality for Forge CLI",
"author": "Atlassian",
"license": "SEE LICENSE IN LICENSE.txt",
"main": "out/index.js",
@@ -11,9 +11,9 @@
"compile": "tsc -b -v",
"generate-graphql-types": "graphql-codegen --config src/graphql/codegen.yml"
},
"dependencies": {
- "@forge/manifest": "13.1.1-next.2-experimental-0949616",
+ "@forge/manifest": "13.2.0-next.5",
"@forge/util": "3.0.0",
"@forge/i18n": "1.0.0",
"@sentry/node": "7.106.0",
"@vercel/detect-agent": "^1.2.3", Index: package/out/ari/ari.d.ts.map
===================================================================
--- package/out/ari/ari.d.ts.map
+++ package/out/ari/ari.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"ari.d.ts","sourceRoot":"","sources":["../../src/ari/ari.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EACH,MAAM,EACN,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAIlC,eAAO,MAAM,kBAAkB,SAAS,CAAC;AACzC,eAAO,MAAM,uBAAuB,cAAc,CAAC;AACnD,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AACzD,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAC9C,eAAO,MAAM,wBAAwB,cAAc,CAAC;AAEpD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAID,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG,CAMrE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,GAAG,CAMhG;AAGD,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,MAAM,CAKlE;AACD,qBAAa,iCAAkC,SAAQ,KAAK;;CAI3D;AACD,qBAAa,sCAAuC,SAAQ,KAAK;;CAIhE;AACD,qBAAa,yCAA0C,SAAQ,KAAK;;CAInE;AASD,wBAAgB,wBAAwB,CAAC,mBAAmB,EAAE,MAAM,GAAG,MAAM,CA0B5E;AAGD,eAAO,MAAM,2BAA2B;mBACvB,MAAM,gBAAgB,MAAM;yBACtB,MAAM,gBAAgB,MAAM;sBAC/B,MAAM,eAAe,MAAM;qBAC5B,MAAM,gBAAgB,MAAM;CAC9C,CAAC"}
\ No newline at end of file
+{"version":3,"file":"ari.d.ts","sourceRoot":"","sources":["../../src/ari/ari.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,GAAG,EACH,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAIlC,eAAO,MAAM,kBAAkB,SAAS,CAAC;AACzC,eAAO,MAAM,uBAAuB,cAAc,CAAC;AACnD,eAAO,MAAM,4BAA4B,mBAAmB,CAAC;AAC7D,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AACzD,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAC9C,eAAO,MAAM,wBAAwB,cAAc,CAAC;AAEpD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAID,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG,CAMrE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,GAAG,CAMhG;AAGD,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,MAAM,CAKlE;AACD,qBAAa,iCAAkC,SAAQ,KAAK;;CAI3D;AACD,qBAAa,sCAAuC,SAAQ,KAAK;;CAIhE;AACD,qBAAa,yCAA0C,SAAQ,KAAK;;CAInE;AASD,wBAAgB,wBAAwB,CAAC,mBAAmB,EAAE,MAAM,GAAG,MAAM,CAkC5E;AAGD,eAAO,MAAM,2BAA2B;mBACvB,MAAM,gBAAgB,MAAM;yBACtB,MAAM,gBAAgB,MAAM;sBAC/B,MAAM,eAAe,MAAM;qBAC5B,MAAM,eAAe,MAAM;CAC7C,CAAC"}
\ No newline at end of file Index: package/out/apps/create-an-app.d.ts.map
===================================================================
--- package/out/apps/create-an-app.d.ts.map
+++ package/out/apps/create-an-app.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"create-an-app.d.ts","sourceRoot":"","sources":["../../src/apps/create-an-app.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED,qBAAa,gBAAiB,SAAQ,KAAK;;CAI1C;AAED,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,GAAG;IACvD,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAHP,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,cAAc;IAG7B,OAAO,CAAC,EACnB,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACf,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAkB7C,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAS1C,uBAAuB,CAAC,CAAC,SAAS,MAAM,EACnD,QAAQ,EAAE,CAAC,EAAE,EACb,aAAa,EAAE,CAAC,EAChB,YAAY,EAAE,CAAC,GACd,OAAO,CAAC,CAAC,EAAE,CAAC;CAchB"}
\ No newline at end of file
+{"version":3,"file":"create-an-app.d.ts","sourceRoot":"","sources":["../../src/apps/create-an-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED,qBAAa,gBAAiB,SAAQ,KAAK;;CAI1C;AAED,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,GAAG;IACvD,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAHP,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,cAAc;IAG7B,OAAO,CAAC,EACnB,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACZ,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAwB7C,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAS1C,uBAAuB,CAAC,CAAC,SAAS,MAAM,EACnD,QAAQ,EAAE,CAAC,EAAE,EACb,aAAa,EAAE,CAAC,EAChB,YAAY,EAAE,CAAC,GACd,OAAO,CAAC,CAAC,EAAE,CAAC;CAchB"}
\ No newline at end of file File too large for inline diff
Index: package/out/ui/log-color.d.ts.map
===================================================================
--- package/out/ui/log-color.d.ts.map
+++ package/out/ui/log-color.d.ts.map
@@ -1,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;wBACZ,MAAM,KAAG,MAAM;;CAGpC,CAAC;AAKF,eAAO,MAAM,eAAe;;;;;;;CAO3B,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;CAkBtB,CAAC"}
\ No newline at end of file
+{"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;;CAGjC,CAAC;AAKF,eAAO,MAAM,eAAe;;;;;;;CAO3B,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;CAkBtB,CAAC"}
\ No newline at end of file Index: package/out/apps/register-app.d.ts.map
===================================================================
--- package/out/apps/register-app.d.ts.map
+++ package/out/apps/register-app.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"register-app.d.ts","sourceRoot":"","sources":["../../src/apps/register-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,mBAAmB,EAAqB,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAExH,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,MAAM,EAAQ,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;CACL;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAClE;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAJV,SAAS,EAAE,eAAe,EAC1B,eAAe,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,EACxD,eAAe,EAAE,mBAAmB,CAAC,UAAU,CAAC,EAChD,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU;IAG5B,OAAO,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,oBAA4B,EAAE;;KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQvG,WAAW,CACtB,KAAK,EAAE,oBAAoB,EAC3B,SAAS,EAAE,MAAM,EACjB,EACE,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EACnB,EAAE;QACD,oBAAoB,EAAE,OAAO,CAAC;QAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;KACzC,GACA,OAAO,CAAC,eAAe,CAAC;CAwC5B"}
\ No newline at end of file
+{"version":3,"file":"register-app.d.ts","sourceRoot":"","sources":["../../src/apps/register-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,mBAAmB,EAAqB,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAExH,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,MAAM,EAAQ,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;CACL;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAClE;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAJV,SAAS,EAAE,eAAe,EAC1B,eAAe,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,EACxD,eAAe,EAAE,mBAAmB,CAAC,UAAU,CAAC,EAChD,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU;IAG5B,OAAO,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,oBAA4B,EAAE;;KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQvG,WAAW,CACtB,KAAK,EAAE,oBAAoB,EAC3B,SAAS,EAAE,MAAM,EACjB,EACE,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EACnB,EAAE;QACD,oBAAoB,EAAE,OAAO,CAAC;QAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;KACzC,GACA,OAAO,CAAC,eAAe,CAAC;CAwC5B"}
\ No newline at end of file Index: package/out/ui/text.d.ts.map
===================================================================
--- package/out/ui/text.d.ts.map
+++ package/out/ui/text.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/ui/text.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/ui/text.ts"],"names":[],"mappings":"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"}
\ No newline at end of file File too large for inline diff
Index: package/out/ari/ari.d.ts
===================================================================
--- package/out/ari/ari.d.ts
+++ package/out/ari/ari.d.ts
@@ -1,7 +1,8 @@
-import { Ari, AnyAri, JiraWorkspaceAri, ConfluenceWorkspaceAri, CompassWorkspaceAri, GraphWorkspaceAri } from '@forge/util/packages/ari';
+import { AnyAri, Ari, CompassWorkspaceAri, ConfluenceWorkspaceAri, GraphWorkspaceAri, JiraWorkspaceAri } from '@forge/util/packages/ari';
export declare const SITE_RESOURCE_TYPE = "site";
export declare const WORKSPACE_RESOURCE_TYPE = "workspace";
+export declare const WORKSPACE_USER_RESOURCE_TYPE = "workspace-user";
export declare const INSTALLATION_RESOURCE_TYPE = "installation";
export declare const TRELLO_RESOURCE_OWNER = "trello";
export declare const BITBUCKET_RESOURCE_OWNER = "bitbucket";
export declare function appIdToAriString(appId: string): string;
@@ -21,7 +22,7 @@
export declare const createWorkspaceAriByProduct: {
jira: (siteId: string, activationId: string) => JiraWorkspaceAri;
confluence: (siteId: string, activationId: string) => ConfluenceWorkspaceAri;
compass: (siteId: string, workspaceId: string) => CompassWorkspaceAri;
- graph: (_siteId: string, activationId: string) => GraphWorkspaceAri;
+ graph: (_siteId: string, workspaceId: string) => GraphWorkspaceAri;
};
//# sourceMappingURL=ari.d.ts.map
\ No newline at end of file Index: package/out/apps/create-an-app.d.ts
===================================================================
--- package/out/apps/create-an-app.d.ts
+++ package/out/apps/create-an-app.d.ts
@@ -1,9 +1,9 @@
+import { InstallationTarget } from '../graphql';
+import { StatsigService } from '../service';
+import { PackageInstaller } from './package-installer';
import { CreateAppClientInput, RegisterAppCommand, RegisterAppResult } from './register-app';
import { Templater } from './template';
-import { PackageInstaller } from './package-installer';
-import { StatsigService } from '../service';
-import { InstallationTarget } from '../graphql';
export interface CreateAppCommandInput extends CreateAppClientInput {
template: string;
directory: string;
requiredProduct?: string;
@@ -22,9 +22,9 @@
private readonly registerAppCommand;
private readonly packageInstaller;
private readonly statsig;
constructor(templater: Templater, registerAppCommand: RegisterAppCommand, packageInstaller: PackageInstaller, statsig: StatsigService);
- execute({ name, description, template, directory, requiredProduct, installationTarget, developerSpaceId, billingConsent }: CreateAppCommandInput): Promise<CreateAppCommandResult>;
+ execute({ name, description, template, directory, requiredProduct, installationTarget, developerSpaceId, billingConsent, appFeatures }: CreateAppCommandInput): Promise<CreateAppCommandResult>;
getAvailableTemplates(): Promise<string[]>;
filterAvailableProducts<T extends string>(products: T[], teamworkGraph: T, crossContext: T): Promise<T[]>;
}
//# sourceMappingURL=create-an-app.d.ts.map
\ No newline at end of file File too large for inline diff
Index: package/out/ui/log-color.d.ts
===================================================================
--- package/out/ui/log-color.d.ts
+++ package/out/ui/log-color.d.ts
@@ -2,9 +2,8 @@
trace: (message: string) => string;
debug: (message: string) => string;
warn: (message: string) => string;
error: (message: string) => string;
- approval: (message: string) => string;
errorPrefix: string;
};
export declare const RuntimeLogLevel: {
trace: string; Index: package/out/apps/register-app.d.ts
===================================================================
--- package/out/apps/register-app.d.ts
+++ package/out/apps/register-app.d.ts
@@ -1,13 +1,14 @@
import { ConfigFile, ConfigSectionReader, ConfigSectionWriter, NO_VALIDATION_TYPE } from '../config';
-import { InstallationTarget } from '../graphql';
+import { CreateAppInput, InstallationTarget } from '../graphql';
import { Logger } from '../ui';
import { AppDetails } from './app-config';
export interface CreateAppClientInput {
name: string;
description?: string;
developerSpaceId?: string;
billingConsent?: boolean;
+ appFeatures?: CreateAppInput['appFeatures'];
}
export interface CreateAppResult {
id: string;
environments: { Index: package/out/ui/text.d.ts
===================================================================
--- package/out/ui/text.d.ts
+++ package/out/ui/text.d.ts
@@ -1,8 +1,8 @@
import chalk from 'chalk';
+import { ClientRequest } from 'http';
import { URL } from 'url';
import { AppEnvironmentType } from '../graphql/graphql-types';
-import { ClientRequest } from 'http';
export interface ListScope {
name: string;
requiresInteractiveConsent?: boolean;
}
@@ -187,8 +187,9 @@
create: {
cmd: {
desc: string;
start: string;
+ startPersonal: string;
success: (appName: string) => string;
successDetails: (directory: string, validEnvironmentOptions: string[]) => string;
};
intro: (givenDirectory: string) => string;
@@ -196,8 +197,9 @@
optionTemplate: string;
optionDirectory: string;
optionSpace: string;
optionAcceptTerms: string;
+ optionPersonal: string;
overviewAppName: string;
overviewTemplates: string;
waitTemplates: string;
promptName: string;
@@ -289,8 +291,9 @@
register: {
intro: string;
cmd: {
desc: string;
+ startPersonal: string;
start: string;
success: (appName: string) => string;
successDetails: (validEnvironmentOptions: string[]) => string;
};
@@ -427,9 +430,8 @@
artifact: {
error: {
noDeployUrl: string;
noPresignedUrls: string;
- noManifestUrl: string;
noUploadId: string;
noManifestInZip: (manifestFilename: string) => string;
noManifestAtPath: (path: string) => string;
empty: string;
@@ -642,9 +644,8 @@
};
taskLint: {
lintError: string;
lintWarning: (numWarnings: number) => string;
- lintApproval: (numApprovals: number) => string;
};
list: {
cmd: {
desc: string;
@@ -665,16 +666,14 @@
desc: string;
start1: (envKey: string, envType: AppEnvironmentType, buildTag?: string) => string;
start2: (appName: string, envKey: string, envType: AppEnvironmentType, buildTag?: string) => string;
success: string;
- successDetails: (appName: string, envKey: string, envType: AppEnvironmentType, buildTag?: string, numApprovals?: number) => string;
+ successDetails: (appName: string, envKey: string, envType: AppEnvironmentType, buildTag?: string) => string;
distributePageLink: (appId: string) => string;
};
taskLint: {
lintError: string;
lintWarning: (numWarnings: number) => string;
- lintApproval: (numApprovals: number, ruleNames?: string[]) => string;
- lintErrorsWithApprovals: string;
};
hasNoAppInstallationsForEnv: {
hasNoAppInstallationsForEnvError: string;
};
@@ -692,11 +691,8 @@
};
skipRollout: {
description: string;
};
- approveRule: {
- description: string;
- };
connectKeyChange: {
continueChange: string;
continueDelete: string;
mpacAppConnectKeyChangeAnalyticsError: string;
@@ -789,8 +785,9 @@
permissionsDeniedInstructions: (requestId: string, appId: string) => string;
appendRequestIdToErrorMessage: (message: string | undefined, requestId: string) => string;
majorVersionNotFound: string;
installationLimitReached: string;
+ tooManyRequests: string;
};
debug: {
ccpEntitlementQueryFailed: string;
};
@@ -1026,22 +1023,18 @@
blurb: string;
cmd: string;
running: string;
noProblems: string;
- approvalRequired: string;
noFixableProblem: string;
noFixableProblems: string;
filename: chalk.Chalk;
- errorMissingManifest: string;
- errorInvalidManifest: string;
linterFailed: (linterClass: string, failure: string) => string;
fixed: (numFixableErrors: number, numFixableWarnings: number) => string;
fixFollowUp: string;
error: (line: number, column: number, message: string, reference: string) => string;
- summary: (numErrors: number, numWarnings: number, numApprovals: number, numFixableErrors: number, numFixableWarnings: number) => string;
+ summary: (numErrors: number, numWarnings: number, numFixableErrors: number, numFixableWarnings: number) => string;
fixSummary: (numErrors: number, numFixableErrors: number, numFixableWarnings: number) => string;
warning: (line: number, column: number, message: string, reference: string) => string;
- approval: (line: number, column: number, message: string, reference: string) => string;
};
repositories: {
cmd: {
desc: string;