in modules/builders/src/prerender/index.ts [44:76]
async function _scheduleBuilds(
options: PrerenderBuilderOptions,
context: BuilderContext,
): Promise<ScheduleBuildsOutput> {
const browserTarget = targetFromTargetString(options.browserTarget);
const serverTarget = targetFromTargetString(options.serverTarget);
const browserTargetRun = await context.scheduleTarget(browserTarget, {
watch: false,
serviceWorker: false,
// todo: handle service worker augmentation
});
const serverTargetRun = await context.scheduleTarget(serverTarget, {
watch: false,
});
try {
const [browserResult, serverResult] = await Promise.all([
browserTargetRun.result as unknown as BuildBuilderOutput,
serverTargetRun.result as unknown as BuildBuilderOutput,
]);
const success =
browserResult.success && serverResult.success && browserResult.baseOutputPath !== undefined;
const error = browserResult.error || (serverResult.error as string);
return { success, error, browserResult, serverResult };
} catch (e) {
return { success: false, error: e.message };
} finally {
await Promise.all([browserTargetRun.stop(), serverTargetRun.stop()]);
}
}