A privacy-focused text masking tool that works entirely in your browser. Uses WebAssembly and Rust.
-
Clone the repository:
git clone https://github.com/richardjypark/maskmytext.com.git cd maskmytext.com -
Install dependencies:
rustup target add wasm32-unknown-unknown
wasm-pack build
cd www pnpm install -
Run the project:
pnpm run dev
To run tests, use the following command:
wasm-pack test --headless --chromecd www
pnpm testRun only frontend unit tests:
cd www
pnpm run test:unitRun only Playwright end-to-end tests:
cd www
pnpm run test:e2eThe application is automatically built, tested, and deployed to GitHub Pages whenever the master branch is updated. The workflow responsible for this lives at .github/workflows/deploy.yml.
- Make sure all tests pass locally (
wasm-pack test --headless --chromeandpnpm testinsidewww). - Commit your changes and push (or merge a pull-request) to
master. - Watch the Actions → Build, Test, and Deploy workflow – it will:
- Check out the repository and restore caches
- Build the Rust → WebAssembly package (
wasm-pack build --release) - Run Rust and Playwright tests
- Build the production bundle (
pnpm build:prod) - Publish the
www/distfolder to GitHub Pages
- When the workflow finishes successfully your changes will be live at https://maskmytext.com (or the GitHub Pages URL for forks).
Need to redeploy without new commits? Open Actions → Build, Test, and Deploy → Run workflow to trigger the pipeline manually (enabled by the workflow_dispatch event).
MIT
