Hello, thank you for your interest in helping!
Please create a new issue containing the steps to reproduce the problem.
If you're having installation problems, please include the output of running npm install --verbose sharp
.
New bugs are assigned a triage
label whilst under investigation.
If a similar request exists, it's probably fastest to add a comment to it about your requirement.
Implementation is usually straightforward if libvips already supports the feature you need.
Thank you! To prevent the problem occurring again, please add unit tests that would have failed.
Please select the main
branch as the destination for your Pull Request so your fix can be included in the next minor release.
Please squash your changes into a single commit using a command like git rebase -i upstream/main
.
To test C changes, you can compile the module using npm install --build-from-source
and then run the tests using npm test
.
Please add JavaScript unit tests to cover your new feature.
A test coverage report for the JavaScript code is generated in the coverage/lcov-report
directory.
Please also update the TypeScript definitions, along with the type definition tests.
Where possible, the functional tests use gradient-based perceptual hashes based on dHash to compare expected vs actual images.
You deserve to add your details to the list of contributors.
Any change that modifies the existing public API should be added to the relevant work-in-progress branch for inclusion in the next major release.
Please squash your changes into a single commit using a command like git rebase -i upstream/<wip-branch>
.
The API tries to be as fluent as possible. Image processing concepts follow the naming conventions from libvips and, to a lesser extent, ImageMagick.
Most methods have optional parameters and assume sensible defaults. Please ensure backwards compatibility where possible.
Feel free to create a new issue to gather feedback on a potential API change.
A method to be removed should be deprecated in the next major version then removed in the following major version.
By way of example, the background()
method present in v0.20.0 was deprecated in v0.21.0 and removed in v0.22.0.
The public API is documented with JSDoc annotated comments.
These can be converted to Markdown by running:
npm run docs-build
Please include documentation updates in any Pull Request that modifies the public API.
npm test
Requires Valgrind.
npm run test-leak
Please feel free to ask any questions via a new issue.
If you're unable to post details publicly, please e-mail for private, paid consulting.