Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(core): use withVerbose util #27553

Merged
merged 1 commit into from
Aug 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions docs/generated/cli/migrate.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,12 @@ Type: `string`

Use the provided versions for packages instead of the ones calculated by the migrator (e.g., --to="@nx/[email protected],@nx/[email protected]")

### verbose

Type: `boolean`

Prints additional information about the commands (e.g., stack traces)

### version

Type: `boolean`
Expand Down
6 changes: 6 additions & 0 deletions docs/generated/packages/nx/documents/migrate.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,12 @@ Type: `string`

Use the provided versions for packages instead of the ones calculated by the migrator (e.g., --to="@nx/[email protected],@nx/[email protected]")

### verbose

Type: `boolean`

Prints additional information about the commands (e.g., stack traces)

### version

Type: `boolean`
Expand Down
4 changes: 2 additions & 2 deletions packages/create-nx-workspace/src/utils/error-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export function mapErrorToBodyLines(error: Error): string[] {
const errorLines = error.message?.split('\n').filter((line) => !!line.trim());
if (errorLines.length < 3) {
const lines = [`Error: ${error.message}`];
if (process.env.NX_VERBOSE_LOGGING) {
if (process.env.NX_VERBOSE_LOGGING === 'true') {
lines.push(`Stack: ${error.stack}`);
}
return lines;
Expand All @@ -24,7 +24,7 @@ export function mapErrorToBodyLines(error: Error): string[] {
? [`Exit code: ${error.code}`, `Log file: ${error.logFile}`]
: [];

if (process.env.NX_VERBOSE_LOGGING) {
if (process.env.NX_VERBOSE_LOGGING === 'true') {
lines.push(`Error: ${error.message}`);
lines.push(`Stack: ${error.stack}`);
}
Expand Down
7 changes: 1 addition & 6 deletions packages/nx/src/command-line/add/add.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,7 @@ import type { AddOptions } from './command-object';
import { normalizeVersionForNxJson } from '../init/implementation/dot-nx/add-nx-scripts';

export function addHandler(options: AddOptions): Promise<number> {
if (options.verbose) {
process.env.NX_VERBOSE_LOGGING = 'true';
}
const isVerbose = process.env.NX_VERBOSE_LOGGING === 'true';

return handleErrors(isVerbose, async () => {
return handleErrors(options.verbose, async () => {
output.addNewline();

const [pkgName, version] = parsePackageSpecifier(options.packageSpecifier);
Expand Down
9 changes: 2 additions & 7 deletions packages/nx/src/command-line/add/command-object.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { CommandModule } from 'yargs';
import { withOverrides } from '../yargs-utils/shared-options';
import { withOverrides, withVerbose } from '../yargs-utils/shared-options';

export interface AddOptions {
packageSpecifier: string;
Expand All @@ -15,7 +15,7 @@ export const yargsAddCommand: CommandModule<
command: 'add <packageSpecifier>',
describe: 'Install a plugin and initialize it.',
builder: (yargs) =>
yargs
withVerbose(yargs)
.parserConfiguration({
'strip-dashed': true,
'unknown-options-as-args': true,
Expand All @@ -30,11 +30,6 @@ export const yargsAddCommand: CommandModule<
description:
'Update `package.json` scripts with inferred targets. Defaults to `true` when the package is a core Nx plugin',
})
.option('verbose', {
type: 'boolean',
description:
'Prints additional information about the commands (e.g., stack traces)',
})
.example(
'$0 add @nx/react',
'Install the latest version of the `@nx/react` package and run its `@nx/react:init` generator'
Expand Down
4 changes: 0 additions & 4 deletions packages/nx/src/command-line/affected/affected.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,6 @@ export async function affected(
nxJson
);

if (nxArgs.verbose) {
process.env.NX_VERBOSE_LOGGING = 'true';
}

await connectToNxCloudIfExplicitlyAsked(nxArgs);

const projectGraph = await createProjectGraphAsync({ exitOnError: true });
Expand Down
3 changes: 0 additions & 3 deletions packages/nx/src/command-line/exec/exec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,6 @@ export async function nxExecCommand(
{ printWarnings: args.graph !== 'stdout' },
nxJson
);
if (nxArgs.verbose) {
process.env.NX_VERBOSE_LOGGING = 'true';
}
const scriptArgV: string[] = readScriptArgV(overrides);
const projectGraph = await createProjectGraphAsync({ exitOnError: true });

Expand Down
8 changes: 2 additions & 6 deletions packages/nx/src/command-line/generate/command-object.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { CommandModule, Argv } from 'yargs';
import { getCwd } from '../../utils/path';
import { linkToNxDevAndExamples } from '../yargs-utils/documentation';
import { withVerbose } from '../yargs-utils/shared-options';

export const yargsGenerateCommand: CommandModule = {
command: 'generate <generator> [_..]',
Expand All @@ -19,7 +20,7 @@ export const yargsGenerateCommand: CommandModule = {
function withGenerateOptions(yargs: Argv) {
const generatorWillShowHelp =
process.argv[3] && !process.argv[3].startsWith('-');
const res = yargs
const res = withVerbose(yargs)
.positional('generator', {
describe: 'Name of the generator (e.g., @nx/js:library, library)',
type: 'string',
Expand All @@ -36,11 +37,6 @@ function withGenerateOptions(yargs: Argv) {
type: 'boolean',
default: true,
})
.option('verbose', {
describe:
'Prints additional information about the commands (e.g., stack traces)',
type: 'boolean',
})
.option('quiet', {
describe: 'Hides logs from tree operations (e.g. `CREATE package.json`)',
type: 'boolean',
Expand Down
13 changes: 4 additions & 9 deletions packages/nx/src/command-line/generate/generate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -302,12 +302,7 @@ export function printGenHelp(
}

export async function generate(cwd: string, args: { [k: string]: any }) {
if (args['verbose']) {
process.env.NX_VERBOSE_LOGGING = 'true';
}
const verbose = process.env.NX_VERBOSE_LOGGING === 'true';

return handleErrors(verbose, async () => {
return handleErrors(args.verbose, async () => {
const nxJsonConfiguration = readNxJson();
const projectGraph = await createProjectGraphAsync();
const projectsConfigurations =
Expand Down Expand Up @@ -369,7 +364,7 @@ export async function generate(cwd: string, args: { [k: string]: any }) {
nxJsonConfiguration
),
relative(workspaceRoot, cwd),
verbose
args.verbose
);

if (
Expand All @@ -382,7 +377,7 @@ export async function generate(cwd: string, args: { [k: string]: any }) {
) {
const host = new FsTree(
workspaceRoot,
verbose,
args.verbose,
`generating (${opts.collectionName}:${normalizedGeneratorName})`
);
const implementation = implementationFactory();
Expand Down Expand Up @@ -418,7 +413,7 @@ export async function generate(cwd: string, args: { [k: string]: any }) {
generatorOptions: combinedOpts,
},
projectsConfigurations.projects,
verbose
args.verbose
);
}
});
Expand Down
9 changes: 3 additions & 6 deletions packages/nx/src/command-line/import/command-object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,9 @@ export const yargsImportCommand: CommandModule = {
'import'
),
handler: async (args) => {
const exitCode = await handleErrors(
(args.verbose as boolean) ?? process.env.NX_VERBOSE_LOGGING === 'true',
async () => {
return (await import('./import')).importHandler(args as any);
}
);
const exitCode = await handleErrors(args.verbose as boolean, async () => {
return (await import('./import')).importHandler(args as any);
});
process.exit(exitCode);
},
};
5 changes: 3 additions & 2 deletions packages/nx/src/command-line/migrate/command-object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import {
} from '../../utils/package-manager';
import { writeJsonFile } from '../../utils/fileutils';
import { workspaceRoot } from '../../utils/workspace-root';
import { withVerbose } from '../yargs-utils/shared-options';

export const yargsMigrateCommand: CommandModule = {
command: 'migrate [packageAndVersion]',
Expand Down Expand Up @@ -39,7 +40,7 @@ export const yargsInternalMigrateCommand: CommandModule = {
function withMigrationOptions(yargs: Argv) {
const defaultCommitPrefix = 'chore: [nx migration] ';

return yargs
return withVerbose(yargs)
.positional('packageAndVersion', {
describe: `The target package and version (e.g, @nx/[email protected])`,
type: 'string',
Expand Down Expand Up @@ -178,7 +179,7 @@ function nxCliPath() {
console.error(
`Failed to install the ${version} version of the migration script. Using the current version.`
);
if (process.env.NX_VERBOSE_LOGGING) {
if (process.env.NX_VERBOSE_LOGGING === 'true') {
console.error(e);
}
return null;
Expand Down
4 changes: 0 additions & 4 deletions packages/nx/src/command-line/migrate/migrate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1636,10 +1636,6 @@ export async function migrate(
args: { [k: string]: any },
rawArgs: string[]
) {
if (args['verbose']) {
process.env.NX_VERBOSE_LOGGING = 'true';
}

await daemonClient.stop();

return handleErrors(process.env.NX_VERBOSE_LOGGING === 'true', async () => {
Expand Down
4 changes: 0 additions & 4 deletions packages/nx/src/command-line/release/changelog.ts
Original file line number Diff line number Diff line change
Expand Up @@ -121,10 +121,6 @@ export function createAPI(overrideReleaseConfig: NxReleaseConfiguration) {
overrideReleaseConfig ?? {}
);

if (args.verbose) {
process.env.NX_VERBOSE_LOGGING = 'true';
}

// Apply default configuration to any optional user configuration
const { error: configError, nxReleaseConfig } = await createNxReleaseConfig(
projectGraph,
Expand Down
8 changes: 2 additions & 6 deletions packages/nx/src/command-line/release/command-object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import {
withOutputStyleOption,
withOverrides,
withRunManyOptions,
withVerbose,
} from '../yargs-utils/shared-options';
import { VersionData } from './utils/shared';

Expand Down Expand Up @@ -102,7 +103,7 @@ export const yargsReleaseCommand: CommandModule<
describe:
'Orchestrate versioning and publishing of applications and libraries',
builder: (yargs) =>
yargs
withVerbose(yargs)
.command(releaseCommand)
.command(versionCommand)
.command(changelogCommand)
Expand Down Expand Up @@ -133,11 +134,6 @@ export const yargsReleaseCommand: CommandModule<
type: 'boolean',
default: false,
})
.option('verbose', {
type: 'boolean',
describe:
'Prints additional information about the commands (e.g., stack traces)',
})
// NOTE: The camel case format is required for the coerce() function to be called correctly. It still supports --print-config casing.
.option('printConfig', {
type: 'string',
Expand Down
4 changes: 0 additions & 4 deletions packages/nx/src/command-line/release/plan-check.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,6 @@ export function createAPI(overrideReleaseConfig: NxReleaseConfiguration) {
overrideReleaseConfig ?? {}
);

if (args.verbose) {
process.env.NX_VERBOSE_LOGGING = 'true';
}

// Apply default configuration to any optional user configuration
const { error: configError, nxReleaseConfig } = await createNxReleaseConfig(
projectGraph,
Expand Down
4 changes: 0 additions & 4 deletions packages/nx/src/command-line/release/plan.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,6 @@ export function createAPI(overrideReleaseConfig: NxReleaseConfiguration) {
overrideReleaseConfig ?? {}
);

if (args.verbose) {
process.env.NX_VERBOSE_LOGGING = 'true';
}

// Apply default configuration to any optional user configuration
const { error: configError, nxReleaseConfig } = await createNxReleaseConfig(
projectGraph,
Expand Down
8 changes: 0 additions & 8 deletions packages/nx/src/command-line/release/publish.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,6 @@ export function createAPI(overrideReleaseConfig: NxReleaseConfiguration) {
overrideReleaseConfig ?? {}
);

if (_args.verbose) {
process.env.NX_VERBOSE_LOGGING = 'true';
}

// Apply default configuration to any optional user configuration
const { error: configError, nxReleaseConfig } = await createNxReleaseConfig(
projectGraph,
Expand Down Expand Up @@ -187,10 +183,6 @@ async function runPublishOnProjects(
process.env.NX_DRY_RUN = 'true';
}

if (args.verbose) {
process.env.NX_VERBOSE_LOGGING = 'true';
}

if (args.firstRelease) {
overrides.firstRelease = args.firstRelease;
}
Expand Down
4 changes: 0 additions & 4 deletions packages/nx/src/command-line/release/release.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,6 @@ export function createAPI(overrideReleaseConfig: NxReleaseConfiguration) {
overrideReleaseConfig ?? {}
);

if (args.verbose) {
process.env.NX_VERBOSE_LOGGING = 'true';
}

const hasVersionGitConfig =
Object.keys(userProvidedReleaseConfig.version?.git ?? {}).length > 0;
const hasChangelogGitConfig =
Expand Down
4 changes: 0 additions & 4 deletions packages/nx/src/command-line/release/version.ts
Original file line number Diff line number Diff line change
Expand Up @@ -132,10 +132,6 @@ export function createAPI(overrideReleaseConfig: NxReleaseConfiguration) {
overrideReleaseConfig ?? {}
);

if (args.verbose) {
process.env.NX_VERBOSE_LOGGING = 'true';
}

// Apply default configuration to any optional user configuration
const { error: configError, nxReleaseConfig } = await createNxReleaseConfig(
projectGraph,
Expand Down
8 changes: 2 additions & 6 deletions packages/nx/src/command-line/repair/command-object.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { ArgumentsCamelCase, CommandModule } from 'yargs';
import { linkToNxDevAndExamples } from '../yargs-utils/documentation';
import { withVerbose } from '../yargs-utils/shared-options';

export const yargsRepairCommand: CommandModule = {
command: 'repair',
Expand All @@ -13,12 +14,7 @@ export const yargsRepairCommand: CommandModule = {
If your repository has only ever updated to newer versions of Nx with
\`nx migrate\`, running \`nx repair\` should do nothing.
`,
builder: (yargs) =>
linkToNxDevAndExamples(yargs, 'repair').option('verbose', {
type: 'boolean',
describe:
'Prints additional information about the commands (e.g., stack traces)',
}),
builder: (yargs) => linkToNxDevAndExamples(withVerbose(yargs), 'repair'),
handler: async (args: ArgumentsCamelCase<{ verbose: boolean }>) =>
process.exit(await (await import('./repair')).repair(args)),
};
8 changes: 2 additions & 6 deletions packages/nx/src/command-line/repair/repair.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,7 @@ export async function repair(
args: { verbose: boolean },
extraMigrations = [] as any[]
) {
if (args['verbose']) {
process.env.NX_VERBOSE_LOGGING = 'true';
}
const verbose = process.env.NX_VERBOSE_LOGGING === 'true';
return handleErrors(verbose, async () => {
return handleErrors(args.verbose, async () => {
const nxMigrations = Object.entries(migrationsJson.generators).reduce(
(agg, [name, migration]) => {
const skip = migration['x-repair-skip'];
Expand All @@ -33,7 +29,7 @@ export async function repair(
const migrationsThatMadeNoChanges = await executeMigrations(
process.cwd(),
migrations,
verbose,
args.verbose,
false,
''
);
Expand Down
3 changes: 0 additions & 3 deletions packages/nx/src/command-line/run/run-one.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,6 @@ export async function runOne(
nxJson
);

if (nxArgs.verbose) {
process.env.NX_VERBOSE_LOGGING = 'true';
}
if (nxArgs.help) {
await (await import('./run')).printTargetRunHelp(opts, workspaceRoot);
process.exit(0);
Expand Down
Loading