@corsa-bind/napi
v1.14.2
Published
Native JS runtime bindings for Corsa stdio workflows
Downloads
7,540
Readme
@corsa-bind/napi
@corsa-bind/napi exposes the corsa Rust workspace to Node.js, Deno, and
Bun through napi-rs.
Install
npm i @corsa-bind/napiThe published root package stays JS-only and pulls in the matching native binary through platform-specific optional dependencies.
Deno consumers should use npm package resolution with a local node_modules
directory and grant native addon access:
deno run --node-modules-dir=auto --allow-ffi --allow-read --allow-env --allow-run ./main.tsBun consumers can install and import the npm package directly:
bun add @corsa-bind/napi
bun run ./main.tsWhat it ships
- native JS bindings for the
corsaAPI and LSP surface - an ESM TypeScript wrapper under
dist/ - an
@corsa-bind/napi/orchestratorsubpath for workflow-level JS helpers - no bundled Corsa executable
Runtime requirement
You must provide a compatible Corsa executable yourself and
pass its path through CorsaApiClient.spawn({ executable: "/path/to/corsa" }).
API style
The wrapper exposes Promise-based methods such as spawnAsync,
initializeAsync, updateSnapshotAsync, callJsonAsync, callBinaryAsync,
and closeAsync for production Node services and editor integrations. The
older synchronous methods remain available for short scripts and latency-bounded
tooling, but they run on the JavaScript call path.
The root entry point intentionally stays close to the upstream binding surface.
Workflow strategies such as checker query coalescing live under
@corsa-bind/napi/orchestrator.
Development
vp install
vp run -w build_wrapper
vp test run --config ./vite.config.ts src/bindings/nodejs/corsa_node/ts/**/*.test.tsRepository-level executable examples live under examples/,
including mock-client, virtual-document, and
real-Corsa snapshot samples.
