interface

WorkerOptions

interface WorkerOptions

Bun's Web Worker constructor supports some extra options on top of the API browsers have.

  • argv?: any[]

    List of arguments to stringify and append to Bun.argv / process.argv in the worker. The values are available on the global Bun.argv as if they were passed as CLI options to the script.

  • credentials?: RequestCredentials

    In Bun, this does nothing.

  • env?: Record<string, string> | typeof SHARE_ENV

    If set, the initial value of process.env inside the Worker thread. Pass worker.SHARE_ENV from node:worker_threads to share environment variables between the parent and worker threads; changes to one thread's process.env then affect the other thread as well. Default: process.env.

  • name?: string

    An identifying name for the worker's DedicatedWorkerGlobalScope, mainly useful for debugging.

  • preload?: string | string[]

    An array of module specifiers to preload in the worker.

    These modules load before the worker's entry point is executed.

    Equivalent to passing the --preload CLI argument, but only for this Worker.

  • ref?: boolean

    When true, the worker keeps the parent thread alive until the worker is terminated or unref'd. When false, it does not.

  • smol?: boolean

    Use less memory, but make the worker slower.

    Internally, this sets the heap size configuration in JavaScriptCore to be the small heap instead of the large heap.

  • type?: WorkerType

    In Bun, this does nothing.