request @ 2.73.0 - CONTRIBUTING.md
1
2
# Contributing to Request
3
4
:+1::tada: First off, thanks for taking the time to contribute! :tada::+1:
5
6
The following is a set of guidelines for contributing to Request and its packages, which are hosted in the [Request Organization](https://github.com/request) on GitHub.
7
These are just guidelines, not rules, use your best judgment and feel free to propose changes to this document in a pull request.
8
9
10
## Submitting an Issue
11
12
1. Provide a small self **sufficient** code example to **reproduce** the issue.
13
2. Run your test code using [request-debug](https://github.com/request/request-debug) and copy/paste the results inside the issue.
14
3. You should **always** use fenced code blocks when submitting code examples or any other formatted output:
15
<pre>
16
```js
17
put your javascript code here
18
```
19
20
```
21
put any other formatted output here,
22
like for example the one returned from using request-debug
23
```
24
</pre>
25
26
If the problem cannot be reliably reproduced, the issue will be marked as `Not enough info (see CONTRIBUTING.md)`.
27
28
If the problem is not related to request the issue will be marked as `Help (please use Stackoverflow)`.
29
30
31
## Submitting a Pull Request
32
33
1. In almost all of the cases your PR **needs tests**. Make sure you have any.
34
2. Run `npm test` locally. Fix any errors before pushing to GitHub.
35
3. After submitting the PR a build will be triggered on TravisCI. Wait for it to ends and make sure all jobs are passing.
36
37
38
-----------------------------------------
39
40
41
## Becoming a Contributor
42
43
Individuals making significant and valuable contributions are given
44
commit-access to the project to contribute as they see fit. This project is
45
more like an open wiki than a standard guarded open source project.
46
47
48
## Rules
49
50
There are a few basic ground-rules for contributors:
51
52
1. **No `--force` pushes** or modifying the Git history in any way.
53
1. **Non-master branches** ought to be used for ongoing work.
54
1. **Any** change should be added through Pull Request.
55
1. **External API changes and significant modifications** ought to be subject
56
to an **internal pull-request** to solicit feedback from other contributors.
57
1. Internal pull-requests to solicit feedback are *encouraged* for any other
58
non-trivial contribution but left to the discretion of the contributor.
59
1. For significant changes wait a full 24 hours before merging so that active
60
contributors who are distributed throughout the world have a chance to weigh
61
in.
62
1. Contributors should attempt to adhere to the prevailing code-style.
63
1. Run `npm test` locally before submitting your PR, to catch any easy to miss
64
style & testing issues. To diagnose test failures, there are two ways to
65
run a single test file:
66
- `node_modules/.bin/taper tests/test-file.js` - run using the default
67
[`taper`](https://github.com/nylen/taper) test reporter.
68
- `node tests/test-file.js` - view the raw
69
[tap](https://testanything.org/) output.
70
71
72
## Releases
73
74
Declaring formal releases remains the prerogative of the project maintainer.
75
76
77
## Changes to this arrangement
78
79
This is an experiment and feedback is welcome! This document may also be
80
subject to pull-requests or changes by contributors where you believe you have
81
something valuable to add or change.
82