Nodepod
Nodepod API / src / Nodepod
Class: Nodepod
Section titled “Class: Nodepod”Defined in: src/sdk/nodepod.ts:121
Properties
Section titled “Properties”
readonlyfs:NodepodFS
Defined in: src/sdk/nodepod.ts:122
inspect
Section titled “inspect”
readonlyinspect:PreviewInspector
Defined in: src/sdk/nodepod.ts:125
Opt-in inspection of a host-owned preview iframe.
instanceId
Section titled “instanceId”
readonlyinstanceId:string
Defined in: src/sdk/nodepod.ts:129
unique id used by RequestProxy + SW to route back to this Nodepod when multiple coexist on one page
profiler
Section titled “profiler”
readonlyprofiler:NodepodProfiler
Defined in: src/sdk/nodepod.ts:123
Accessors
Section titled “Accessors”Get Signature
Section titled “Get Signature”get cwd():
string
Defined in: src/sdk/nodepod.ts:1404
Returns
Section titled “Returns”string
engine
Section titled “engine”Get Signature
Section titled “Get Signature”get engine():
never
Defined in: src/sdk/nodepod.ts:1389
Deprecated
Section titled “Deprecated”Main-thread engine removed for security. all code now runs in isolated Web Workers via spawn() <– this removes fatal security flaws.
Returns
Section titled “Returns”never
isHeadless
Section titled “isHeadless”Get Signature
Section titled “Get Signature”get isHeadless():
boolean
Defined in: src/sdk/nodepod.ts:647
Whether this instance was booted in headless mode.
Returns
Section titled “Returns”boolean
isSharedArrayBufferEnabled
Section titled “isSharedArrayBufferEnabled”Get Signature
Section titled “Get Signature”get isSharedArrayBufferEnabled():
boolean
Defined in: src/sdk/nodepod.ts:1408
true if SAB features are active on this instance
Returns
Section titled “Returns”boolean
packages
Section titled “packages”Get Signature
Section titled “Get Signature”get packages():
DependencyInstaller
Defined in: src/sdk/nodepod.ts:1395
Returns
Section titled “Returns”persistence
Section titled “persistence”Get Signature
Section titled “Get Signature”get persistence():
WorkspacePersistence|null
Defined in: src/sdk/nodepod.ts:1385
Workspace persistence, when booted with the persistence option and a store was available.
Returns
Section titled “Returns”WorkspacePersistence | null
processManager
Section titled “processManager”Get Signature
Section titled “Get Signature”get processManager():
ProcessManager
Defined in: src/sdk/nodepod.ts:1401
Returns
Section titled “Returns”Get Signature
Section titled “Get Signature”get proxy():
RequestProxy
Defined in: src/sdk/nodepod.ts:1398
Returns
Section titled “Returns”sharedFSBuffer
Section titled “sharedFSBuffer”Get Signature
Section titled “Get Signature”get sharedFSBuffer():
SharedArrayBuffer|null
Defined in: src/sdk/nodepod.ts:1345
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.
Returns
Section titled “Returns”SharedArrayBuffer | null
volume
Section titled “volume”Get Signature
Section titled “Get Signature”get volume():
MemoryVolume
Defined in: src/sdk/nodepod.ts:1381
Returns
Section titled “Returns”Methods
Section titled “Methods”clearPreviewScript()
Section titled “clearPreviewScript()”clearPreviewScript():
Promise<void>
Defined in: src/sdk/nodepod.ts:1122
Returns
Section titled “Returns”Promise<void>
createTerminal()
Section titled “createTerminal()”createTerminal(
opts):NodepodTerminal
Defined in: src/sdk/nodepod.ts:841
Parameters
Section titled “Parameters”Returns
Section titled “Returns”memoryStats()
Section titled “memoryStats()”memoryStats():
object
Defined in: src/sdk/nodepod.ts:1256
Returns
Section titled “Returns”object
engine
Section titled “engine”engine:
object
engine.moduleCacheSize
Section titled “engine.moduleCacheSize”moduleCacheSize:
number
engine.transformCacheApproxBytes
Section titled “engine.transformCacheApproxBytes”transformCacheApproxBytes:
number
engine.transformCacheSize
Section titled “engine.transformCacheSize”transformCacheSize:
number
heap: {
limitMB:number;totalMB:number;usedMB:number; } |null
runtime
Section titled “runtime”runtime:
object
runtime.budgetMB
Section titled “runtime.budgetMB”budgetMB:
number
runtime.messagePorts
Section titled “runtime.messagePorts”messagePorts:
number
runtime.pendingHttp
Section titled “runtime.pendingHttp”pendingHttp:
number
runtime.processes
Section titled “runtime.processes”processes:
number
runtime.sharedFSAllocated
Section titled “runtime.sharedFSAllocated”sharedFSAllocated:
boolean
runtime.sharedFSBytes
Section titled “runtime.sharedFSBytes”sharedFSBytes:
number
runtime.sharedFSUsedBytes
Section titled “runtime.sharedFSUsedBytes”sharedFSUsedBytes:
number
runtime.wasmCacheEntries
Section titled “runtime.wasmCacheEntries”wasmCacheEntries:
number
runtime.workers
Section titled “runtime.workers”workers:
number
vfs:
object
vfs.dirCount
Section titled “vfs.dirCount”dirCount:
number
vfs.fileCount
Section titled “vfs.fileCount”fileCount:
number
vfs.lazyResidentBytes
Section titled “vfs.lazyResidentBytes”lazyResidentBytes:
number
vfs.packedBytes
Section titled “vfs.packedBytes”packedBytes:
number
Their size, uncompressed.
vfs.packedFiles
Section titled “vfs.packedFiles”packedFiles:
number
Package files kept deflated in memory (memory.packPackageContent).
vfs.packedStoredBytes
Section titled “vfs.packedStoredBytes”packedStoredBytes:
number
What they take in memory.
vfs.pagedOutBytes
Section titled “vfs.pagedOutBytes”pagedOutBytes:
number
vfs.pagedOutFiles
Section titled “vfs.pagedOutFiles”pagedOutFiles:
number
Package files paged out of memory (memory.evictPackageContent).
vfs.pagedOutSyncMisses
Section titled “vfs.pagedOutSyncMisses”pagedOutSyncMisses:
number
Synchronous reads that hit paged-out content (should stay 0).
vfs.residentPackBytes
Section titled “vfs.residentPackBytes”residentPackBytes:
number
Paged-in package content currently held, bounded by the resident budget.
vfs.totalBytes
Section titled “vfs.totalBytes”totalBytes:
number
vfs.watcherCount
Section titled “vfs.watcherCount”watcherCount:
number
performanceStats()
Section titled “performanceStats()”performanceStats():
PerformanceStats
Defined in: src/sdk/nodepod.ts:1252
Returns
Section titled “Returns”port()
Section titled “port()”port(
num):string|null
Defined in: src/sdk/nodepod.ts:1131
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”string | null
request()
Section titled “request()”request(
port,init?):Promise<CompletedResponse>
Defined in: src/sdk/nodepod.ts:655
Programmatic HTTP against a virtual server registered on this instance. Works without Service Worker / preview iframes (headless-friendly).
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”Promise<CompletedResponse>
restore()
Section titled “restore()”restore(
snapshot,opts?):Promise<void>
Defined in: src/sdk/nodepod.ts:1161
Parameters
Section titled “Parameters”snapshot
Section titled “snapshot”Returns
Section titled “Returns”Promise<void>
setPreviewScript()
Section titled “setPreviewScript()”setPreviewScript(
script):Promise<void>
Defined in: src/sdk/nodepod.ts:1117
Parameters
Section titled “Parameters”script
Section titled “script”string
Returns
Section titled “Returns”Promise<void>
snapshot()
Section titled “snapshot()”snapshot(
opts?):VolumeSnapshot
Defined in: src/sdk/nodepod.ts:1146
Parameters
Section titled “Parameters”Returns
Section titled “Returns”spawn()
Section titled “spawn()”spawn(
cmd,args?,opts?):Promise<NodepodProcess>
Defined in: src/sdk/nodepod.ts:702
Parameters
Section titled “Parameters”string
string[]
Returns
Section titled “Returns”Promise<NodepodProcess>
teardown()
Section titled “teardown()”teardown():
Promise<void>
Defined in: src/sdk/nodepod.ts:1196
Release workers, servers, the SW slot and (headless) the loopback ingress. Everything synchronous happens before the first await, so un-awaited callers still get the old fire-and-forget behaviour; awaiting additionally waits for the ingress socket and its keep-alive connections to close.
Returns
Section titled “Returns”Promise<void>
attachFS()
Section titled “attachFS()”
staticattachFS(buffer):NodepodFSClient
Defined in: src/sdk/nodepod.ts:1370
attach to an existing nodepod from a sibling worker using the buffer from nodepod.sharedFSBuffer. the returned client is read-only, writes throw ENOTSUP.
Parameters
Section titled “Parameters”buffer
Section titled “buffer”SharedArrayBuffer
Returns
Section titled “Returns”boot()
Section titled “boot()”
staticboot(opts?):Promise<Nodepod>
Defined in: src/sdk/nodepod.ts:308
Parameters
Section titled “Parameters”NodepodOptions = {}
Returns
Section titled “Returns”Promise<Nodepod>