Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
69357d0
http2: small fixes to compatibility layer
apapirovski Sep 19, 2017
670c2f4
http2: remove unused onTimeout, add timeout tests
apapirovski Sep 21, 2017
b5faadd
doc: note caveats in process message serialization
joyeecheung May 11, 2017
a872b97
http2: fix compat stream read handling, add tests
apapirovski Sep 21, 2017
dc07227
src: correct typo in trace_event header
danbev Sep 24, 2017
2603466
doc: remove invalid hash in link
vsemozhetbyt Sep 21, 2017
ab9d1e7
docs: clarify usage cli options -e,-p on windows
lukaszewczak Sep 23, 2017
119e05f
doc: ctc -> tsc in collab guide
bengl Sep 24, 2017
fa07b27
doc: ctc -> tsc in onboarding extras
bengl Sep 26, 2017
0bd64f1
doc: fix outdated code sample in n-api.md
rebornix Sep 24, 2017
00d0c51
path: fix normalize paths ending with two dots
targos Sep 26, 2017
8f07f00
2017-09-26, Node.js Version 8.6.0 (Current)
jasnell Sep 20, 2017
150a1c4
Working on v8.6.1
jasnell Sep 26, 2017
9325095
deps: update V8 to 6.1.534.36
targos Sep 13, 2017
e04b70a
deps: limit regress/regress-crbug-514081 v8 test
mhdawson May 9, 2016
5add5ff
deps: fix addons compilation with VS2013
bzoz May 23, 2017
7cad8dd
deps: cherry-pick f19b889 from upstream V8
targos Aug 16, 2017
015756c
deps: backport 6e9e2e5 from upstream V8
Aug 3, 2017
43adec7
deps: backport bca8409 from upstream V8
Aug 3, 2017
6c063f2
deps: backport f9c4b7a from upstream V8
Aug 3, 2017
d336d2a
deps: cherry-pick e020aae394 from V8 upstream
bnoordhuis Aug 17, 2017
fb3022f
deps: cherry-pick 1aead19 from upstream V8
bnoordhuis Aug 17, 2017
8032f8c
deps: add postmortem metadata for V8 TurboFan
targos Sep 6, 2017
aa22c86
src: fix SmartOS compilation
targos Jun 27, 2017
f290e5d
deps: patch V8 to 6.1.534.38
MylesBorins Sep 15, 2017
acd4696
deps: revert ABI breaking changes in V8 6.1
addaleax Sep 14, 2017
ae47f5b
deps: cherry-pick b6158eb6befae from V8 upstream
addaleax Sep 8, 2017
7fe48f8
deps: cherry-pick 9b21865822243 from V8 upstream
addaleax Sep 8, 2017
89db101
src: keep track of env properly in node_perf.cc
addaleax Sep 4, 2017
e6b64fa
src: use InstantiateModule instead of deprecated
danbev Sep 15, 2017
b785b35
src: remove unused static variable
bnoordhuis Sep 18, 2017
77103f7
src: handle uv_async_init() failure
bnoordhuis Sep 18, 2017
db1c65f
src: return references from getters, not copies
bnoordhuis Sep 18, 2017
f235f09
src: constify PerformanceEntry data members
bnoordhuis Sep 18, 2017
5992a31
url: change variable name to be more descriptive
jason9693 Sep 22, 2017
997ccdd
crypto: only try to set FIPS mode if different
gibfahn Apr 4, 2017
d8b4492
src: move node_trace_writer/buffer.h to agent.cc
danbev Sep 23, 2017
ccb8b0a
doc: update table of contents for common/README.md
Trott Sep 25, 2017
8993d93
async_hooks: consistent internal naming
AndreasMadsen Sep 26, 2017
528ebe1
src: clear async id stack if bootstrap throws
trevnorris Sep 22, 2017
2c08b32
build: add test-with-async-hooks
trevnorris Jun 20, 2017
c319ab0
test: print resource stack on error
trevnorris Jun 16, 2017
37208b1
test: skip test when checking async_hooks
trevnorris Jun 20, 2017
50f9bb3
async_wrap: add constructor for PromiseWrap
trevnorris Jun 14, 2017
e218c7b
async_wrap: allow user to pass execution_async_id
trevnorris Jun 14, 2017
9d2ab20
src: remove unused computation
cjihrig Sep 24, 2017
f702876
src: remove unused variable in node_url.cc
cjihrig Sep 24, 2017
f2fde76
test: fix http-writable-true-after-close flakyness
mcollina Sep 21, 2017
baeb46a
doc: retire bnoordhuis from the TSC
bnoordhuis Sep 26, 2017
70f60c9
doc: fix mistake in http2stream.respondWithFile.
antoine-amara Sep 18, 2017
aabd84d
src,etw: fix event 9 on 64 bit Windows
joaocgreis Sep 22, 2017
083077b
http: client keep-alive for UNIX domain sockets
bengl May 25, 2017
64d61d7
build: run es-module tests in CI
Sep 14, 2017
322f75e
build: fix shared installing target
yorkie Sep 2, 2017
01b54f7
crypto: use SSL_SESSION_get_id
davidben Sep 11, 2017
837fc99
crypto: use X509V3_EXT_d2i
davidben Sep 11, 2017
6a42c8f
doc: add callback function signatures in fs.md
matejkrajcovic Jun 2, 2017
d93e65d
doc: improve fs.utimes
refack Jul 10, 2017
3eef812
crypto: better crypto error messages
gla5001 Aug 10, 2017
4a7ac6f
deps: update V8 to 6.1.534.42
targos Sep 21, 2017
5b21109
src: fix typo in probe description
evanlucas Sep 13, 2017
7e8c0fd
tools, build: refactor macOS installer
jpwesselink Sep 4, 2017
54ee0ca
src: add help for NODE_PENDING_DEPRECATION env
tomc974 Sep 25, 2017
9248768
deps: cherry-pick 0353a1e from upstream V8
targos Sep 25, 2017
5eef728
doc: add bmeurer to collaborators
bmeurer Sep 29, 2017
8aafa9e
timers: warn on overflowed timeout duration
Fishrock123 May 24, 2016
482b0d7
doc: update libuv license
TimothyGu Sep 28, 2017
0043c25
src: remove unused using in node_trace_writer.h
danbev Sep 26, 2017
57df19b
url: fix remaining calculation
rmisev Sep 27, 2017
ae7811f
perf_hooks: remove docs for unimplemented API
sam-github Sep 27, 2017
fcd910f
doc: fix link in the test/README.md
rmisev Sep 27, 2017
bc14d0c
dgram: support for setting socket buffer size
DamienOReilly Jun 11, 2017
bcdfbc1
src: fix compiler warning in udp_wrap.cc
danbev Sep 14, 2017
e166bd7
doc: do not begin yaml value with backtick
maclover7 Sep 17, 2017
c6aaaf0
src: use UV_EINVAL instead of EINVAL in udp_wrap
danbev Sep 17, 2017
3142c25
dgram: refactor SO_RCVBUF and SO_SNDBUF methods
cjihrig Sep 20, 2017
62c2802
doc: standardize function param/object prop style
gibfahn Jun 18, 2017
547fe58
deps: update npm to 5.4.2
targos Sep 20, 2017
f72da3b
errors: remove duplicate error definition
maclover7 Sep 10, 2017
cbe5d7a
n-api: add check for large strings
mhdawson Sep 25, 2017
d954a82
doc: fix links in some intra-repository docs
vsemozhetbyt Sep 29, 2017
e4a06e6
src: remove unused includes in src/tracing
danbev Sep 29, 2017
5d4a947
test: fix test-https-writable-true-after-close
Trott Oct 1, 2017
1604eb7
test: update es-module.status prefix
jackhorton Sep 29, 2017
6ad3b9d
http2: adjust error emit in core, add tests
apapirovski Sep 30, 2017
a5baa25
test: http2Stream redundant shutdown and single cb
trivikr Sep 25, 2017
e26ed8d
url: const-ify APIs, and pass URL by ref
sam-github Sep 25, 2017
930809d
tty: require readline at top of file
bengl Sep 28, 2017
f623c63
test: make it easier to run tests for subsystems
Sep 29, 2017
71b2a5c
deps: V8: cherry-pick 163d360 from upstream
ofrobots Sep 28, 2017
7ae6132
stream: fix todo
BridgeAR Sep 28, 2017
3612490
doc: edit COLLABORATORS_GUIDE.md for readability
Trott Sep 26, 2017
1359cb9
test: Http2Stream destroy server before shutdown
trivikr Sep 25, 2017
b8c9a4c
stream: fix disparity between buffer and the count
jlvivero Sep 28, 2017
2c85d7c
http2: setting shuttingDown=true after validation
trivikr Sep 29, 2017
c6b65cc
doc: update fs.utimes{,Sync} changelog
lpinca Sep 29, 2017
8c7c7ad
test: check that this != new.target in addon
bnoordhuis Sep 29, 2017
898d8f9
doc: add missing TOC entry in CONTRIBUTING.md
vsemozhetbyt Oct 2, 2017
ac43f7b
src: fix windows-only build breakage
bnoordhuis Oct 2, 2017
fc7945d
doc: fix v8.6 changelog entry
BridgeAR Oct 1, 2017
d9832c8
doc: fix dead link in doc/releases.md
lpinca Oct 2, 2017
db1b305
doc: change encoding to decoding
thefourtheye Oct 1, 2017
30dd6ad
doc: alphabetize TSC Emeriti in README.md
Trott Oct 2, 2017
e271ccd
doc: add 'git clean -xfd' to backport guide
lance Oct 1, 2017
cd32563
doc: fix typo in tls.md
koh110 Oct 2, 2017
3608983
test: increase test coverage for os.js
viktor-ku Jul 6, 2017
f10e2f5
http2: simplify TypeName
jasnell Sep 29, 2017
470ef86
http2: refactor method arguments to avoid bools
jasnell Sep 29, 2017
7611ed5
http2: eliminate dead code
jasnell Sep 29, 2017
93f3d25
http2: making sending to the socket more efficient
jasnell Sep 29, 2017
ff4d0e2
async_hooks: fix reference in code comment
mscdex Oct 3, 2017
b22014e
util: deprecate obj.inspect for custom inspection
Trott Sep 26, 2017
8b120fe
fs: add O_DSYNC
Sep 15, 2017
9d97fcc
doc,test: minor improvements to O_DSYNC
tniessen Sep 22, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,9 @@ ipch/
/config_fips.gypi
*-nodegyp*
/gyp-mac-tool
/dist-osx
/npm.wxs
/tools/msvs/npm.wixobj
/tools/msvs/genfiles/
/tools/osx-pkg.pmdoc/index.xml
/test/addons/??_*/
email.md
deps/v8-*
Expand Down Expand Up @@ -101,6 +99,7 @@ deps/npm/node_modules/.bin/

