diff --git a/.changeset/small-rings-invite.md b/.changeset/small-rings-invite.md new file mode 100644 index 00000000..6df3d176 --- /dev/null +++ b/.changeset/small-rings-invite.md @@ -0,0 +1,5 @@ +--- +'@callstack/brownfield-cli': patch +--- + +feat: improved logging in brownfield CLI codegens diff --git a/packages/cli/src/brownie/commands/codegen.ts b/packages/cli/src/brownie/commands/codegen.ts index 3c9020bf..65d80396 100644 --- a/packages/cli/src/brownie/commands/codegen.ts +++ b/packages/cli/src/brownie/commands/codegen.ts @@ -134,7 +134,7 @@ export async function runCodegen({ platform }: RunCodegenOptions) { } } - outro('Done!'); + outro('Brownie codegen done'); } export const codegenCommand = new Command('codegen') diff --git a/packages/cli/src/navigation/runner.ts b/packages/cli/src/navigation/runner.ts index bcde6ad4..87da3ae9 100644 --- a/packages/cli/src/navigation/runner.ts +++ b/packages/cli/src/navigation/runner.ts @@ -1,7 +1,7 @@ import fs from 'node:fs'; import path from 'node:path'; -import { logger } from '@rock-js/tools'; +import { intro, logger, outro } from '@rock-js/tools'; import { DEFAULT_ANDROID_JAVA_PACKAGE, getNavigationPackagePath, @@ -53,7 +53,11 @@ function getOutputPaths( const androidPackagePathSegments = androidJavaPackageName.split('.'); return { - turboModuleSpec: path.join(packageRoot, 'src', 'NativeBrownfieldNavigation.ts'), + turboModuleSpec: path.join( + packageRoot, + 'src', + 'NativeBrownfieldNavigation.ts' + ), navigationTs: path.join(packageRoot, 'src', 'index.ts'), commonjsIndexJs: path.join(packageRoot, 'lib', 'commonjs', 'index.js'), moduleIndexJs: path.join(packageRoot, 'lib', 'module', 'index.js'), @@ -78,7 +82,11 @@ function getOutputPaths( 'ios', 'BrownfieldNavigationDelegate.swift' ), - swiftModels: path.join(packageRoot, 'ios', 'BrownfieldNavigationModels.swift'), + swiftModels: path.join( + packageRoot, + 'ios', + 'BrownfieldNavigationModels.swift' + ), objcImplementation: path.join( packageRoot, 'ios', @@ -207,6 +215,8 @@ export async function runNavigationCodegen({ throw new Error(`Spec file not found: ${resolvedSpecPath}`); } + intro(`Running Brownfield Navigation codegen`); + logger.info(`Parsing spec file: ${resolvedSpecPath}`); const methods = parseNavigationSpec(resolvedSpecPath); if (methods.length === 0) { @@ -214,7 +224,7 @@ export async function runNavigationCodegen({ } logger.info( - `Found ${methods.length} method(s): ${methods.map((method) => method.name).join(', ')}` + `Found ${methods.length} method${methods.length === 1 ? '' : 's'}: ${methods.map((method) => method.name).join(', ')}` ); const packageRoot = getNavigationPackagePath(projectRoot); @@ -244,13 +254,21 @@ export async function runNavigationCodegen({ artifacts.swiftModels = models.swiftModels; artifacts.kotlinModels = models.kotlinModels; } else { - logger.info('No complex model types found; skipping quicktype model generation'); + logger.info( + 'No complex model types found; skipping quicktype model generation' + ); } if (dryRun) { printDryRun(androidJavaPackageName, artifacts); + outro('Brownfield Navigation codegen done'); return; } - writeArtifacts(getOutputPaths(packageRoot, androidJavaPackageName), artifacts); + writeArtifacts( + getOutputPaths(packageRoot, androidJavaPackageName), + artifacts + ); + + outro('Brownfield Navigation codegen done'); }