runIncremental method

Future<IncrementalCheckResult> runIncremental({
  1. required List<String> changedFiles,
  2. String? baselineReportPath,
})

Runs incremental checking for continuous integration

Implementation

Future<IncrementalCheckResult> runIncremental({
  required List<String> changedFiles,
  String? baselineReportPath,
}) async {
  if (verbose) {
    print('🔄 Running incremental localization check...');
  }

  // Filter to only check changed files
  final filteredConfig = LocalizationCheckerConfig(
    projectPath: config.projectPath,
    scanPaths: changedFiles,
    excludeDirs: config.excludeDirs,
    excludeFiles: config.excludeFiles,
    customUiPatterns: config.customUiPatterns,
    verbose: config.verbose,
  );

  final incrementalChecker = LocalizationChecker(config: filteredConfig);
  await incrementalChecker.run();

  final newIssues = incrementalChecker.results;
  final previousIssues = await _loadPreviousIssues(baselineReportPath);

  return IncrementalCheckResult(
    newIssues: newIssues,
    resolvedIssues: _findResolvedIssues(previousIssues, newIssues),
    changedFiles: changedFiles,
  );
}