@lingxia/rong
v0.3.1
Published
TypeScript type definitions for Rong JavaScript runtime
Readme
@lingxia/rong
TypeScript type definitions for the Rong JavaScript runtime (globals injected by Rust).
Scope
- Provides
.d.ts/TS sources for the runtime surface so editors/TS can typecheck Rong scripts. - Not a runtime polyfill: it does not provide implementations, only types.
Runtime Export Map (high level)
Rongnamespace: file system, storage, runtime metadata, command APIs, timer helpers, compression helpers, and host constructors such asRedisClient,S3Client,SQLite, andSSE- Globals added by Rong modules include
fetch,assert,atob,btoa,Worker,setTimeout,clearTimeout,setInterval, andclearInterval - Additional Web-standard globals such as
Request,Response,Headers,FormData,URL,ReadableStream,WritableStream,Blob,File,AbortController, andDOMExceptionare also provided when the corresponding runtime modules are enabled
The type package relies on TypeScript’s DOM libs for shared Web API base types.
Installation
npm install @lingxia/rongUsage (typechecking only)
Add to your tsconfig.json:
{
"compilerOptions": {
"types": ["@lingxia/rong"]
}
}Notes:
- This enables global typings; you should not
importruntime modules like'http'(those are Rong globals, not Node modules). - Ensure your
tsconfig.jsonlibincludes"DOM"if you want DOM globals (e.g.URL,ReadableStream) to be typed. Workeruses the DOM global type name. The package exportsRongWorker/RongWorkerMessageEvent/RongWorkerErrorEventfor the precise Rong subset when you want stricter annotations.- Rong’s runtime
Storageconstructor intentionally is not redeclared globally in the type package, because the DOM lib already owns the globalStoragename. Use the exportedStorage/StorageConstructortypes as local annotations when needed. - The package only supports the root export
@lingxia/rong;src/*anddist/*are not public import paths.
Accuracy notes (common gotchas)
- Storage is not
localStorage-compatible. The standard runtime exposesnew Storage(path, options?); embedders may also inject a preconfiguredstorageinstance, but that is not part of the default runtime surface. - Directory listing is
Rong.readDir(...)(async iterator), notRong.readdir(...). - HTTP is the global
fetch(...)API. There is nohttpnamespace and nodownloadJS API.
Development
# Install dependencies
npm install
# Build
npm run build
# Watch mode
npm run watch