To contribute to the monorepo, make a fork and clone it to your local machine.
It uses yarn berry workspaces.
To install the project's dependencies you will need to enable corepack first:
corepack enable
yarn install
To run all of the tests to completion:
yarn workspace @davidevmod/focus-trap e2e-run
To have a closer look to a particular test:
yarn workspace @davidevmod/focus-trap e2e-open
Changes to the source code of both the tests and the package will be hot-reloaded.
You can start a server on http://localhost:3000 with:
yarn workspace demo dev
Changes to both @davidevmod/focus-trap and the demo will be hot-reloaded.
Don't miss the library's CONTRIBUTING.md and demo's README.md.
-
Ensure the matter is not already being discussed by searching on GitHub under Issues or Discussions.
-
If you're unable to find an open issue addressing the problem, open a new one.
Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
-
Create a pull request (PR) with the patch in question.
-
Ensure the PR description clearly describes the problem and solution.
Don't forget to link PR to issue if one exists. -
Enable the checkbox to allow maintainer edits so the branch can be updated for a merge.
Once you submit your PR, we will review your proposal and may ask questions or request additional information. -
We may ask for changes to be made before a PR can be merged, either using suggested changes or pull request comments. You can apply suggested changes directly through the UI. You can make any other changes in your fork, then commit them to your branch.
-
As you update your PR and apply changes, mark each conversation as resolved.
-
Avoid force-pushing your changes, especially when updating your PR based on review feedback. Force-pushed changes are not easily viewable on GitHub, and not at all viewable if a force-push also rebases against main. PRs will be squash merged, so the specific commits on your PR branch do not matter, only the PR title itself. Don't worry about having a perfect commit history; instead focus on making your changes as easy to review and merge as possible.
-
When applicable, write new tests and/or update the README.md.
-
If the changes you made affect the behaviour of the package in any way, create a changeset by running
yarn g:changeset
and following the instructions on your terminal.
-
Look for Good First Issue and Help Wanted labeled issues.
-
Review our documentation!
We often aren't native english speakers, and our grammar might be a bit off. Any help we can get that makes our documentation more digestible is appreciated!
- Open a new Discussion.