diff --git a/packages/angular_devkit/build_angular/src/utils/tailwind.ts b/packages/angular_devkit/build_angular/src/utils/tailwind.ts index c49e20bbc8d6..dd1c3e4f6f81 100644 --- a/packages/angular_devkit/build_angular/src/utils/tailwind.ts +++ b/packages/angular_devkit/build_angular/src/utils/tailwind.ts @@ -28,7 +28,7 @@ export async function findTailwindConfigurationFile( ); // A configuration file can exist in the project or workspace root - for await (const { root, files } of dirEntries) { + for (const { root, files } of await Promise.all(dirEntries)) { for (const potentialConfig of tailwindConfigFiles) { if (files.has(potentialConfig)) { return join(root, potentialConfig); diff --git a/packages/angular_devkit/schematics/src/rules/base.ts b/packages/angular_devkit/schematics/src/rules/base.ts index 5b14e927db65..ab91954b83da 100644 --- a/packages/angular_devkit/schematics/src/rules/base.ts +++ b/packages/angular_devkit/schematics/src/rules/base.ts @@ -35,8 +35,14 @@ export function empty(): Source { export function chain(rules: Iterable | AsyncIterable): Rule { return async (initialTree, context) => { let intermediateTree: Observable | undefined; - for await (const rule of rules) { - intermediateTree = callRule(rule, intermediateTree ?? initialTree, context); + if (Symbol.asyncIterator in rules) { + for await (const rule of rules) { + intermediateTree = callRule(rule, intermediateTree ?? initialTree, context); + } + } else { + for (const rule of rules) { + intermediateTree = callRule(rule, intermediateTree ?? initialTree, context); + } } return () => intermediateTree;