Skip to content
This repository was archived by the owner on Mar 17, 2025. It is now read-only.

Commit 6f4a82c

Browse files
author
Jacob Wenger
committed
Added issue, PR, and contributing templates / guidelines (#735)
1 parent 38b0e9a commit 6f4a82c

File tree

4 files changed

+220
-20
lines changed

4 files changed

+220
-20
lines changed

.github/CONTRIBUTING.md

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
# Contributing | AngularFire
2+
3+
Thank you for contributing to the Firebase community!
4+
5+
- [Have a usage question?](#question)
6+
- [Think you found a bug?](#issue)
7+
- [Have a feature request?](#feature)
8+
- [Want to submit a pull request?](#submit)
9+
- [Need to get set up locally?](#local-setup)
10+
11+
12+
## <a name="question"></a>Have a usage question?
13+
14+
We get lots of those and we love helping you, but GitHub is not the best place for them. Issues
15+
which just ask about usage will be closed. Here are some resources to get help:
16+
17+
- Start with the [quickstart](../docs/quickstart.md)
18+
- Go through the [guide](../docs/guide/README.md)
19+
- Read the full [API reference](https://angularfire.firebaseapp.com/api.html)
20+
- Try out some [examples](../README.md#examples)
21+
22+
If the official documentation doesn't help, try asking a question through our
23+
[official support channels](https://firebase.google.com/support/).
24+
25+
**Please avoid double posting across multiple channels!**
26+
27+
see
28+
## <a name="issue"></a>Think you found a bug?
29+
30+
Yeah, we're definitely not perfect!
31+
32+
Search through [old issues](https://github.com/firebase/angularfire/issues) before submitting a new
33+
issue as your question may have already been answered.
34+
35+
If your issue appears to be a bug, and hasn't been reported,
36+
[open a new issue](https://github.com/firebase/angularfire/issues/new). Please use the provided bug
37+
report template and include a minimal repro.
38+
39+
If you are up to the challenge, [submit a pull request](#submit) with a fix!
40+
41+
42+
## <a name="feature"></a>Have a feature request?
43+
44+
Great, we love hearing how we can improve our products! After making sure someone hasn't already
45+
requested the feature in the [existing issues](https://github.com/firebase/angularfire/issues), go
46+
ahead and [open a new issue](https://github.com/firebase/angularfire/issues/new). Feel free to remove
47+
the bug report template and instead provide an explanation of your feature request. Provide code
48+
samples if applicable. Try to think about what it will allow you to do that you can't do today? How
49+
will it make current workarounds straightforward? What potential bugs and edge cases does it help to
50+
avoid?
51+
52+
53+
## <a name="submit"></a>Want to submit a pull request?
54+
55+
Sweet, we'd love to accept your contribution! [Open a new pull request](https://github.com/firebase/angularfire/pull/new/master)
56+
and fill out the provided form.
57+
58+
**If you want to implement a new feature, please open an issue with a proposal first so that we can
59+
figure out if the feature makes sense and how it will work.**
60+
61+
Make sure your changes pass our linter and the tests all pass on your local machine. We've hooked
62+
up this repo with continuous integration to double check those things for you.
63+
64+
Most non-trivial changes should include some extra test coverage. If you aren't sure how to add
65+
tests, feel free to submit regardless and ask us for some advice.
66+
67+
Finally, you will need to sign our [Contributor License Agreement](https://cla.developers.google.com/about/google-individual)
68+
before we can accept your pull request.
69+
70+
71+
## <a name="local-setup"></a>Need to get set up locally?
72+
73+
If you'd like to contribute to AngularFire, you'll need to do the following to get your environment
74+
set up.
75+
76+
### Install Dependencies
77+
78+
```bash
79+
$ git clone https://github.com/firebase/angularfire.git
80+
$ cd angularfire # go to the angularfire directory
81+
$ npm install -g grunt-cli # globally install grunt task runner
82+
$ npm install # install local npm build / test dependencies
83+
$ grunt install # install Selenium server for end-to-end tests
84+
```
85+
86+
### Create a Firebase Project
87+
88+
1. Create a Firebase project [here](https://console.firebase.google.com).
89+
2. Set the `ANGULARFIRE_TEST_DB_URL` environment variable to your project's database URL:
90+
91+
```bash
92+
$ export ANGULARFIRE_TEST_DB_URL="https://<YOUR-DATABASE-NAME>.firebaseio.com"
93+
```
94+
95+
3. Update the entire `config` variable in [`tests/initialize.js`](../tests/initialize.js) to
96+
correspond to your Firebase project. You can find your `apiKey` and `databaseUrl` by clicking the
97+
**Web Setup** button at `https://console.firebase.google.com/project/<projectId>/authentication/users`.
98+
99+
### Download a Service Account JSON File
100+
101+
1. Follow the instructions [here](https://firebase.google.com/docs/server/setup#add_firebase_to_your_app)
102+
on how to create a service account for your project and furnish a private key.
103+
2. Copy the credentials JSON file to `tests/key.json`.
104+
105+
### Lint, Build, and Test
106+
107+
```bash
108+
$ grunt # lint, build, and test
109+
110+
$ grunt build # lint and build
111+
112+
$ gulp test # run unit and e2e tests
113+
$ gulp test:unit # run unit tests
114+
$ gulp test:e2e # run e2e tests (via Protractor)
115+
116+
$ grunt watch # lint, build, and test whenever source files change
117+
```
118+
119+
The output files - `angularfire.js` and `angularfire.min.js` - are written to the `/dist/` directory.

.github/ISSUE_TEMPLATE.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
<!--
2+
3+
Thank you for contributing to the Firebase community!
4+
5+
Have a usage question?
6+
=======================
7+
We get lots of those and we love helping you, but GitHub is not the best place for them and they
8+
will be closed. Here are some resources to get help:
9+
10+
- Start with the quickstart: https://github.com/firebase/angularfire/blob/master/docs/quickstart.md
11+
- Go through the guide: https://github.com/firebase/angularfire/blob/master/docs/guide/README.md
12+
- Read the full API reference: https://angularfire.firebaseapp.com/api.html
13+
- Try out some examples: https://github.com/firebase/angularfire/blob/master/README.md#examples
14+
15+
If the official documentation doesn't help, try asking through our official support channels:
16+
17+
https://firebase.google.com/support/
18+
19+
*Please avoid double posting across multiple channels!*
20+
21+
Think you found a bug?
22+
=======================
23+
Yeah, we're definitely not perfect! Please use the bug report template below and include a minimal
24+
repro when opening the issue.
25+
26+
27+
Have a feature request?
28+
========================
29+
Great, we love hearing how we can improve our products! Just remove the template below and
30+
provide an explanation of your feature request. Provide code samples if applicable. Try to
31+
think about what it will allow you to do that you can't do today? How will it make current
32+
workarounds straightforward? What potential bugs and edge cases does it help to avoid?
33+
34+
-->
35+
36+
37+
### Version info
38+
39+
<!-- What versions of the following libraries are you using? Note that your issue may already
40+
be fixed in the latest versions. -->
41+
42+
**Angular:**
43+
44+
**Firebase:**
45+
46+
**AngularFire:**
47+
48+
**Other (e.g. Node, browser, operating system) (if applicable):**
49+
50+
### Test case
51+
52+
<!-- Provide a minimal, complete, and verifiable example (http://stackoverflow.com/help/mcve)
53+
using either Plunker (http://plnkr.co/) or JSFiddle (https://jsfiddle.net/). -->
54+
55+
56+
### Steps to reproduce
57+
58+
<!-- Provide the steps needed to reproduce the issue given the above test case. -->
59+
60+
61+
### Expected behavior
62+
63+
<!-- What is the expected behavior? -->
64+
65+
66+
### Actual behavior
67+
68+
<!-- What is the actual behavior? -->

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<!--
2+
3+
Thank you for contributing to the Firebase community! Please fill out the pull request form below
4+
and make note of the following:
5+
6+
Run the linter and test suite
7+
==============================
8+
Make sure your changes pass our linter and the tests all pass on your local machine. We've hooked
9+
up this repo with continuous integration to double check those things for you.
10+
11+
Add tests (if applicable)
12+
==============================
13+
Most non-trivial changes should include some extra test coverage. If you aren't sure how to add
14+
tests, feel free to submit regardless and ask us for some advice.
15+
16+
Sign our CLA
17+
==============================
18+
Please sign our Contributor License Agreement (https://cla.developers.google.com/about/google-individual)
19+
before sending PRs. We cannot accept code without this.
20+
21+
-->
22+
23+
24+
### Description
25+
26+
<!-- Are you fixing a bug? Updating our documentation? Implementing a new feature? Make sure we
27+
have the context around your change. Link to other relevant issues or pull requests. -->
28+
29+
### Code sample
30+
31+
<!-- Proposing an API change? Provide code samples showing how the API will be used. -->

README.md

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -91,23 +91,5 @@ $ bower install angularfire --save
9191

9292
## Contributing
9393

94-
If you'd like to contribute to AngularFire, you'll need to run the following commands to get your
95-
environment set up:
96-
97-
```bash
98-
$ git clone https://github.com/firebase/angularfire.git
99-
$ cd angularfire # go to the angularfire directory
100-
$ npm install -g grunt-cli # globally install grunt task runner
101-
$ npm install # install local npm build / test dependencies
102-
$ grunt install # install Selenium server for end-to-end tests
103-
$ grunt watch # watch for source file changes
104-
```
105-
106-
`grunt watch` will watch for changes in the `/src/` directory and lint, concatenate, and minify the
107-
source files when a change occurs. The output files - `angularfire.js` and `angularfire.min.js` -
108-
are written to the `/dist/` directory. `grunt watch` will also re-run the unit tests every time you
109-
update any source files.
110-
111-
You can run the entire test suite via the command line using `grunt test`. To only run the unit
112-
tests, run `grunt test:unit`. To only run the end-to-end [Protractor](https://github.com/angular/protractor/)
113-
tests, run `grunt test:e2e`.
94+
If you'd like to contribute to AngularFire, please first read through our [contribution
95+
guidelines](.github/CONTRIBUTING.md). Local setup instructions are available [here](.github/CONTRIBUTING.md#local-setup).

0 commit comments

Comments
 (0)