We'd love to accept your sample apps and patches! Before we can take them, we have to jump a couple of legal hurdles.
Please fill out either the individual or corporate Contributor License Agreement (CLA).
-
If you are an individual writing original source code and you're sure you own the intellectual property, then you'll need to sign an individual CLA
-
If you work for a company that wants to allow you to contribute your work, then you'll need to sign a corporate CLA.
Follow either of the two links above to access the appropriate CLA and insructions for how to sign and return it. Once we receive it, we'll be able to accept your pull requests.
- Check that the issue has not already been reported.
- Check that the issue has not already been fixed in the latest code
(a.k.a.
master
). - Be clear, concise and precise in your description of the problem.
- Open an issue with a descriptive title and a summary in grammatically correct, complete sentences.
- Include any relevant code to the issue summary.
- Read how to properly contribute to open source projects on Github.
- Fork the project.
- Install all dependencies including development requirements by running:
$ npm install -d
- Use a topic/feature branch to easily amend a pull request later, if necessary.
- Write good commit messages.
- Use the same coding conventions as the rest of the project.
- Commit and push until you are happy with your contribution.
- Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
- Add an entry to the Changelog accordingly. See changelog entry format.
- Please try not to mess with the package.json or version. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
- Make sure the test suite is passing
- Tests are run using mocha. To run all tests just run:
$ npm test
which looks for tests in thetest/
directory.
- Tests are run using mocha. To run all tests just run:
- In addition, you must run the googleapis-packman tests, which depend upon this library. Clone a copy of the googleapis-packman repo, update the dependency to point to your local copy of the googleapis-packman repo, and ensure that the client tests still pass.
- Make sure the no new style offenses are added. Your code should honor the
Google JavaScript Style Guide.
- At least make sure no jslint errors occur. This run using npm as follows:
$ npm run lint
- At least make sure no jslint errors occur. This run using npm as follows:
- Squash related commits together.
- Open a pull request that relates to only one subject with a clear title and description in grammatically correct, complete sentences.
Here are a few examples:
* Obtains the instance email and key from gtoken ([@temiola][])
Before releasing a new version, you should run tests,
bump the version in package.json
and create a git tag for the release. You
can automate all this with a patch version bump (version += 0.0.1) by running:
npm run prepare