UNPKG

apisurf

Version:

Analyze API surface changes between npm package versions to catch breaking changes

29 lines (28 loc) 1.28 kB
import { Command } from 'commander'; import { formatValidationOutput } from '../analyzers/formatValidationOutput.js'; export const validateCommand = new Command('validate') .description('Validate that dependency updates do not introduce semver violations') .option('--lockfile <path>', 'Path to lockfile (yarn.lock, package-lock.json, pnpm-lock.yaml)') .option('--base <branch>', 'Base branch to compare lockfile against', 'main') .option('--packages <packages>', 'Comma-separated list of specific packages to validate') .option('--format <format>', 'Output format: console, json, md, html', 'console') .action(async (options) => { try { console.log('Validating dependency updates...'); // TODO: Implement actual validation logic const mockResult = { hasViolations: false, violations: [], summary: 'No semver violations detected' }; const output = formatValidationOutput(mockResult, options.format); console.log(output); if (mockResult.hasViolations) { process.exit(1); } } catch (error) { console.error('Error during validation:', error instanceof Error ? error.message : String(error)); process.exit(1); } });