onepub-dev / onepub-dev/reVault

Add WebAssembly wrapper for the core reVault API

Open
#188 0 comments 0 reactions 0 assignees View on GitHub

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-bindgen or 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.