Skip to content

Latest commit

 

History

History
142 lines (95 loc) · 3.53 KB

CONTRIBUTING.md

File metadata and controls

142 lines (95 loc) · 3.53 KB

Contributing

Thanks for taking the time to contribute! 🎉 🎊 👍

Table of contents

Getting started

Developing

Releasing

Getting started

Looking for places to contribute to the codebase? Check out the Status: accepting PRs label.

Installation

First, clone the Blueprint monorepo:

git clone [email protected]:palantir/blueprint.git

Install Node.js

If you haven't already, you'll need to install Node.js. Use an official installer, or use a utility for managing versions such as Node Version Manager.

Go to the root directory of this repository and install its dependencies:

cd blueprint
npm install
npm run bootstrap

Developing

Start a new feature branch. We use a format like [your-initials]/[short-name].

For example:

  • bd/laser-beams
  • bd/jittery-cells
  • bd/css-class-renames

To create a new branch for development, run:

git fetch
git checkout -b your-initials/your-branch-name origin/master

Running

Many of the packages have their own compile-and-watch preview tasks which will help you confirm that your features are working.

To start the compile-and-watch task, run the default script in the package directory.

cd packages/table
npm start

Once the preview server is running, navigate to http://localhost:8080.

Coding

While reviewing your changes, we use previews to demonstrate the functionality of various table features. The relevant package previews will also be automatically added to your pull request.

Feel free to modify the examples in the previews to test your code changes. When you modify the code in src/ or preview/, the code will be automatically recompiled and you can simply refresh to see the result.

Submitting

Once you're satisfied with your changes, you'll need to make sure your code will pass code review.

Your code must be test covered and lint free.

Run all unit tests and measure code coverage:

npm run test

If the coverage check fails, you may have to add a new suite of tests or modify existing tests in test/.

Run code and style linters across all code:

npm run lint

These commands must complete successfully, otherwise our CI will automatically fail your pull request.

Submit a pull request

Once your code works and the tests and linter pass, you can submit your code for review!

git add --all .
git commit
git push

When committing, write a thorough description of your work so that reviewers and future developers can understand your code changes.

Once pushed, navigate to the code tab of the GitHub site and you should see an option to create a pull request from the recently pushed commit.

After your PR is created, our CI server will pick it up, run tests, and run a server with your version of the preview so that other engineers can verify your feature works as intended.

After this point, you may be asked to make modification to your code to adhere to coherent code style or to fix bugs you may have not noticed. Once you get approvals from 1 or 2 repository owners, we will merge your code! 🎊 🎉