Releases: causljs/causl-ts
Release list
v0.2.0 — TypeScript-only bundle (21 KiB brotli runtime total)
First versioned release of @causljs/* — the minimum viable TypeScript
engine bundle for projects building on top of causl. WASM artefacts,
native checker binaries, and developer tooling are deliberately
excluded.
Install
Download the four .tgz assets attached to this release and install
locally:
pnpm add ./causl-core-0.2.0.tgz
pnpm add ./causl-sync-0.2.0.tgz # peer of @causljs/react
pnpm add ./causl-react-0.2.0.tgz # if you use React
pnpm add ./causl-formula-0.2.0.tgz # if you use the formula DSLOr pin a tarball URL directly in your package.json:
{
"dependencies": {
"@causljs/core": "https://github.com/causljs/causl-ts/releases/download/v0.2.0/causl-core-0.2.0.tgz",
"@causljs/sync": "https://github.com/causljs/causl-ts/releases/download/v0.2.0/causl-sync-0.2.0.tgz",
"@causljs/react": "https://github.com/causljs/causl-ts/releases/download/v0.2.0/causl-react-0.2.0.tgz",
"@causljs/formula": "https://github.com/causljs/causl-ts/releases/download/v0.2.0/causl-formula-0.2.0.tgz"
}
}What's in the release
Each tarball is the output of npm pack against a tree built by
tools/release/release.py --minify --tarballs, which:
- Re-runs
esbuild --minify --target=es2020 --format=esmover every
emitted.js(saves 48-57% per file vs the sourcedist/). - Strips source maps and the
//# sourceMappingURL=...trailers. - Narrows
package.json#exportsto the./main barrel (drops
./internal,./testing,./wasm,./resource,./conflict). - Resolves
workspace:*cross-deps to^0.2.0so the four tarballs
install cleanly against each other.
Sizes
| Package | Runtime (brotli q11) | + Types (brotli) | npm tarball |
|---|---|---|---|
@causljs/core |
14.36 KiB | 47.50 KiB | 76 KiB |
@causljs/sync |
2.40 KiB | 2.38 KiB | 9 KiB |
@causljs/react |
1.75 KiB | 12.73 KiB | 20 KiB |
@causljs/formula |
2.96 KiB | 9.22 KiB | 16 KiB |
| TOTAL | 21.46 KiB | 71.83 KiB | 121 KiB |
Runtime is what the browser fetches over the wire after your
bundler tree-shakes its dependency graph — the headline number for
ship-size budgeting. @causljs/core at 14.36 KiB brotli is at parity
with the SPEC §17.6 / size-limit dist/index.js cap (15.97 KB
treeshaken).
Types is the install-time-only .d.ts payload; never shipped
to the browser at runtime.
npm tarball is the full .tgz asset attached to this release
(includes README, package.json, dist/, types).
What's NOT in this release
Out of scope for the v0.2.0 minimum-viable TypeScript bundle:
- All WASM artefacts (
@causljs/core/wasmsubpath; thegc-builtins,
gc-classic, andserdebridge cdylibs). The Rust/WASM engine
port lives atcausljs/causl-wasm. @causljs/checker(+ native binary shards) — lives at
causljs/causl-check.@causljs/devtools,@causljs/devtools-bridge,
@causljs/hypothesis,@causljs/migration-check,
@causljs/persistence,@causljs/sync-testing-internal.- The
./internaland./testingsubpath exports on@causljs/core.
Source tree
The source for v0.2.0 lives on this repo's main at the v0.2.0 tag.
The release tarballs were rebuilt via tools/release/release.py --minify --tarballs.