Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
173 changes: 173 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
# Contributing to AngularFire2

We would love for you to contribute to AngularFire2 and help make it even better than it is
today! As a contributor, here are the guidelines we would like you to follow:

- [Code of Conduct](#coc)
- [Question or Problem?](#question)
- [Issues and Bugs](#issue)
- [Feature Requests](#feature)
- [Initial Setup](#setup)
- [Submission Guidelines](#submit)
- [Coding Rules][rules] (external link)
- [Commit Message Guidelines][commit] (external link)
- [Signing the CLA](#cla)

## <a name="coc"></a> Code of Conduct

Help us keep the Angular and Firebase communities open and inclusive. Please read and follow the Angular [Code of Conduct][coc].

## <a name="question"></a> Got a Question or Problem?

If you have questions about how to *use* AngularFire, please direct them to the [Angular Google Group][angular-group]
discussion list or [StackOverflow][stackoverflow] (include the `firebase` and `angular` tags!).
Please note that the Angular team's capacity to answer usage questions is limited.
Members of the Firebase team can be reached on [Slack][slack] and via the [Firebase Google Group][firebase-group].

## <a name="issue"></a> Found an Issue?

If you find a bug in the source code, you can help us by
[submitting an issue](#submit-issue) to our [GitHub Repository][github]. Even better, you can
[submit a Pull Request](#submit-pr) with a fix.

## <a name="feature"></a> Want a Feature?

You can *request* a new feature by [submitting an issue](#submit-issue) to our [GitHub
Repository][github]. If you would like to *implement* a new feature, please submit an issue with
a proposal for your work first, to be sure that we can use it.
Please consider what kind of change it is:

* For a **Major Feature**, first open an issue and outline your proposal so that it can be
discussed. This will also allow us to better coordinate our efforts, prevent duplication of work,
and help you to craft the change so that it is successfully accepted into the project.
* **Small Features** can be crafted and directly [submitted as a Pull Request](#submit-pr).

## <a name="setup"></a> Initial Setup

1) Create a fork of AngularFire2 (See [Forking a Project][github-fork])

2) CD into your clone and install dependencies

```shell
$ git clone
$ npm install
$ npm run build
$ npm test
```

3) Make your changes in a new git branch:

```shell
git checkout -b my-fix-branch master
```

## <a name="submit"></a> Submission Guidelines

### <a name="submit-issue"></a> Submitting an Issue
Help us to maximize the effort we can spend improving the product by not reporting duplicate issues.
Search the archives before you submit.

Providing the following information will increase the chances of your issue being dealt with quickly:

* **Overview of the Issue** - if an error is being thrown a non-minified stack trace helps
* **Angular Version** - what version of Angular, Firebase, and AngularFire are you using?
* **Motivation for or Use Case** - explain what are you trying to do and why the current behavior is a bug for you
* **Browsers and Operating System** - is this a problem with all browsers?
* **Reproduce the Error** - provide a live example (using [Plunker][plunker],
[JSFiddle][jsfiddle] or [Runnable][runnable]) or a unambiguous set of steps
* **Related Issues** - has a similar issue been reported before?
* **Suggest a Fix** - if you can't fix the bug yourself, perhaps you can point to what might be
causing the problem (line of code or commit)

You can file new issues by providing the above information [here](https://github.com/angular/angularfire2/issues/new).

### <a name="submit-pr"></a> Submitting a Pull Request (PR)

#### Before you submit:

* Ensure proposed changes or problem have already been clearly defined and
discussed in the issue tracker. We don't want you to burn time on code
that isn't a good fit for the project.
* Search [GitHub](https://github.com/angular/angularfire2/pulls) for an open or closed PR
that relates to your submission. You don't want to duplicate effort.
* Please sign our [Contributor License Agreement (CLA)](#cla) before sending PRs.
We cannot accept code without this.

#### How to submit:

* Create your patch, **including appropriate test cases**.
* Follow the [Angular Coding Rules][rules].
* Run the full test suite, as described in the [developer documentation][dev-doc],
and ensure that all tests pass.
* Commit your changes using a descriptive commit message that follows the
[Angular commit message conventions][commit]. Adherence to these conventions
is necessary because release notes are automatically generated from these messages.

```shell
git commit -a
```
Note: the optional commit `-a` command line option will automatically "add" and "rm" edited files.

* Push your branch to GitHub:

```shell
git push origin my-fix-branch
```

* In GitHub, send a pull request to `angular:master`.
* If we suggest changes then:
* Make the required updates.
* Re-run the test suites to ensure tests are still passing.
* Rebase your branch and force push to your GitHub repository (this will update your Pull Request):

```shell
git rebase master -i
git push -f
```

That's it! Thank you for your contribution!

#### Deploying Docs

1) Build the docs

`$ npm run docs`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@katowulf How do I generate the Docs hosted at AngularFire2 Website?
Running npm run docs gives me the following error :

npm ERR! Linux 3.13.0-24-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "run" "docs"
npm ERR! node v4.5.0
npm ERR! npm  v3.10.7

npm ERR! missing script: docs
npm ERR! 
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     /var/www/webops/angularfire2/npm-debug.log

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@yashmurty Those are out of date. We are waiting for TypeDoc to support TypeScript 2.0.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @davideast. Looking forward to contributing on the docs as they seem a little outdated.
I read somewhere that I need to request to be added as a contributor to the docs.
Are there steps I need to follow?
Thanks :)


2) Deploy Docs to Firebase Hosting

(Ask @jeffbcross to add you as a collaborator or deploy on your behalf)

```
$ npm install -g firebase-tools
$ firebase login
$ npm run docs
$ cd docs
$ firebase deploy
```

## <a name="cla"></a> Signing the CLA

Please sign our Contributor License Agreement (CLA) before sending pull requests. For any code
changes to be accepted, the CLA must be signed. It's a quick process, we promise!

* For individuals we have a [simple click-through form][individual-cla].
* For corporations we'll need you to
[print, sign and one of scan+email, fax or mail the form][corporate-cla].


[slack]: https://firebase-community.appspot.com/
[coc]: https://github.com/angular/code-of-conduct/blob/master/CODE_OF_CONDUCT.md
[commit-message-format]: https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit#
[corporate-cla]: http://code.google.com/legal/corporate-cla-v1.0.html
[individual-cla]: http://code.google.com/legal/individual-cla-v1.0.html
[js-style-guide]: https://google.github.io/styleguide/javascriptguide.xml
[jsfiddle]: http://jsfiddle.net
[plunker]: http://plnkr.co/edit
[runnable]: http://runnable.com
[github]: https://github.com/angular/angularfire2
[stackoverflow]: http://stackoverflow.com/questions/tagged/angularfire
[rules]: https://github.com/angular/angular/blob/master/CONTRIBUTING.md#rules
[commit]: https://github.com/angular/angular/blob/master/CONTRIBUTING.md#-commit-message-guidelines
[angular-group]: https://groups.google.com/forum/#!forum/angular
[firebase-group]: https://groups.google.com/forum/#!forum/firebase-talk
[github-fork]: https://help.github.com/articles/fork-a-repo/
41 changes: 0 additions & 41 deletions CONTRIBUTOR.md

This file was deleted.

77 changes: 77 additions & 0 deletions ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
<!--

Thank you for contributing to the Firebase community!

Have a usage question?
=======================
We get lots of those and we love helping you, but GitHub is not the best place for them and they
will be closed. Here are some resources to get help:

- Start with the README: https://github.com/angular/angularfire2
- Go through the Developer's Guide: https://github.com/angular/angularfire2#developer-guide
- Read the full API reference: https://github.com/angular/angularfire2/blob/master/docs/api-reference.md

If the official documentation doesn't help, try asking through our officially supported channels:

- Angular Google Group: https://groups.google.com/forum/#!forum/angular
- Firebase Google Group: https://groups.google.com/forum/#!forum/firebase-talk
- Stack Overflow: https://stackoverflow.com/questions/tagged/angular (include the firebase and angularfire tags, too!)

*Please avoid double posting across multiple channels!*

Think you found a bug?
=======================
Yeah, we're definitely not perfect! Please use the bug report template below and include a minimal
repro when opening the issue.


Have a feature request?
========================
Great, we love hearing how we can improve our products! Just remove the template below and
provide an explanation of your feature request. Provide code samples if applicable. Try to
think about what it will allow you to do that you can't do today? How will it make current
workarounds straightforward? What potential bugs and edge cases does it help to avoid?

-->


### Version info

<!-- What versions of the following libraries are you using? Note that your issue may already
be fixed in the latest versions. -->

**Angular:**

**Firebase:**

**AngularFire:**

**Other (e.g. Node, browser, operating system) (if applicable):**

### Test case

<!-- Provide a failing test unit, or create a minimal, complete, and
verifiable example (http://stackoverflow.com/help/mcve) using either
Plunker (http://plnkr.co/) or JSFiddle (https://jsfiddle.net/). -->

### Debug output

** Errors in the JavaScript console **

** Output from `firebase.database().enableLogging(true);` **

** Screenshots **

### Steps to reproduce

<!-- Provide the steps needed to reproduce the issue given the above test case. -->


### Expected behavior

<!-- What is the expected behavior? -->


### Actual behavior

<!-- What is the actual behavior? -->
39 changes: 39 additions & 0 deletions PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<!--

Thank you for contributing to the Firebase community! Please fill out the pull request form below
and make note of the following:

Run the linter and test suite
==============================
Make sure your changes pass our linter and the tests all pass on your local machine. We've hooked
up this repo with continuous integration to double check those things for you.

Add tests (if applicable)
==============================
Most non-trivial changes should include some extra test coverage. If you aren't sure how to add
tests, feel free to submit regardless and ask us for some advice.

Sign our CLA
==============================
Please sign our Contributor License Agreement (https://cla.developers.google.com/about/google-individual)
before sending PRs. We cannot accept code without this.

-->

### Checklist

- Issue number for this PR: #nnn (required)
- Docs included?: (yes/no; required for all API/functional changes)
- Test units included?: (yes/no; required)
- e2e tests included?: (yes/no; required for multi-function/multi-class changes)
- In a clean directory, `npm install`, `npm run build`, and `npm test` run successfully? (yes/no; required)

### Description

<!-- Are you fixing a bug? Updating our documentation? Implementing a new feature? Make sure we
have the context around your change. Link to other relevant issues or pull requests. -->

### Code sample

<!-- Proposing an API change? Provide code samples showing how the API will be used. -->