Browse Source

node: rename from io.js to node

This commit replaces instances of io.js with Node.js, based on the
recent convergence. There are some remaining instances of io.js,
related to build and the installer.

Fixes: https://github.com/nodejs/node/issues/2361
PR-URL: https://github.com/nodejs/node/pull/2367
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: João Reis <reis@janeasystems.com>
v4.0.0-rc
cjihrig 9 years ago
parent
commit
a69ab27ab4
  1. 2
      .gitignore
  2. 2
      BSDmakefile
  3. 3168
      CHANGELOG.md
  4. 18
      COLLABORATOR_GUIDE.md
  5. 26
      CONTRIBUTING.md
  6. 18
      GOVERNANCE.md
  7. 12
      LICENSE
  8. 36
      Makefile
  9. 60
      README.md
  10. 30
      ROADMAP.md
  11. 62
      WORKING_GROUPS.md
  12. 4
      benchmark/README.md
  13. 2
      benchmark/common.js
  14. 6
      benchmark/http-flamegraph.sh
  15. 2
      benchmark/http.sh
  16. 10
      benchmark/http_simple_bench.sh
  17. 12
      benchmark/plot.R
  18. 2
      benchmark/plot_csv.R
  19. 8
      configure
  20. 4
      deps/openssl/config/Makefile
  21. 6
      deps/openssl/config/opensslconf.h
  22. 16
      deps/openssl/doc/UPGRADING.md
  23. 12
      doc/api/addons.markdown
  24. 8
      doc/api/buffer.markdown
  25. 35
      doc/api/child_process.markdown
  26. 18
      doc/api/cluster.markdown
  27. 4
      doc/api/crypto.markdown
  28. 24
      doc/api/debugger.markdown
  29. 2
      doc/api/dgram.markdown
  30. 4
      doc/api/dns.markdown
  31. 6
      doc/api/documentation.markdown
  32. 2
      doc/api/domain.markdown
  33. 52
      doc/api/errors.markdown
  34. 4
      doc/api/events.markdown
  35. 8
      doc/api/fs.markdown
  36. 12
      doc/api/globals.markdown
  37. 28
      doc/api/http.markdown
  38. 2
      doc/api/https.markdown
  39. 52
      doc/api/modules.markdown
  40. 6
      doc/api/net.markdown
  41. 8
      doc/api/path.markdown
  42. 110
      doc/api/process.markdown
  43. 6
      doc/api/punycode.markdown
  44. 8
      doc/api/readline.markdown
  45. 28
      doc/api/repl.markdown
  46. 24
      doc/api/stream.markdown
  47. 6
      doc/api/synopsis.markdown
  48. 2
      doc/api/timers.markdown
  49. 6
      doc/api/tls.markdown
  50. 10
      doc/api/tty.markdown
  51. 6
      doc/api/util.markdown
  52. 6
      doc/api/v8.markdown
  53. 4
      doc/api/zlib.markdown
  54. 12
      doc/node.1
  55. 36
      doc/releases.md
  56. 8
      doc/template.html
  57. 6
      lib/_debugger.js
  58. 2
      lib/repl.js
  59. 8
      node.gyp
  60. 20
      src/node.cc
  61. 20
      src/node.h
  62. 2
      src/node.js
  63. 0
      src/res/node.ico
  64. 14
      src/res/node.rc
  65. 4
      src/res/node_etw_provider.man
  66. 2
      src/res/node_perfctr_provider.man
  67. 2
      src/tls_wrap.cc
  68. 2
      test/common.js
  69. 2
      test/fixtures/cluster-preload.js
  70. 2
      test/parallel/test-arm-math-exp-regress-1376.js
  71. 2
      test/parallel/test-buffer.js
  72. 2
      test/parallel/test-event-emitter-get-max-listeners.js
  73. 20
      test/parallel/test-fs-read-stream-fd-leak.js
  74. 2
      test/parallel/test-path-zero-length-strings.js
  75. 2
      test/parallel/test-preload.js
  76. 2
      test/parallel/test-repl-tab-complete.js
  77. 2
      test/parallel/test-repl.js
  78. 2
      test/parallel/test-stringbytes-external.js
  79. 2
      test/parallel/test-tls-cnnic-whitelist.js
  80. 2
      test/parallel/test-tls-connect-no-host.js
  81. 2
      test/parallel/test-url.js
  82. 4
      test/parallel/test-vm-debug-context.js
  83. 12
      tools/install.py
  84. 10
      tools/msvs/msi/i18n/de-de.wxl
  85. 10
      tools/msvs/msi/i18n/en-us.wxl
  86. 2
      tools/msvs/msi/nodemsi.wixproj
  87. 36
      tools/msvs/msi/product.wxs
  88. 12
      tools/msvs/nodevars.bat
  89. 2
      tools/osx-pkg.pmdoc/02npm.xml
  90. 8
      tools/osx-pkg.pmdoc/index.xml.tmpl
  91. 4
      tools/release.sh
  92. 14
      tools/rpm/node.spec
  93. 8
      tools/rpm/rpmbuild.sh
  94. 2
      tools/test-npm.sh
  95. 10
      tools/test.py
  96. 24
      vcbuild.bat

2
.gitignore

@ -12,6 +12,8 @@ tmp/
test/tmp*/
iojs
iojs_g
node
node_g
*.swp
.benchmark_reports
/.project

2
BSDmakefile

