UNPKG

2.51 kBMarkdownView Raw
1# Contributing
2
3Want to contribute to webcomponents.js? Great!
4
5We are more than happy to accept external contributions to the project in the form of [bug reports](../../issues) and pull requests.
6
7## Contributor License Agreement
8
9Before we can accept patches, there's a quick web form you need to fill out.
10
11- If you're contributing as an individual (e.g. you own the intellectual property), fill out [this form](http://code.google.com/legal/individual-cla-v1.0.html).
12- If you're contributing under a company, fill out [this form](http://code.google.com/legal/corporate-cla-v1.0.html) instead.
13
14This CLA asserts that contributions are owned by you and that we can license all work under our [license](LICENSE).
15
16Other projects require a similar agreement: jQuery, Firefox, Apache, Node, and many more.
17
18[More about CLAs](https://www.google.com/search?q=Contributor%20License%20Agreement)
19
20## Initial setup
21
221. Setup Gulp: `sudo npm install -g gulp`
231. Fork the project on github and pull down your copy.
24 > replace the {{ username }} with your username and {{ repository }} with the repository name
25
26 git clone git@github.com:{{ username }}/{{ repository }}.git
27
281. Test your change results in a working build.
29 > in the repo you've made changes to, try generating a build:
30
31 cd $REPO
32 npm install
33 gulp build
34
35The builds will be placed into the `dist/` directory if all goes well.
36
371. Commit your code and make a pull request.
38
39That's it for the one time setup. Now you're ready to make a change.
40
41## Submitting a pull request
42
43We iterate fast! To avoid potential merge conflicts, it's a good idea to pull from the main project before making a change and submitting a pull request. The easiest way to do this is setup a remote called `upstream` and do a pull before working on a change:
44
45 git remote add upstream git://github.com/polymer/webcomponentsjs.git
46
47Then before making a change, do a pull from the upstream `master` branch:
48
49 git pull upstream master
50
51To make life easier, add a "pull upstream" alias in your `.gitconfig`:
52
53 [alias]
54 pu = !"git fetch origin -v; git fetch upstream -v; git merge upstream/master"
55
56That will pull in changes from your forked repo, the main (upstream) repo, and merge the two. Then it's just a matter of running `git pu` before a change and pushing to your repo:
57
58 git checkout master
59 git pu
60 # make change
61 git commit -a -m 'Awesome things.'
62 git push
63
64Lastly, don't forget to submit the pull request.