Go to our issue tracker and check if your problem/suggestion is already reported. If not, create a new issue with a descriptive title and detail your suggestion or steps to reproduce the problem.
If you are reporting a bug, please point the environment where you find it. (Node.js on GNU/Linux Distro, Firefox on windows, Electron on Mac, Chrome on Android,...) If you can, please confirm if the bug happens in other environments and list it.
You can help answering issue questions; maturing or voting on feature suggestions; confirming bug reports and adding more information to then. You can help a lot locating the bug source and proposing test code to prevent regression bug.
If you know how to code, we welcome you to send fixes and new features, but in order to be efficient we ask you to follow the following procedure:
- Fork this repo;
- Clone your forked repo locally;
- Code your changes (if you want to implement many features do each one in a separated branch);
- Write tests to ensure your feature works as expected and protect its behavior on future changes;
- Test it! Ensure you don't crash Jimp in Node.js or Browser environments;
- Full test with
pnpm run test
will also produce a coverage report. - For more option, see the "Testing" topic bellow.
- Full test with
- Push to your forked repo;
- Make your pull request.
pnpm i # install and link all packages in monorepo
# Build all the packages
pnpm run build
We use vitest to test the code.
# Run all tests
pnpm run test
# Run a package's tests
cd packages/core
pnpm run test
# Build the docs
cd packages/docs
pnpm run start
See Oliver's call from jan/2017. And read the Community Maintainer Guidelines.