diff --git a/.changeset/gorgeous-gorillas-divide.md b/.changeset/gorgeous-gorillas-divide.md new file mode 100644 index 00000000..c4af4e8b --- /dev/null +++ b/.changeset/gorgeous-gorillas-divide.md @@ -0,0 +1,5 @@ +--- +'twilio-run': patch +--- +Display access visibility for public assets and functions on deploy. +Update links to route to regional console diff --git a/packages/twilio-run/src/commands/promote.ts b/packages/twilio-run/src/commands/promote.ts index 18042134..91f59e1e 100644 --- a/packages/twilio-run/src/commands/promote.ts +++ b/packages/twilio-run/src/commands/promote.ts @@ -94,7 +94,7 @@ export async function handler( config.targetEnvironment || 'production' }` ); - printActivateResult(result, config.outputFormat); + printActivateResult(result, config.outputFormat, config.region); } catch (err) { handleError(err, spinner); } diff --git a/packages/twilio-run/src/printers/activate.ts b/packages/twilio-run/src/printers/activate.ts index 8b007211..feb3cf63 100644 --- a/packages/twilio-run/src/printers/activate.ts +++ b/packages/twilio-run/src/printers/activate.ts @@ -25,7 +25,8 @@ export function printActivateConfig( export function printActivateResult( result: ActivateResult, - outputFormat: OutputFormat + outputFormat: OutputFormat, + region = 'us1' ) { if (outputFormat === 'json') { writeJSONOutput(result); @@ -36,7 +37,11 @@ export function printActivateResult( const twilioConsoleLogsLink = terminalLink( 'Open the Twilio Console', - getTwilioConsoleDeploymentUrl(result.serviceSid, result.environmentSid), + getTwilioConsoleDeploymentUrl( + result.serviceSid, + result.environmentSid, + region + ), { fallback: (text: string, url: string) => chalk.dim(url), } diff --git a/packages/twilio-run/src/printers/deploy.ts b/packages/twilio-run/src/printers/deploy.ts index 19417cf3..0cfa75a1 100644 --- a/packages/twilio-run/src/printers/deploy.ts +++ b/packages/twilio-run/src/printers/deploy.ts @@ -64,7 +64,8 @@ function plainPrintDeployedResources( runtime: result.runtime, viewLiveLogs: getTwilioConsoleDeploymentUrl( result.serviceSid, - result.environmentSid + result.environmentSid, + config.region ), }; @@ -132,7 +133,11 @@ function prettyPrintDeployedResources( ) { const twilioConsoleLogsLink = terminalLink( 'Open the Twilio Console', - getTwilioConsoleDeploymentUrl(result.serviceSid, result.environmentSid), + getTwilioConsoleDeploymentUrl( + result.serviceSid, + result.environmentSid, + config.region + ), { fallback: (text: string, url: string) => chalk.dim(url), } @@ -159,8 +164,7 @@ function prettyPrintDeployedResources( const functionMessage = result.functionResources .sort(sortByAccess) .map((fn) => { - const accessPrefix = - chalk`{bold [${fn.access}]} `; + const accessPrefix = chalk`{bold [${fn.access}]} `; return chalk` ${accessPrefix}{dim https://${result.domain}}${fn.path}`; }) .join('\n'); @@ -172,8 +176,7 @@ function prettyPrintDeployedResources( const assetMessage = result.assetResources .sort(sortByAccess) .map((asset) => { - const accessPrefix = - chalk`{bold [${asset.access}]} `; + const accessPrefix = chalk`{bold [${asset.access}]} `; const accessUrl = asset.access === 'private' ? chalk`{dim Runtime.getAssets()['}${asset.path}{dim ']}` @@ -223,7 +226,8 @@ export function printJsonDeployedResources( runtime: result.runtime, viewLiveLogs: getTwilioConsoleDeploymentUrl( result.serviceSid, - result.environmentSid + result.environmentSid, + config.region ), functions: result.functionResources.sort(sortByAccess).map(formatResource), assets: result.assetResources.sort(sortByAccess).map(formatResource), diff --git a/packages/twilio-run/src/printers/utils.ts b/packages/twilio-run/src/printers/utils.ts index f5751121..93752468 100644 --- a/packages/twilio-run/src/printers/utils.ts +++ b/packages/twilio-run/src/printers/utils.ts @@ -11,9 +11,10 @@ export const supportsEmoji = export function getTwilioConsoleDeploymentUrl( serviceSid: string, - environmentSid: string + environmentSid: string, + region = 'us1' ) { - return `https://www.twilio.com/console/functions/editor/${serviceSid}/environment/${environmentSid}`; + return `https://console.twilio.com/${region}/develop/functions/editor/${serviceSid}/environment/${environmentSid}`; } export function printObjectWithoutHeaders(obj: {}): string { @@ -27,7 +28,7 @@ export function terminalLink(name: string, link: string): string { export function borderLeft(text: string, color: string): string { return text .split('\n') - .map(str => `${chalk.keyword(color)('│')} ${str}`) + .map((str) => `${chalk.keyword(color)('│')} ${str}`) .join('\n'); }