@cloudbitmaps/core
v0.15.0
Published
Codec-agnostic engine for CloudBitmaps: the .crbm format, the write-once load/publish path, generation GC, encryption-at-rest, and the driver ports. No cloud SDK.
Maintainers
Readme
@cloudbitmaps/core
Most people do not install this package. It is the engine underneath CloudBitmaps, and it arrives on its own when you install the two packages you want. Install those instead:
pnpm add @cloudbitmaps/roaring @cloudbitmaps/s3 # the store, and the storage you have (or /gcs, or /azure-blob)On npm 12 and pnpm 10 and later, allow roaring's one install script first, or the install exits 0 and the package throws at import. Put this in your package.json: { "allowScripts": { "roaring": true }, "pnpm": { "onlyBuiltDependencies": ["roaring"] } }. npm 11 runs the script but warns until you allow it the same way; pnpm 9 needs nothing extra. Details.
Depend on @cloudbitmaps/core directly only to write a flavor or a driver.
ESM-only, Node ≥ 22.12. Use
import; forrequire(), Jest and TypeScript, see CommonJS, Jest and TypeScript.
Pre-1.0: the API and the on-disk format can still change. These docs describe
main, ahead of the npm release.
What it is
The codec-agnostic cloud engine: a bounded in-memory cache over immutable .crbm objects, chunk-skipping
intersection, the segment registry, the write-once load-and-publish path, generation collection, encryption at rest
and crypto-shred, erasure by rewrite, retention, and the in-memory and local-filesystem backends. It has zero runtime
dependencies and no cloud SDK. The cloud backends are their own packages, built against
@cloudbitmaps/core/driver-kit, the declared contract a driver depends on. A third-party driver can use it too.
Its main entry is the flavor-author kit: the read engine, the standalone forms of the store's methods (loadSegment,
dropSegment, retireExpired and the rest), and the retry and budget internals. @cloudbitmaps/roaring re-exports,
by name, what an application uses.
Documentation
- API reference, including the driver kit
- Getting started
- Changelog
License
Apache-2.0
