-
Notifications
You must be signed in to change notification settings - Fork 0
fix: harden wasm image pipeline with safe errors, input sanitization, and test coverage #3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
11661f5
docs: clarify defaults, NaN sanitization, and error policy
2YH02 69a5934
test(rust): cover no-dimension, decode-failure, and webp paths
2YH02 2682e5e
docs: add AGENTS guide
2YH02 607a0d3
test: allow format guess failure in invalid bytes case
2YH02 75dd596
fix(ts): make BrightnessOptions.brightness optional
2YH02 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| # AGENTS.md | ||
|
|
||
| ## Project Overview | ||
| `img-toolkit` is a Rust + WebAssembly image processing library published to npm. | ||
| The Rust core handles decode/transform/encode, and the TypeScript wrapper exposes the browser-facing API. | ||
|
|
||
| ## Key Files | ||
| - `src/lib.rs`: Rust/WASM core pipeline (option parsing, resize/brightness, format encode/decode, Rust tests). | ||
| - `ts-wrapper/resizeImage.ts`: TypeScript public API wrapper used by app code. | ||
| - `example/imageWorker.js`: Worker-side integration example for async image processing. | ||
| - `Cargo.toml`: Rust crate config and dependencies. | ||
| - `package.json`: npm package metadata, scripts, and build entrypoints. | ||
| - `README.MD`: user-facing API docs and usage examples; update when behavior/API changes. | ||
|
|
||
| ## Common Commands | ||
| - `cargo test`: run Rust unit tests for core behavior. | ||
| - `npm run build:wasm`: build wasm artifacts from Rust (`wasm-pack build --target web`). | ||
| - `npm run build:ts`: compile TypeScript wrapper/types. | ||
| - `npm run build`: full package build (`build:wasm` + `build:ts`). | ||
|
|
||
| Run the smallest relevant command first, then run the full build before final handoff. | ||
|
|
||
| ## Working Rules | ||
| - Preserve 2.x API compatibility unless a breaking change is explicitly requested. | ||
| - Keep user-facing errors safe and generic; avoid exposing low-level internals. | ||
| - Validate/sanitize options (clamp ranges, handle non-finite values). | ||
| - Do not remove `jpg/jpeg`, `png`, or `webp` support unless explicitly requested. | ||
| - Keep changes focused; avoid unrelated refactors. | ||
| - If API/default behavior changes, update `README.MD` and relevant examples in `example/`. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.