onepub-dev / onepub-dev/reVault
Add WebAssembly wrapper for the core reVault API
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 4
- Forks
- 0
- Avg merge
- 1h 55m
- Merged PRs (30d)
- 1
Description
Goal
Provide a WebAssembly wrapper around the core reVault API so browser and JavaScript/TypeScript clients can use the core lockbox functionality without going through the CLI.
Context
The Rust crate currently appears to be lockbox_core; confirm whether the public package/API should be named revault_core, lockbox_core, or a dedicated WASM package name before publishing.
The wrapper should target WASM consumers while keeping the core Rust API as the source of truth.
Proposed scope
- Add a WASM-friendly wrapper crate or package for the core API.
- Use
wasm-bindgenor the project-preferred WASM binding approach. - Expose ergonomic JavaScript/TypeScript bindings.
- Support the expected runtime targets, at minimum browser use, and document Node support if included.
- Wrap common lockbox operations needed by clients.
- Convert Rust errors into clean, stable JS-facing errors.
- Avoid exposing raw secrets longer than necessary and document WASM memory/security limitations.
- Add examples for browser and TypeScript usage.
Testing
- Add CI coverage that builds the WASM target.
- Add smoke tests for the exported bindings.
- Add API-level tests for representative create/open/read/write flows where practical.
Notes
The core crates already contain some wasm32-unknown-unknown dependency configuration, so this should start by auditing the existing WASM readiness before introducing new structure.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by auditing the core crates' existing wasm32-unknown-unknown dependency configuration and confirm whether the public package should be named revault_core, lockbox_core, or a dedicated WASM package. Review the core API and define the wrapper's browser-facing operations, error behavior, and memory limitations. Done includes browser and TypeScript examples, WASM build CI, binding smoke tests, and representative create/open/read/write API tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, wasm
- Domain
- api, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100