Skip to content

cablepull/exif-stripper-wasm

Repository files navigation

EXIF Stripper (WASM)

Live demo (the actual app): https://cablepull.github.io/exif-stripper-wasm/ — open this URL for the drop zone and processing UI.
(The GitHub repository page below only shows this README; it is not the demo.)

Remove EXIF and other embedded metadata from JPEG and PNG images in the browser. Processing uses a Rust core compiled to WebAssembly; files are not uploaded to a server.

Prerequisites

Build

From the repository root:

wasm-pack build --target web --release
cd www && npm ci && npm run build
  • pkg/ — JavaScript and WASM bindings produced by wasm-pack (load this path from www/ during dev/build).
  • www/dist/ — Static site ready to deploy (includes hashed assets from Vite).

For a local production build that matches GitHub Pages asset paths (/exif-stripper-wasm/…), run:

cd www && GITHUB_ACTIONS=true npm run build

GITHUB_ACTIONS is set automatically in the GitHub workflow.

Local development

wasm-pack build --target web
cd www && npm run dev

Open the URL Vite prints (typically http://localhost:5173).

WASM binary integrity

After every wasm-pack build, you can fingerprint the compiled module:

shasum -a 256 pkg/exif_stripper_wasm_bg.wasm

Store the printed digest with your release notes or CI logs. Re-run the same command on another checkout or build artifact and compare digests to confirm the .wasm file matches.

Deploy

Layout

Path Role
src/ Rust library and wasm-bindgen exports
tests/ Host-side integration tests (cargo test --tests)
www/ Vite app, Web Worker, UI
intent.md, requirements.md, design.md, tasks.md Spec artifacts (see CLAUDE.md for the spec-check gate workflow)

Manual checks (not automated in CI)

  • Storage: After processing, confirm DevTools → Application shows no image blobs in persistent storage (see tasks.md M5).
  • Network: With the page loaded, process a file and confirm no new requests appear in the Network panel (beyond the initial page load).
  • Latency: Use the per-file processing time shown in the UI to spot slow runs; the spec targets < 100 ms for typical JPEGs under 10 MB on a warm tab.

License

See the repository’s license file when one is added.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors