- Node LTS
- NPM
Tip: This repo supports
corepack
. Just enable itcorepack enable
and this repo will warn you if you try to use another package manager.
The @coveo/platform-client
is an open source project. Therefore by nature its scope is limited to Coveo's endpoints that are public, documented, and stable. Any change to an endpoint that doesn't comply to all of the criteria enumerated above will likely be rejected / heavily challenged by the maintainers of the project at the pull request stage.
- public: available in production.
- documented: available on Swagger.
- stable: the change is not deemed to be temporary, or part of a rapid iteration process.
In case your changes don't fall within the scope yet, but you still want to be able to use them, we recommend extending the client in your own project.
- Make sure your changes are fully tested (when applicable).
- We tend to avoid comments in our code base, we strongly prefer good naming and code structure.
- Avoid pushing similar changes in different commits if it's within the same feature, because we want the changelogs to be clear and simple. To avoid that, there are at least 2 options:
- Squash the commits into one when merging (you need to edit the final commit message though)
- amend the previous commit when making related changes (
git commit --amend --no-edit
)
Every commit message must comply with the Angular Commit Message Conventions specification. We use the commit messages to automatically bump the package version according to the semantic versioning notation. Moreover, we generate changelogs for each version using those commit messages.
- You can either manually write a commit message that follows the convention using your favorite method.
- Or you can run
npm run commit-cli
. It will prompt you some questions about the nature of your changes, then it will commit your staged changes along with a generated message that follows our convention. - Commits containing breaking changes need to be marked as such in the commit footer. See BREAKING CHANGE convention.