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 master
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/master
.
To test C++ changes, you can compile the module using npm install
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.
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.
Release | WIP branch |
---|---|
v0.18.0 | ridge |
v0.19.0 | suit |
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. Methods with mandatory parameters often have names like doSomethingWith(X)
.
Please ensure backwards compatibility where possible. Methods to modify previously default behaviour often have names like withoutOptionY()
or withExtraZ()
.
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 bilinearInterpolation method present in v0.5.0 was deprecated in v0.6.0 and removed in v0.7.0.
The public API is documented with JSDoc annotated comments.
These can be converted to Markdown by running:
npm run docs
Please include documentation updates in any Pull Request that modifies the public API.
npm test
Requires Valgrind.
npm run test-leak
Tests the installation on a number of Linux-based operating systems. Requires docker.
npm run test-packaging
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.