👍🎉 First off, thanks for taking the time to contribute! 🎉👍
This project and everyone participating in it is governed by the Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to contact@yworks.com.
Svg2pdf is by no means perfect. If you find something is not working as expected we are glad to receive an issue report from you. Please make sure to search for existing issues first and check if the issue is not an unsupported feature or known issue.
If you did not find any related issues, please report a new issue. In order to be able to react efficiently we ask you to provide us with the following information:
- The versions of svg2pdf and jsPDF you are using
- A (preferably small) sample SVG that reproduces the issue (ideally, a link to a playground)
- Other code snippets if necessary
- Links to SVG specifications if necessary
Please also provide a clear and descriptive title and stick to the issue templates.
Note that this is an open source project and don't expect us to fix every issue immediately. Please also consider fixing the issue yourself and preparing a pull request. Sometimes a pointer to a specific line of code already helps a lot. We will happily discuss and merge contributions from the community!
We are very happy about pull requests from the community and will discuss and merge them in a timely manner. When preparing a pull request please follow these guidelines:
- You can find instructions for building and testing svg2pdf in the readme
- Make sure to cover new features or bugs with test cases. Test cases should be as small as possible. Please don't just paste SVGs generated by graphics tools, etc. into a test case.
- Make sure to follow the SVG specification. Svg2pdf currently mostly follows SVG 1.1, but some SVG 2.0 features are supported, as well.
- Make sure all tests are green before committing
- Stick to the TypeScript style guides used in the project and run
npm run prettier
before committing. - Resolve all eslint errors and warnings (
npm run lint
) - For the commit message, follow these guidelines:
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters or fewer
- Reference issues and pull requests liberally after the first line
- Make sure the CI tests are green after pushing. If not, please fix them.