fix(misc): nx view-logs should open the nx-cloud link when connected … (#17808)

This commit is contained in:
Jason Jean 2023-09-06 17:10:02 -04:00 committed by GitHub
parent 712bcb2256
commit 4940b2b0b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5,60 +5,68 @@ import { output } from '../../utils/output';
import { runNxSync } from '../../utils/child-process';
export async function viewLogs(): Promise<number> {
const cloudUsed = isNxCloudUsed();
if (cloudUsed) {
output.error({
title: 'Your workspace is already connected to Nx Cloud',
bodyLines: [
`Refer to the output of the last command to find the Nx Cloud link to view the run details.`,
],
});
return 1;
}
const installCloud = await (
await import('enquirer')
)
.prompt([
{
name: 'NxCloud',
message: `To view the logs, Nx needs to connect your workspace to Nx Cloud and upload the most recent run details.`,
type: 'autocomplete',
choices: [
{
name: 'Yes',
hint: 'Connect to Nx Cloud and upload the run details',
},
{
name: 'No',
},
],
initial: 'Yes' as any,
},
])
.then((a: { NxCloud: 'Yes' | 'No' }) => a.NxCloud === 'Yes');
if (!installCloud) return;
const pmc = getPackageManagerCommand();
const cloudUsed = isNxCloudUsed() && false;
if (!cloudUsed) {
const installCloud = await (
await import('enquirer')
)
.prompt([
{
name: 'NxCloud',
message: `To view the logs, Nx needs to connect your workspace to Nx Cloud and upload the most recent run details.`,
type: 'autocomplete',
choices: [
{
name: 'Yes',
hint: 'Connect to Nx Cloud and upload the run details',
},
{
name: 'No',
},
],
initial: 'Yes' as any,
},
])
.then((a: { NxCloud: 'Yes' | 'No' }) => a.NxCloud === 'Yes');
try {
output.log({
title: 'Installing nx-cloud',
});
execSync(`${pmc.addDev} nx-cloud@latest`, { stdio: 'ignore' });
} catch (e) {
output.log({
title: 'Installation failed',
});
console.log(e);
return 1;
}
if (!installCloud) return;
try {
output.log({
title: 'Installing nx-cloud',
});
execSync(`${pmc.addDev} nx-cloud@latest`, { stdio: 'ignore' });
} catch (e) {
output.log({
title: 'Installation failed',
});
console.log(e);
return 1;
}
try {
output.log({
title: 'Connecting to Nx Cloud',
});
runNxSync(`g nx-cloud:init --installation-source=view-logs`, {
stdio: 'ignore',
});
} catch (e) {
output.log({
title: 'Failed to connect to Nx Cloud',
});
console.log(e);
return 1;
}
try {
output.log({
title: 'Connecting to Nx Cloud',
});
runNxSync(`g nx-cloud:init --installation-source=view-logs`, {
stdio: 'ignore',
});
} catch (e) {
output.log({
title: 'Failed to connect to Nx Cloud',
});
console.log(e);
return 1;
}
execSync(`${pmc.exec} nx-cloud upload-and-show-run-details`, {