To get an overview of the project, read the README and Documentation.
We welcome all contributions to the project, however some contributions are better suited for new contributors or easier to get accepted.
Read Contributing Docs for some guidance on the types of possible contributions.
If you spot a problem, search if an issue already exists. If a related issue doesn't exist, you can open a new issue.
For other contributions like documentation, examples, etc. please also open an issue so we know what you want to work on and discuss any details.
Scan through our existing issues to find one that interests you. If you find an issue to work on, first comment on it to express interest in solving it. Then you are welcome to open a PR with a fix.
Make sure that you are at least on Dart SDK version 2.17.0.
Clone the project with the following command:
git clone https://github.com/schultek/jaspr.gitJaspr uses Melos to manage the project and dependencies. To install Melos, run the following command:
dart pub global activate melosNext, at the root of your locally cloned repository run the bootstrap command:
melos bootstrapThe bootstrap command locally links all dependencies within the project without having to provide manual dependency_overrides.
This allows all packages, examples and tests to build from the local clone project.
You do not need to run
dart pub getonce bootstrap has been completed.
This also overrides the global jaspr command to use the local project, so you have the latest cli version.
Whenever you change something in the jaspr_cli package and want to test it using the global jaspr command
run melos activate:cli to re-activate the package.
To run all tests across packages, run:
melos run testTo also compute the coverage and open the report in your browser, run:
melos run coverageWhen you change something in the html component library, re-generate the component methods by running:
melos run generate:htmlWhen you change or add the jaspr create scaffold, re-generate the bundle for the cli by running:
melos run generate:scaffoldPackages inside the /packages directory are versioned using the semantic changelog approach.
That means that the owner of a pull request is responsible for declaring which package versions should be increased based on the changes in the pull request. To mark a version change, edit the CHANGELOG.md file of the given package like this:
## Unreleased <breaking/major/minor/patch>
/_ insert description about the changes done by this PR _/
## 1.2.3
/_ content of the changelog before this PR _/If there is already a Unreleased ... section, simply add your changes to this section.
If you have changes in multiple packages, edit the changelogs of each affected package. Note that the jaspr,
jaspr_builder, jaspr_cli and jaspr_test share a single changelog, so you only have to edit this once.
For a more detailed explanation of this, go to semantic changelog.