export async function execute( options: IOptions, context: BuilderContext, ): Promise<BuilderOutput> { // read browser options and setup the clientPath const browserTarget = targetFromTargetString(options.browserTarget); const browserOptions = (await context.getTargetOptions(browserTarget)) as any; const clientPath = path.resolve(context.workspaceRoot, browserOptions.outputPath ); // and server options const serverTarget = targetFromTargetString(options.serverTarget); const serverOptions = (await context.getTargetOptions(serverTarget)) as any; const serverPath = path.resolve(context.workspaceRoot, serverOptions.outputPath); // now we do not need to schedule any builder return _renderUniversal( routes, context, // now we pass strings for paths instead of browserResult and serverResult clientPath, serverPath, // we just need the index file from options getIndexOutputFile(browserOptions), // since we are dropping piscina this won't be necessary // options.numProcesses ); }