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.json engines, main, types, typings, browser and browserslist;lib/, dist/dblurt.js, dist/dblurt.d.ts;npm run docs:check.Release-specific command output belongs in release reports or changelog entries, not in this evergreen compatibility contract.