in packages/typespec-python/scripts/eng/regenerate.ts [398:422]
async function regenerate(flags: RegenerateFlagsInput): Promise<void> {
if (flags.flavor === undefined) {
await regenerate({ ...flags, flavor: "azure" });
await regenerate({ ...flags, flavor: "unbranded" });
} else {
const flagsResolved = { debug: false, flavor: flags.flavor, ...flags };
const subdirectoriesForAzure = await getSubdirectories(AZURE_HTTP_SPECS, flagsResolved);
const subdirectoriesForNonAzure = await getSubdirectories(HTTP_SPECS, flagsResolved);
const subdirectories =
flags.flavor === "azure"
? [...subdirectoriesForAzure, ...subdirectoriesForNonAzure]
: subdirectoriesForNonAzure;
const cmdList: TspCommand[] = subdirectories.flatMap((subdirectory) =>
_getCmdList(subdirectory, flagsResolved),
);
// Create tasks as functions for the pool
const tasks: Array<() => Promise<void>> = cmdList.map((tspCommand) => {
return () => executeCommand(tspCommand);
});
// Run tasks with a concurrency limit
await runTaskPool(tasks, 30);
}
}