Contributing

Thank you for taking the time to contribute! 🎉👍

The following is a set of guidelines for contributing to Standard Solid, which is hosted in the Comake Organization on GitHub. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.

Please read our Code of Conduct to keep our community approachable and respectable.

To get an overview of the project, read the README.

The repository is available at https://github.com/comake/solid-on-rails

Pull Requests

All changes should be done through Pull Requests.

We recommend first searching for existing Issues related to your problem. If one does not exist, create a new Issue to discuss a possible solution to reduce the amount of changes that will be requested.

After coming to consensus with maintainers, create a Fork of the repo and implement your code changes and test.

In case any of your changes are breaking, make sure you target the next major branch (versions/x.0.0) instead of the main branch. Breaking changes include: changing interface/class signatures, potentially breaking external custom configurations, and breaking how internal data is stored. In case of doubt you probably want to target the next major branch.

Writing Code

Standard Solid is fully written in Typescript. It uses the Components.js dependnecy injection framework. Read more about how to work with Components.js in Getting Started.

We make use of Conventional Commits .

We use Husky to enforce strict requirements from the linter and the test coverage before a PR is valid. These are configured to run automatically when trying to commit to git.

If a list of entries is alphabetically sorted, such as index.ts, make sure it stays that way.

Testing

As mentioned above, tests run automatically when trying to commit to git. You should add or update unit tests for any code that you add or change. If you are building a feature, please also add relevant integration tests

To run tests manually, use:

npm run test

or to only run tests in a specific file, use:

npm run test ./test/unit/path/to/test.ts

Last updated