Skip to content

Nodepod

Nodepod API


Nodepod API / src / Nodepod

Defined in: src/sdk/nodepod.ts:106

readonly fs: NodepodFS

Defined in: src/sdk/nodepod.ts:107


readonly inspect: PreviewInspector

Defined in: src/sdk/nodepod.ts:110

Opt-in inspection of a host-owned preview iframe.


readonly instanceId: string

Defined in: src/sdk/nodepod.ts:114

unique id used by RequestProxy + SW to route back to this Nodepod when multiple coexist on one page


readonly profiler: NodepodProfiler

Defined in: src/sdk/nodepod.ts:108

get cwd(): string

Defined in: src/sdk/nodepod.ts:1170

string


get engine(): never

Defined in: src/sdk/nodepod.ts:1155

Main-thread engine removed for security. all code now runs in isolated Web Workers via spawn() <– this removes fatal security flaws.

never


get isHeadless(): boolean

Defined in: src/sdk/nodepod.ts:477

Whether this instance was booted in headless mode.

boolean


get isSharedArrayBufferEnabled(): boolean

Defined in: src/sdk/nodepod.ts:1174

true if SAB features are active on this instance

boolean


get packages(): DependencyInstaller

Defined in: src/sdk/nodepod.ts:1161

DependencyInstaller


get processManager(): ProcessManager

Defined in: src/sdk/nodepod.ts:1167

ProcessManager


get proxy(): RequestProxy

Defined in: src/sdk/nodepod.ts:1164

RequestProxy


get sharedFSBuffer(): SharedArrayBuffer | null

Defined in: src/sdk/nodepod.ts:1120

postMessage this to a sibling worker (one the host app spawned, not one nodepod spawned via spawn()), then call Nodepod.attachFS(buffer) on the other side. null if SAB is unavailable, but boot() would have thrown in that case so this is mostly defensive.

default capacity is 256 MiB (or sharedVFSBufferSize at boot), 65,536 entries, 248-byte paths. writes past either cap count as dropped writes so callers can detect an undersized mirror.

SharedArrayBuffer | null


get volume(): MemoryVolume

Defined in: src/sdk/nodepod.ts:1151

MemoryVolume

clearPreviewScript(): Promise<void>

Defined in: src/sdk/nodepod.ts:943

Promise<void>


createTerminal(opts): NodepodTerminal

Defined in: src/sdk/nodepod.ts:662

TerminalOptions

NodepodTerminal


memoryStats(): object

Defined in: src/sdk/nodepod.ts:1044

object

engine: object

moduleCacheSize: number

transformCacheApproxBytes: number

transformCacheSize: number

heap: { limitMB: number; totalMB: number; usedMB: number; } | null

runtime: object

budgetMB: number

messagePorts: number

pendingHttp: number

processes: number

sharedFSAllocated: boolean

sharedFSBytes: number

sharedFSUsedBytes: number

wasmCacheEntries: number

workers: number

vfs: object

dirCount: number

fileCount: number

lazyResidentBytes: number

totalBytes: number

watcherCount: number


performanceStats(): PerformanceStats

Defined in: src/sdk/nodepod.ts:1040

PerformanceStats


port(num): string | null

Defined in: src/sdk/nodepod.ts:952

number

string | null


request(port, init?): Promise<CompletedResponse>

Defined in: src/sdk/nodepod.ts:485

Programmatic HTTP against a virtual server registered on this instance. Works without Service Worker / preview iframes (headless-friendly).

number

NodepodRequestOptions = {}

Promise<CompletedResponse>


restore(snapshot, opts?): Promise<void>

Defined in: src/sdk/nodepod.ts:976

VolumeSnapshot

SnapshotOptions

Promise<void>


setPreviewScript(script): Promise<void>

Defined in: src/sdk/nodepod.ts:938

string

Promise<void>


snapshot(opts?): VolumeSnapshot

Defined in: src/sdk/nodepod.ts:967

SnapshotOptions

VolumeSnapshot


spawn(cmd, args?, opts?): Promise<NodepodProcess>

Defined in: src/sdk/nodepod.ts:532

string

string[]

SpawnOptions

Promise<NodepodProcess>


teardown(): void

Defined in: src/sdk/nodepod.ts:993

void


static attachFS(buffer): NodepodFSClient

Defined in: src/sdk/nodepod.ts:1140

attach to an existing nodepod from a sibling worker using the buffer from nodepod.sharedFSBuffer. the returned client is read-only, writes throw ENOTSUP.

SharedArrayBuffer

NodepodFSClient


static boot(opts?): Promise<Nodepod>

Defined in: src/sdk/nodepod.ts:277

NodepodOptions = {}

Promise<Nodepod>