# build/release artifacts
/*.tar.*
/*.pkg
/SHASUMS*.txt*

# test artifacts
Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ release.
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V8.md#8.5.0">8.5.0</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V8.md#8.6.0">8.6.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.5.0">8.5.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.4.0">8.4.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.3.0">8.3.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.2.1">8.2.1</a><br/>
Expand Down
130 changes: 60 additions & 70 deletions COLLABORATOR_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
- [Internal vs. Public API](#internal-vs-public-api)
- [Breaking Changes](#breaking-changes)
- [Deprecations](#deprecations)
- [Involving the TSC](#involving-the-TSC)
- [Involving the TSC](#involving-the-tsc)
* [Landing Pull Requests](#landing-pull-requests)
- [Technical HOWTO](#technical-howto)
- [I Just Made a Mistake](#i-just-made-a-mistake)
Expand Down Expand Up @@ -123,44 +123,39 @@ level of V8 within Node.js is updated or new patches are floated on V8.

Due to the nature of the JavaScript language, it can often be difficult to
establish a clear distinction between which parts of the Node.js implementation
represent the "public" API Node.js users should assume to be stable and which
are considered part of the "internal" implementation detail of Node.js itself.
A general rule of thumb has been to base the determination off what
functionality is actually *documented* in the official Node.js API
documentation. However, it has been repeatedly demonstrated that either the
documentation does not completely cover implemented behavior or that Node.js
users have come to rely heavily on undocumented aspects of the Node.js
implementation.

While there are numerous exceptions, the following general rules should be
followed to determine which aspects of the Node.js API are considered
"internal":

- Any and all functionality exposed via `process.binding(...)` is considered to
be internal and *not* part of the Node.js Public API.
- Any and all functionality implemented in `lib/internal/**/*.js` that is not
re-exported by code in `lib/*.js`, or is not documented as part of the
Node.js Public API, is considered to be internal.
- Any object property or method whose key is a non-exported `Symbol` is
considered to be an internal property.
- Any object property or method whose key begins with the underscore `_` prefix,
and is not documented as part of the Node.js Public API, is considered to be
an internal property.
represent the public API Node.js users should assume to be stable and which
are part of the internal implementation details of Node.js itself. A rule of
thumb is to base the determination off what functionality is actually
documented in the official Node.js API documentation. However, it has been
repeatedly demonstrated that either the documentation does not completely cover
implemented behavior or that Node.js users have come to rely heavily on
undocumented aspects of the Node.js implementation.

The following general rules should be followed to determine which aspects of the
Node.js API are internal:

- All functionality exposed via `process.binding(...)` is internal.
- All functionality implemented in `lib/internal/**/*.js` is internal unless it
is re-exported by code in `lib/*.js` or documented as part of the Node.js
Public API.
- Any object property or method whose key is a non-exported `Symbol` is an
internal property.
- Any object property or method whose key begins with the underscore `_` prefix
is internal unless it is documented as part of the Node.js Public API.
- Any object, property, method, argument, behavior, or event not documented in
the Node.js documentation is considered to be internal.
the Node.js documentation is internal.
- Any native C/C++ APIs/ABIs exported by the Node.js `*.h` header files that
are hidden behind the `NODE_WANT_INTERNALS` flag are considered to be
internal.
are hidden behind the `NODE_WANT_INTERNALS` flag are internal.

Exception to each of these points can be made if use or behavior of a given
internal API can be demonstrated to be sufficiently relied upon by the Node.js
ecosystem such that any changes would cause too much breakage. The threshold
for what qualifies as "too much breakage" is to be decided on a case-by-case
for what qualifies as too much breakage is to be decided on a case-by-case
basis by the TSC.

If it is determined that a currently undocumented object, property, method,
argument, or event *should* be documented, then a pull request adding the
documentation is required in order for it to be considered part of the "public"
documentation is required in order for it to be considered part of the public
API.

Making a determination about whether something *should* be documented can be
Expand Down Expand Up @@ -232,17 +227,12 @@ handling may have been made. Additional CI testing may be required.

#### When breaking changes actually break things

Breaking changes are difficult primarily because they change the fundamental
assumptions a user of Node.js has when writing their code and can cause
existing code to stop functioning as expected -- costing developers and users
time and energy to fix.

Because breaking (semver-major) changes are permitted to land in master at any
time, it should be *understood and expected* that at least some subset of the
user ecosystem *may* be adversely affected *in the short term* when attempting
to build and use Node.js directly from master. This potential instability is
precisely why Node.js offers distinct Current and LTS release streams that
offer explicit stability guarantees.
Because breaking (semver-major) changes are permitted to land on the master
branch at any time, at least some subset of the user ecosystem may be adversely
affected in the short term when attempting to build and use Node.js directly
from the master branch. This potential instability is why Node.js offers
distinct Current and LTS release streams that offer explicit stability
guarantees.

Specifically:

Expand All @@ -255,7 +245,7 @@ Specifically:
attempt to fix the issue will be made before the next release; If no fix is
provided then the commit will be reverted.

When any change is landed in master, and it is determined that the such
When any changes are landed on the master branch and it is determined that the
changes *do* break existing code, a decision may be made to revert those
changes either temporarily or permanently. However, the decision to revert or
not can often be based on many complex factors that are not easily codified. It
Expand Down Expand Up @@ -285,8 +275,8 @@ introduces the new core module.
Pull requests introducing new core modules:

* Must be left open for at least one week for review.
* Must be labeled using the `ctc-review` label.
* Must have signoff from at least two CTC members.
* Must be labeled using the `tsc-review` label.
* Must have signoff from at least two TSC members.

New core modules must be landed with a [Stability Index][] of Experimental,
and must remain Experimental until a semver-major release.
Expand All @@ -297,18 +287,18 @@ recommended but not required.

### Deprecations

Deprecation refers to the identification of Public APIs that should no longer
_Deprecation_ refers to the identification of Public APIs that should no longer
be used and that may be removed or modified in non-backwards compatible ways in
a future major release of Node.js. Deprecation *may* be used with internal APIs
if there is expected impact on the user community.
a future major release of Node.js. Deprecation may be used with internal APIs if
there is expected impact on the user community.

Node.js uses three fundamental Deprecation levels:
Node.js uses three Deprecation levels:

* *Documentation-Only Deprecation* refers to elements of the Public API that are
being staged for deprecation in a future Node.js major release. An explicit
notice indicating the deprecated status is added to the API documentation
*but no functional changes are implemented in the code*. There will be no
runtime deprecation warning emitted for such deprecations.
but no functional changes are implemented in the code. There will be no
runtime deprecation warnings emitted for such deprecations.

* *Runtime Deprecation* refers to the use of process warnings emitted at
runtime the first time that a deprecated API is used. A command-line
Expand All @@ -320,12 +310,11 @@ Node.js uses three fundamental Deprecation levels:
* *End-of-life* refers to APIs that have gone through Runtime Deprecation and
are ready to be removed from Node.js entirely.

Documentation-Only Deprecations *may* be handled as semver-minor or
semver-major changes. Such deprecations have no impact on the successful
operation of running code and therefore should not be viewed as breaking
changes.
Documentation-Only Deprecations may be handled as semver-minor or semver-major
changes. Such deprecations have no impact on the successful operation of running
code and therefore should not be viewed as breaking changes.

Runtime Deprecations and End-of-life APIs (internal or public) *must* be
Runtime Deprecations and End-of-life APIs (internal or public) must be
handled as semver-major changes unless there is TSC consensus to land the
deprecation as a semver-minor.

Expand All @@ -338,7 +327,7 @@ the documentation for the assigned deprecation identifier must remain in the
Node.js API documentation.

<a id="deprecation-cycle"></a>
A "Deprecation cycle" is one full Node.js major release during which an API
A _Deprecation cycle_ is one full Node.js major release during which an API
has been in one of the three Deprecation levels. (Note that Documentation-Only
Deprecations may land in a Node.js minor release but must not be upgraded to
a Runtime Deprecation until the next major release.)
Expand All @@ -347,10 +336,10 @@ No API can be moved to End-of-life without first having gone through a
Runtime Deprecation cycle.

A best effort will be made to communicate pending deprecations and associated
mitigations with the ecosystem as soon as possible (preferably *before* the pull
request adding the deprecation lands in master). All deprecations included in
a Node.js release should be listed prominently in the "Notable Changes" section
of the release notes.
mitigations with the ecosystem as soon as possible (preferably before the pull
request adding the deprecation lands on the master branch). All deprecations
included in a Node.js release should be listed prominently in the "Notable
Changes" section of the release notes.

### Involving the TSC

Expand All @@ -367,16 +356,16 @@ The TSC should serve as the final arbiter where required.

## Landing Pull Requests

* Please never use GitHub's green ["Merge Pull Request"](https://help.github.com/articles/merging-a-pull-request/#merging-a-pull-request-using-the-github-web-interface) button.
* Please never use GitHub's green ["Merge Pull Request"](https://help.github.com/articles/merging-a-pull-request/#merging-a-pull-request-on-github) button.
* If you do, please force-push removing the merge.
* Reasons for not using the web interface button:
* The merge method will add an unnecessary merge commit.
* The rebase & merge method adds metadata to the commit title.
* The rebase method changes the author.
* The squash & merge method has been known to add metadata to the
commit title.
* If more than one author has contributed to the PR, only the
latest author will be considered during the squashing.
* If more than one author has contributed to the PR, keep the most recent
author when squashing.

Always modify the original commit message to include additional meta
information regarding the change process:
Expand All @@ -394,8 +383,8 @@ information regarding the change process:
- Useful for @mentions / contact list if something goes wrong in the PR.
- Protects against the assumption that GitHub will be around forever.

Review the commit message to ensure that it adheres to the guidelines
outlined in the [contributing](./CONTRIBUTING.md#step-3-commit) guide.
Review the commit message to ensure that it adheres to the guidelines outlined
in the [contributing](./CONTRIBUTING.md#commit-message-guidelines) guide.

See the commit log for examples such as
[this one](https://github.com/nodejs/node/commit/b636ba8186) if unsure
Expand Down Expand Up @@ -520,7 +509,7 @@ commit message for that commit. This is a good moment to fix incorrect
commit logs, ensure that they are properly formatted, and add
`Reviewed-By` lines.
* The commit message text must conform to the
[commit message guidelines](./CONTRIBUTING.md#step-3-commit).
[commit message guidelines](./CONTRIBUTING.md#commit-message-guidelines).

Run tests (`make -j4 test` or `vcbuild test`). Even though there was a
successful continuous integration run, other changes may have landed on master
Expand Down Expand Up @@ -594,7 +583,8 @@ commit final.
Long Term Support (often referred to as *LTS*) guarantees application developers
a 30 month support cycle with specific versions of Node.js.

You can find more information [in the full LTS plan](https://github.com/nodejs/lts#lts-plan).
You can find more information
[in the full release plan](https://github.com/nodejs/Release#release-plan).

#### How does LTS work?

Expand Down Expand Up @@ -627,10 +617,10 @@ TSC for further discussion.
#### How are LTS Branches Managed?

There are currently two LTS branches: `v6.x` and `v4.x`. Each of these is paired
with a "staging" branch: `v6.x-staging` and `v4.x-staging`.
with a staging branch: `v6.x-staging` and `v4.x-staging`.

As commits land in `master`, they are cherry-picked back to each staging
branch as appropriate. If the commit applies only to the LTS branch, the
As commits land on the master branch, they are cherry-picked back to each
staging branch as appropriate. If the commit applies only to the LTS branch, the
PR must be opened against the *staging* branch. Commits are selectively
pulled from the staging branch into the LTS branch only when a release is
being prepared and may be pulled into the LTS branch in a different order
Expand Down Expand Up @@ -674,5 +664,5 @@ release. This process of making a release will be a collaboration between the
LTS working group and the Release team.

[backporting guide]: doc/guides/backporting-to-release-lines.md
[Stability Index]: https://github.com/nodejs/node/pull/doc/api/documentation.md#stability-index
[Stability Index]: doc/api/documentation.md#stability-index
[Enhancement Proposal]: https://github.com/nodejs/node-eps
40 changes: 40 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ expect throughout each step of the process.
* [Commit message guidelines](#commit-message-guidelines)
* [Step 5: Rebase](#step-5-rebase)
* [Step 6: Test](#step-6-test)
* [Test Coverage](#test-coverage)
* [Step 7: Push](#step-7-push)
* [Step 8: Opening the Pull Request](#step-8-opening-the-pull-request)
* [Step 9: Discuss and Update](#step-9-discuss-and-update)
Expand Down Expand Up @@ -404,6 +405,13 @@ If you are updating tests and just want to run a single test to check it:
$ python tools/test.py -J --mode=release parallel/test-stream2-transform
```

You can execute the entire suite of tests for a given subsystem
by providing the name of a subsystem:

```text
$ python tools/test.py -J --mode=release child-process
```

If you want to check the other options, please refer to the help by using
the `--help` option

Expand All @@ -420,6 +428,38 @@ $ ./node ./test/parallel/test-stream2-transform.js
Remember to recompile with `make -j4` in between test runs if you change code in
the `lib` or `src` directories.

##### Test Coverage

It's good practice to ensure any code you add or change is covered by tests.
You can do so by running the test suite with coverage enabled:

```text
$ ./configure --coverage && make coverage
```

A detailed coverage report will be written to `coverage/index.html` for
JavaScript coverage and to `coverage/cxxcoverage.html` for C++ coverage.

_Note that generating a test coverage report can take several minutes._

To collect coverage for a subset of tests you can set the `CI_JS_SUITES` and
`CI_NATIVE_SUITES` variables:

```text
$ CI_JS_SUITES=child-process CI_NATIVE_SUITES= make coverage
```

The above command executes tests for the `child-process` subsystem and
outputs the resulting coverage report.

Running tests with coverage will create and modify several directories
and files. To clean up afterwards, run:

```text
make coverage-clean
./configure && make -j4.
```

#### Step 7: Push

Once you are sure your commits are ready to go, with passing tests and linting,
Expand Down
4 changes: 2 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -551,8 +551,8 @@ The externally maintained libraries used by Node.js are:
- stdint-msvc2008.h (from msinttypes), copyright Alexander Chemeris. Three
clause BSD license.

- pthread-fixes.h, pthread-fixes.c, copyright Google Inc. and Sony Mobile
Communications AB. Three clause BSD license.
- pthread-fixes.c, copyright Google Inc. and Sony Mobile Communications AB.
Three clause BSD license.

- android-ifaddrs.h, android-ifaddrs.c, copyright Berkeley Software Design
Inc, Kenneth MacKay and Emergya (Cloud4all, FP7/2007-2013, grant agreement
Expand Down
Loading