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
  );
}