In order to contribute, you must accept the contributor license agreement, indicating that you consent to our use of your contribution.
For code contributions, we recommend reviewing the following docs from the axe-core repo:
This documentation covers a variety of important information you'll need to review before making code changes, including our commitment to code quality, preferred commit structure, and relevant pull request formatting and processes.
Although we do not have official code style guidelines, we can and will request you to make changes if we feel the changes are warranted. You can take clues from the existing code base to see what we consider to be reasonable code quality. Please be prepared to make changes that we ask of you even if you might not agree with the request(s).
Please respect the coding style of the files you are changing and adhere to that.
The files in this project are formatted by using the dotnet format
command
We expect all code to be 100% covered by tests. We don't have or want code coverage metrics but we will review tests and suggest changes when we think the test(s) do(es) not adequately exercise the code/code changes.
This project uses the default dotnet format
settings for formatting C# files. PR builds include an automated formatting check.
You'll need the following installed:
- .NET SDK 6.0 SDK
- .NET Core 3.1 SDK
- .NET Framework 4.7.1 Developer Pack
- PowerShell 7+
- Node.js (latest LTS version)
- Google Chrome (latest stable version)
- Mozilla Firefox (latest stable version)
Ensure you have Playwright browsers installed. For reference, see https://playwright.dev/dotnet/docs/browsers
- To build all projects, run
dotnet build
from the root of the repo - To build one project, run
dotnet build
from that project's folder (eg,packages/commons/src
)
- To run all tests, run
dotnet test
from the root of the repo - To run one test project, run
dotnet test
from that test project's folder (eg,packages/commons/test
) - To run one individual test case, run
dotnet test --filter "Name=TestCaseMethodName"
dotnet test --list-tests
will list the available test cases
- To have integration tests use headed browsers instead of headless ones, run
dotnet test -e HEADED=1