Skip to content

IOptionalServerRendererConfiguration

David Ortner edited this page Oct 10, 2025 · 10 revisions

IOptionalServerRendererConfiguration represents the optional configuration of the server-renderer.

Signature

interface IOptionalServerRendererConfiguration

Example

import { ServerRenderer } from "@happy-dom/server-renderer";
import type { IOptionalServerRendererConfiguration } from "@happy-dom/server-renderer";

const renderer = new ServerRenderer(<IOptionalServerRendererConfiguration>{
	outputDirectory: "./output"
});

const results = await renderer.render(["https://example.com/gb/en/"]);

// The rendered HTML
console.log(results[0].url);
console.log(results[0].content);

Properties

Property Type Default Description
urls? Array<string | IServerRendererItem> List of URLs to render. It is also possible to send in the URL items to the render() method.
browser? IOptionalBrowserSettings Browser settings. "enableJavaScriptEvaluation" is set to "true" and "errorCapture" is set to "processLevel" by default.
logLevel? ServerRendererLogLevelEnum 3 Log level (0-4). 0: none, 1: error, 2: warn, 3: info, 4: debug.
debug? boolean false Enables debugging. This will override "browser.debug.traceWaitUntilComplete".
inspect? boolean false Enables inspector.
help? boolean false Shows help information and exits.
outputDirectory? string ./happy-dom/render Output directory.
cache.disable? boolean false Disables all caching.
cache.directory? string ./happy-dom/cache Directory for caching files.
cache.warmup? boolean false Warm up by rendering the first item before rendering the rest.
worker.maxConcurrency? number Maximum concurrency for the worker. 50% of CPU threads by default.
render.maxConcurrency? number 10 Maximum concurrency for rendering.
render.timeout? number 30000 Timeout for rendering in milliseconds.
render.incognitoContext? boolean false Use incognito context for rendering.
render.serializableShadowRoots? boolean false Render shadow roots with the "serializable" option set to true.
render.allShadowRoots? boolean false Render all shadow roots, including those that are not serializable.
render.excludeShadowRootTags? string[] Tags to exclude from shadow root rendering.
render.disablePolyfills? boolean false Disable polyfills used for unimplemented functionality.
server.start? boolean false Starts a proxy server.
server.serverURL? string https://localhost:3000 Proxy server settings.
server.targetOrigin? string Target origin for the proxy server.
server.disableCache? boolean false Disables cache for the proxy server.
server.disableCacheQueue? boolean false Disables the cache queue for the proxy server.
server.cacheTime? number 60000 Cache time in milliseconds for the proxy server.
Clone this wiki locally