All members of the project community must abide by the SAP Open Source Code of Conduct. Only by respecting each other we can develop a productive, collaborative community. Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting a project maintainer.
We use GitHub to manage reviews of pull requests.
-
If you are a new contributor, see: Steps to Contribute
-
Before implementing your change, create an issue that describes the problem you would like to solve or the code that should be enhanced. Please note that you are willing to work on that issue.
-
The team will review the issue and decide whether it should be implemented as a pull request. In that case, they will assign the issue to you. If the team decides against picking up the issue, the team will post a comment with an explanation.
Should you wish to work on an issue, please claim it first by commenting on the GitHub issue that you want to work on. This is to prevent duplicated efforts from other contributors on the same issue.
If you have questions about one of the issues, please comment on them, and one of the maintainers will clarify.
You are welcome to contribute code in order to fix a bug or to implement a new feature that is logged as an issue.
The following rule governs code contributions:
- Contributions must be licensed under the Apache 2.0 License
- Due to legal reasons, contributors will be asked to accept a Developer Certificate of Origin (DCO) when they create the first pull request to this project. This happens in an automated fashion during the submission process. SAP uses the standard DCO text of the Linux Foundation.
Please include the following license header at the top of every source file:
/*
* SPDX-FileCopyrightText: 2024 SAP SE or an SAP affiliate company and Juno contributors
* SPDX-License-Identifier: Apache-2.0
*/
This project uses Husky to enforce code quality checks and commitlint to ensure commit messages follow a consistent convention. Below are the details on how these are configured and how they work together.
npm run prepare
For more details on the specific hooks and commitlint rules used in this project, see our Husky and Commitlint Guide.
Before submitting your pull request, please ensure your code passes the following checks. These checks are also run in the CI workflow for every PR:
- Linting: Make sure your code adheres to the project’s coding standards by running
npm run lint
. - Prettier: Ensure your code is properly formatted by running
npm run check-format
. - Title lint: Ensure your title is following conventional commit format, for more details please check the workflow
- License Header: Verify that every source file includes the correct license header as specified above.
- Allowed Licenses: Ensure that any dependencies added are compliant with the list of allowed licenses (see in
package.json
). Check withnpm run check-licenses
. - REUSE Compliance: Ensure that your contributions are compliant with the REUSE guidelines.
- Tests: Make sure all tests pass. Run
npm run test
at the root level to ensure your code didn't break other packages.
-
We use GitHub issues to track bugs and enhancement requests.
-
Please provide as much context as possible when you open an issue. The information you provide must be comprehensive enough to reproduce that issue for the assignee.
For detail release management on npm registry please check our detailed Release Guidelines