First of all, thanks for wanting to contribute to Papercut. The project is fairly small so there is no structure defined. Pull requests are very welcome, with or without the existance of an issue. Issues are very welcome as well as long as descriptive enough.
Please open a PR if you want to get some code in the main branch. It will be reviewed and merged eventually, in case we think it's ok.
Papercut being a library means that you need to follow certain conventions, mainly when writing commit messages. Please get yourself familiarized with Conventional Commits (https://www.conventionalcommits.org/en/v1.0.0/). You'll never bump a version by hand when making changes to papercut, but semantic-release
will during the CI pipeline based on the commit message, according to the Conventional Commits spec.
You need node. How you make it available in your environment is up to you (maybe you're into using docker containers for dev environments, for example).
To run tests, run the following command
yarn test
Clone the project
git clone https://github.com/armand1m/papercut
Go to the project directory
cd papercut
Install dependencies
yarn
After that, feel free to update the examples
folder to test your changes.
Hopefully in the future, this will include a test runner a well to make the development experience a bit more reliable and enjoyable.
The examples folder are just node projects as well with their own dependencies. They have @armand1m/papercut
as a dependency, but linked to your local file system build.
This means you need to have a build of papercut locally. Just run yarn build
in the root and you should be fine.
Once that is done, you can proceed to actually running the example.
The examples have their own README.md
with instructions on how to run them.