Skip to content
1 min read · 96 words

Function: createCompartmentRuntime() ​

ts
function createCompartmentRuntime(
  globals: Record<string, (...args: unknown[]) => unknown>,
  limits: GuestLimits,
  modules?: Record<string, unknown>,
  hostLockdown?: boolean,
): Promise<{
  evaluate: Promise<GuestOutcome>;
  kill: Promise<void>;
}>;

Defined in: src/batteries/sandbox/js/compartment.ts:33

Construct a minimal SES-backed in-process guest.

Parameters ​

ParameterTypeDefault value
globalsRecord<string, (...args: unknown[]) => unknown>undefined
limitsGuestLimitsundefined
modulesRecord<string, unknown>{}
hostLockdownbooleantrue

Returns ​

Promise<{ evaluate: Promise<GuestOutcome>; kill: Promise<void>; }>

Remarks ​

In Node, SES lockdown is process-global: this hardens the whole host realm, not only the guest. Guest-scoped isolation requires a worker or child runtime.