Calcite Web is open to all types of contributions from across Esri. Things you can do to contribute include:
- Report a bug (open an issue)
- Suggest a new pattern or component (open an issue)
- Fork the repository and fix one of the open issues
- Report problems with the documentation.
Calcite Web has two development dependencies, Node.js and Grunt. If you already have these on your computer, you can skip these steps:
- Visit nodejs.org to install Node.
npm install -g grunt-cli
to install Grunt.
All the code for Calcite Web lives on GitHub. We use the fork and pull model to manage contribution.
- Fork the repository so you have your own copy (
your-username/calcite-web
) - Clone the repo locally with
git clone https://github.com/your-username/calcite-web
- Move into the clone repo:
cd calcite-web
- Install project dependencies:
npm install
You should also add Esri/calcite-web
as a remote at this point. We generally call this remote branch 'upstream':
git remote add upstream https://github.com/Esri/calcite-web
To run a development environment, just type grunt
. You should have a copy of the documentation site live at localhost:8888. As you develop features and fix bugs, be sure to write notes in CHANGELOG.md
.
All the code for Calcite Web lives on GitHub. We use the fork and pull model to manage contribution. To contribute, you should:
- Commit your changes.
- Note your changes in
CHANGELOG.md
- Make sure your copy is up to date:
git pull upstream master
- Push your changes to your fork:
/your-username/calcite-web
- Open a pull-request from your fork (
/your-username/calcite-web
) to the 'upstream' fork (/Esri/calcite-web
).
Calcite-Web uses SemVer (Semantic Versioning) for its releases. This means that version numbers are basically formatted like MAJOR.MINOR.PATCH
. If you're well acquainted with SemVer you should skip to 'Bumping the Version' below.
Breaking changes are signified with a new first number. For example, moving from 1.0.0 to 2.0.0 implies breaking changes.
New components, new helper classes, or substantial visual changes to existing components and patterns are minor releases. These are signified by the second number changing. So from 1.1.2 to 1.2.0 there are minor changes.
The final number signifies patches such as fixing a pattern or component in a certain browser, or fixing an existing bug. Small changes to the documentation site and the tooling around the Calcite-Web library are also considered patches.
- Change the version number in
package.json
to the desired version number. - Write a description of the changes, additions, and bug fixes in
CHANGELOG.md
. - Make sure
Esri/calcite-web
is up-to-date with your changes. - Run
grunt release
. If prompted enter your GitHub credentials and your s3 access key/secret.
To update the documentation site, just make sure you have push access to the Esri/calcite-web
repo and type grunt deploy
. This will build the site and deploy to gh-pages.
The site should be updated at http://esri.github.io/calcite-web/ in just a few moments.