write('', true);
$io->write('', true);
$io->write('Running Imposter...', true);
$io->write('======================', true);
$io->write('Loading package information from ' . getcwd() . '/composer.json', true);
$imposter = ImposterFactory::forProject(getcwd(), ['typisttech/imposter-plugin']);
$autoloads = $imposter->getAutoloads();
$count = count($autoloads);
$index = 1;
foreach ($autoloads as $autoload) {
$io->write(" - $index/$count: Transforming $autoload", true);
$imposter->transform($autoload);
$index++;
}
$io->write('Success: Imposter transformed vendor files.', true);
$invalidAutoloads = $imposter->getInvalidAutoloads();
if (! empty($invalidAutoloads)) {
$invalidAutoloadsCount = count($invalidAutoloads);
$io->writeError('', true);
$io->writeError(
// phpcs:ignore Generic.Files.LineLength.TooLong
"Warning: Imposter failed to transformed $invalidAutoloadsCount of the autoload path(s).",
true
);
foreach ($invalidAutoloads as $invalidAutoload) {
$io->writeError(" - $invalidAutoload", true);
}
}
// Print empty lines to separate imposter outputs.
$io->write('', true);
$io->write('', true);
}
}