Runtime compatibility

This guide summarizes the compatibility contract for the package described by the current package.json and generated artifacts.

Do not hand-maintain release numbers or one-off smoke-test tool versions in this guide. Package identity, runtime entrypoints, browser mappings and declared support targets are canonical in package.json; npm run docs:check validates that this guide does not contain stale package-version literals.

Fact class Canonical source How this guide should use it
Package version package.json and npm registry Link to package metadata; do not repeat the version number here.
Node.js requirement package.json engines.node Summarize as package metadata, and let docs:check enforce stale-sensitive literals.
CommonJS entrypoint package.json main Describe the packaging mode; use TypeDoc/source for exact exports.
Type declarations package.json types / typings, generated lib/ and dist/ declarations State that declarations ship; do not claim a consumer TypeScript minimum unless tested and declared.
Browser mapping package.json browser, generated dist/dblurt.js and dist/dblurt.d.ts Refer to generated artifacts and the browser guide.
Browser target query package.json browserslist Link to the query; resolve exact browser versions with Browserslist instead of copying them.
Validation status tests and npm run docs:check Report validation commands in release notes or maintainer reports, not as permanent manual facts here.
Runtime / module mode Support level Contract source Notes
Node.js Supported according to package.json engines.node package metadata The package currently targets runtimes with built-in Web APIs used by the transport layer.
CommonJS Supported package.json main Normal Node package entrypoint.
ESM consumption Supported through Node/CommonJS interop package shape + consumer smoke coverage The package is not declared as native ESM unless package.json changes.
TypeScript declarations Supported package.json types / typings and generated declaration files No separate consumer TypeScript minimum is declared. Use the project validation command for the currently tested compiler path.
Native fetch Required by runtime behavior package description, transport implementation and tests Node versions satisfying the declared engine range provide native fetch.
AbortController Required by timeout behavior transport implementation and timeout contract tests Used for request timeout/cancellation behavior.
Browser target Support level Contract source Notes
Browser bundle Supported generated dist/dblurt.js Exposes global dblurt for direct script usage.
Browser declarations Supported generated dist/dblurt.d.ts Useful for browser/global typing workflows.
Modern browsers selected by the project query Supported when matching package.json browserslist package metadata Exact Chrome/Edge/Firefox/Safari/mobile versions depend on current Browserslist/caniuse data. Do not copy them into this guide.

Resolve exact browser versions locally with the query from package.json:

npx browserslist
Platform Support level Contract source Notes
Node.js server apps Supported when the runtime satisfies package.json engines.node package metadata + test suite Recommended runtime class for bots, services and indexers.
Browser dApps Supported when the runtime satisfies the browser target query and required Web APIs package metadata + generated browser bundle Use the browser bundle or a bundler workflow.
Electron Expected only through its compatible Node/Chromium components derived from Node/browser requirements No dedicated Electron test is currently present.
React Native Not declared no package metadata/test evidence Treat as unverified until dedicated validation exists.
Testnet / custom chains Configurable ClientOptions chainId and addressPrefix Compatibility depends on the target RPC node and chain settings.

Long-lived documentation should cite validation classes, not dated one-off values:

  • package metadata: package.json engines, main, types, typings, browser and browserslist;
  • generated artifacts: lib/, dist/dblurt.js, dist/dblurt.d.ts;
  • contract tests: client behavior, timeout/failover behavior, TypeScript declaration surface and browser bundle crypto surface;
  • documentation validation: npm run docs:check.

Release-specific command output belongs in release reports or changelog entries, not in this evergreen compatibility contract.