@ -4,7 +4,7 @@ FLAGS=${.MAKEFLAGS:C/\-J ([0-9]+,?)+//W}
all: .DEFAULT
.DEFAULT:
@which gmake > /dev/null 2>&1 ||\
(echo "GMake is required for io.js to build.\
(echo "GMake is required for node.js to build.\
Install and try again" && exit 1)
@gmake ${.FLAGS} ${.TARGETS}

3168
CHANGELOG.md

File diff suppressed because it is too large

18
COLLABORATOR_GUIDE.md

@ -1,4 +1,4 @@
# io.js Collaborator Guide
# Node.js Collaborator Guide
**Contents**
@ -9,7 +9,7 @@
- [Technical HOWTO](#technical-howto)
- [I Just Made a Mistake](#i-just-made-a-mistake)
This document contains information for Collaborators of the io.js
This document contains information for Collaborators of the Node.js
project regarding maintaining the code, documentation and issues.
Collaborators should be familiar with the guidelines for new
@ -20,7 +20,7 @@ understand the project governance model as outlined in
## Issues and Pull Requests
Courtesy should always be shown to individuals submitting issues and
pull requests to the io.js project.
pull requests to the Node.js project.
Collaborators should feel free to take full responsibility for
managing issues and pull requests they feel qualified to handle, as
@ -28,16 +28,16 @@ long as this is done while being mindful of these guidelines, the
opinions of other Collaborators and guidance of the TC.
Collaborators may **close** any issue or pull request they believe is
not relevant for the future of the io.js project. Where this is
not relevant for the future of the Node.js project. Where this is
unclear, the issue should be left open for several days to allow for
additional discussion. Where this does not yield input from io.js
additional discussion. Where this does not yield input from Node.js
Collaborators or additional evidence that the issue has relevance, the
issue may be closed. Remember that issues can always be re-opened if
necessary.
## Accepting Modifications
All modifications to the io.js code and documentation should be
All modifications to the Node.js code and documentation should be
performed via GitHub pull requests, including modifications by
Collaborators and TC members.
@ -101,7 +101,7 @@ information regarding the change process:
appropriate.
See the commit log for examples such as
[this one](https://github.com/nodejs/io.js/commit/b636ba8186) if unsure
[this one](https://github.com/nodejs/node/commit/b636ba8186) if unsure
exactly how to format your commit messages.
Additionally:
@ -137,7 +137,7 @@ $ git merge --ff-only origin/master
Apply external patches
```text
$ curl -L https://github.com/nodejs/io.js/pull/xxx.patch | git am --whitespace=fix
$ curl -L https://github.com/nodejs/node/pull/xxx.patch | git am --whitespace=fix
```
Check and re-review the changes
@ -223,7 +223,7 @@ With `git`, there's a way to override remote trees by force pushing
(`git push -f`). This should generally be seen as forbidden (since
you're rewriting history on a repository other people are working
against) but is allowed for simpler slip-ups such as typos in commit
messages. However, you are only allowed to force push to any io.js
messages. However, you are only allowed to force push to any Node.js
branch within 10 minutes from your original push. If someone else
pushes to the branch or the 10 minute period passes, consider the
commit final.

26
CONTRIBUTING.md

@ -1,10 +1,10 @@
# Contributing to io.js
# Contributing to Node.js
## Issue Contributions
When opening new issues or commenting on existing issues on this repository
please make sure discussions are related to concrete technical issues with the
io.js software.
Node.js software.
Discussion of non-technical topics including subjects like intellectual
property, trademark and high level project questions should move to the
@ -13,7 +13,7 @@ instead.
## Code Contributions
The io.js project has an open governance model and welcomes new contributors.
The Node.js project has an open governance model and welcomes new contributors.
Individuals making significant and valuable contributions are made
_Collaborators_ and given commit-access to the project. See the
[GOVERNANCE.md](./GOVERNANCE.md) document for more information about how this
@ -23,13 +23,13 @@ This document will guide you through the contribution process.
### Step 1: Fork
Fork the project [on GitHub](https://github.com/nodejs/io.js) and check out your
Fork the project [on GitHub](https://github.com/nodejs/node) and check out your
copy locally.
```text
$ git clone git@github.com:username/io.js.git
$ cd io.js
$ git remote add upstream git://github.com/nodejs/io.js.git
$ git clone git@github.com:username/node.git
$ cd node
$ git remote add upstream git://github.com/nodejs/node.git
```
#### Which branch?
@ -48,14 +48,14 @@ always welcome but API or behavioral changes to modules at stability level 3
#### Dependencies
io.js has several bundled dependencies in the *deps/* and the *tools/*
Node.js has several bundled dependencies in the *deps/* and the *tools/*
directories that are not part of the project proper. Any changes to files
in those directories or its subdirectories should be sent to their respective
projects. Do not send your patch to us, we cannot accept it.
In case of doubt, open an issue in the
[issue tracker](https://github.com/nodejs/io.js/issues/) or contact one of the
[project Collaborators](https://github.com/nodejs/io.js/#current-project-team-members).
[issue tracker](https://github.com/nodejs/node/issues/) or contact one of the
[project Collaborators](https://github.com/nodejs/node/#current-project-team-members).
([IRC](http://webchat.freenode.net/?channels=io.js) is often the best medium.) Especially do so if you plan to work on something big. Nothing is more
frustrating than seeing your hard work go to waste because your vision
does not align with the project team.
@ -139,10 +139,10 @@ can use this syntax to run it exactly as the test harness would:
$ python tools/test.py -v --mode=release parallel/test-stream2-transform
```
You can run tests directly with iojs:
You can run tests directly with node:
```text
$ ./iojs ./test/parallel/test-stream2-transform.js
$ ./node ./test/parallel/test-stream2-transform.js
```
Remember to recompile with `make -j8` in between test runs if you change
@ -154,7 +154,7 @@ core modules.
$ git push origin my-feature-branch
```
Go to https://github.com/yourusername/io.js and select your feature branch.
Go to https://github.com/yourusername/node and select your feature branch.
Click the 'Pull Request' button and fill out the form.
Pull requests are usually reviewed within a few days. If there are comments

18
GOVERNANCE.md

@ -1,11 +1,11 @@
# io.js Project Governance
# Node.js Project Governance
## Technical Committee
The io.js project is jointly governed by a Technical Committee (TC)
The Node.js project is jointly governed by a Technical Steering Committee (TSC)
which is responsible for high-level guidance of the project.
The TC has final authority over this project including:
The TSC has final authority over this project including:
* Technical direction
* Project governance and process (including this policy)
@ -14,17 +14,17 @@ The TC has final authority over this project including:
* Conduct guidelines
* Maintaining the list of additional Collaborators
Initial membership invitations to the TC were given to individuals who
had been active contributors to io.js, and who have significant
experience with the management of the io.js project. Membership is
Initial membership invitations to the TSC were given to individuals who
had been active contributors to Node.js, and who have significant
experience with the management of the Node.js project. Membership is
expected to evolve over time according to the needs of the project.
For the current list of TC members, see the project
For the current list of TSC members, see the project
[README.md](./README.md#current-project-team-members).
## Collaborators
The [iojs/io.js](https://github.com/nodejs/io.js) GitHub repository is
The [nodejs/node](https://github.com/nodejs/node) GitHub repository is
maintained by the TC and additional Collaborators who are added by the
TC on an ongoing basis.
@ -37,7 +37,7 @@ _Note:_ If you make a significant contribution and are not considered
for commit-access, log an issue or contact a TC member directly and it
will be brought up in the next TC meeting.
Modifications of the contents of the iojs/io.js repository are made on
Modifications of the contents of the nodejs/node repository are made on
a collaborative basis. Anybody with a GitHub account may propose a
modification via pull request and it will be considered by the project
Collaborators. All pull requests must be reviewed and accepted by a

12
LICENSE

@ -1,7 +1,7 @@
io.js is licensed for use as follows:
Node.js is licensed for use as follows:
"""
Copyright io.js contributors. All rights reserved.
Copyright Node.js contributors. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@ -22,7 +22,7 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
"""
This license applies to parts of io.js originating from the
This license applies to parts of Node.js originating from the
https://github.com/joyent/node repository:
"""
@ -46,10 +46,10 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
"""
The io.js license applies to all parts of io.js that are not externally
The Node.js license applies to all parts of Node.js that are not externally
maintained libraries.
The externally maintained libraries used by io.js are:
The externally maintained libraries used by Node.js are:
- V8, located at deps/v8. V8's license follows:
"""
@ -612,7 +612,7 @@ The externally maintained libraries used by io.js are:
included for use in the npm website and documentation,
used with permission.
This program uses several io.js modules contained in the node_modules/
This program uses several Node.js modules contained in the node_modules/
subdirectory, according to the terms of their respective licenses.
"""

36
Makefile

@ -5,7 +5,7 @@ PYTHON ?= python
DESTDIR ?=
SIGN ?=
PREFIX ?= /usr/local
STAGINGSERVER ?= iojs-www
STAGINGSERVER ?= node-www
OSTYPE := $(shell uname -s | tr '[A-Z]' '[a-z]')
@ -13,9 +13,9 @@ OSTYPE := $(shell uname -s | tr '[A-Z]' '[a-z]')
EXEEXT := $(shell $(PYTHON) -c \
"import sys; print('.exe' if sys.platform == 'win32' else '')")
NODE ?= ./iojs$(EXEEXT)
NODE_EXE = iojs$(EXEEXT)
NODE_G_EXE = iojs_g$(EXEEXT)
NODE ?= ./node$(EXEEXT)
NODE_EXE = node$(EXEEXT)
NODE_G_EXE = node_g$(EXEEXT)
# Flags for packaging.
BUILD_DOWNLOAD_FLAGS ?= --download=all
@ -267,7 +267,7 @@ ifeq ($(DESTCPU),ia32)
override DESTCPU=x86
endif
TARNAME=iojs-$(FULLVERSION)
TARNAME=node-$(FULLVERSION)
TARBALL=$(TARNAME).tar
BINARYNAME=$(TARNAME)-$(PLATFORM)-$(ARCH)
BINARYTAR=$(BINARYNAME).tar
@ -311,11 +311,11 @@ $(PKG): release-only
$(MAKE) install V=$(V) DESTDIR=$(PKGDIR)
SIGN="$(CODESIGN_CERT)" PKGDIR="$(PKGDIR)" bash tools/osx-codesign.sh
cat tools/osx-pkg.pmdoc/index.xml.tmpl \
| sed -E "s/\\{iojsversion\\}/$(FULLVERSION)/g" \
| sed -E "s/\\{nodeversion\\}/$(FULLVERSION)/g" \
| sed -E "s/\\{npmversion\\}/$(NPMVERSION)/g" \
> tools/osx-pkg.pmdoc/index.xml
$(PACKAGEMAKER) \
--id "org.iojs.pkg" \
--id "org.node.pkg" \
--doc tools/osx-pkg.pmdoc \
--out $(PKG)
SIGN="$(PRODUCTSIGN_CERT)" PKG="$(PKG)" bash tools/osx-productsign.sh
@ -324,13 +324,13 @@ pkg: $(PKG)
pkg-upload: pkg
ssh $(STAGINGSERVER) "mkdir -p staging/$(DISTTYPEDIR)/$(FULLVERSION)"
scp -p iojs-$(FULLVERSION).pkg $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION).pkg
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION).pkg.done"
scp -p node-$(FULLVERSION).pkg $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/node-$(FULLVERSION).pkg
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/node-$(FULLVERSION).pkg.done"
$(TARBALL): release-only $(NODE_EXE) doc
git checkout-index -a -f --prefix=$(TARNAME)/
mkdir -p $(TARNAME)/doc/api
cp doc/iojs.1 $(TARNAME)/doc/iojs.1
cp doc/node.1 $(TARNAME)/doc/node.1
cp -r out/doc/api/* $(TARNAME)/doc/api/
rm -rf $(TARNAME)/deps/v8/{test,samples,tools/profviz} # too big
rm -rf $(TARNAME)/doc/images # too big
@ -350,11 +350,11 @@ tar: $(TARBALL)
tar-upload: tar
ssh $(STAGINGSERVER) "mkdir -p staging/$(DISTTYPEDIR)/$(FULLVERSION)"
scp -p iojs-$(FULLVERSION).tar.gz $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION).tar.gz
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION).tar.gz.done"
scp -p node-$(FULLVERSION).tar.gz $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/node-$(FULLVERSION).tar.gz
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/node-$(FULLVERSION).tar.gz.done"
ifeq ($(XZ), 0)
scp -p iojs-$(FULLVERSION).tar.xz $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION).tar.xz
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION).tar.xz.done"
scp -p node-$(FULLVERSION).tar.xz $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/node-$(FULLVERSION).tar.xz
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/node-$(FULLVERSION).tar.xz.done"
endif
doc-upload: tar
@ -415,11 +415,11 @@ binary: $(BINARYTAR)
binary-upload: binary
ssh $(STAGINGSERVER) "mkdir -p staging/$(DISTTYPEDIR)/$(FULLVERSION)"
scp -p iojs-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.gz $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.gz
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.gz.done"
scp -p node-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.gz $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/node-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.gz
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/node-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.gz.done"
ifeq ($(XZ), 0)
scp -p iojs-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.xz $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.xz
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.xz.done"
scp -p node-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.xz $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/node-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.xz
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/node-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.xz.done"
endif
haswrk=$(shell which wrk > /dev/null 2>&1; echo $$?)

60
README.md

@ -1,41 +1,34 @@
io.js
Node.js
=====
[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/nodejs/io.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/nodejs/node?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
This repository began as a GitHub fork of
[joyent/node](https://github.com/joyent/node).
io.js contributions, releases, and contributorship are under an
Node.js contributions, releases, and contributorship are under an
[open governance model](./GOVERNANCE.md).
We intend to land, with increasing regularity, releases which are
compatible with the npm ecosystem that has been built to date for
Node.js.
## Is it io.js or IO.js or iojs or IOjs or iOjS?
The official name is **io.js**, which should never be capitalized,
especially not at the start of a sentence, unless it is being
displayed in a location that is customarily all-caps (such as
the title of man pages).
## Download
Binaries, installers, and source tarballs are available at
<https://iojs.org>.
<https://nodejs.org>.
**Releases** are available at <https://iojs.org/dist/>, listed under
their version string. The <https://iojs.org/dist/latest/> symlink
**Releases** are available at <https://nodejs.org/dist/>, listed under
their version string. The <https://nodejs.org/dist/latest/> symlink
will point to the latest release directory.
**Nightly** builds are available at
<https://iojs.org/download/nightly/>, listed under their version
<https://nodejs.org/download/nightly/>, listed under their version
string which includes their date (in UTC time) and the commit SHA at
the HEAD of the release.
**API documentation** is available in each release and nightly
directory under _docs_. <https://iojs.org/api/> points to the latest version.
directory under _docs_. <https://nodejs.org/api/> points to the latest version.
### Verifying Binaries
@ -45,10 +38,10 @@ download. To check that a downloaded file matches the checksum, run
it through `sha256sum` with a command such as:
```
$ grep iojs-vx.y.z.tar.gz SHASUMS256.txt | sha256sum -c -
$ grep node-vx.y.z.tar.gz SHASUMS256.txt | sha256sum -c -
```
_(Where "iojs-vx.y.z.tar.gz" is the name of the file you have
_(Where "node-vx.y.z.tar.gz" is the name of the file you have
downloaded)_
Additionally, releases (not nightlies) have GPG signed copies of
@ -68,7 +61,7 @@ $ gpg --keyserver pool.sks-keyservers.net \
_(Include each of the key fingerprints at the end of this command.)_
You can then use `gpg --verify SHASUMS256.txt.asc` to verify that the
file has been signed by an authorized member of the io.js team.
file has been signed by an authorized member of the Node.js team.
Once verified, use the SHASUMS256.txt.asc file to get the checksum for
the binary verification command above.
@ -116,13 +109,13 @@ $ make doc
To read the documentation:
```text
$ man doc/iojs.1
$ man doc/node.1
```
To test if io.js was built correctly:
To test if Node.js was built correctly:
```
$ iojs -e "console.log('Hello from io.js ' + process.version)"
$ node -e "console.log('Hello from node.js ' + process.version)"
```
### Windows
@ -146,10 +139,10 @@ To run the tests:
> vcbuild test
```
To test if io.js was built correctly:
To test if Node.js was built correctly:
```
$ iojs -e "console.log('Hello from io.js ' + process.version)"
$ node -e "console.log('Hello from node.js ' + process.version)"
```
### Android / Android based devices, aka. Firefox OS
@ -262,11 +255,11 @@ as `deps/icu` (You'll have: `deps/icu/source/...`)
> vcbuild full-icu
```
# Building io.js with FIPS-compliant OpenSSL
# Building Node.js with FIPS-compliant OpenSSL
NOTE: Windows is not yet supported
It is possible to build io.js with
It is possible to build Node.js with
[OpenSSL FIPS module](https://www.openssl.org/docs/fips/fipsnotes.html).
**Note** that building in this way does **not** allow you to
@ -302,26 +295,25 @@ Instructions:
(http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1747.pdf).
The only exception is that `./config no-asm` can be
used in place of `./config` )
6. Get into io.js checkout folder
6. Get into Node.js checkout folder
7. `./configure --openssl-fips=/path/to/openssl-fips/installdir`
For example on ubuntu 12 the installation directory was
/usr/local/ssl/fips-2.0
8. Build io.js with `make -j`
8. Build Node.js with `make -j`
9. Verify with `node -p "process.versions.openssl"` (`1.0.2a-fips`)
## Resources for Newcomers
* [CONTRIBUTING.md](./CONTRIBUTING.md)
* [GOVERNANCE.md](./GOVERNANCE.md)
* IRC:
[#io.js on Freenode.net](http://webchat.freenode.net?channels=io.js&uio=d4)
* [iojs/io.js on Gitter](https://gitter.im/nodejs/io.js)
* [nodejs/node on Gitter](https://gitter.im/nodejs/node)
## Security
All security bugs in io.js are taken seriously and should be reported by
emailing security@iojs.org. This will be delivered to a subset of the project
All security bugs in node.js are taken seriously and should be reported by
emailing security@nodejs.org. This will be delivered to a subset of the project
team who handle security issues. Please don't disclose security bugs
public until they have been handled by the security team.
@ -331,9 +323,9 @@ handling your report.
## Current Project Team Members
The io.js project team comprises a group of core collaborators and a sub-group
The Node.js project team comprises a group of core collaborators and a sub-group
that forms the _Technical Steering Committee_ (TSC) which governs the project. For more
information about the governance of the io.js project, see
information about the governance of the Node.js project, see
[GOVERNANCE.md](./GOVERNANCE.md).
=======
@ -392,4 +384,4 @@ information about the governance of the io.js project, see
* **João Reis** &lt;reis@janeasystems.com&gt; ([@joaocgreis](https://github.com/joaocgreis))
Collaborators & TSC members follow the [COLLABORATOR_GUIDE.md](./COLLABORATOR_GUIDE.md) in
maintaining the io.js project.
maintaining the Node.js project.

30
ROADMAP.md

@ -1,4 +1,4 @@
# io.js Roadmap
# Node.js Roadmap
***This is a living document, it describes the policy and priorities as they exist today but can evolve over time.***
@ -6,15 +6,15 @@
The most important consideration in every code change is the impact it will have, positive or negative, on the ecosystem (modules and applications).
io.js does not remove stdlib JS API.
Node.js does not remove stdlib JS API.
Shipping with current and well supported dependencies is the best way to ensure long term stability of the platform. When those dependencies are no longer maintained io.js will take on their continued maintenance as part of our [Long Term Support policy](#long-term-support).
Shipping with current and well supported dependencies is the best way to ensure long term stability of the platform. When those dependencies are no longer maintained Node.js will take on their continued maintenance as part of our [Long Term Support policy](#long-term-support).
io.js will continue to adopt new V8 releases.
Node.js will continue to adopt new V8 releases.
* When V8 ships a breaking change to their C++ API that can be handled by [`nan`](https://github.com/rvagg/nan)
the *minor* version of io.js will be increased.
the *minor* version of Node.js will be increased.
* When V8 ships a breaking change to their C++ API that can NOT be handled by [`nan`](https://github.com/rvagg/nan)
the *major* version of io.js will be increased.
the *major* version of Node.js will be increased.
* When new features in the JavaScript language are introduced by V8 the
*minor* version number will be increased. TC39 has stated clearly that no
backwards incompatible changes will be made to the language so it is
@ -26,23 +26,23 @@ Any API addition will cause an increase in the *minor* version.
### Long Term Support
io.js supports old versions for as long as community members are fixing bugs in them.
Node.js supports old versions for as long as community members are fixing bugs in them.
As long as there is a community back porting bug fixes we will push patch releases for those versions of io.js.
As long as there is a community back porting bug fixes we will push patch releases for those versions of Node.js.
When old versions of dependencies like V8 are no longer supported by their project io.js will take on the responsibility of maintenance to ensure continued long term support in io.js patch releases.
When old versions of dependencies like V8 are no longer supported by their project Node.js will take on the responsibility of maintenance to ensure continued long term support in Node.js patch releases.
## Channels
Channels are points of collaboration with the broader community and are not strictly scoped to a repository or branch.
* Release - Stable production ready builds. Unique version numbers following semver.
* Canary - Nightly builds w/ V8 version in Chrome Canary + changes landing to io.js. No version designation.
* Canary - Nightly builds w/ V8 version in Chrome Canary + changes landing to Node.js. No version designation.
* NG - "Next Generation." No version designation.
## NG (Next Generation)
In order for io.js to stay competitive we need to work on the next generation of the platform which will more accurately integrate and reflect the advancements in the language and the ecosystem.
In order for Node.js to stay competitive we need to work on the next generation of the platform which will more accurately integrate and reflect the advancements in the language and the ecosystem.
While this constitutes a great leap forward for the platform we will be making this leap without breaking backwards compatibility with the existing ecosystem of modules.
@ -50,9 +50,9 @@ While this constitutes a great leap forward for the platform we will be making t
## Debugging and Tracing
Debugging is one of the first things from everyone's mouth, both developer and enterprise, when describing trouble they've had with node.js/io.js.
Debugging is one of the first things from everyone's mouth, both developer and enterprise, when describing trouble they've had with Node.js.
The goal of io.js' effort is to build a healthy debugging and tracing ecosystem and not to try and build any "silver bullet" features for core (like the domains debacle).
The goal of Node.js' effort is to build a healthy debugging and tracing ecosystem and not to try and build any "silver bullet" features for core (like the domains debacle).
The [Tracing WG](https://github.com/nodejs/tracing-wg) is driving this effort:
@ -60,8 +60,8 @@ The [Tracing WG](https://github.com/nodejs/tracing-wg) is driving this effort:
* async-listener - userland module that will dogfood AsyncWrap as well as provide many often requested debugging features.
* Tracing
* Add tracing support for more platforms (LTTng, etc).
* [Unify the Tracing endpoint](https://github.com/nodejs/io.js/issues/729).
* New Chrome Debugger - Google is working on a version of Chrome's debugger that is without Chrome and can be used with io.js.
* [Unify the Tracing endpoint](https://github.com/nodejs/node/issues/729).
* New Chrome Debugger - Google is working on a version of Chrome's debugger that is without Chrome and can be used with Node.js.
## Ecosystem Automation

62
WORKING_GROUPS.md

@ -1,11 +1,11 @@
# io.js Working Groups
# Node.js Working Groups
io.js Working Groups are autonomous projects created by the
[Technical Committee (TC)](https://github.com/nodejs/io.js/blob/master/GOVERNANCE.md#technical-committee).
Node.js Working Groups are autonomous projects created by the
[Technical Steering Committee (TSC)](https://github.com/nodejs/node/blob/master/GOVERNANCE.md#technical-committee).
Working Groups can be formed at any time but must be ratified by the TC.
Working Groups can be formed at any time but must be ratified by the TSC.
Once formed the work defined in the Working Group charter is the
responsibility of the WG rather than the TC.
responsibility of the WG rather than the TSC.
It is important that Working Groups are not formed pre-maturely. Working
Groups are not formed to *begin* a set of tasks but instead are formed
@ -14,7 +14,7 @@ think it would benefit from being done as an autonomous project.
If the work defined in a Working Group charter is completed the Working
Group should be dissolved and the responsibility for governance absorbed
back in to the TC.
back in to the TSC.
## Current Working Groups
@ -33,30 +33,30 @@ back in to the TC.
### [Website](https://github.com/nodejs/website)
The website working group's purpose is to build and maintain a public
website for the `io.js` project.
website for the `Node.js` project.
Its responsibilities are:
* Develop and maintain a build and automation system for `iojs.org`.
* Ensure the site is regularly updated with changes made to `io.js` like
* Develop and maintain a build and automation system for `nodejs.org`.
* Ensure the site is regularly updated with changes made to `Node.js` like
releases and features.
* Foster and enable a community of translators.
### [Streams](https://github.com/nodejs/readable-stream)
The Streams WG is dedicated to the support and improvement of the Streams API
as used in io.js and the npm ecosystem. We seek to create a composable API that
as used in Node.js and the npm ecosystem. We seek to create a composable API that
solves the problem of representing multiple occurrences of an event over time
in a humane, low-overhead fashion. Improvements to the API will be driven by
the needs of the ecosystem; interoperability and backwards compatibility with
other solutions and prior versions are paramount in importance. Our
responsibilities include:
* Addressing stream issues on the io.js issue tracker.
* Authoring and editing stream documentation within the io.js project.
* Reviewing changes to stream subclasses within the io.js project.
* Redirecting changes to streams from the io.js project to this project.
* Assisting in the implementation of stream providers within io.js.
* Recommending versions of readable-stream to be included in io.js.
* Addressing stream issues on the Node.js issue tracker.
* Authoring and editing stream documentation within the Node.js project.
* Reviewing changes to stream subclasses within the Node.js project.
* Redirecting changes to streams from the Node.js project to this project.
* Assisting in the implementation of stream providers within Node.js.
* Recommending versions of readable-stream to be included in Node.js.
* Messaging about the future of streams to give the community advance notice of changes.
@ -75,7 +75,7 @@ Its responsibilities are:
### [Tracing](https://github.com/nodejs/tracing-wg)
The tracing working group's purpose is to increase the
transparency of software written in io.js.
transparency of software written in Node.js.
Its responsibilities are:
* Collaboration with V8 to integrate with `trace_event`.
@ -95,12 +95,12 @@ language community might then produce multiple localizations for
various project resources.
Their responsibilities are:
* Translations of any io.js materials they believe are relevant to their
* Translations of any Node.js materials they believe are relevant to their
community.
* Review processes for keeping translations up
to date and of high quality.
* Social media channels in their language.
* Promotion of io.js speakers for meetups and conferences in their
* Promotion of Node.js speakers for meetups and conferences in their
language.
Each language community maintains its own membership.
@ -144,7 +144,7 @@ Each language community maintains its own membership.
### [Evangelism](https://github.com/nodejs/evangelism)
The evangelism working group promotes the accomplishments
of io.js and lets the community know how they can get involved.
of Node.js and lets the community know how they can get involved.
Their responsibilities are:
* Project messaging.
@ -158,7 +158,7 @@ content.
### [Roadmap](https://github.com/nodejs/roadmap)
The roadmap working group is responsible for user community outreach
and the translation of their concerns into a plan of action for io.js.
and the translation of their concerns into a plan of action for Node.js.
The final [ROADMAP](./ROADMAP.md) document is still owned by the TC and requires
the same approval for changes as any other project asset.
@ -172,10 +172,10 @@ Their responsibilities are:
### [Docker](https://github.com/nodejs/docker-iojs)
The Docker working group's purpose is to build, maintain, and improve official
Docker images for the `io.js` project.
Docker images for the `Node.js` project.
Their responsibilities are:
* Keep the official Docker images updated in line with new `io.js` releases.
* Keep the official Docker images updated in line with new `Node.js` releases.
* Decide and implement image improvements and/or fixes.
* Maintain and improve the images' documentation.
@ -184,9 +184,9 @@ Their responsibilities are:
The Addon API Working Group is responsible for maintaining the NAN project and
corresponding _nan_ package in npm. The NAN project makes available an
abstraction layer for native add-on authors for both Node.js and io.js,
abstraction layer for native add-on authors for both Node.js and Node.js,
assisting in the writing of code that is compatible with many actively used
versions of Node.js, io.js, V8 and libuv.
versions of Node.js, Node.js, V8 and libuv.
Their responsibilities are:
@ -194,12 +194,12 @@ Their responsibilities are:
including code, issues and documentation.
* Maintaining the [addon-examples](https://github.com/nodejs/node-addon-examples)
GitHub repository, including code, issues and documentation.
* Maintaining the C++ Addon API within the io.js project, in subordination to
the io.js TC.
* Maintaining the Addon documentation within the io.js project, in
subordination to the io.js TC.
* Maintaining the C++ Addon API within the Node.js project, in subordination to
the Node.js TSC.
* Maintaining the Addon documentation within the Node.js project, in
subordination to the Node.js TSC.
* Maintaining the _nan_ package in npm, releasing new versions as appropriate.
* Messaging about the future of the io.js and NAN interface to give the
* Messaging about the future of the Node.js and NAN interface to give the
community advance notice of changes.
The current members can be found in their
@ -239,7 +239,7 @@ governance process, hence the term "bootstrap."
### *[insert WG name]* Working Group
The io.js *[insert WG name]* is jointly governed by a Working Group (WG)
The Node.js *[insert WG name]* is jointly governed by a Working Group (WG)
that is responsible for high-level guidance of the project.
The WG has final authority over this project including:

4
benchmark/README.md

@ -1,7 +1,7 @@
# io.js core benchmark tests
# Node.js core benchmark tests
This folder contains benchmark tests to measure the performance for certain
io.js APIs.
Node.js APIs.
## Prerequisites

2
benchmark/common.js

@ -19,7 +19,7 @@ if (module === require.main) {
var type = process.argv[2];
var testFilter = process.argv[3];
if (!type) {
console.error('usage:\n ./iojs benchmark/common.js <type> [testFilter]');
console.error('usage:\n ./node benchmark/common.js <type> [testFilter]');
process.exit(1);
}

6
benchmark/http-flamegraph.sh

@ -1,7 +1,7 @@
#!/bin/bash
cd "$(dirname "$(dirname $0)")"
node=${NODE:-./iojs}
node=${NODE:-./node}
name=${NAME:-stacks}
@ -22,7 +22,7 @@ fi
ulimit -n 100000
$node benchmark/http_simple.js &
nodepid=$!
echo "iojs pid = $nodepid"
echo "node pid = $nodepid"
sleep 1
# has to stay alive until dtrace exits
@ -62,7 +62,7 @@ echo 'Turn the stacks into a svg'
stackvis dtrace flamegraph-svg < "$name".src > "$name".raw.svg
echo 'Prune tiny stacks out of the graph'
iojs -e '
node -e '
var infile = process.argv[1];
var outfile = process.argv[2];
var output = "";

2
benchmark/http.sh

@ -24,7 +24,7 @@ if [ "$k" = "no" ]; then
else
k="-k"
fi
node=${NODE:-./iojs}
node=${NODE:-./node}
$node benchmark/http_simple.js &
npid=$!

10
benchmark/http_simple_bench.sh

@ -4,7 +4,7 @@ SERVER=127.0.0.1
PORT=${PORT:=8000}
# You may want to configure your TCP settings to make many ports available
# to node and ab. On macintosh use:
# to node and ab. On macintosh use:
# sudo sysctl -w net.inet.ip.portrange.first=32768
# sudo sysctl -w net.inet.tcp.msl=1000
@ -14,7 +14,7 @@ if [ ! -d benchmark/ ]; then
fi
if [ $SERVER == "127.0.0.1" ]; then
./iojs benchmark/http_simple.js &
./node benchmark/http_simple.js &
node_pid=$!
sleep 1
fi
@ -24,7 +24,7 @@ date=`date "+%Y%m%d%H%M%S"`
ab_hello_world() {
local type="$1"
local ressize="$2"
if [ $type == "string" ]; then
if [ $type == "string" ]; then
local uri="bytes/$ressize"
else
local uri="buffer/$ressize"
@ -54,7 +54,7 @@ ab_hello_world() {
echo "webserver-rev: $rev" >> $summary_fn
echo "webserver-uname: $uname" >> $summary_fn
grep Req $summary_fn
grep Req $summary_fn
echo "Summary: $summary_fn"
echo
@ -64,7 +64,7 @@ ab_hello_world() {
ab_hello_world 'string' '1024'
ab_hello_world 'buffer' '1024'
# 100k
# 100k
ab_hello_world 'string' '102400'
ab_hello_world 'buffer' '102400'

12
benchmark/plot.R

@ -1,14 +1,14 @@
#!/usr/bin/env Rscript
# To use this script you'll need to install R: http://www.r-project.org/
# and a library for R called ggplot2
# and a library for R called ggplot2
# Which can be done by starting R and typing install.packages("ggplot2")
# like this:
#
# shell% R
# R version 2.11.0 beta (2010-04-12 r51689)
# > install.packages("ggplot2")
# (follow prompt)
# (follow prompt)
#
# Then you can try this script by providing a full path to .data file
# outputed from 'make bench'
@ -17,7 +17,7 @@
# > make bench
# ...
# > ./benchmark/plot.R .benchmark_reports/ab-hello-world-buffer-1024/ff456b38862de3fd0118c6ac6b3f46edb1fbb87f/20101013162056.data
#
#
# This will generate a PNG file which you can view
#
#
@ -39,20 +39,20 @@ ab.load <- function (filename, name) {
#ab.tsPoint <- function (d) {
# qplot(time_s, ttime, data=d, facets=server~.,
# geom="point", alpha=I(1/15), ylab="response time (ms)",
# xlab="time (s)", main="c=30, res=26kb",
# xlab="time (s)", main="c=30, res=26kb",
# ylim=c(0,100))
#}
#
#ab.tsLine <- function (d) {
# qplot(time_s, ttime, data=d, facets=server~.,
# geom="line", ylab="response time (ms)",
# xlab="time (s)", main="c=30, res=26kb",
# xlab="time (s)", main="c=30, res=26kb",
# ylim=c(0,100))
#}
filename <- args[0:1]
data <- ab.load(filename, "iojs")
data <- ab.load(filename, "node")
# histogram

2
benchmark/plot_csv.R

@ -5,7 +5,7 @@
#
# Once installed, you can generate some CSV output with a command like this:
#
# $ OUTPUT_FORMAT=csv iojs benchmark/http/client-request-body.js > data.csv
# $ OUTPUT_FORMAT=csv node benchmark/http/client-request-body.js > data.csv
# $ ./benchmark/plot_csv.R data.csv data.png bytes type
#
# Where the 3rd argument to this script is the graph's X coordinate, the 4th is

8
configure

@ -40,7 +40,7 @@ shared_optgroup = optparse.OptionGroup(parser, "Shared libraries",
"built-in dependencies or its shared representations. If necessary, "
"provide multiple libraries with comma.")
intl_optgroup = optparse.OptionGroup(parser, "Internationalization",
"Flags that lets you enable i18n features in io.js as well as which "
"Flags that lets you enable i18n features in Node.js as well as which "
"library you want to build against.")
# Options should be in alphabetical order but keep --prefix at the top,
@ -406,7 +406,7 @@ def get_llvm_version(cc):
proc = subprocess.Popen(shlex.split(cc) + ['-v'], stdin=subprocess.PIPE,
stderr=subprocess.PIPE, stdout=subprocess.PIPE)
except OSError:
print '''io.js configure error: No acceptable C compiler found!
print '''Node.js configure error: No acceptable C compiler found!
Please make sure you have a C compiler installed on your system and/or
consider adjusting the CC environment variable if you installed
@ -431,7 +431,7 @@ def get_gas_version(cc):
stdin=subprocess.PIPE, stderr=subprocess.PIPE,
stdout=subprocess.PIPE)
except OSError:
print '''io.js configure error: No acceptable C compiler found!
print '''Node.js configure error: No acceptable C compiler found!
Please make sure you have a C compiler installed on your system and/or
consider adjusting the CC environment variable if you installed
@ -489,7 +489,7 @@ def cc_macros():
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
except OSError:
print '''io.js configure error: No acceptable C compiler found!
print '''Node.js configure error: No acceptable C compiler found!
Please make sure you have a C compiler installed on your system and/or
consider adjusting the CC environment variable if you installed

4
deps/openssl/config/Makefile

@ -10,7 +10,7 @@ solaris64-x86_64-gcc
CFG = opensslconf.h
SRC_CFG = ../openssl/crypto/$(CFG)
BACKUP_FILES = ../openssl/Makefile ../openssl/Makefile.bak $(SRC_CFG)
BACKUP_EXT = iojsbackup
BACKUP_EXT = nodebackup
# OPENSSL_CPUID_OBJ is defined in openssl.gypi for use --openssl-no-asm
CPUIDFIX = 's/\#define OPENSSL_CPUID_OBJ$$//;'
@ -29,7 +29,7 @@ $(ARCHS):
# The current openssl release does not use RC4 asm since it explicitly
# specified as `$asm=~s/rc4\-[^:]+//;` in
# https://github.com/openssl/openssl/blob/OpenSSL_1_0_1-stable/Configure#L584
# But iojs has used RC4 asm on MacOS for long time. Fix type of RC4_INT
# But node has used RC4 asm on MacOS for long time. Fix type of RC4_INT
# into `unsigned int` in opensslconf.h of darwin64-x86_64-cc to work on
# the RC4 asm.
fixdarwin64:

6
deps/openssl/config/opensslconf.h

@ -3,7 +3,7 @@
specifying a target argument, where it includes several defines that
depend on OS and architecture platform.
In iojs, we statically mapped --dest-os and --dest-cpu options in
In node, we statically mapped --dest-os and --dest-cpu options in
configure to the target of Configure in OpenSSL and make
`deps/openssl/conf/openssconf.h` so as to include each file
according to its target by checking pre-defined compiler macros.
@ -11,9 +11,9 @@
Included opnesslconf.h files for supported target architectures can
be generated by `Makefile` and stored under
`archs/{target}/opensslconf.h`. The Makefile also fixes several
defines to meet iojs build requirements.
defines to meet node build requirements.
Here is a map table of configure options in iojs, target arch of
Here is a map table of configure options in node, target arch of
Configure in OpenSSL and CI support.
| --dest-os | --dest-cpu | OpenSSL target arch | CI |

16
deps/openssl/doc/UPGRADING.md

@ -1,7 +1,7 @@
## How to upgrade openssl library in io.js
## How to upgrade openssl library in Node.js
This document describes the procedure to upgrade openssl from 1.0.2a
to 1.0.2c in io.js.
to 1.0.2c in Node.js.
### Build System and Upgrading Overview
@ -17,16 +17,16 @@ hardware performance according to the type of cpus.
`Configure TABLE` shows various build parameters that depend on each
os and arch.
In io.js, build target is defined as `--dest-os` and `--dest-cpu` in
In Node.js, build target is defined as `--dest-os` and `--dest-cpu` in
configure options which are different from the one that is defined in
openssl and it's build system is gyp that is based on python,
therefore we cannot use the openssl build system directly.
In order to build openssl with gyp in iojs, files of opensslconf.h and
In order to build openssl with gyp in node, files of opensslconf.h and
asm are generated in advance for several supported platforms.
Here is a map table to show conf(opensslconf.h) and asm between
the openssl target and configuration parameters of os and cpu in iojs.
the openssl target and configuration parameters of os and cpu in node.
The tested platform in CI are also listed.
| --dest-os | --dest-cpu | conf | asm | openssl target | CI |
@ -74,7 +74,7 @@ build. Furthermore, these perl scripts check the version of assembler
and generate asm files according to the supported instructions in each
compiler.
Since perl is not a build requirement in iojs, they all should be
Since perl is not a build requirement in node, they all should be
generated in advance and statically stored in the repository. We
provide two sets of asm files, one is asm_latest(avx2 and addx
supported) in `deps/openssl/asm` and the other asm_obsolete(without
@ -91,7 +91,7 @@ https://github.com/openssl/openssl/blob/OpenSSL_1_0_2-stable/crypto/sha/asm/sha5
otherwise asm_obsolete are used.
The following is the detail instruction steps how to upgrade openssl
version from 1.0.2a to 1.0.2c in iojs.
version from 1.0.2a to 1.0.2c in node.
### 1. Replace openssl source in `deps/openssl/openssl`
Remove old openssl sources in `deps/openssl/openssl` .
@ -104,7 +104,7 @@ There are three kinds of private patches to be applied in openssl-1.0.2c.
- The two fixes of assembly error on ia32 win32. masm is no longer
supported in openssl. We should move to use nasm or yasm in future
version of iojs.
version of node.
- The fix of openssl-cli built on win. Key press requirement of
openssl-cli in win causes timeout failures of several tests.

12
doc/api/addons.markdown

@ -6,7 +6,7 @@ knowledge of several libraries:
- V8 JavaScript, a C++ library. Used for interfacing with JavaScript:
creating objects, calling functions, etc. Documented mostly in the
`v8.h` header file (`deps/v8/include/v8.h` in the io.js source
`v8.h` header file (`deps/v8/include/v8.h` in the Node.js source
tree), which is also available
[online](https://v8docs.nodesource.com/).
@ -16,12 +16,12 @@ knowledge of several libraries:
to interface with libuv. That is, if you perform any I/O, libuv will
need to be used.
- Internal io.js libraries. Most importantly is the `node::ObjectWrap`
- Internal Node.js libraries. Most importantly is the `node::ObjectWrap`
class which you will likely want to derive from.
- Others. Look in `deps/` for what else is available.
io.js statically compiles all its dependencies into the executable.
Node.js statically compiles all its dependencies into the executable.
When compiling your module, you don't need to worry about linking to
any of these libraries.
@ -64,7 +64,7 @@ First we create a file `hello.cc`:
} // namespace demo
Note that all io.js addons must export an initialization function:
Note that all Node.js addons must export an initialization function:
void Initialize(Local<Object> exports);
NODE_MODULE(module_name, Initialize)
@ -99,7 +99,7 @@ command.
Now you have your compiled `.node` bindings file! The compiled bindings end up
in `build/Release/`.
You can now use the binary addon in an io.js project `hello.js` by pointing
You can now use the binary addon in an Node.js project `hello.js` by pointing
`require` to the recently built `hello.node` module:
// hello.js
@ -656,7 +656,7 @@ Test it with:
### Passing wrapped objects around
In addition to wrapping and returning C++ objects, you can pass them around
by unwrapping them with io.js's `node::ObjectWrap::Unwrap` helper function.
by unwrapping them with Node.js's `node::ObjectWrap::Unwrap` helper function.
In the following `addon.cc` we introduce a function `add()` that can take on two
`MyObject` objects:

8
doc/api/buffer.markdown

@ -4,7 +4,7 @@
Pure JavaScript is Unicode friendly but not nice to binary data. When
dealing with TCP streams or the file system, it's necessary to handle octet
streams. io.js has several strategies for manipulating, creating, and
streams. Node.js has several strategies for manipulating, creating, and
consuming octet streams.
Raw data is stored in instances of the `Buffer` class. A `Buffer` is similar
@ -33,7 +33,7 @@ encoding method. Here are the different string encodings.
* `'binary'` - A way of encoding raw binary data into strings by using only
the first 8 bits of each character. This encoding method is deprecated and
should be avoided in favor of `Buffer` objects where possible. This encoding
will be removed in future versions of io.js.
will be removed in future versions of Node.js.
* `'hex'` - Encode each byte as two hexadecimal characters.
@ -295,7 +295,7 @@ so the legal range is between `0x00` and `0xFF` hex or `0` and `255`.
Example: copy an ASCII string into a buffer, one byte at a time:
str = "io.js";
str = "Node.js";
buf = new Buffer(str.length);
for (var i = 0; i < str.length ; i++) {
@ -304,7 +304,7 @@ Example: copy an ASCII string into a buffer, one byte at a time:
console.log(buf);
// io.js
// Node.js
### buf.equals(otherBuffer)

35
doc/api/child_process.markdown

@ -2,12 +2,12 @@
Stability: 2 - Stable
io.js provides a tri-directional `popen(3)` facility through the
Node.js provides a tri-directional `popen(3)` facility through the
`child_process` module.
It is possible to stream data through a child's `stdin`, `stdout`, and
`stderr` in a fully non-blocking way. (Note that some programs use
line-buffered I/O internally. That doesn't affect io.js but it means
line-buffered I/O internally. That doesn't affect Node.js but it means
data you send to the child process may not be immediately consumed.)
To create a child process use `require('child_process').spawn()` or
@ -61,7 +61,7 @@ of the signal, otherwise `null`.
Note that the child process stdio streams might still be open.
Also, note that io.js establishes signal handlers for `'SIGINT'` and
Also, note that Node.js establishes signal handlers for `'SIGINT'` and
`'SIGTERM`', so it will not terminate due to receipt of those signals,
it will exit.
@ -253,7 +253,7 @@ instead, see
There is a special case when sending a `{cmd: 'NODE_foo'}` message. All messages
containing a `NODE_` prefix in its `cmd` property will not be emitted in
the `message` event, since they are internal messages used by io.js core.
the `message` event, since they are internal messages used by Node.js core.
Messages containing the prefix are emitted in the `internalMessage` event.
Avoid using this feature; it is subject to change without notice.
@ -300,7 +300,8 @@ a `message` event instead of `connection` and use `server.bind` instead of
Here is an example of sending a socket. It will spawn two children and handle
connections with the remote address `74.125.127.100` as VIP by sending the
socket to a "special" child process. Other sockets will go to a "normal" process.
socket to a "special" child process. Other sockets will go to a "normal"
process.
var normal = require('child_process').fork('child.js', ['normal']);
var special = require('child_process').fork('child.js', ['special']);
@ -365,8 +366,8 @@ callback or returning an EventEmitter).
* `gid` {Number} Sets the group identity of the process. (See setgid(2).)
* return: {ChildProcess object}
Launches a new process with the given `command`, with command line arguments in `args`.
If omitted, `args` defaults to an empty Array.
Launches a new process with the given `command`, with command line arguments in
`args`. If omitted, `args` defaults to an empty Array.
The third argument is used to specify additional options, with these defaults:
@ -463,19 +464,19 @@ index corresponds to a fd in the child. The value is one of the following:
between parent and child. A ChildProcess may have at most *one* IPC stdio
file descriptor. Setting this option enables the ChildProcess.send() method.
If the child writes JSON messages to this file descriptor, then this will
trigger ChildProcess.on('message'). If the child is an io.js program, then
trigger ChildProcess.on('message'). If the child is an Node.js program, then
the presence of an IPC channel will enable process.send() and
process.on('message').
3. `'ignore'` - Do not set this file descriptor in the child. Note that io.js
3. `'ignore'` - Do not set this file descriptor in the child. Note that Node.js
will always open fd 0 - 2 for the processes it spawns. When any of these is
ignored io.js will open `/dev/null` and attach it to the child's fd.
ignored Node.js will open `/dev/null` and attach it to the child's fd.
4. `Stream` object - Share a readable or writable stream that refers to a tty,
file, socket, or a pipe with the child process. The stream's underlying
file descriptor is duplicated in the child process to the fd that
file descriptor is duplicated in the child process to the fd that
corresponds to the index in the `stdio` array. Note that the stream must
have an underlying descriptor (file streams do not until the `'open'`
event has occurred).
5. Positive integer - The integer value is interpreted as a file descriptor
5. Positive integer - The integer value is interpreted as a file descriptor
that is is currently open in the parent process. It is shared with the child
process, similar to how `Stream` objects can be shared.
6. `null`, `undefined` - Use default value. For stdio fds 0, 1 and 2 (in other
@ -499,7 +500,7 @@ Example:
#### options.detached
If the `detached` option is set, the child process will be made the leader of a
new process group. This makes it possible for the child to continue running
new process group. This makes it possible for the child to continue running
after the parent exits.
By default, the parent will wait for the detached child to exit. To prevent
@ -632,17 +633,17 @@ leaner than `child_process.exec`. It has the same options.
* `gid` {Number} Sets the group identity of the process. (See setgid(2).)
* Return: ChildProcess object
This is a special case of the `spawn()` functionality for spawning io.js
This is a special case of the `spawn()` functionality for spawning Node.js
processes. In addition to having all the methods in a normal ChildProcess
instance, the returned object has a communication channel built-in. See
`child.send(message, [sendHandle])` for details.
These child io.js processes are still whole new instances of V8. Assume at
least 30ms startup and 10mb memory for each new io.js. That is, you cannot
These child Node.js processes are still whole new instances of V8. Assume at
least 30ms startup and 10mb memory for each new Node.js. That is, you cannot
create many thousands of them.
The `execPath` property in the `options` object allows for a process to be
created for the child rather than the current `iojs` executable. This should be
created for the child rather than the current `node` executable. This should be
done with care and by default will talk over the fd represented an
environmental variable `NODE_CHANNEL_FD` on the child process. The input and
output on this fd is expected to be line delimited JSON objects.

18
doc/api/cluster.markdown

@ -2,8 +2,8 @@
Stability: 2 - Stable
A single instance of io.js runs in a single thread. To take advantage of
multi-core systems the user will sometimes want to launch a cluster of io.js
A single instance of Node.js runs in a single thread. To take advantage of
multi-core systems the user will sometimes want to launch a cluster of Node.js
processes to handle the load.
The cluster module allows you to easily create child processes that
@ -31,9 +31,9 @@ all share server ports.
}).listen(8000);
}
Running io.js will now share port 8000 between the workers:
Running Node.js will now share port 8000 between the workers:
% NODE_DEBUG=cluster iojs server.js
% NODE_DEBUG=cluster node server.js
23521,Master Worker 23524 online
23521,Master Worker 23526 online
23521,Master Worker 23523 online
@ -74,7 +74,7 @@ out of a total of eight.
Because `server.listen()` hands off most of the work to the master
process, there are three cases where the behavior between a normal
io.js process and a cluster worker differs:
Node.js process and a cluster worker differs:
1. `server.listen({fd: 7})` Because the message is passed to the master,
file descriptor 7 **in the parent** will be listened on, and the
@ -91,7 +91,7 @@ io.js process and a cluster worker differs:
want to listen on a unique port, generate a port number based on the
cluster worker ID.
There is no routing logic in io.js, or in your program, and no shared
There is no routing logic in Node.js, or in your program, and no shared
state between the workers. Therefore, it is important to design your
program such that it does not rely too heavily on in-memory data objects
for things like sessions and login.
@ -99,7 +99,7 @@ for things like sessions and login.
Because workers are all separate processes, they can be killed or
re-spawned depending on your program's needs, without affecting other
workers. As long as there are some workers still alive, the server will
continue to accept connections. io.js does not automatically manage the
continue to accept connections. Node.js does not automatically manage the
number of workers for you, however. It is your responsibility to manage
the worker pool for your application's needs.
@ -121,8 +121,8 @@ values are `"rr"` and `"none"`.
## cluster.settings
* {Object}
* `execArgv` {Array} list of string arguments passed to the io.js executable.
(Default=`process.execArgv`)
* `execArgv` {Array} list of string arguments passed to the Node.js
executable. (Default=`process.execArgv`)
* `exec` {String} file path to worker file. (Default=`process.argv[1]`)
* `args` {Array} string arguments passed to worker.
(Default=`process.argv.slice(2)`)

4
doc/api/crypto.markdown

@ -86,7 +86,7 @@ dictionary with keys:
<http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT>
for details on the format.
If no 'ca' details are given, then io.js will use the default
If no 'ca' details are given, then Node.js will use the default
publicly trusted list of CAs as given in
<http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt>.
@ -750,7 +750,7 @@ unified Stream API, and before there were Buffer objects for handling
binary data.
As such, the streaming classes don't have the typical methods found on
other io.js classes, and many methods accepted and returned
other Node.js classes, and many methods accepted and returned
Binary-encoded strings by default rather than Buffers. This was
changed to use Buffers by default instead.

24
doc/api/debugger.markdown

@ -6,10 +6,10 @@
V8 comes with an extensive debugger which is accessible out-of-process via a
simple [TCP protocol](http://code.google.com/p/v8/wiki/DebuggerProtocol).
io.js has a built-in client for this debugger. To use this, start io.js with the
`debug` argument; a prompt will appear:
Node.js has a built-in client for this debugger. To use this, start Node.js with
the `debug` argument; a prompt will appear:
% iojs debug myscript.js
% node debug myscript.js
< debugger listening on port 5858
connecting... ok
break in /home/indutny/Code/git/indutny/myscript.js:1
@ -18,7 +18,7 @@ io.js has a built-in client for this debugger. To use this, start io.js with the
3 debugger;
debug>
io.js's debugger client doesn't support the full range of commands, but
Node.js's debugger client doesn't support the full range of commands, but
simple step and inspection is possible. By putting the statement `debugger;`
into the source code of your script, you will enable a breakpoint.
@ -34,7 +34,7 @@ For example, suppose `myscript.js` looked like this:
Then once the debugger is run, it will break on line 4.
% iojs debug myscript.js
% node debug myscript.js
< debugger listening on port 5858
connecting... ok
break in /home/indutny/Code/git/indutny/myscript.js:1
@ -113,7 +113,7 @@ on line 1
It is also possible to set a breakpoint in a file (module) that
isn't loaded yet:
% ./iojs debug test/fixtures/break-in-module/main.js
% ./node debug test/fixtures/break-in-module/main.js
< debugger listening on port 5858
connecting to port 5858... ok
break in test/fixtures/break-in-module/main.js:1
@ -158,13 +158,13 @@ breakpoint)
## Advanced Usage
The V8 debugger can be enabled and accessed either by starting io.js with
the `--debug` command-line flag or by signaling an existing io.js process
The V8 debugger can be enabled and accessed either by starting Node.js with
the `--debug` command-line flag or by signaling an existing Node.js process
with `SIGUSR1`.
Once a process has been set in debug mode with this it can be connected to
with the io.js debugger. Either connect to the `pid` or the URI to the debugger.
The syntax is:
with the Node.js debugger. Either connect to the `pid` or the URI to the
debugger. The syntax is:
* `iojs debug -p <pid>` - Connects to the process via the `pid`
* `iojs debug <URI>` - Connects to the process via the URI such as localhost:5858
* `node debug -p <pid>` - Connects to the process via the `pid`
* `node debug <URI>` - Connects to the process via the URI such as localhost:5858

2
doc/api/dgram.markdown

@ -172,7 +172,7 @@ and the `callback`(if specified) is called. Specifying both a
"listening" event listener and `callback` is not harmful but not very
useful.
A bound datagram socket keeps the io.js process running to receive
A bound datagram socket keeps the Node.js process running to receive
datagrams.
If binding fails, an "error" event is generated. In rare case (e.g.

4
doc/api/dns.markdown

@ -103,7 +103,7 @@ It's only an operating system facility that can associate name with addresses,
and vice versa.
Its implementation can have subtle but important consequences on the behavior
of any io.js program. Please take some time to consult the [Implementation
of any Node.js program. Please take some time to consult the [Implementation
considerations section](#dns_implementation_considerations) before using it.
## dns.lookupService(address, port, callback)
@ -276,7 +276,7 @@ on some operating systems (e.g FreeBSD 10.1).
Although `dns.lookup` and `dns.resolve*/dns.reverse` functions have the same
goal of associating a network name with a network address (or vice versa),
their behavior is quite different. These differences can have subtle but
significant consequences on the behavior of io.js programs.
significant consequences on the behavior of Node.js programs.
### dns.lookup

6
doc/api/documentation.markdown

@ -2,7 +2,7 @@
<!-- type=misc -->
The goal of this documentation is to comprehensively explain the io.js
The goal of this documentation is to comprehensively explain the Node.js
API, both from a reference as well as a conceptual point of view. Each
section describes a built-in module or high-level concept.
@ -16,7 +16,7 @@ experimental, and added for the benefit of IDEs and other utilities that
wish to do programmatic things with the documentation.
Every `.html` and `.json` file is generated based on the corresponding
`.markdown` file in the `doc/api/` folder in io.js's source tree. The
`.markdown` file in the `doc/api/` folder in Node.js's source tree. The
documentation is generated using the `tools/doc/generate.js` program.
The HTML template is located at `doc/template.html`.
@ -25,7 +25,7 @@ The HTML template is located at `doc/template.html`.
<!--type=misc-->
Throughout the documentation, you will see indications of a section's
stability. The io.js API is still somewhat changing, and as it
stability. The Node.js API is still somewhat changing, and as it
matures, certain parts are more reliable than others. Some are so
proven, and so relied upon, that they are unlikely to ever change at
all. Others are brand new and experimental, or known to be hazardous

2
doc/api/domain.markdown

@ -38,7 +38,7 @@ time, and stop listening for new requests in that worker.
In this way, `domain` usage goes hand-in-hand with the cluster module,
since the master process can fork a new worker when a worker
encounters an error. For io.js programs that scale to multiple
encounters an error. For Node.js programs that scale to multiple
machines, the terminating proxy or service registry can take note of
the failure, and react accordingly.

52
doc/api/errors.markdown

@ -2,7 +2,7 @@
<!--type=misc-->
Errors generated by io.js fall into two categories: JavaScript errors and system
Errors generated by Node.js fall into two categories: JavaScript errors and system
errors. All errors inherit from or are instances of JavaScript's [Error](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error)
class and are guaranteed to provide *at least* the attributes available on that
class.
@ -34,14 +34,14 @@ denote any specific circumstance of why the error occurred. Errors capture a
"stack trace" detailing the point in the program at which they were
instantiated, and may provide a description of the error.
**Note**: io.js will generate this class of error to encapsulate system
**Note**: Node.js will generate this class of error to encapsulate system
errors as well as plain JavaScript errors.
#### new Error(message)
Instantiates a new Error object and sets its `.message` property to the provided
message. Its `.stack` will represent the point in the program at which `new Error`
was called. Stack traces are subject to [V8's stack trace API](https://code.google.com/p/v8-wiki/wiki/JavaScriptStackTraceApi).
was called. Stack traces are subject to [V8's stack trace API](https://code.google.com/p/v8-wiki/wiki/JavaScriptStackTraceApi).
Stack traces only extend to the beginning of synchronous code execution, *or* a number of frames given by
`Error.stackTraceLimit`, whichever is smaller.
@ -65,15 +65,15 @@ at which this error was instantiated. An example stacktrace follows:
The first line is formatted as `<error class name>: <error message>`, and it is followed
by a series of stack frames (each line beginning with "at "). Each frame describes
a call site in the program that lead to the error being generated. V8 attempts to
display a name for each function (by variable name, function name, or object
display a name for each function (by variable name, function name, or object
method name), but occasionally it will not be able to find a suitable name. If
V8 cannot determine a name for the function, only location information will be
displayed for that frame. Otherwise, the determined function name will be displayed
with location information appended in parentheses.
with location information appended in parentheses.
Frames are **only** generated for JavaScript functions. If, for example, execution
synchronously passes through a C++ addon function called `cheetahify`, which itself
calls a JavaScript function, the frame representing the `cheetahify` call will **not**
Frames are **only** generated for JavaScript functions. If, for example, execution
synchronously passes through a C++ addon function called `cheetahify`, which itself
calls a JavaScript function, the frame representing the `cheetahify` call will **not**
be present in stacktraces:
```javascript
@ -103,14 +103,14 @@ makeFaster(); // will throw:
// at node.js:906:3
```
The location information will be one of:
The location information will be one of:
* `native`, if the frame represents a call internal to V8 (as in `[].forEach`).
* `plain-filename.js:line:column`, if the frame represents a call internal to io.js.
* `plain-filename.js:line:column`, if the frame represents a call internal to Node.js.
* `/absolute/path/to/file.js:line:column`, if the frame represents a call in a user program, or its dependencies.
It is important to note that the string representing the stacktrace is only
generated on **access**: it is lazily generated.
generated on **access**: it is lazily generated.
The number of frames captured by the stack trace is bounded by the smaller of
`Error.stackTraceLimit` or the number of available frames on the current event
@ -138,7 +138,7 @@ message`, will be the result of `targetObject.toString()`.
`constructorOpt` optionally accepts a function. If given, all frames above
`constructorOpt`, including `constructorOpt`, will be omitted from the generated
stack trace.
stack trace.
This is useful for hiding implementation details of error generation from the
end user. A common way of using this parameter is to pass the current Error
@ -177,8 +177,8 @@ range, or outside the set of options for a given function parameter. An example:
require('net').connect(-1); // throws RangeError, port should be > 0 && < 65536
```
io.js will generate and throw RangeError instances *immediately* -- they are a form
of argument validation.
Node.js will generate and throw RangeError instances *immediately* -- they are a form
of argument validation.
### Class: TypeError
@ -190,7 +190,7 @@ be considered a TypeError.
require('url').parse(function() { }); // throws TypeError, since it expected a string
```
io.js will generate and throw TypeError instances *immediately* -- they are a form
Node.js will generate and throw TypeError instances *immediately* -- they are a form
of argument validation.
### Class: ReferenceError
@ -219,7 +219,7 @@ Unless the userland program is dynamically generating and running code,
ReferenceErrors should always be considered a bug in the program, or its
dependencies.
### Class: SyntaxError
### Class: SyntaxError
A subclass of Error that indicates that a program is not valid JavaScript.
These errors may only be generated and propagated as a result of code
@ -244,9 +244,9 @@ by other contexts.
A JavaScript "exception" is a value that is thrown as a result of an invalid operation or
as the target of a `throw` statement. While it is not required that these values inherit from
`Error`, all exceptions thrown by io.js or the JavaScript runtime *will* be instances of Error.
`Error`, all exceptions thrown by Node.js or the JavaScript runtime *will* be instances of Error.
Some exceptions are *unrecoverable* at the JavaScript layer. These exceptions will always bring
Some exceptions are *unrecoverable* at the JavaScript layer. These exceptions will always bring
down the process. These are usually failed `assert()` checks or `abort()` calls in the C++ layer.
## System Errors
@ -257,7 +257,7 @@ react to. They are generated at the syscall level: an exhaustive list of error
codes and their meanings is available by running `man 2 intro` or `man 3 errno`
on most Unices; or [online](http://man7.org/linux/man-pages/man3/errno.3.html).
In io.js, system errors are represented as augmented Error objects -- not full
In Node.js, system errors are represented as augmented Error objects -- not full
subclasses, but instead an error instance with added members.
### Class: System Error
@ -275,7 +275,7 @@ letters, and may be referenced in `man 2 intro`.
### Common System Errors
This list is **not exhaustive**, but enumerates many of the common system errors when
writing a io.js program. An exhaustive list may be found [here](http://man7.org/linux/man-pages/man3/errno.3.html).
writing a Node.js program. An exhaustive list may be found [here](http://man7.org/linux/man-pages/man3/errno.3.html).
#### EPERM: Operation not permitted
@ -289,7 +289,7 @@ does not exist -- no entity (file or directory) could be found by the given path
#### EACCES: Permission denied
An attempt was made to access a file in a way forbidden by its file access
An attempt was made to access a file in a way forbidden by its file access
permissions.
#### EEXIST: File exists
@ -300,7 +300,7 @@ not exist.
#### ENOTDIR: Not a directory
A component of the given pathname existed, but was not a directory as expected.
Commonly raised by [fs.readdir](fs.html#fs_fs_readdir_path_callback).
Commonly raised by [fs.readdir](fs.html#fs_fs_readdir_path_callback).
#### EISDIR: Is a directory
@ -315,7 +315,7 @@ at least one has been closed.
Commonly encountered when opening many files at once in parallel, especially
on systems (in particular, OS X) where there is a low file descriptor limit
for processes. To remedy a low limit, run `ulimit -n 2048` in the same shell
that will run the io.js process.
that will run the Node.js process.
#### EPIPE: Broken pipe
@ -356,7 +356,7 @@ often a sign that a connected socket was not `.end()`'d appropriately.
<!--type=misc-->
All io.js APIs will treat invalid arguments as exceptional -- that is, if passed
All Node.js APIs will treat invalid arguments as exceptional -- that is, if passed
invalid arguments, they will *immediately* generate and throw the error as an
exception, even if they are an otherwise asynchronous API.
@ -364,7 +364,7 @@ Synchronous APIs (like
[fs.readFileSync](fs.html#fs_fs_readfilesync_filename_options)) will throw the
error. The act of *throwing* a value (in this case, the error) turns the value
into an **exception**. Exceptions may be caught using the `try { } catch(err)
{ }` construct.
{ }` construct.
Asynchronous APIs have **two** mechanisms for error propagation; one mechanism
for APIs that represent a single operation, and one for APIs that represent
@ -450,7 +450,7 @@ connection.pipe(process.stdout);
```
The "throw when no error handlers are attached behavior" is not limited to APIs
provided by io.js -- even user created event emitters and streams will throw
provided by Node.js -- even user created event emitters and streams will throw
errors when no error handlers are attached. An example:
```javascript

4
doc/api/events.markdown

@ -4,7 +4,7 @@
<!--type=module-->
Many objects in io.js emit events: a `net.Server` emits an event each time
Many objects in Node.js emit events: a `net.Server` emits an event each time
a peer connects to it, a `fs.readStream` emits an event when the file is
opened. All objects which emit events are instances of `events.EventEmitter`.
You can access this module by doing: `require("events");`
@ -28,7 +28,7 @@ var EventEmitter = require('events');
When an `EventEmitter` instance experiences an error, the typical action is
to emit an `'error'` event. Error events are treated as a special case in
io.js. If there is no listener for it, then the default action is to print
Node.js. If there is no listener for it, then the default action is to print
a stack trace and exit the program.
All EventEmitters emit the event `'newListener'` when new listeners are

8
doc/api/fs.markdown

@ -72,7 +72,7 @@ site, set the NODE_DEBUG environment variable:
}
bad();
$ env NODE_DEBUG=fs iojs script.js
$ env NODE_DEBUG=fs node script.js
fs.js:66
throw err;
^
@ -511,14 +511,14 @@ to `'utf8'`.
Example:
fs.writeFile('message.txt', 'Hello io.js', function (err) {
fs.writeFile('message.txt', 'Hello Node.js', function (err) {
if (err) throw err;
console.log('It\'s saved!');
});
If `options` is a string, then it specifies the encoding. Example:
fs.writeFile('message.txt', 'Hello io.js', 'utf8', callback);
fs.writeFile('message.txt', 'Hello Node.js', 'utf8', callback);
## fs.writeFileSync(filename, data[, options])
@ -794,7 +794,7 @@ The times in the stat object have the following semantics:
an earlier value than the current `birthtime` using the `utimes(2)`
system call.
Prior to io.js v1.0 and Node v0.12, the `ctime` held the `birthtime` on Windows
Prior to Node v0.12, the `ctime` held the `birthtime` on Windows
systems. Note that as of v0.12, `ctime` is not "creation time", and
on Unix systems, it never was.

12
doc/api/globals.markdown

@ -13,8 +13,8 @@ actually in the global scope but in the module scope - this will be noted.
In browsers, the top-level scope is the global scope. That means that in
browsers if you're in the global scope `var something` will define a global
variable. In io.js this is different. The top-level scope is not the global
scope; `var something` inside an io.js module will be local to that module.
variable. In Node.js this is different. The top-level scope is not the global
scope; `var something` inside an Node.js module will be local to that module.
## process
@ -74,9 +74,9 @@ Process files with the extension `.sjs` as `.js`:
require.extensions['.sjs'] = require.extensions['.js'];
**Deprecated** In the past, this list has been used to load
non-JavaScript modules into io.js by compiling them on-demand.
non-JavaScript modules into Node.js by compiling them on-demand.
However, in practice, there are much better ways to do this, such as
loading modules via some other io.js program, or compiling them to
loading modules via some other Node.js program, or compiling them to
JavaScript ahead of time.
Since the Module system is locked, this feature will probably never go
@ -94,7 +94,7 @@ of this code file. For a main program this is not necessarily the same
filename used in the command line. The value inside a module is the path
to that module file.
Example: running `iojs example.js` from `/Users/mjr`
Example: running `node example.js` from `/Users/mjr`
console.log(__filename);
// /Users/mjr/example.js
@ -109,7 +109,7 @@ Example: running `iojs example.js` from `/Users/mjr`
The name of the directory that the currently executing script resides in.
Example: running `iojs example.js` from `/Users/mjr`
Example: running `node example.js` from `/Users/mjr`
console.log(__dirname);
// /Users/mjr

28
doc/api/http.markdown

@ -4,7 +4,7 @@
To use the HTTP server and client one must `require('http')`.
The HTTP interfaces in io.js are designed to support many features
The HTTP interfaces in Node.js are designed to support many features
of the protocol which have been traditionally difficult to use.
In particular, large, possibly chunk-encoded, messages. The interface is
careful to never buffer entire requests or responses--the
@ -20,7 +20,7 @@ HTTP message headers are represented by an object like this:
Keys are lowercased. Values are not modified.
In order to support the full spectrum of possible HTTP applications, io.js's
In order to support the full spectrum of possible HTTP applications, Node.js's
HTTP API is very low-level. It deals with stream handling and message
parsing only. It parses a message into headers and body but it does not
parse the actual headers or the body.
@ -302,7 +302,7 @@ Note that Content-Length is given in bytes not characters. The above example
works because the string `'hello world'` contains only single byte characters.
If the body contains higher coded characters then `Buffer.byteLength()`
should be used to determine the number of bytes in a given encoding.
And io.js does not check whether Content-Length and the length of the body
And Node.js does not check whether Content-Length and the length of the body
which has been transmitted are equal or not.
### response.setTimeout(msecs, callback)
@ -412,7 +412,7 @@ higher-level multi-part body encodings that may be used.
The first time `response.write()` is called, it will send the buffered
header information and the first body to the client. The second time
`response.write()` is called, io.js assumes you're going to be streaming
`response.write()` is called, Node.js assumes you're going to be streaming
data, and sends that separately. That is, the response is buffered up to the
first chunk of body.
@ -459,7 +459,7 @@ as `false`. After `response.end()` executes, the value will be `true`.
## http.request(options[, callback])
io.js maintains several connections per server to make HTTP requests.
Node.js maintains several connections per server to make HTTP requests.
This function allows one to transparently issue requests.
`options` can be an object or a string. If `options` is a string, it is
@ -547,7 +547,7 @@ on the returned request object.
There are a few special headers that should be noted.
* Sending a 'Connection: keep-alive' will notify io.js that the connection to
* Sending a 'Connection: keep-alive' will notify Node.js that the connection to
the server should be persisted until the next request.
* Sending a 'Content-length' header will disable the default chunked encoding.
@ -562,7 +562,7 @@ There are a few special headers that should be noted.
## http.get(options[, callback])
Since most requests are GET requests without bodies, io.js provides this
Since most requests are GET requests without bodies, Node.js provides this
convenience method. The only difference between this method and `http.request()`
is that it sets the method to GET and calls `req.end()` automatically.
@ -582,7 +582,7 @@ requests.
The HTTP Agent also defaults client requests to using
Connection:keep-alive. If no pending HTTP requests are waiting on a
socket to become free the socket is closed. This means that io.js's
socket to become free the socket is closed. This means that Node.js's
pool has the benefit of keep-alive when under load but still does not
require developers to manually close the HTTP clients using
KeepAlive.
@ -591,7 +591,7 @@ If you opt into using HTTP KeepAlive, you can create an Agent object
with that flag set to `true`. (See the [constructor
options](#http_new_agent_options) below.) Then, the Agent will keep
unused sockets in a pool for later use. They will be explicitly
marked so as to not keep the io.js process running. However, it is
marked so as to not keep the Node.js process running. However, it is
still a good idea to explicitly [`destroy()`](#http_agent_destroy)
KeepAlive agents when they are no longer in use, so that the Sockets
will be shut down.
@ -723,7 +723,7 @@ Until the data is consumed, the `'end'` event will not fire. Also, until
the data is read it will consume memory that can eventually lead to a
'process out of memory' error.
Note: io.js does not check whether Content-Length and the length of the body
Note: Node.js does not check whether Content-Length and the length of the body
which has been transmitted are equal or not.
The request implements the [Writable Stream][] interface. This is an
@ -772,7 +772,7 @@ A client server pair that show you how to listen for the `connect` event.
var srvUrl = url.parse('http://' + req.url);
var srvSocket = net.connect(srvUrl.port, srvUrl.hostname, function() {
cltSocket.write('HTTP/1.1 200 Connection Established\r\n' +
'Proxy-agent: io.js-Proxy\r\n' +
'Proxy-agent: Node.js-Proxy\r\n' +
'\r\n');
srvSocket.write(head);
srvSocket.pipe(cltSocket);
@ -879,7 +879,7 @@ emitted on the first call to `abort()`.
Flush the request headers.
For efficiency reasons, io.js normally buffers the request headers until you
For efficiency reasons, Node.js normally buffers the request headers until you
call `request.end()` or write the first chunk of request data. It then tries
hard to pack the request headers and data into a single TCP packet.
@ -1043,7 +1043,7 @@ Then `request.url` will be:
If you would like to parse the URL into its parts, you can use
`require('url').parse(request.url)`. Example:
iojs> require('url').parse('/status?name=ryan')
node> require('url').parse('/status?name=ryan')
{ href: '/status?name=ryan',
search: '?name=ryan',
query: 'name=ryan',
@ -1053,7 +1053,7 @@ If you would like to extract the params from the query string,
you can use the `require('querystring').parse` function, or pass
`true` as the second argument to `require('url').parse`. Example:
iojs> require('url').parse('/status?name=ryan', true)
node> require('url').parse('/status?name=ryan', true)
{ href: '/status?name=ryan',
search: '?name=ryan',
query: { name: 'ryan' },

2
doc/api/https.markdown

@ -2,7 +2,7 @@
Stability: 2 - Stable
HTTPS is the HTTP protocol over TLS/SSL. In io.js this is implemented as a
HTTPS is the HTTP protocol over TLS/SSL. In Node.js this is implemented as a
separate module.
## Class: https.Server

52
doc/api/modules.markdown

@ -4,8 +4,8 @@
<!--name=module-->
io.js has a simple module loading system. In io.js, files and modules are in
one-to-one correspondence. As an example, `foo.js` loads the module
Node.js has a simple module loading system. In Node.js, files and modules are
in one-to-one correspondence. As an example, `foo.js` loads the module
`circle.js` in the same directory.
The contents of `foo.js`:
@ -100,7 +100,7 @@ provided to the `a.js` module.
By the time `main.js` has loaded both modules, they're both finished.
The output of this program would thus be:
$ iojs main.js
$ node main.js
main starting
a starting
b starting
@ -117,10 +117,10 @@ plan accordingly.
<!--type=misc-->
io.js has several modules compiled into the binary. These modules are
Node.js has several modules compiled into the binary. These modules are
described in greater detail elsewhere in this documentation.
The core modules are defined in io.js's source in the `lib/` folder.
The core modules are defined in Node.js's source in the `lib/` folder.
Core modules are always preferentially loaded if their identifier is
passed to `require()`. For instance, `require('http')` will always
@ -130,7 +130,7 @@ return the built in HTTP module, even if there is a file by that name.
<!--type=misc-->
If the exact filename is not found, then io.js will attempt to load the
If the exact filename is not found, then Node.js will attempt to load the
required filename with the added extension of `.js`, `.json`, and then `.node`.
`.js` files are interpreted as JavaScript text files, and `.json` files are
@ -156,7 +156,7 @@ If the given path does not exist, `require()` will throw an Error with its
<!--type=misc-->
If the module identifier passed to `require()` is not a native module,
and does not begin with `'/'`, `'../'`, or `'./'`, then io.js starts at the
and does not begin with `'/'`, `'../'`, or `'./'`, then Node.js starts at the
parent directory of the current module, and adds `/node_modules`, and
attempts to load the module from that location.
@ -164,7 +164,7 @@ If it is not found there, then it moves to the parent directory, and so
on, until the root of the file system is reached.
For example, if the file at `'/home/ry/projects/foo.js'` called
`require('bar.js')`, then io.js would look in the following locations, in
`require('bar.js')`, then Node.js would look in the following locations, in
this order:
* `/home/ry/projects/node_modules/bar.js`
@ -201,9 +201,9 @@ If this was in a folder at `./some-library`, then
`require('./some-library')` would attempt to load
`./some-library/lib/some-library.js`.
This is the extent of io.js's awareness of package.json files.
This is the extent of Node.js's awareness of package.json files.
If there is no package.json file present in the directory, then io.js
If there is no package.json file present in the directory, then Node.js
will attempt to load an `index.js` or `index.node` file out of that
directory. For example, if there was no package.json file in the above
example, then `require('./some-library')` would attempt to load:
@ -253,10 +253,10 @@ a global but rather local to each module.
* {Object}
The `module.exports` object is created by the Module system. Sometimes this is not
acceptable; many want their module to be an instance of some class. To do this,
assign the desired export object to `module.exports`. Note that assigning the
desired object to `exports` will simply rebind the local `exports` variable,
The `module.exports` object is created by the Module system. Sometimes this is
not acceptable; many want their module to be an instance of some class. To do
this, assign the desired export object to `module.exports`. Note that assigning
the desired object to `exports` will simply rebind the local `exports` variable,
which is probably not what you want to do.
For example suppose we were making a module called `a.js`
@ -425,29 +425,29 @@ in pseudocode of what require.resolve does:
<!-- type=misc -->
If the `NODE_PATH` environment variable is set to a colon-delimited list
of absolute paths, then io.js will search those paths for modules if they
of absolute paths, then Node.js will search those paths for modules if they
are not found elsewhere. (Note: On Windows, `NODE_PATH` is delimited by
semicolons instead of colons.)
`NODE_PATH` was originally created to support loading modules from
varying paths before the current
[module resolution](https://iojs.org/api/modules.html#modules_all_together)
[module resolution](https://nodejs.org/api/modules.html#modules_all_together)
algorithm was frozen.
`NODE_PATH` is still supported, but is less necessary now that the io.js
`NODE_PATH` is still supported, but is less necessary now that the Node.js
ecosystem has settled on a convention for locating dependent modules.
Sometimes deployments that rely on `NODE_PATH` show surprising behavior
when people are unaware that `NODE_PATH` must be set. Sometimes a
module's dependencies change, causing a different version (or even a
different module) to be loaded as the `NODE_PATH` is searched.
Additionally, io.js will search in the following locations:
Additionally, Node.js will search in the following locations:
* 1: `$HOME/.node_modules`
* 2: `$HOME/.node_libraries`
* 3: `$PREFIX/lib/node`
Where `$HOME` is the user's home directory, and `$PREFIX` is io.js's
Where `$HOME` is the user's home directory, and `$PREFIX` is Node.js's
configured `node_prefix`.
These are mostly for historic reasons. **You are highly encouraged
@ -458,13 +458,13 @@ will be loaded faster, and more reliably.
<!-- type=misc -->
When a file is run directly from io.js, `require.main` is set to its
When a file is run directly from Node.js, `require.main` is set to its
`module`. That means that you can determine whether a file has been run
directly by testing
require.main === module
For a file `foo.js`, this will be `true` if run via `iojs foo.js`, but
For a file `foo.js`, this will be `true` if run via `node foo.js`, but
`false` if run by `require('./foo')`.
Because `module` provides a `filename` property (normally equivalent to
@ -475,10 +475,10 @@ by checking `require.main.filename`.
<!-- type=misc -->
The semantics of io.js's `require()` function were designed to be general
The semantics of Node.js's `require()` function were designed to be general
enough to support a number of sane directory structures. Package manager
programs such as `dpkg`, `rpm`, and `npm` will hopefully find it possible to
build native packages from io.js modules without modification.
build native packages from Node.js modules without modification.
Below we give a suggested directory structure that could work:
@ -491,7 +491,7 @@ may have to install a specific version of package `bar`. The `bar` package
may itself have dependencies, and in some cases, these dependencies may even
collide or form cycles.
Since io.js looks up the `realpath` of any modules it loads (that is,
Since Node.js looks up the `realpath` of any modules it loads (that is,
resolves symlinks), and then looks for their dependencies in the
`node_modules` folders as described above, this situation is very simple to
resolve with the following architecture:
@ -516,10 +516,10 @@ the version that is symlinked into
Furthermore, to make the module lookup process even more optimal, rather
than putting packages directly in `/usr/lib/node`, we could put them in
`/usr/lib/node_modules/<name>/<version>`. Then io.js will not bother
`/usr/lib/node_modules/<name>/<version>`. Then Node.js will not bother
looking for missing dependencies in `/usr/node_modules` or `/node_modules`.
In order to make modules available to the io.js REPL, it might be useful to
In order to make modules available to the Node.js REPL, it might be useful to
also add the `/usr/lib/node_modules` folder to the `$NODE_PATH` environment
variable. Since the module lookups using `node_modules` folders are all
relative, and based on the real path of the files making the calls to

6
doc/api/net.markdown

@ -147,7 +147,7 @@ would be to wait a second and then try again. This can be done with
}
});
(Note: All sockets in io.js set `SO_REUSEADDR` already)
(Note: All sockets in Node.js set `SO_REUSEADDR` already)
### server.listen(path[, callback])
@ -324,7 +324,7 @@ following this event. See example in discussion of `server.listen`.
This object is an abstraction of a TCP or local socket. `net.Socket`
instances implement a duplex Stream interface. They can be created by the
user and used as a client (with `connect()`) or they can be created by io.js
user and used as a client (with `connect()`) or they can be created by Node.js
and passed to the user through the `'connection'` event of a server.
### new net.Socket([options])
@ -388,7 +388,7 @@ with options either as either `{port: port, host: host}` or `{path: path}`.
`net.Socket` has the property that `socket.write()` always works. This is to
help users get up and running quickly. The computer cannot always keep up
with the amount of data that is written to a socket - the network connection
simply might be too slow. io.js will internally queue up the data written to a
simply might be too slow. Node.js will internally queue up the data written to a
socket and send it out over the wire when it is possible. (Internally it is
polling on the socket's file descriptor for being writable).

8
doc/api/path.markdown

@ -83,8 +83,8 @@ Examples:
'/tmp/file'
path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif')
// if currently in /home/myself/iojs, it returns
'/home/myself/iojs/wwwroot/static_files/gif/image.gif'
// if currently in /home/myself/node, it returns
'/home/myself/node/wwwroot/static_files/gif/image.gif'
*Note:* If the arguments to `resolve` have zero-length strings then the current
working directory will be used instead of them.
@ -215,11 +215,11 @@ An example on *nix:
An example on Windows:
console.log(process.env.PATH)
// 'C:\Windows\system32;C:\Windows;C:\Program Files\iojs\'
// 'C:\Windows\system32;C:\Windows;C:\Program Files\node\'
process.env.PATH.split(path.delimiter)
// returns
['C:\\Windows\\system32', 'C:\\Windows', 'C:\\Program Files\\iojs\\']
['C:\\Windows\\system32', 'C:\\Windows', 'C:\\Program Files\\node\\']
## path.parse(pathString)

110
doc/api/process.markdown

@ -7,7 +7,7 @@ It is an instance of [EventEmitter][].
## Exit Codes
io.js will normally exit with a `0` status code when no more async
Node.js will normally exit with a `0` status code when no more async
operations are pending. The following status codes are used in other
cases:
@ -16,13 +16,13 @@ cases:
handler.
* `2` - Unused (reserved by Bash for builtin misuse)
* `3` **Internal JavaScript Parse Error** - The JavaScript source code
internal in io.js's bootstrapping process caused a parse error. This
internal in Node.js's bootstrapping process caused a parse error. This
is extremely rare, and generally can only happen during development
of io.js itself.
of Node.js itself.
* `4` **Internal JavaScript Evaluation Failure** - The JavaScript
source code internal in io.js's bootstrapping process failed to
source code internal in Node.js's bootstrapping process failed to
return a function value when evaluated. This is extremely rare, and
generally can only happen during development of io.js itself.
generally can only happen during development of Node.js itself.
* `5` **Fatal Error** - There was a fatal unrecoverable error in V8.
Typically a message will be printed to stderr with the prefix `FATAL
ERROR`.
@ -34,17 +34,17 @@ cases:
function itself threw an error while attempting to handle it. This
can happen, for example, if a `process.on('uncaughtException')` or
`domain.on('error')` handler throws an error.
* `8` - Unused. In previous versions of io.js, exit code 8 sometimes
* `8` - Unused. In previous versions of Node.js, exit code 8 sometimes
indicated an uncaught exception.
* `9` - **Invalid Argument** - Either an unknown option was specified,
or an option requiring a value was provided without a value.
* `10` **Internal JavaScript Run-Time Failure** - The JavaScript
source code internal in io.js's bootstrapping process threw an error
source code internal in Node.js's bootstrapping process threw an error
when the bootstrapping function was called. This is extremely rare,
and generally can only happen during development of io.js itself.
and generally can only happen during development of Node.js itself.
* `12` **Invalid Debug Argument** - The `--debug` and/or `--debug-brk`
options were set, but an invalid port number was chosen.
* `>128` **Signal Exits** - If io.js receives a fatal signal such as
* `>128` **Signal Exits** - If Node.js receives a fatal signal such as
`SIGKILL` or `SIGHUP`, then its exit code will be `128` plus the
value of the signal code. This is a standard Unix practice, since
exit codes are defined to be 7-bit integers, and signal exits set
@ -72,9 +72,9 @@ Example of listening for `exit`:
## Event: 'beforeExit'
This event is emitted when io.js empties its event loop and has nothing else to
schedule. Normally, io.js exits when there is no work scheduled, but a listener
for 'beforeExit' can make asynchronous calls, and cause io.js to continue.
This event is emitted when Node.js empties its event loop and has nothing else to
schedule. Normally, Node.js exits when there is no work scheduled, but a listener
for 'beforeExit' can make asynchronous calls, and cause Node.js to continue.
'beforeExit' is not emitted for conditions causing explicit termination, such as
`process.exit()` or uncaught exceptions, and should not be used as an
@ -104,8 +104,8 @@ Example of listening for `uncaughtException`:
Note that `uncaughtException` is a very crude mechanism for exception
handling.
Do *not* use it as the io.js equivalent of `On Error Resume Next`. An
unhandled exception means your application - and by extension io.js itself -
Do *not* use it as the Node.js equivalent of `On Error Resume Next`. An
unhandled exception means your application - and by extension Node.js itself -
is in an undefined state. Blindly resuming means *anything* could happen.
Think of resuming as pulling the power cord when you are upgrading your system.
@ -202,18 +202,18 @@ programs.
Note:
- `SIGUSR1` is reserved by io.js to start the debugger. It's possible to
- `SIGUSR1` is reserved by Node.js to start the debugger. It's possible to
install a listener but that won't stop the debugger from starting.
- `SIGTERM` and `SIGINT` have default handlers on non-Windows platforms that resets
the terminal mode before exiting with code `128 + signal number`. If one of
these signals has a listener installed, its default behaviour will be removed
(io.js will no longer exit).
(Node.js will no longer exit).
- `SIGPIPE` is ignored by default, it can have a listener installed.
- `SIGHUP` is generated on Windows when the console window is closed, and on other
platforms under various similar conditions, see signal(7). It can have a
listener installed, however io.js will be unconditionally terminated by
listener installed, however Node.js will be unconditionally terminated by
Windows about 10 seconds later. On non-Windows platforms, the default
behaviour of `SIGHUP` is to terminate io.js, but once a listener has been
behaviour of `SIGHUP` is to terminate Node.js, but once a listener has been
installed its default behaviour will be removed.
- `SIGTERM` is not supported on Windows, it can be listened on.
- `SIGINT` from the terminal is supported on all platforms, and can usually be
@ -225,10 +225,10 @@ Note:
only happen on write to the console when the cursor is being moved, or when a
readable tty is used in raw mode.
- `SIGKILL` cannot have a listener installed, it will unconditionally terminate
io.js on all platforms.
Node.js on all platforms.
- `SIGSTOP` cannot have a listener installed.
Note that Windows does not support sending Signals, but io.js offers some
Note that Windows does not support sending Signals, but Node.js offers some
emulation with `process.kill()`, and `child_process.kill()`:
- Sending signal `0` can be used to search for the existence of a process
- Sending `SIGINT`, `SIGTERM`, and `SIGKILL` cause the unconditional exit of the
@ -244,7 +244,7 @@ For example, a `console.log` equivalent could look like this:
process.stdout.write(msg + '\n');
};
`process.stderr` and `process.stdout` are unlike other streams in io.js in
`process.stderr` and `process.stdout` are unlike other streams in Node.js in
that they cannot be closed (`end()` will throw), they never emit the `finish`
event and that writes are usually blocking.
@ -254,17 +254,17 @@ event and that writes are usually blocking.
- They are blocking in Linux/Unix.
- They are non-blocking like other streams in Windows.
To check if io.js is being run in a TTY context, read the `isTTY` property
To check if Node.js is being run in a TTY context, read the `isTTY` property
on `process.stderr`, `process.stdout`, or `process.stdin`:
$ iojs -p "Boolean(process.stdin.isTTY)"
$ node -p "Boolean(process.stdin.isTTY)"
true
$ echo "foo" | iojs -p "Boolean(process.stdin.isTTY)"
$ echo "foo" | node -p "Boolean(process.stdin.isTTY)"
false
$ iojs -p "Boolean(process.stdout.isTTY)"
$ node -p "Boolean(process.stdout.isTTY)"
true
$ iojs -p "Boolean(process.stdout.isTTY)" | cat
$ node -p "Boolean(process.stdout.isTTY)" | cat
false
See [the tty docs](tty.html#tty_tty) for more information.
@ -273,7 +273,7 @@ See [the tty docs](tty.html#tty_tty) for more information.
A writable stream to stderr (on fd `2`).
`process.stderr` and `process.stdout` are unlike other streams in io.js in
`process.stderr` and `process.stdout` are unlike other streams in Node.js in
that they cannot be closed (`end()` will throw), they never emit the `finish`
event and that writes are usually blocking.
@ -318,7 +318,7 @@ mode over "old" one.
## process.argv
An array containing the command line arguments. The first element will be
'iojs', the second element will be the name of the JavaScript file. The
'node', the second element will be the name of the JavaScript file. The
next elements will be any additional command line arguments.
// print process.argv
@ -328,9 +328,9 @@ next elements will be any additional command line arguments.
This will generate:
$ iojs process-2.js one two=three four
0: iojs
1: /Users/mjr/work/iojs/process-2.js
$ node process-2.js one two=three four
0: node
1: /Users/mjr/work/node/process-2.js
2: one
3: two=three
4: four
@ -342,21 +342,21 @@ This is the absolute pathname of the executable that started the process.
Example:
/usr/local/bin/iojs
/usr/local/bin/node
## process.execArgv
This is the set of io.js-specific command line options from the
This is the set of Node.js-specific command line options from the
executable that started the process. These options do not show up in
`process.argv`, and do not include the io.js executable, the name of
`process.argv`, and do not include the Node.js executable, the name of
the script, or any options following the script name. These options
are useful in order to spawn child processes with the same execution
environment as the parent.
Example:
$ iojs --harmony script.js --version
$ node --harmony script.js --version
results in process.execArgv:
@ -364,12 +364,12 @@ results in process.execArgv:
and process.argv:
['/usr/local/bin/iojs', 'script.js', '--version']
['/usr/local/bin/node', 'script.js', '--version']
## process.abort()
This causes io.js to emit an abort. This will cause io.js to exit and
This causes Node.js to emit an abort. This will cause Node.js to exit and
generate a core file.
## process.chdir(directory)
@ -409,12 +409,12 @@ An example of this object looks like:
SHLVL: '1',
HOME: '/Users/maciej',
LOGNAME: 'maciej',
_: '/usr/local/bin/iojs' }
_: '/usr/local/bin/node' }
You can write to this object, but changes won't be reflected outside of your
process. That means that the following won't work:
$ iojs -e 'process.env.foo = "bar"' && echo $foo
$ node -e 'process.env.foo = "bar"' && echo $foo
But this will:
@ -431,7 +431,7 @@ To exit with a 'failure' code:
process.exit(1);
The shell that executed io.js should see the exit code as 1.
The shell that executed Node.js should see the exit code as 1.
## process.exitCode
@ -586,7 +586,7 @@ Note: this function is only available on POSIX platforms (i.e. not Windows,
Android)
Returns an array with the supplementary group IDs. POSIX leaves it unspecified
if the effective group ID is included but io.js ensures it always is.
if the effective group ID is included but Node.js ensures it always is.
## process.setgroups(groups)
@ -628,7 +628,7 @@ A compiled-in property that exposes `NODE_VERSION`.
## process.versions
A property exposing version strings of io.js and its dependencies.
A property exposing version strings of Node.js and its dependencies.
console.log(process.versions);
@ -646,7 +646,7 @@ Will print something like:
## process.config
An Object containing the JavaScript representation of the configure options
that were used to compile the current io.js executable. This is the same as
that were used to compile the current Node.js executable. This is the same as
the "config.gypi" file that was produced when running the `./configure` script.
An example of the possible output looks like:
@ -679,24 +679,24 @@ for the source tarball and headers-only tarball.
`process.release` contains the following properties:
* `name`: a string with a value that will always be `"io.js"` for io.js.
* `name`: a string with a value that will always be `"node.js"` for Node.js.
* `sourceUrl`: a complete URL pointing to a _.tar.gz_ file containing the
source of the current release.
* `headersUrl`: a complete URL pointing to a _.tar.gz_ file containing only
the header files for the current release. This file is significantly smaller
than the full source file and can be used for compiling add-ons against
io.js.
* `libUrl`: a complete URL pointing to an _iojs.lib_ file matching the
Node.js.
* `libUrl`: a complete URL pointing to an _node.lib_ file matching the
architecture and version of the current release. This file is used for
compiling add-ons against io.js. _This property is only present on Windows
builds of io.js and will be missing on all other platforms._
compiling add-ons against Node.js. _This property is only present on Windows
builds of Node.js and will be missing on all other platforms._
e.g.
{ name: 'io.js',
sourceUrl: 'https://iojs.org/download/release/v2.3.5/iojs-v2.3.5.tar.gz',
headersUrl: 'https://iojs.org/download/release/v2.3.5/iojs-v2.3.5-headers.tar.gz',
libUrl: 'https://iojs.org/download/release/v2.3.5/win-x64/iojs.lib' }
{ name: 'node.js',
sourceUrl: 'https://nodejs.org/download/release/v4.0.0/node-v4.0.0.tar.gz',
headersUrl: 'https://nodejs.org/download/release/v4.0.0/node-v4.0.0-headers.tar.gz',
libUrl: 'https://nodejs.org/download/release/v4.0.0/win-x64/node.lib' }
In custom builds from non-release versions of the source tree, only the
`name` property may be present. The additional properties should not be
@ -729,7 +729,7 @@ Example of sending a signal to yourself:
process.kill(process.pid, 'SIGHUP');
Note: When SIGUSR1 is received by io.js it starts the debugger, see
Note: When SIGUSR1 is received by Node.js it starts the debugger, see
[Signal Events](#process_signal_events).
## process.pid
@ -771,7 +771,7 @@ What platform you're running on:
## process.memoryUsage()
Returns an object describing the memory usage of the io.js process
Returns an object describing the memory usage of the Node.js process
measured in bytes.
var util = require('util');
@ -878,7 +878,7 @@ given, otherwise returns the current mask.
## process.uptime()
Number of seconds io.js has been running.
Number of seconds Node.js has been running.
## process.hrtime()

6
doc/api/punycode.markdown

@ -2,9 +2,9 @@
Stability: 2 - Stable
[Punycode.js](https://mths.be/punycode) is bundled with io.js v1.0.0+ and
Node.js v0.6.2+. Use `require('punycode')` to access it. (To use it with
other io.js versions, use npm to install the `punycode` module first.)
[Punycode.js](https://mths.be/punycode) is bundled with Node.js v0.6.2+. Use
`require('punycode')` to access it. (To use it with other Node.js versions, use
npm to install the `punycode` module first.)
## punycode.decode(string)

8
doc/api/readline.markdown

@ -5,7 +5,7 @@
To use this module, do `require('readline')`. Readline allows reading of a
stream (such as `process.stdin`) on a line-by-line basis.
Note that once you've invoked this module, your io.js program will not
Note that once you've invoked this module, your Node.js program will not
terminate until you've closed the interface. Here's how to allow your
program to gracefully exit:
@ -16,7 +16,7 @@ program to gracefully exit:
output: process.stdout
});
rl.question("What do you think of io.js? ", function(answer) {
rl.question("What do you think of Node.js? ", function(answer) {
// TODO: Log the answer in a database
console.log("Thank you for your valuable feedback:", answer);
@ -90,8 +90,8 @@ stream.
### rl.setPrompt(prompt)
Sets the prompt, for example when you run `iojs` on the command line, you see
`> `, which is io.js's prompt.
Sets the prompt, for example when you run `node` on the command line, you see
`> `, which is node.js's prompt.
### rl.prompt([preserveCursor])

28
doc/api/repl.markdown

@ -7,10 +7,10 @@ easily includable in other programs. The REPL provides a way to interactively
run JavaScript and see the results. It can be used for debugging, testing, or
just trying things out.
By executing `iojs` without any arguments from the command-line you will be
By executing `node` without any arguments from the command-line you will be
dropped into the REPL. It has simplistic emacs line-editing.
mjr:~$ iojs
mjr:~$ node
Type '.help' for options.
> a = [ 1, 2, 3];
[ 1, 2, 3 ]
@ -21,21 +21,21 @@ dropped into the REPL. It has simplistic emacs line-editing.
2
3
For advanced line-editors, start io.js with the environmental variable
For advanced line-editors, start Node.js with the environmental variable
`NODE_NO_READLINE=1`. This will start the main and debugger REPL in canonical
terminal settings which will allow you to use with `rlwrap`.
For example, you could add this to your bashrc file:
alias iojs="env NODE_NO_READLINE=1 rlwrap iojs"
alias node="env NODE_NO_READLINE=1 rlwrap node"
## Persistent History
By default, the REPL will persist history between `iojs` REPL sessions by saving
By default, the REPL will persist history between `node` REPL sessions by saving
to a `.node_repl_history` file in the user's home directory. This can be
disabled by setting the environment variable `NODE_REPL_HISTORY=""`.
Previously in io.js v2.x, REPL history was controlled by using a
Previously in Node.js/io.js v2.x, REPL history was controlled by using a
`NODE_REPL_HISTORY_FILE` environment variable, and the history was saved in JSON
format. This variable has now been deprecated, and your REPL history will
automatically be converted to using plain text. The new file will be saved to
@ -44,7 +44,7 @@ variable, as documented below.
## Environment Variable Options
The built-in repl (invoked by running `iojs` or `iojs -i`) may be controlled
The built-in repl (invoked by running `node` or `node -i`) may be controlled
via the following environment variables:
- `NODE_REPL_HISTORY` - When a valid path is given, persistent REPL history
@ -108,7 +108,7 @@ You can use your own `eval` function if it has following signature:
On tab completion - `eval` will be called with `.scope` as an input string. It
is expected to return an array of scope names to be used for the auto-completion.
Multiple REPLs may be started against the same running instance of io.js. Each
Multiple REPLs may be started against the same running instance of Node.js. Each
will share the same global object but will have unique I/O.
Here is an example that starts a REPL on stdin, a Unix socket, and a TCP socket:
@ -119,7 +119,7 @@ Here is an example that starts a REPL on stdin, a Unix socket, and a TCP socket:
connections = 0;
repl.start({
prompt: "io.js via stdin> ",
prompt: "Node.js via stdin> ",
input: process.stdin,
output: process.stdout
});
@ -127,18 +127,18 @@ Here is an example that starts a REPL on stdin, a Unix socket, and a TCP socket:
net.createServer(function (socket) {
connections += 1;
repl.start({
prompt: "io.js via Unix socket> ",
prompt: "Node.js via Unix socket> ",
input: socket,
output: socket
}).on('exit', function() {
socket.end();
})
}).listen("/tmp/iojs-repl-sock");
}).listen("/tmp/node-repl-sock");
net.createServer(function (socket) {
connections += 1;
repl.start({
prompt: "io.js via TCP socket> ",
prompt: "Node.js via TCP socket> ",
input: socket,
output: socket
}).on('exit', function() {
@ -152,7 +152,7 @@ for connecting to TCP sockets, and `socat` can be used to connect to both Unix a
TCP sockets.
By starting a REPL from a Unix socket-based server instead of stdin, you can
connect to a long-running io.js process without restarting it.
connect to a long-running Node.js process without restarting it.
For an example of running a "full-featured" (`terminal`) REPL over
a `net.Server` and `net.Socket` instance, see: https://gist.github.com/2209310
@ -228,7 +228,7 @@ associated with each `REPLServer`. For example:
Things in the `context` object appear as local within the REPL:
mjr:~$ iojs repl_test.js
mjr:~$ node repl_test.js
> m
'message'

24
doc/api/stream.markdown

@ -3,7 +3,7 @@
Stability: 2 - Stable
A stream is an abstract interface implemented by various objects in
io.js. For example a [request to an HTTP
Node.js. For example a [request to an HTTP
server](http.html#http_http_incomingmessage) is a stream, as is
[stdout][]. Streams are readable, writable, or both. All streams are
instances of [EventEmitter][]
@ -47,8 +47,8 @@ streams in your programs. If you **are** implementing streaming
interfaces in your own program, please also refer to
[API for Stream Implementors][] below.
Almost all io.js programs, no matter how simple, use Streams in some
way. Here is an example of using Streams in an io.js program:
Almost all Node.js programs, no matter how simple, use Streams in some
way. Here is an example of using Streams in an Node.js program:
```javascript
var http = require('http');
@ -504,13 +504,13 @@ Versions of Node.js prior to v0.10 had streams that did not implement the
entire Streams API as it is today. (See "Compatibility" below for
more information.)
If you are using an older io.js library that emits `'data'` events and
If you are using an older Node.js library that emits `'data'` events and
has a [`pause()`][] method that is advisory only, then you can use the
`wrap()` method to create a [Readable][] stream that uses the old stream
as its data source.
You will very rarely ever need to call this function, but it exists
as a convenience for interacting with old io.js programs and libraries.
as a convenience for interacting with old Node.js programs and libraries.
For example:
@ -1277,7 +1277,7 @@ simply by using the higher level [Transform][] stream class, similar to
the `parseHeader` and `SimpleProtocol v1` examples above.
In this example, rather than providing the input as an argument, it
would be piped into the parser, which is a more idiomatic io.js stream
would be piped into the parser, which is a more idiomatic Node.js stream
approach.
```javascript
@ -1466,8 +1466,8 @@ If the internal read buffer is below the `highWaterMark`, and the
stream is not currently reading, then calling `read(0)` will trigger
a low-level `_read` call.
There is almost never a need to do this. However, you will see some
cases in io.js's internals where this is done, particularly in the
There is almost never a need to do this. However, you will see some
cases in Node.js's internals where this is done, particularly in the
Readable stream class internals.
### `stream.push('')`
@ -1484,7 +1484,7 @@ code) will know when to check again, by calling `stream.read(0)`. In
those cases, you *may* call `stream.push('')`.
So far, the only use case for this functionality is in the
[tls.CryptoStream][] class, which is deprecated in io.js v1.0. If you
[tls.CryptoStream][] class, which is deprecated in Node.js/io.js v1.0. If you
find that you have to use `stream.push('')`, please consider another
approach, because it almost certainly indicates that something is
horribly wrong.
@ -1504,7 +1504,7 @@ simpler, but also less powerful and less useful.
meant that you still had to be prepared to receive `'data'` events
even when the stream was in a paused state.
In io.js v1.0 and Node.js v0.10, the Readable class described below was added.
In Node.js v0.10, the Readable class described below was added.
For backwards compatibility with older Node.js programs, Readable streams
switch into "flowing mode" when a `'data'` event handler is added, or
when the [`resume()`][] method is called. The effect is that, even if
@ -1534,7 +1534,7 @@ net.createServer(function(socket) {
```
In versions of Node.js prior to v0.10, the incoming message data would be
simply discarded. However, in io.js v1.0 and Node.js v0.10 and beyond,
simply discarded. However, in Node.js v0.10 and beyond,
the socket will remain paused forever.
The workaround in this situation is to call the `resume()` method to
@ -1581,7 +1581,7 @@ return value from `stream.read()` indicates that there is no more
data, and [`stream.push(null)`][] will signal the end of stream data
(`EOF`).
No streams in io.js core are object mode streams. This pattern is only
No streams in Node.js core are object mode streams. This pattern is only
used by userland streaming libraries.
You should set `objectMode` in your stream child class constructor on

6
doc/api/synopsis.markdown

@ -2,7 +2,7 @@
<!--type=misc-->
An example of a [web server](http.html) written with io.js which responds with
An example of a [web server](http.html) written with node.js which responds with
'Hello World':
var http = require('http');
@ -15,9 +15,9 @@ An example of a [web server](http.html) written with io.js which responds with
console.log('Server running at http://127.0.0.1:8124/');
To run the server, put the code into a file called `example.js` and execute
it with the iojs program
it with the node program
> iojs example.js
> node example.js
Server running at http://127.0.0.1:8124/
All of the examples in the documentation can be run similarly.

2
doc/api/timers.markdown

@ -12,7 +12,7 @@ To schedule execution of a one-time `callback` after `delay` milliseconds. Retur
also pass arguments to the callback.
It is important to note that your callback will probably not be called in exactly
`delay` milliseconds - io.js makes no guarantees about the exact timing of when
`delay` milliseconds - node.js makes no guarantees about the exact timing of when
the callback will fire, nor of the ordering things will fire in. The callback will
be called as close as possible to the time specified.

6
doc/api/tls.markdown

@ -501,7 +501,7 @@ dictionary with keys:
instead of the client preferences. For further details see `tls` module
documentation.
If no 'ca' details are given, then io.js will use the default
If no 'ca' details are given, then node.js will use the default
publicly trusted list of CAs as given in
<http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt>.
@ -767,14 +767,14 @@ Example:
{ C: 'UK',
ST: 'Acknack Ltd',
L: 'Rhys Jones',
O: 'io.js',
O: 'node.js',
OU: 'Test TLS Certificate',
CN: 'localhost' },
issuerInfo:
{ C: 'UK',
ST: 'Acknack Ltd',
L: 'Rhys Jones',
O: 'io.js',
O: 'node.js',
OU: 'Test TLS Certificate',
CN: 'localhost' },
issuer:

10
doc/api/tty.markdown

@ -5,14 +5,14 @@
The `tty` module houses the `tty.ReadStream` and `tty.WriteStream` classes. In
most cases, you will not need to use this module directly.
When io.js detects that it is being run inside a TTY context, then `process.stdin`
When node.js detects that it is being run inside a TTY context, then `process.stdin`
will be a `tty.ReadStream` instance and `process.stdout` will be
a `tty.WriteStream` instance. The preferred way to check if io.js is being run
a `tty.WriteStream` instance. The preferred way to check if node.js is being run
in a TTY context is to check `process.stdout.isTTY`:
$ iojs -p -e "Boolean(process.stdout.isTTY)"
$ node -p -e "Boolean(process.stdout.isTTY)"
true
$ iojs -p -e "Boolean(process.stdout.isTTY)" | cat
$ node -p -e "Boolean(process.stdout.isTTY)" | cat
false
@ -32,7 +32,7 @@ Deprecated. Use `tty.ReadStream#setRawMode()`
A `net.Socket` subclass that represents the readable portion of a tty. In normal
circumstances, `process.stdin` will be the only `tty.ReadStream` instance in any
io.js program (only when `isatty(0)` is true).
node.js program (only when `isatty(0)` is true).
### rs.isRaw

6
doc/api/util.markdown

@ -5,12 +5,12 @@
These functions are in the module `'util'`. Use `require('util')` to
access them.
The `util` module is primarily designed to support the needs of io.js's
The `util` module is primarily designed to support the needs of node.js's
internal APIs. Many of these utilities are useful for your own
programs. If you find that these functions are lacking for your
purposes, however, you are encouraged to write your own utilities. We
are not interested in any future additions to the `util` module that
are unnecessary for io.js's internal functionality.
are unnecessary for node.js's internal functionality.
## util.debuglog(section)
@ -131,7 +131,7 @@ Highlighted styles and their default values are:
* `special` - only function at this time (cyan)
* `name` (intentionally no styling)
Predefined color codes are: `white`, `grey`, `black`, `blue`, `cyan`,
Predefined color codes are: `white`, `grey`, `black`, `blue`, `cyan`,
`green`, `magenta`, `red` and `yellow`.
There are also `bold`, `italic`, `underline` and `inverse` codes.

6
doc/api/v8.markdown

@ -3,7 +3,7 @@
Stability: 2 - Stable
This module exposes events and interfaces specific to the version of [V8][]
built with io.js. These interfaces are subject to change by upstream and are
built with node.js. These interfaces are subject to change by upstream and are
therefore not covered under the stability index.
## getHeapStatistics()
@ -27,8 +27,8 @@ Set additional V8 command line flags. Use with care; changing settings
after the VM has started may result in unpredictable behavior, including
crashes and data loss. Or it may simply do nothing.
The V8 options available for a version of io.js may be determined by running
`iojs --v8-options`. An unofficial, community-maintained list of options
The V8 options available for a version of node.js may be determined by running
`node --v8-options`. An unofficial, community-maintained list of options
and their effects is available
[here](https://github.com/thlorenz/v8-flags/blob/master/flags-0.11.md).

4
doc/api/zlib.markdown

@ -260,7 +260,7 @@ See the description of `deflateInit2` and `inflateInit2` at
<!--type=misc-->
From `zlib/zconf.h`, modified to io.js's usage:
From `zlib/zconf.h`, modified to node.js's usage:
The memory requirements for deflate are (in bytes):
@ -291,7 +291,7 @@ The speed of zlib compression is affected most dramatically by the
will take longer to complete. A lower level will result in less
compression, but will be much faster.
In general, greater memory usage options will mean that io.js has to make
In general, greater memory usage options will mean that node.js has to make
fewer calls to zlib, since it'll be able to process more data in a
single `write` operation. So, this is another factor that affects the
speed, at the cost of memory usage.

12
doc/iojs.1 → doc/node.1

@ -1,13 +1,13 @@
.TH IO.JS "1" "2010" "" ""
.TH NODE.JS "1" "2010" "" ""
.SH "NAME"
iojs \- Server-side JavaScript
node \- Server-side JavaScript
.SH SYNOPSIS
.B iojs
.B node
[
.B \-v
]
@ -35,7 +35,7 @@ Execute without arguments to start the REPL.
.SH DESCRIPTION
io.js is a set of libraries for javascript which allows
Node.js is a set of libraries for javascript which allows
it to be used outside of the browser. It is primarily
focused on creating simple, easy to build network clients
and servers.
@ -43,7 +43,7 @@ and servers.
.SH OPTIONS
-v, --version print iojs's version
-v, --version print node's version
-e, --eval script evaluate script
@ -761,7 +761,7 @@ If set to 1 then colors will not be used in the REPL.
.SH RESOURCES AND DOCUMENTATION
See the website for documentation http://iojs.org/
See the website for documentation http://nodejs.org/
Mailing list: http://groups.google.com/group/nodejs

36
doc/releases.md

@ -1,11 +1,11 @@
io.js Release Process
Node.js Release Process
=====================
This document describes the technical aspects of the io.js release process. The intended audience is those who have been authorized by the Node.js Foundation Technical Steering Committee (TSC) to create, promote and sign official release builds for io.js, hosted on <https://iojs.org>.
This document describes the technical aspects of the node.js release process. The intended audience is those who have been authorized by the Node.js Foundation Technical Steering Committee (TSC) to create, promote and sign official release builds for node.js, hosted on <https://nodejs.org>.
## Who can make a release?
Release authorization is given by the io.js TC. Once authorized, an individual must be have the following:
Release authorization is given by the node.js TSC. Once authorized, an individual must be have the following:
### 1. Jenkins Release Access
@ -13,21 +13,21 @@ There are three relevant Jenkins jobs that should be used for a release flow:
**a.** **Test runs:** **[iojs+any-pr+multi](https://jenkins-iojs.nodesource.com/job/iojs+any-pr+multi/)** is used for a final full-test run to ensure that the current *HEAD* is stable.
**b.** **Nightly builds:** (optional) **[iojs+release](https://jenkins-iojs.nodesource.com/job/iojs+release/)** can be used to create a nightly release for the current *HEAD* if public test releases are required. Builds triggered with this job are published straight to <http://iojs.org/download/nightly/> and are available for public download.
**b.** **Nightly builds:** (optional) **[iojs+release](https://jenkins-iojs.nodesource.com/job/iojs+release/)** can be used to create a nightly release for the current *HEAD* if public test releases are required. Builds triggered with this job are published straight to <http://nodejs.org/download/nightly/> and are available for public download.
**c.** **Release builds:** **[iojs+release](https://jenkins-iojs.nodesource.com/job/iojs+release/)** does all of the work to build all required release assets. Promotion of the release files is a manual step once they are ready (see below).
The [io.js build team](https://github.com/nodejs/build) is able to provide this access to individuals authorized by the TC.
### 2. <iojs.org> Access
The [Node.js build team](https://github.com/nodejs/build) is able to provide this access to individuals authorized by the TC.
The _dist_ user on iojs.org controls the assets available in <http://iojs.org/download/> (note that <http://iojs.org/dist/> is an alias for <https://iojs.org/download/release/>).
### 2. <nodejs.org> Access
The _dist_ user on nodejs.org controls the assets available in <http://nodejs.org/download/> (note that <http://nodejs.org/dist/> is an alias for <https://nodejs.org/download/release/>).
The Jenkins release build slaves upload their artifacts to the web server as the _staging_ user, the _dist_ user has access to move these assets to public access (the _staging_ user does not, for security purposes).
Nightly builds are promoted automatically on the server by a cron task for the _dist_ user.
Release builds require manual promotion by an individual with SSH access to the server as the _dist_ user. The [io.js build team](https://github.com/nodejs/build) is able to provide this access to individuals authorized by the TC.
Release builds require manual promotion by an individual with SSH access to the server as the _dist_ user. The [Node.js build team](https://github.com/nodejs/build) is able to provide this access to individuals authorized by the TC.
### 3. A Publicly Listed GPG Key
@ -41,7 +41,7 @@ gpg --keyserver pool.sks-keyservers.net --recv-keys <FINGERPRINT>
The key you use may be a child/subkey of an existing key.
Additionally, full GPG key fingerprints for individuals authorized to release should be listed in the io.js GitHub README.md file.
Additionally, full GPG key fingerprints for individuals authorized to release should be listed in the Node.js GitHub README.md file.
## How to create a release
@ -56,7 +56,7 @@ Run a **[iojs+any-pr+multi](https://jenkins-iojs.nodesource.com/job/iojs+any-pr+
### 2. Produce a Nightly Build _(optional)_
If there is a reason to produce a test release for the purpose of having others try out installers or specifics of builds, produce a nightly build using **[iojs+release](https://jenkins-iojs.nodesource.com/job/iojs+release/)** and wait for it to drop in <http://iojs.org/download/nightly/>. Follow the directions and enter a proper length commit sha, a date string and select "nightly" for "disttype".
If there is a reason to produce a test release for the purpose of having others try out installers or specifics of builds, produce a nightly build using **[iojs+release](https://jenkins-iojs.nodesource.com/job/iojs+release/)** and wait for it to drop in <http://nodejs.org/download/nightly/>. Follow the directions and enter a proper length commit sha, a date string and select "nightly" for "disttype".
This is particularly recommended if there has been recent work relating to the OS X or Windows installers as they are not tested in any way by CI.
@ -88,7 +88,7 @@ The _CHANGELOG.md_ entry should take the following form:
### Known issues
See https://github.com/nodejs/io.js/labels/confirmed-bug for complete and current list of known issues.
See https://github.com/nodejs/node/labels/confirmed-bug for complete and current list of known issues.
* Include this section if there are any known problems with this release
* Scan GitHub for unresolved problems that users may need to be aware of
@ -132,7 +132,7 @@ The _CHANGELOG.md_ and _src/node_version.h_ changes should be the final commit t
When committing these to git, use the following message format:
```
YYYY-MM-DD io.js vx.y.z Release
YYYY-MM-DD node.js vx.y.z Release
Notable changes:
@ -141,7 +141,7 @@ Notable changes:
### 6. Push to GitHub
Note that it is not essential that the release builds be created from the io.js repository, they may be created from your own fork if you desire. It is preferable, but not essential that the commits remain the same between that used to build and the tagged commit in the io.js repository.
Note that it is not essential that the release builds be created from the Node.js repository, they may be created from your own fork if you desire. It is preferable, but not essential that the commits remain the same between that used to build and the tagged commit in the Node.js repository.
### 7. Produce Release Builds
@ -160,7 +160,7 @@ Note that you do not have to wait for the ARM builds if they are take longer tha
Tag the release as <b><code>vx.y.z</code></b> and sign **using the same GPG key that will be used to sign SHASUMS256.txt**.
```
$ git tag <vx.y.z> <commit-sha> -sm 'YYYY-MM-DD io.js vz.y.x Release'
$ git tag <vx.y.z> <commit-sha> -sm 'YYYY-MM-DD node.js vz.y.x Release'
```
Push the tag to GitHub.
@ -210,13 +210,13 @@ If you didn't wait for ARM builds in the previous step before promoting the rele
### 11. Check the Release
Your release should be available at <https://iojs.org/dist/vx.y.z/> and also <https://iojs.org/dist/latest/>. Check that the appropriate files are in place, you may also want to check that the binaries are working as appropriate and have the right internal version strings. Check that the API docs are available at <https://iojs.org/api/>. Check that the release catalog files are correct at <https://iojs.org/dist/index.tab> and <https://iojs.org/dist/index.json>.
Your release should be available at <https://nodejs.org/dist/vx.y.z/> and also <https://nodejs.org/dist/latest/>. Check that the appropriate files are in place, you may also want to check that the binaries are working as appropriate and have the right internal version strings. Check that the API docs are available at <https://nodejs.org/api/>. Check that the release catalog files are correct at <https://nodejs.org/dist/index.tab> and <https://nodejs.org/dist/index.json>.
### 12. Announce
The iojs.org website will automatically rebuild and include the new version. You simply need to announce the build, preferably via twitter with a message such as:
The nodejs.org website will automatically rebuild and include the new version. You simply need to announce the build, preferably via twitter with a message such as:
> v2.3.2 of @official_iojs is out @ https://iojs.org/dist/latest/ changelog @ https://github.com/nodejs/io.js/blob/master/CHANGELOG.md#2015-07-01-version-232-rvagg … something here about notable changes
> v2.3.2 of @official_iojs is out @ https://nodejs.org/dist/latest/ changelog @ https://github.com/nodejs/node/blob/master/CHANGELOG.md#2015-07-01-version-232-rvagg … something here about notable changes
### 13. Celebrate

8
doc/template.html

@ -2,18 +2,18 @@
<html lang="en">
<head>
<meta charset="utf-8">
<title>__SECTION__ io.js __VERSION__ Manual &amp; Documentation</title>
<title>__SECTION__ Node.js __VERSION__ Manual &amp; Documentation</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:400,700,400italic">
<link rel="stylesheet" href="assets/style.css">
<link rel="stylesheet" href="assets/sh.css">
<link rel="canonical" href="https://iojs.org/api/__FILENAME__.html">
<link rel="canonical" href="https://nodejs.org/api/__FILENAME__.html">
</head>
<body class="alt apidoc" id="api-section-__FILENAME__">
<div id="content" class="clearfix">
<div id="column2" class="interior">
<div id="intro" class="interior">
<a href="/" title="Go back to the home page">
io.js (1)
Node.js (1)
</a>
</div>
__GTOC__
@ -21,7 +21,7 @@
<div id="column1" data-id="__ID__" class="interior">
<header>
<h1>io.js __VERSION__ Documentation</h1>
<h1>Node.js __VERSION__ Documentation</h1>
<div id="gtoc">
<p>
<a href="index.html" name="toc">Index</a> |

6
lib/_debugger.js

@ -15,9 +15,9 @@ exports.start = function(argv, stdin, stdout) {
argv || (argv = process.argv.slice(2));
if (argv.length < 1) {
console.error('Usage: iojs debug script.js');
console.error(' iojs debug <host>:<port>');
console.error(' iojs debug -p <pid>');
console.error('Usage: node debug script.js');
console.error(' node debug <host>:<port>');
console.error(' node debug -p <pid>');
process.exit(1);
}

2
lib/repl.js

@ -747,7 +747,7 @@ REPLServer.prototype.complete = function(line, callback) {
// Probably a Proxy object without `getOwnPropertyNames` trap.
// We simply ignore it here, as we don't want to break the
// autocompletion. Fixes the bug
// https://github.com/nodejs/io.js/issues/2119
// https://github.com/nodejs/node/issues/2119
}
}
// works for non-objects

8
node.gyp

@ -78,7 +78,7 @@
'targets': [
{
'target_name': 'iojs',
'target_name': 'node',
'type': '<(node_target_type)',
'dependencies': [
@ -531,10 +531,10 @@
{
'action_name': 'node_dtrace_provider_o',
'inputs': [
'<(OBJ_DIR)/iojs/src/node_dtrace.o',
'<(OBJ_DIR)/node/src/node_dtrace.o',
],
'outputs': [
'<(OBJ_DIR)/iojs/src/node_dtrace_provider.o'
'<(OBJ_DIR)/node/src/node_dtrace_provider.o'
],
'action': [ 'dtrace', '-G', '-xnolibs', '-s', 'src/node_provider.d',
'<@(_inputs)', '-o', '<@(_outputs)' ]
@ -584,7 +584,7 @@
'<(SHARED_INTERMEDIATE_DIR)/v8constants.h'
],
'outputs': [
'<(OBJ_DIR)/iojs/src/node_dtrace_ustack.o'
'<(OBJ_DIR)/node/src/node_dtrace_ustack.o'
],
'conditions': [
[ 'target_arch=="ia32"', {

20
src/node.cc

@ -2768,19 +2768,19 @@ void SetupProcessObject(Environment* env,
// process.release
Local<Object> release = Object::New(env->isolate());
READONLY_PROPERTY(process, "release", release);
READONLY_PROPERTY(release, "name", OneByteString(env->isolate(), "io.js"));
READONLY_PROPERTY(release, "name", OneByteString(env->isolate(), "node.js"));
// if this is a release build and no explicit base has been set
// substitute the standard release download URL
#ifndef NODE_RELEASE_URLBASE
# if NODE_VERSION_IS_RELEASE
# define NODE_RELEASE_URLBASE "https://iojs.org/download/release/"
# define NODE_RELEASE_URLBASE "https://nodejs.org/download/release/"
# endif
#endif
#if defined(NODE_RELEASE_URLBASE)
# define _RELEASE_URLPFX NODE_RELEASE_URLBASE "v" NODE_VERSION_STRING "/"
# define _RELEASE_URLFPFX _RELEASE_URLPFX "iojs-v" NODE_VERSION_STRING
# define _RELEASE_URLFPFX _RELEASE_URLPFX "node-v" NODE_VERSION_STRING
READONLY_PROPERTY(release,
"sourceUrl",
@ -2794,7 +2794,7 @@ void SetupProcessObject(Environment* env,
READONLY_PROPERTY(release,
"libUrl",
OneByteString(env->isolate(),
_RELEASE_URLPFX "win-" NODE_ARCH "/iojs.lib"));
_RELEASE_URLPFX "win-" NODE_ARCH "/node.lib"));
# endif
#endif
@ -3092,11 +3092,11 @@ static bool ParseDebugOpt(const char* arg) {
}
static void PrintHelp() {
printf("Usage: iojs [options] [ -e script | script.js ] [arguments] \n"
" iojs debug script.js [arguments] \n"
printf("Usage: node [options] [ -e script | script.js ] [arguments] \n"
" node debug script.js [arguments] \n"
"\n"
"Options:\n"
" -v, --version print io.js version\n"
" -v, --version print Node.js version\n"
" -e, --eval script evaluate script\n"
" -p, --print evaluate script and print result\n"
" -i, --interactive always enter the REPL even if stdin\n"
@ -3138,7 +3138,7 @@ static void PrintHelp() {
#endif
#endif
"\n"
"Documentation can be found at https://iojs.org/\n");
"Documentation can be found at https://nodejs.org/\n");
}
@ -3664,12 +3664,12 @@ void Init(int* argc,
defined(__ARM_ARCH_6T2__) || \
defined(__ARM_ARCH_6ZK__) || \
defined(__ARM_ARCH_6Z__)
// See https://github.com/nodejs/io.js/issues/1376
// See https://github.com/nodejs/node/issues/1376
// and https://code.google.com/p/v8/issues/detail?id=4019
// TODO(bnoordhuis): Remove test/parallel/test-arm-math-exp-regress-1376.js
// and this workaround when v8:4019 has been fixed and the patch back-ported.
V8::SetFlagsFromString("--nofast_math", sizeof("--nofast_math") - 1);
// See https://github.com/nodejs/io.js/pull/2220#issuecomment-126200059
// See https://github.com/nodejs/node/pull/2220#issuecomment-126200059
// and https://code.google.com/p/v8/issues/detail?id=4338
// TODO(targos): Remove this workaround when v8:4338 has been fixed and the
// patch back-ported.

20
src/node.h

@ -42,26 +42,26 @@
#include "v8.h" // NOLINT(build/include_order)
#include "node_version.h" // NODE_MODULE_VERSION
#define IOJS_MAKE_VERSION(major, minor, patch) \
#define NODE_MAKE_VERSION(major, minor, patch) \
((major) * 0x1000 + (minor) * 0x100 + (patch))
#ifdef __clang__
# define IOJS_CLANG_AT_LEAST(major, minor, patch) \
(IOJS_MAKE_VERSION(major, minor, patch) <= \
IOJS_MAKE_VERSION(__clang_major__, __clang_minor__, __clang_patchlevel__))
# define NODE_CLANG_AT_LEAST(major, minor, patch) \
(NODE_MAKE_VERSION(major, minor, patch) <= \
NODE_MAKE_VERSION(__clang_major__, __clang_minor__, __clang_patchlevel__))
#else
# define IOJS_CLANG_AT_LEAST(major, minor, patch) (0)
# define NODE_CLANG_AT_LEAST(major, minor, patch) (0)
#endif
#ifdef __GNUC__
# define IOJS_GNUC_AT_LEAST(major, minor, patch) \
(IOJS_MAKE_VERSION(major, minor, patch) <= \
IOJS_MAKE_VERSION(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__))
# define NODE_GNUC_AT_LEAST(major, minor, patch) \
(NODE_MAKE_VERSION(major, minor, patch) <= \
NODE_MAKE_VERSION(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__))
#else
# define IOJS_GNUC_AT_LEAST(major, minor, patch) (0)
# define NODE_GNUC_AT_LEAST(major, minor, patch) (0)
#endif
#if IOJS_CLANG_AT_LEAST(2, 9, 0) || IOJS_GNUC_AT_LEAST(4, 5, 0)
#if NODE_CLANG_AT_LEAST(2, 9, 0) || NODE_GNUC_AT_LEAST(4, 5, 0)
# define NODE_DEPRECATED(message, declarator) \
__attribute__((deprecated(message))) declarator
#elif defined(_MSC_VER)

2
src/node.js

@ -561,7 +561,7 @@
JSON.stringify(name) + ' });\n';
// Defer evaluation for a tick. This is a workaround for deferred
// events not firing when evaluating scripts from the command line,
// see https://github.com/nodejs/io.js/issues/1600.
// see https://github.com/nodejs/node/issues/1600.
process.nextTick(function() {
var result = module._compile(script, name + '-wrapper');
if (process._print_eval) console.log(result);

0
src/res/iojs.ico → src/res/node.ico

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

14
src/res/node.rc

@ -3,7 +3,7 @@
// Application icon
1 ICON iojs.ico
1 ICON node.ico
// Version resource
@ -29,14 +29,14 @@ BEGIN
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "io.js"
VALUE "ProductName", "io.js"
VALUE "FileDescription", "io.js: Server-side JavaScript"
VALUE "CompanyName", "Node.js"
VALUE "ProductName", "Node.js"
VALUE "FileDescription", "Node.js: Server-side JavaScript"
VALUE "FileVersion", "NODE_VERSION_STRING"
VALUE "ProductVersion", "NODE_VERSION_STRING"
VALUE "OriginalFilename", "iojs.exe"
VALUE "InternalName", "iojs"
VALUE "LegalCopyright", "Copyright io.js contributors. MIT license."
VALUE "OriginalFilename", "node.exe"
VALUE "InternalName", "node"
VALUE "LegalCopyright", "Copyright Node.js contributors. MIT license."
END
END
BLOCK "VarFileInfo"

4
src/res/node_etw_provider.man

@ -7,8 +7,8 @@
<provider name="NodeJS-ETW-provider"
guid="{77754E9B-264B-4D8D-B981-E4135C1ECB0C}"
symbol="NODE_ETW_PROVIDER"
resourceFileName="iojs.exe"
messageFileName="iojs.exe">
resourceFileName="node.exe"
messageFileName="node.exe">
<tasks>
<task name="MethodRuntime" value="1"

2
src/res/node_perfctr_provider.man

@ -6,7 +6,7 @@
<counters xmlns="http://schemas.microsoft.com/win/2005/12/counters"
schemaVersion="1.1">
<provider symbol="NodeCounterProvider"
applicationIdentity="iojs.exe"
applicationIdentity="node.exe"
providerType="userMode"
providerGuid="{793C9B44-3D6B-4F57-B5D7-4FF80ADCF9A2}">
<counterSet symbol="NodeCounterSet"

2
src/tls_wrap.cc

@ -432,7 +432,7 @@ void TLSWrap::ClearOut() {
// We need to check whether an error occurred or the connection was
// shutdown cleanly (SSL_ERROR_ZERO_RETURN) even when read == 0.
// See iojs#1642 and SSL_read(3SSL) for details.
// See node#1642 and SSL_read(3SSL) for details.
if (read <= 0) {
int err;
Local<Value> arg = GetSSLError(read, &err, nullptr);

2
test/common.js

@ -115,7 +115,7 @@ Object.defineProperty(exports, 'opensslCli', {get: function() {
// use external command
opensslCli = 'openssl';
} else {
// use command built from sources included in io.js repository
// use command built from sources included in Node.js repository
opensslCli = path.join(path.dirname(process.execPath), 'openssl-cli');
}

2
test/fixtures/cluster-preload.js

@ -1,6 +1,6 @@
var assert = require('assert');
// https://github.com/nodejs/io.js/issues/1803
// https://github.com/nodejs/node/issues/1803
// this module is used as a preload module. It should have a parent with the
// module search paths initialized from the current working directory
assert.ok(module.parent);

2
test/parallel/test-arm-math-exp-regress-1376.js

@ -1,5 +1,5 @@
'use strict';
// See https://github.com/nodejs/io.js/issues/1376
// See https://github.com/nodejs/node/issues/1376
// and https://code.google.com/p/v8/issues/detail?id=4019
Math.abs(-0.5);

2
test/parallel/test-buffer.js

@ -1169,7 +1169,7 @@ assert.throws(function() {
b.equals('abc');
});
// Regression test for https://github.com/nodejs/io.js/issues/649.
// Regression test for https://github.com/nodejs/node/issues/649.
assert.throws(function() { Buffer(1422561062959).toString('utf8'); });
var ps = Buffer.poolSize;

2
test/parallel/test-event-emitter-get-max-listeners.js

@ -13,7 +13,7 @@ assert.strictEqual(emitter.getMaxListeners(), 0);
emitter.setMaxListeners(3);
assert.strictEqual(emitter.getMaxListeners(), 3);
// https://github.com/nodejs/io.js/issues/523 - second call should not throw.
// https://github.com/nodejs/node/issues/523 - second call should not throw.
var recv = {};
EventEmitter.prototype.on.call(recv, 'event', function() {});
EventEmitter.prototype.on.call(recv, 'event', function() {});

20
test/parallel/test-fs-read-stream-fd-leak.js

@ -1,24 +1,4 @@
'use strict';
// Copyright io.js contributors.
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to permit
// persons to whom the Software is furnished to do so, subject to the
// following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
// USE OR OTHER DEALINGS IN THE SOFTWARE.
var common = require('../common');
var assert = require('assert');

2
test/parallel/test-path-zero-length-strings.js

@ -3,7 +3,7 @@
// These testcases are specific to one uncommon behaviour in path module. Few
// of the functions in path module, treat '' strings as current working
// directory. This test makes sure that the behaviour is intact between commits.
// See: https://github.com/nodejs/io.js/pull/2106
// See: https://github.com/nodejs/node/pull/2106
const common = require('../common');
const assert = require('assert');

2
test/parallel/test-preload.js

@ -81,7 +81,7 @@ child_process.exec(nodeBinary + ' '
assert.ok(/worker terminated with code 43/.test(stdout));
});
// https://github.com/nodejs/io.js/issues/1691
// https://github.com/nodejs/node/issues/1691
var originalCwd = process.cwd();
process.chdir(path.join(__dirname, '../fixtures/'));
child_process.exec(nodeBinary + ' '

2
test/parallel/test-repl-tab-complete.js

@ -237,7 +237,7 @@ testMe.complete('cus', common.mustCall(function(error, data) {
}));
// Make sure tab completion doesn't crash REPL with half-baked proxy objects.
// See: https://github.com/nodejs/io.js/issues/2119
// See: https://github.com/nodejs/node/issues/2119
putIn.run(['.clear']);
putIn.run([

2
test/parallel/test-repl.js

@ -232,7 +232,7 @@ function error_test() {
{ client: client_unix, send: '\'the\\\n\\\nfourtheye\'\n',
expect: prompt_multiline + prompt_multiline +
'\'thefourtheye\'\n' + prompt_unix },
// Regression test for https://github.com/nodejs/io.js/issues/597
// Regression test for https://github.com/nodejs/node/issues/597
{ client: client_unix,
send: '/(.)(.)(.)(.)(.)(.)(.)(.)(.)/.test(\'123456789\')\n',
expect: `true\n${prompt_unix}` },

2
test/parallel/test-stringbytes-external.js

@ -107,7 +107,7 @@ var PRE_3OF4_APEX = Math.ceil((EXTERN_APEX / 4) * 3) - RADIOS;
}
})();
// https://github.com/nodejs/io.js/issues/1024
// https://github.com/nodejs/node/issues/1024
(function() {
var a = Array(1 << 20).join('x');
var b = Buffer(a, 'ucs2').toString('ucs2');

2
test/parallel/test-tls-cnnic-whitelist.js

@ -37,7 +37,7 @@ var testCases = [
},
errorCode: 'CERT_REVOKED'
},
// Test 1: for the fix of iojs#2061
// Test 1: for the fix of node#2061
// agent6-cert.pem is signed by intermidate cert of ca3.
// The server has a cert chain of agent6->ca3->ca1(root) but
// tls.connect should be failed with an error of

2
test/parallel/test-tls-connect-no-host.js

@ -14,7 +14,7 @@ var path = require('path');
var cert = fs.readFileSync(path.join(common.fixturesDir, 'test_cert.pem'));
var key = fs.readFileSync(path.join(common.fixturesDir, 'test_key.pem'));
// https://github.com/nodejs/io.js/issues/1489
// https://github.com/nodejs/node/issues/1489
// tls.connect(options) with no options.host should accept a cert with
// CN:'localhost'
tls.createServer({

2
test/parallel/test-url.js

@ -1562,7 +1562,7 @@ relativeTests2.forEach(function(relativeTest) {
});
// https://github.com/nodejs/io.js/pull/1036
// https://github.com/nodejs/node/pull/1036
var throws = [
undefined,
null,

4
test/parallel/test-vm-debug-context.js

@ -29,7 +29,7 @@ assert.strictEqual(vm.runInDebugContext(0), 0);
assert.strictEqual(vm.runInDebugContext(null), null);
assert.strictEqual(vm.runInDebugContext(undefined), undefined);
// See https://github.com/nodejs/io.js/issues/1190, accessing named interceptors
// See https://github.com/nodejs/node/issues/1190, accessing named interceptors
// and accessors inside a debug event listener should not crash.
(function() {
var Debug = vm.runInDebugContext('Debug');
@ -53,7 +53,7 @@ assert.strictEqual(vm.runInDebugContext(undefined), undefined);
assert.equal(breaks, 1);
})();
// See https://github.com/nodejs/io.js/issues/1190, fatal errors should not
// See https://github.com/nodejs/node/issues/1190, fatal errors should not
// crash the process.
var script = common.fixturesDir + '/vm-run-in-debug-context.js';
var proc = spawn(process.execPath, [script]);

12
tools/install.py

@ -108,12 +108,12 @@ def npm_files(action):
if os.environ.get('PORTABLE'):
# This crazy hack is necessary to make the shebang execute the copy
# of node relative to the same directory as the npm script. The precompiled
# binary tarballs use a prefix of "/" which gets translated to "/bin/iojs"
# binary tarballs use a prefix of "/" which gets translated to "/bin/node"
# in the regular shebang modifying logic, which is incorrect since the
# precompiled bundle should be able to be extracted anywhere and "just work"
shebang = '/bin/sh\n// 2>/dev/null; exec "`dirname "$0"`/iojs" "$0" "$@"'
shebang = '/bin/sh\n// 2>/dev/null; exec "`dirname "$0"`/node" "$0" "$@"'
else:
shebang = os.path.join(node_prefix or '/', 'bin/iojs')
shebang = os.path.join(node_prefix or '/', 'bin/node')
update_shebang(link_path, shebang)
else:
assert(0) # unhandled action type
@ -130,7 +130,7 @@ def files(action):
is_windows = sys.platform == 'win32'
exeext = '.exe' if is_windows else ''
action(['out/Release/iojs' + exeext], 'bin/iojs' + exeext)
action(['out/Release/node' + exeext], 'bin/node' + exeext)
if not is_windows:
# Install iojs -> node compatibility symlink.
@ -152,9 +152,9 @@ def files(action):
action(['deps/v8/tools/gdbinit'], 'share/doc/node/')
if 'freebsd' in sys.platform or 'openbsd' in sys.platform:
action(['doc/iojs.1'], 'man/man1/')
action(['doc/node.1'], 'man/man1/')
else:
action(['doc/iojs.1'], 'share/man/man1/')
action(['doc/node.1'], 'share/man/man1/')
if 'true' == variables.get('node_install_npm'): npm_files(action)

10
tools/msvs/msi/i18n/de-de.wxl

@ -3,14 +3,14 @@
<!-- See https://msdn.microsoft.com/en-us/goglobal/bb964664.aspx -->
<String Id="LocaleId">1031</String>
<String Id="WelcomeDlgDescription">Dieser Installationsassistent wird [ProductName] auf Ihrem Computer installieren.&#xD;&#xA;&#xD;&#xA;WARNUNG: Wenn Sie von [ProductName] v1.0.0 oder v1.0.1 aus updaten wollen, müssen Sie diese Versionen zuerst manuell deinstallieren.</String>
<String Id="WelcomeDlgDescription">Dieser Installationsassistent wird [ProductName] auf Ihrem Computer installieren.&#xD;&#xA;&#xD;&#xA;WARNUNG: Wenn Sie von io.js v1.0.0 oder v1.0.1 aus updaten wollen, müssen Sie diese Versionen zuerst manuell deinstallieren.</String>
<String Id="InstallDirDlgDescription">Wählen Sie einen anderen Installationsort oder klicken Sie auf Weiter zum installieren.</String>
<String Id="MajorUpgrade_DowngradeErrorMessage">Eine neuere Version von [ProductName] ist bereits installiert. Der Installationsassistent wird jetzt geschlossen.</String>
<!-- References like [ProductName] or $(var.ProductName) don't seem to work in Title attributes -->
<String Id="NodeRuntime_Title">io.js-Laufzeitumgebung</String>
<String Id="NodeRuntime_Description">Installation der [ProductName]-Laufzeitumgebung (iojs.exe).</String>
<String Id="NodeRuntime_Title">Node.js-Laufzeitumgebung</String>
<String Id="NodeRuntime_Description">Installation der [ProductName]-Laufzeitumgebung (node.exe).</String>
<String Id="NodeAlias_Title">Verweis von node auf iojs</String>
<String Id="NodeAlias_Description">Erstelle node.exe als Verweis für iojs.exe.</String>
@ -30,12 +30,12 @@
<String Id="EnvironmentPath_Title">Hinzufügen zu PATH</String>
<String Id="EnvironmentPath_Description">Fügt [ProductName], npm und globale durch npm installierte Module zur PATH-Umgebungsvariable hinzu.</String>
<String Id="EnvironmentPathNode_Title">io.js und npm</String>
<String Id="EnvironmentPathNode_Title">Node.js und npm</String>
<String Id="EnvironmentPathNode_Description">Fügt [ProductName] und npm (falls installiert) zur PATH-Umgebungsvariable hinzu.</String>
<String Id="EnvironmentPathNpmModules_Title">npm-Module</String>
<String Id="EnvironmentPathNpmModules_Description">Fügt globale durch npm installierte Module zur PATH-Umgebungsvariable hinzu. Diese Option funktioniert nur für den aktuellen Benutzer, andere Benutzer müssen ihre PATH-Umgebungsvariable selbst manuell aktualisieren.</String>
<!-- References like [ProductName] are not resolved for Property tags -->
<String Id="WIXUI_EXITDIALOGOPTIONALTEXT">io.js wurde erfolgreich installiert.</String>
<String Id="WIXUI_EXITDIALOGOPTIONALTEXT">Node.js wurde erfolgreich installiert.</String>
</WixLocalization>

10
tools/msvs/msi/i18n/en-us.wxl

@ -3,14 +3,14 @@
<!-- See https://msdn.microsoft.com/en-us/goglobal/bb964664.aspx -->
<String Id="LocaleId">1033</String>
<String Id="WelcomeDlgDescription">The Setup Wizard will install [ProductName] on your computer.&#xD;&#xA;&#xD;&#xA;WARNING: if you're upgrading from [ProductName] v1.0.0 or v1.0.1, you must first uninstall these versions manually.</String>
<String Id="WelcomeDlgDescription">The Setup Wizard will install [ProductName] on your computer.&#xD;&#xA;&#xD;&#xA;WARNING: if you're upgrading from io.js v1.0.0 or v1.0.1, you must first uninstall these versions manually.</String>
<String Id="InstallDirDlgDescription">Choose a custom location or click Next to install.</String>
<String Id="MajorUpgrade_DowngradeErrorMessage">A later version of [ProductName] is already installed. Setup will now exit.</String>
<!-- References like [ProductName] or $(var.ProductName) don't seem to work in Title attributes -->
<String Id="NodeRuntime_Title">io.js runtime</String>
<String Id="NodeRuntime_Description">Install the core [ProductName] runtime (iojs.exe).</String>
<String Id="NodeRuntime_Title">Node.js runtime</String>
<String Id="NodeRuntime_Description">Install the core [ProductName] runtime (node.exe).</String>
<String Id="NodeAlias_Title">Alias node to iojs</String>
<String Id="NodeAlias_Description">Create node.exe as an alias for iojs.exe.</String>
@ -30,12 +30,12 @@
<String Id="EnvironmentPath_Title">Add to PATH</String>
<String Id="EnvironmentPath_Description">Add [ProductName], npm, and modules that were globally installed by npm to the PATH environment variable.</String>
<String Id="EnvironmentPathNode_Title">io.js and npm</String>
<String Id="EnvironmentPathNode_Title">Node.js and npm</String>
<String Id="EnvironmentPathNode_Description">Add [ProductName] and npm (if installed) to the PATH environment variable.</String>
<String Id="EnvironmentPathNpmModules_Title">npm modules</String>
<String Id="EnvironmentPathNpmModules_Description">Add modules that are installed globally by npm to the PATH environment variable. This option works for the current user only; other users need to update their PATH manually.</String>
<!-- References like [ProductName] are not resolved for Property tags -->
<String Id="WIXUI_EXITDIALOGOPTIONALTEXT">io.js has been successfully installed.</String>
<String Id="WIXUI_EXITDIALOGOPTIONALTEXT">Node.js has been successfully installed.</String>
</WixLocalization>

2
tools/msvs/msi/nodemsi.wixproj

@ -6,7 +6,7 @@
<ProductVersion>3.5</ProductVersion>
<ProjectGuid>{1d808ff0-b5a9-4be9-859d-b334b6f48be2}</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>iojs-v$(FullVersion)-$(Platform)</OutputName>
<OutputName>node-v$(FullVersion)-$(Platform)</OutputName>
<OutputType>Package</OutputType>
<EnableProjectHarvesting>True</EnableProjectHarvesting>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>

36
tools/msvs/msi/product.wxs

@ -2,11 +2,11 @@
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<?define ProductName = "io.js" ?>
<?define ProductDescription = "io.js" ?>
<?define ProductAuthor = "io.js contributors" ?>
<?define ProductName = "Node.js" ?>
<?define ProductDescription = "Node.js" ?>
<?define ProductAuthor = "Node.js Foundation" ?>
<?define RegistryKeyPath = "SOFTWARE\io.js" ?>
<?define RegistryKeyPath = "SOFTWARE\Node.js" ?>
<?define RepoDir="$(var.ProjectDir)..\..\..\" ?>
<?define SourceDir="$(var.RepoDir)\$(var.Configuration)\" ?>
@ -25,9 +25,9 @@
<MajorUpgrade AllowSameVersionUpgrades="yes"
DowngradeErrorMessage="!(loc.MajorUpgrade_DowngradeErrorMessage)"/>
<Icon Id="NodeIcon" SourceFile="$(var.RepoDir)\src\res\iojs.ico"/>
<Icon Id="NodeIcon" SourceFile="$(var.RepoDir)\src\res\node.ico"/>
<Property Id="ARPPRODUCTICON" Value="NodeIcon"/>
<Property Id="ApplicationFolderName" Value="iojs"/>
<Property Id="ApplicationFolderName" Value="node"/>
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR"/>
<Property Id="INSTALLDIR">
@ -110,18 +110,18 @@
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder" Name="io.js"/>
<Directory Id="ApplicationProgramsFolder" Name="Node.js"/>
</Directory>
<Directory Id="$(var.ProgramFilesFolderId)">
<Directory Id="INSTALLDIR" Name="iojs">
<Directory Id="INSTALLDIR" Name="nodejs">
</Directory>
</Directory>
</Directory>
<DirectoryRef Id="INSTALLDIR">
<Component Id="NodeExecutable">
<File Id="iojs.exe" KeyPath="yes" Source="$(var.SourceDir)\iojs.exe"/>
<File Id="node.exe" KeyPath="yes" Source="$(var.SourceDir)\node.exe"/>
</Component>
<Component Id="NodeAlias" Guid="fde09cce-a503-4409-a3c4-61ae2a5a5906">
@ -145,7 +145,7 @@
<?if $(var.NoETW) != 1 ?>
<Component Id="NodeEtwSupport">
<File Id="node_etw_provider.man" Source="$(var.RepoDir)\src\res\node_etw_provider.man">
<util:EventManifest MessageFile="[INSTALLDIR]iojs.exe" ResourceFile="[INSTALLDIR]iojs.exe"/>
<util:EventManifest MessageFile="[INSTALLDIR]node.exe" ResourceFile="[INSTALLDIR]node.exe"/>
</File>
</Component>
<?endif?>
@ -165,17 +165,17 @@
Type="string"
Value="$(var.ProductVersion)"/>
<Shortcut Id="NodeVarsScriptShortcut"
Name="io.js command prompt"
Name="Node.js command prompt"
Target="[%ComSpec]"
Arguments='/k "[INSTALLDIR]nodevars.bat"'
Show="normal"
WorkingDirectory="INSTALLDIR"/>
<Shortcut Id="NodeExecutableShortcut"
Name="io.js"
Target="[INSTALLDIR]iojs.exe"
Name="Node.js"
Target="[INSTALLDIR]node.exe"
WorkingDirectory="INSTALLDIR"/>
<Shortcut Id="UninstallProduct"
Name="Uninstall io.js"
Name="Uninstall Node.js"
Target="[SystemFolder]msiexec.exe"
Arguments="/x [ProductCode]"/>
<RemoveFolder Id="RemoveApplicationProgramsFolder"
@ -220,12 +220,12 @@
Value="1"
KeyPath="yes"/>
<util:InternetShortcut Id="WebsiteShortcut"
Name="io.js website"
Target="http://iojs.org"
Name="Node.js website"
Target="http://nodejs.org"
Type="url"/>
<util:InternetShortcut Id="DocsShortcut"
Name="io.js documentation"
Target="https://iojs.org/download/$(var.DistTypeDir)/v$(var.FullVersion)/doc/api/"
Name="Node.js documentation"
Target="https://nodejs.org/download/$(var.DistTypeDir)/v$(var.FullVersion)/doc/api/"
Type="url"/>
</Component>
</DirectoryRef>

12
tools/msvs/nodevars.bat

@ -1,24 +1,24 @@
@echo off
rem Ensure this io.js and npm are first in the PATH
rem Ensure this Node.js and npm are first in the PATH
set PATH=%APPDATA%\npm;%~dp0;%PATH%
setlocal enabledelayedexpansion
pushd "%~dp0"
rem Figure out the io.js version.
set print_version=.\iojs.exe -p -e "process.versions.node + ' (' + process.arch + ')'"
rem Figure out the Node.js version.
set print_version=.\node.exe -p -e "process.versions.node + ' (' + process.arch + ')'"
for /F "usebackq delims=" %%v in (`%print_version%`) do set version=%%v
rem Print message.
if exist npm.cmd (
echo Your environment has been set up for using io.js !version! and npm.
echo Your environment has been set up for using Node.js !version! and npm.
) else (
echo Your environment has been set up for using io.js !version!.
echo Your environment has been set up for using Node.js !version!.
)
popd
endlocal
rem If we're in the io.js directory, change to the user's home dir.
rem If we're in the Node.js directory, change to the user's home dir.
if "%CD%\"=="%~dp0" cd /d "%HOMEDRIVE%%HOMEPATH%"

2
tools/osx-pkg.pmdoc/02npm.xml

@ -1,6 +1,6 @@
<pkgref spec="1.12" uuid="DF0233A3-6B5D-4FBF-8048-8FC57F42278F">
<config>
<identifier>org.iojs.npm.pkg</identifier>
<identifier>org.node.npm.pkg</identifier>
<version>1.0</version>
<description></description>
<post-install type="none"/>

8
tools/osx-pkg.pmdoc/index.xml.tmpl

@ -1,6 +1,6 @@
<pkmkdoc spec="1.12">
<properties>
<title>io.js</title>
<title>Node.js</title>
<build>/Users/iojs/Desktop/iojs.pkg</build>
<organization>org.iojs</organization>
<userSees ui="both"/>
@ -12,7 +12,7 @@
<scripts></scripts>
</distribution>
<contents>
<choice title="io.js" id="choice1" starts_selected="true" starts_enabled="true" starts_hidden="false">
<choice title="Node.js" id="choice1" starts_selected="true" starts_enabled="true" starts_hidden="false">
<pkgref id="org.iojs.iojs.pkg"/>
</choice>
<choice title="npm" id="choice2" starts_selected="true" starts_enabled="true" starts_hidden="false">
@ -28,13 +28,13 @@
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
\f0\fs26 \cf0 This package will install io.js {iojsversion} and npm {npmversion} into /usr/local/. The binary /usr/local/bin/iojs will also be symlinked as /usr/local/bin/node.}]]></resource>
\f0\fs26 \cf0 This package will install Node.js {iojsversion} and npm {npmversion} into /usr/local/. The binary /usr/local/bin/iojs will also be symlinked as /usr/local/bin/node.}]]></resource>
<resource mime-type="text/rtf" kind="embedded" type="conclusion"><![CDATA[{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360
{\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
\f0\fs26 \cf0 io.js was installed at\
\f0\fs26 \cf0 Node.js was installed at\
\
/usr/local/bin/iojs\
and symlinked at\

4
tools/release.sh

@ -8,7 +8,7 @@
set -e
webhost=iojs.org
webhost=nodejs.org
webuser=dist
promotablecmd=dist-promotable
promotecmd=dist-promote
@ -91,7 +91,7 @@ function sign {
shafile=$(basename $shapath)
shadir=$(dirname $shapath)
tmpdir="/tmp/_iojs_release.$$"
tmpdir="/tmp/_node_release.$$"
mkdir -p $tmpdir

14
tools/rpm/iojs.spec → tools/rpm/node.spec

@ -15,14 +15,14 @@
# This is updated by rpmbuild.sh.
%define _version 0.10.12
Name: iojs
Name: node
Version: %{_version}
Release: 1
Summary: io.js is a platform for building fast, scalable network applications.
Summary: Node.js is a platform for building fast, scalable network applications.
Group: Development/Languages
License: MIT
URL: http://iojs.org/
Source0: http://iojs.org/dist/v%{_version}/iojs-v%{_version}.tar.gz
URL: http://nodejs.org/
Source0: http://nodejs.org/dist/v%{_version}/node-v%{_version}.tar.gz
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: glibc-devel
@ -37,10 +37,10 @@ Conflicts: nodejs
%description
io.js is a platform built on Chrome's JavaScript runtime for easily
Node.js is a platform built on Chrome's JavaScript runtime for easily
building fast, scalable network applications.
io.js uses an event-driven, non-blocking I/O model that makes it
Node.js uses an event-driven, non-blocking I/O model that makes it
lightweight and efficient, perfect for data-intensive real-time
applications that run across distributed devices.
@ -94,7 +94,7 @@ done
/usr/include/*
/usr/lib/node_modules/
/usr/share/doc/node/gdbinit
/usr/share/man/man1/iojs.1.gz
/usr/share/man/man1/node.1.gz
/usr/share/systemtap/tapset/node.stp
%{_datadir}/%{name}/
%doc CHANGELOG.md LICENSE README.md

8
tools/rpm/rpmbuild.sh

@ -38,7 +38,7 @@ fi
set -x
sed -re "s/%define _version .+/%define _version ${VERSION}/" \
"$TOOLSDIR/iojs.spec" > $RPMBUILD_PATH/SPECS/iojs.spec
tar --exclude-vcs --transform="s|^|iojs-${VERSION}/|" \
-czf $RPMBUILD_PATH/SOURCES/iojs-v${VERSION}.tar.gz .
rpmbuild $* -ba $RPMBUILD_PATH/SPECS/iojs.spec
"$TOOLSDIR/node.spec" > $RPMBUILD_PATH/SPECS/node.spec
tar --exclude-vcs --transform="s|^|node-${VERSION}/|" \
-czf $RPMBUILD_PATH/SOURCES/node-v${VERSION}.tar.gz .
rpmbuild $* -ba $RPMBUILD_PATH/SPECS/node.spec

2
tools/test-npm.sh

@ -6,7 +6,7 @@ set -e
cd $(dirname $0)/..
# pass a $NODE environment variable from something like Makefile
# it should point to either ./iojs or ./iojs.exe, depending on the platform
# it should point to either ./node or ./node.exe, depending on the platform
if [ -z $NODE ]; then
echo "No node executable provided. Bailing." >&2
exit 0

10
tools/test.py

@ -755,20 +755,20 @@ class Context(object):
def GetVm(self, arch, mode):
if arch == 'none':
name = 'out/Debug/iojs' if mode == 'debug' else 'out/Release/iojs'
name = 'out/Debug/node' if mode == 'debug' else 'out/Release/node'
else:
name = 'out/%s.%s/iojs' % (arch, mode)
name = 'out/%s.%s/node' % (arch, mode)
# Currently GYP does not support output_dir for MSVS.
# http://code.google.com/p/gyp/issues/detail?id=40
# It will put the builds into Release/iojs.exe or Debug/iojs.exe
# It will put the builds into Release/node.exe or Debug/node.exe
if utils.IsWindows():
out_dir = os.path.join(dirname(__file__), "..", "out")
if not exists(out_dir):
if mode == 'debug':
name = os.path.abspath('Debug/iojs.exe')
name = os.path.abspath('Debug/node.exe')
else:
name = os.path.abspath('Release/iojs.exe')
name = os.path.abspath('Release/node.exe')
else:
name = os.path.abspath(name + '.exe')

24
vcbuild.bat

@ -154,14 +154,14 @@ if "%target%" == "Clean" goto exit
@rem Skip signing if the `nosign` option was specified.
if defined nosign goto licensertf
signtool sign /a /d "io.js" /t http://timestamp.globalsign.com/scripts/timestamp.dll Release\iojs.exe
signtool sign /a /d "node" /t http://timestamp.globalsign.com/scripts/timestamp.dll Release\node.exe
if errorlevel 1 echo Failed to sign exe&goto exit
:licensertf
@rem Skip license.rtf generation if not requested.
if not defined licensertf goto msi
%config%\iojs tools\license2rtf.js < LICENSE > %config%\license.rtf
%config%\node tools\license2rtf.js < LICENSE > %config%\license.rtf
if errorlevel 1 echo Failed to generate license.rtf&goto exit
:msi
@ -169,12 +169,12 @@ if errorlevel 1 echo Failed to generate license.rtf&goto exit
if not defined msi goto run
:msibuild
echo Building iojs-v%FULLVERSION%-%target_arch%.msi
echo Building node-v%FULLVERSION%-%target_arch%.msi
msbuild "%~dp0tools\msvs\msi\nodemsi.sln" /m /t:Clean,Build /p:Configuration=%config% /p:Platform=%target_arch% /p:NodeVersion=%NODE_VERSION% /p:FullVersion=%FULLVERSION% /p:DistTypeDir=%DISTTYPEDIR% %noetw_msi_arg% %noperfctr_msi_arg% /clp:NoSummary;NoItemAndPropertyList;Verbosity=minimal /nologo
if errorlevel 1 goto exit
if defined nosign goto upload
signtool sign /a /d "io.js" /t http://timestamp.globalsign.com/scripts/timestamp.dll iojs-v%FULLVERSION%-%target_arch%.msi
signtool sign /a /d "node" /t http://timestamp.globalsign.com/scripts/timestamp.dll node-v%FULLVERSION%-%target_arch%.msi
if errorlevel 1 echo Failed to sign msi&goto exit
:upload
@ -185,12 +185,12 @@ if not defined SSHCONFIG (
echo SSHCONFIG is not set for upload
exit /b 1
)
if not defined STAGINGSERVER set STAGINGSERVER=iojs-www
if not defined STAGINGSERVER set STAGINGSERVER=node-www
ssh -F %SSHCONFIG% %STAGINGSERVER% "mkdir -p staging/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%"
scp -F %SSHCONFIG% Release\iojs.exe %STAGINGSERVER%:staging/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%/iojs.exe
scp -F %SSHCONFIG% Release\iojs.lib %STAGINGSERVER%:staging/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%/iojs.lib
scp -F %SSHCONFIG% iojs-v%FULLVERSION%-%target_arch%.msi %STAGINGSERVER%:staging/%DISTTYPEDIR%/v%FULLVERSION%/
ssh -F %SSHCONFIG% %STAGINGSERVER% "touch staging/%DISTTYPEDIR%/v%FULLVERSION%/iojs-v%FULLVERSION%-%target_arch%.msi.done staging/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%.done"
scp -F %SSHCONFIG% Release\node.exe %STAGINGSERVER%:staging/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%/node.exe
scp -F %SSHCONFIG% Release\node.lib %STAGINGSERVER%:staging/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%/node.lib
scp -F %SSHCONFIG% node-v%FULLVERSION%-%target_arch%.msi %STAGINGSERVER%:staging/%DISTTYPEDIR%/v%FULLVERSION%/
ssh -F %SSHCONFIG% %STAGINGSERVER% "touch staging/%DISTTYPEDIR%/v%FULLVERSION%/node-v%FULLVERSION%-%target_arch%.msi.done staging/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%.done"
:run
@rem Run tests if requested.
@ -198,7 +198,7 @@ ssh -F %SSHCONFIG% %STAGINGSERVER% "touch staging/%DISTTYPEDIR%/v%FULLVERSION%/i
:build-node-weak
@rem Build node-weak if required
if "%buildnodeweak%"=="" goto run-tests
"%config%\iojs" deps\npm\node_modules\node-gyp\bin\node-gyp rebuild --directory="%~dp0test\gc\node_modules\weak" --nodedir="%~dp0."
"%config%\node" deps\npm\node_modules\node-gyp\bin\node-gyp rebuild --directory="%~dp0test\gc\node_modules\weak" --nodedir="%~dp0."
if errorlevel 1 goto build-node-weak-failed
goto run-tests
@ -219,7 +219,7 @@ goto jslint
:jslint
if not defined jslint goto exit
echo running jslint
%config%\iojs tools\eslint\bin\eslint.js src lib test --rulesdir tools\eslint-rules --reset --quiet
%config%\node tools\eslint\bin\eslint.js src lib test --rulesdir tools\eslint-rules --reset --quiet
goto exit
:create-msvs-files-failed
@ -250,7 +250,7 @@ set FULLVERSION=
for /F "usebackq tokens=*" %%i in (`python "%~dp0tools\getnodeversion.py"`) do set NODE_VERSION=%%i
if not defined NODE_VERSION (
echo Cannot determine current version of io.js
echo Cannot determine current version of Node.js
exit /b 1
)

Loading…
Cancel
Save