Skip to content

Commit 3c8a6b5

Browse files
committed
fix: update progress bar gradually as plugin run complete
1 parent 5873b1d commit 3c8a6b5

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

packages/core/src/lib/implementation/execute-plugin.ts

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -156,19 +156,16 @@ export async function executePlugins(
156156

157157
const progressBar = progress ? getProgressBar('Run plugins') : null;
158158

159-
const pluginsResult = await plugins.reduce(
160-
async (acc, pluginCfg) => [
161-
...(await acc),
162-
wrapProgress(pluginCfg, plugins.length, progressBar),
163-
],
164-
Promise.resolve([] as Promise<PluginReport>[]),
159+
const pluginsResult = plugins.map(pluginCfg =>
160+
wrapProgress(pluginCfg, plugins.length, progressBar),
165161
);
166162

167-
progressBar?.endProgress('Done running plugins');
168-
169163
const errorsTransform = ({ reason }: PromiseRejectedResult) => String(reason);
170164
const results = await Promise.allSettled(pluginsResult);
171165

166+
progressBar?.endProgress('Done running plugins');
167+
progressBar?.finish();
168+
172169
logMultipleResults(results, 'Plugins', undefined, errorsTransform);
173170

174171
const { fulfilled, rejected } = groupByStatus(results);

packages/utils/src/lib/progress.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export type ProgressBar = {
2121
incrementInSteps: (numSteps: number) => void;
2222
updateTitle: (title: string) => void;
2323
endProgress: (message?: string) => void;
24+
finish: () => void;
2425
};
2526

2627
// eslint-disable-next-line functional/no-let
@@ -71,5 +72,8 @@ export function getProgressBar(taskName: string): ProgressBar {
7172
barTransformFn: barStyles.done,
7273
});
7374
},
75+
finish: () => {
76+
tasks.close();
77+
},
7478
};
7579
}

0 commit comments

Comments
 (0)