|
1 | | -io.js |
| 1 | +Node.js Foundation - Node.js |
2 | 2 | ===== |
3 | 3 |
|
4 | | -[](https://gitter.im/iojs/io.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) |
| 4 | +This repository is the working repository for the proposed convergence of the |
| 5 | +http://github.com/iojs/io.js and http://github.com/joyent/node projects under |
| 6 | +the Node.js Foundation. |
5 | 7 |
|
6 | | -This repository began as a GitHub fork of |
7 | | -[joyent/node](https://github.com/joyent/node). |
| 8 | +Contributions, releases, and contributorship are under the proposed |
| 9 | +Governance and Developer Policy for the soon-to-be-launched Node.js |
| 10 | +Foundation: |
8 | 11 |
|
9 | | -io.js contributions, releases, and contributorship are under an |
10 | | -[open governance model](./GOVERNANCE.md). |
11 | | -We intend to land, with increasing regularity, releases which are |
12 | | -compatible with the npm ecosystem that has been built to date for |
13 | | -Node.js. |
| 12 | +* https://github.com/joyent/nodejs-advisory-board/tree/master/governance-proposal |
| 13 | +* http://github.com/jasnell/dev-policy |
14 | 14 |
|
15 | | -## Is it io.js or IO.js or iojs or IOjs or iOjS? |
| 15 | +This project is operating with the oversight of the joint Node.js and io.js |
| 16 | +core technical teams. |
16 | 17 |
|
17 | | -The official name is **io.js**, which should never be capitalized, |
18 | | -especially not at the start of a sentence, unless it is being |
19 | | -displayed in a location that is customarily all-caps (such as |
20 | | -the title of man pages). |
21 | | - |
22 | | -## Download |
23 | | - |
24 | | -Binaries, installers, and source tarballs are available at |
25 | | -<https://iojs.org>. |
26 | | - |
27 | | -**Releases** are available at <https://iojs.org/dist/>, listed under |
28 | | -their version string. The <https://iojs.org/dist/latest/> symlink |
29 | | -will point to the latest release directory. |
30 | | - |
31 | | -**Nightly** builds are available at |
32 | | -<https://iojs.org/download/nightly/>, listed under their version |
33 | | -string which includes their date (in UTC time) and the commit SHA at |
34 | | -the HEAD of the release. |
35 | | - |
36 | | -**API documentation** is available in each release and nightly |
37 | | -directory under _docs_. <https://iojs.org/api/> points to the latest version. |
38 | | - |
39 | | -### Verifying Binaries |
40 | | - |
41 | | -Release and nightly download directories all contain a *SHASUM256.txt* |
42 | | -file that lists the SHA checksums for each file available for |
43 | | -download. To check that a downloaded file matches the checksum, run |
44 | | -it through `sha256sum` with a command such as: |
45 | | - |
46 | | -``` |
47 | | -$ grep iojs-vx.y.z.tar.gz SHASUMS256.txt | sha256sum -c - |
48 | | -``` |
49 | | - |
50 | | -_(Where "iojs-vx.y.z.tar.gz" is the name of the file you have |
51 | | -downloaded)_ |
52 | | - |
53 | | -Additionally, releases (not nightlies) have GPG signed copies of |
54 | | -SHASUM256.txt files available as SHASUM256.txt.asc. You can use `gpg` |
55 | | -to verify that the file has not been tampered with. |
56 | | - |
57 | | -To verify a SHASUM256.txt.asc, you will first need to import all of |
58 | | -the GPG keys of individuals authorized to create releases. They are |
59 | | -listed at the bottom of this README. Use a command such as this to |
60 | | -import the keys: |
61 | | - |
62 | | -``` |
63 | | -$ gpg --keyserver pool.sks-keyservers.net \ |
64 | | - --recv-keys DD8F2338BAE7501E3DD5AC78C273792F7D83545D |
65 | | -``` |
66 | | - |
67 | | -_(Include each of the key fingerprints at the end of this command.)_ |
68 | | - |
69 | | -You can then use `gpg --verify SHASUMS256.txt.asc` to verify that the |
70 | | -file has been signed by an authorized member of the io.js team. |
71 | | - |
72 | | -Once verified, use the SHASUMS256.txt.asc file to get the checksum for |
73 | | -the binary verification command above. |
74 | | - |
75 | | -## Build |
76 | | - |
77 | | -### Unix / Macintosh |
78 | | - |
79 | | -Prerequisites: |
80 | | - |
81 | | -* `gcc` and `g++` 4.8 or newer, or |
82 | | -* `clang` and `clang++` 3.4 or newer |
83 | | -* Python 2.6 or 2.7 |
84 | | -* GNU Make 3.81 or newer |
85 | | -* libexecinfo (FreeBSD and OpenBSD only) |
86 | | - |
87 | | -```text |
88 | | -$ ./configure |
89 | | -$ make |
90 | | -$ [sudo] make install |
91 | | -``` |
92 | | - |
93 | | -If your Python binary is in a non-standard location or has a |
94 | | -non-standard name, run the following instead: |
95 | | - |
96 | | -```text |
97 | | -$ export PYTHON=/path/to/python |
98 | | -$ $PYTHON ./configure |
99 | | -$ make |
100 | | -$ [sudo] make install |
101 | | -``` |
102 | | - |
103 | | -To run the tests: |
104 | | - |
105 | | -```text |
106 | | -$ make test |
107 | | -``` |
108 | | - |
109 | | -To build the documentation: |
110 | | - |
111 | | -```text |
112 | | -$ make doc |
113 | | -``` |
114 | | - |
115 | | -To read the documentation: |
116 | | - |
117 | | -```text |
118 | | -$ man doc/iojs.1 |
119 | | -``` |
120 | | - |
121 | | -### Windows |
122 | | - |
123 | | -Prerequisites: |
124 | | - |
125 | | -* [Python 2.6 or 2.7](https://www.python.org/downloads/) |
126 | | -* Visual Studio 2013 for Windows Desktop, or |
127 | | -* Visual Studio Express 2013 for Windows Desktop |
128 | | -* Basic Unix tools required for some tests, |
129 | | - [Git for Windows](http://git-scm.com/download/win) includes Git Bash |
130 | | - and tools which can be included in the global `PATH`. |
131 | | - |
132 | | -```text |
133 | | -> vcbuild nosign |
134 | | -``` |
135 | | - |
136 | | -To run the tests: |
137 | | - |
138 | | -```text |
139 | | -> vcbuild test |
140 | | -``` |
141 | | - |
142 | | -### Android / Android based devices, aka. Firefox OS |
143 | | - |
144 | | -Be sure you have downloaded and extracted [Android NDK] |
145 | | -(https://developer.android.com/tools/sdk/ndk/index.html) |
146 | | -before in a folder. Then run: |
147 | | - |
148 | | -``` |
149 | | -$ ./android-configure /path/to/your/android-ndk |
150 | | -$ make |
151 | | -``` |
152 | | - |
153 | | -### `Intl` (ECMA-402) support: |
154 | | - |
155 | | -[Intl](https://github.com/joyent/node/wiki/Intl) support is not |
156 | | -enabled by default. |
157 | | - |
158 | | -#### "small" (English only) support |
159 | | - |
160 | | -This option will build with "small" (English only) support, but |
161 | | -the full `Intl` (ECMA-402) APIs. With `--download=all` it will |
162 | | -download the ICU library as needed. |
163 | | - |
164 | | -Unix / Macintosh: |
165 | | - |
166 | | -```text |
167 | | -$ ./configure --with-intl=small-icu --download=all |
168 | | -``` |
169 | | - |
170 | | -Windows: |
171 | | - |
172 | | -```text |
173 | | -> vcbuild small-icu download-all |
174 | | -``` |
175 | | - |
176 | | -The `small-icu` mode builds with English-only data. You can add full |
177 | | -data at runtime. |
178 | | - |
179 | | -*Note:* more docs are on |
180 | | -[the joyent/node wiki](https://github.com/joyent/node/wiki/Intl). |
181 | | - |
182 | | -#### Build with full ICU support (all locales supported by ICU): |
183 | | - |
184 | | -With the `--download=all`, this may download ICU if you don't have an |
185 | | -ICU in `deps/icu`. |
186 | | - |
187 | | -Unix / Macintosh: |
188 | | - |
189 | | -```text |
190 | | -$ ./configure --with-intl=full-icu --download=all |
191 | | -``` |
192 | | - |
193 | | -Windows: |
194 | | - |
195 | | -```text |
196 | | -> vcbuild full-icu download-all |
197 | | -``` |
198 | | - |
199 | | -#### Build with no Intl support `:-(` |
200 | | - |
201 | | -The `Intl` object will not be available. This is the default at |
202 | | -present, so this option is not normally needed. |
203 | | - |
204 | | -Unix / Macintosh: |
205 | | - |
206 | | -```text |
207 | | -$ ./configure --with-intl=none |
208 | | -``` |
209 | | - |
210 | | -Windows: |
211 | | - |
212 | | -```text |
213 | | -> vcbuild intl-none |
214 | | -``` |
215 | | - |
216 | | -#### Use existing installed ICU (Unix / Macintosh only): |
217 | | - |
218 | | -```text |
219 | | -$ pkg-config --modversion icu-i18n && ./configure --with-intl=system-icu |
220 | | -``` |
221 | | - |
222 | | -#### Build with a specific ICU: |
223 | | - |
224 | | -You can find other ICU releases at |
225 | | -[the ICU homepage](http://icu-project.org/download). |
226 | | -Download the file named something like `icu4c-**##.#**-src.tgz` (or |
227 | | -`.zip`). |
228 | | - |
229 | | -Unix / Macintosh |
230 | | - |
231 | | -```text |
232 | | -# from an already-unpacked ICU: |
233 | | -$ ./configure --with-intl=[small-icu,full-icu] --with-icu-source=/path/to/icu |
234 | | -
|
235 | | -# from a local ICU tarball |
236 | | -$ ./configure --with-intl=[small-icu,full-icu] --with-icu-source=/path/to/icu.tgz |
237 | | -
|
238 | | -# from a tarball URL |
239 | | -$ ./configure --with-intl=full-icu --with-icu-source=http://url/to/icu.tgz |
240 | | -``` |
241 | | - |
242 | | -Windows |
243 | | - |
244 | | -First unpack latest ICU to `deps/icu` |
245 | | -[icu4c-**##.#**-src.tgz](http://icu-project.org/download) (or `.zip`) |
246 | | -as `deps/icu` (You'll have: `deps/icu/source/...`) |
247 | | - |
248 | | -```text |
249 | | -> vcbuild full-icu |
250 | | -``` |
251 | | - |
252 | | -## Resources for Newcomers |
253 | | - |
254 | | -* [CONTRIBUTING.md](./CONTRIBUTING.md) |
255 | | -* [GOVERNANCE.md](./GOVERNANCE.md) |
256 | | -* IRC: |
257 | | - [#io.js on Freenode.net](http://webchat.freenode.net?channels=io.js&uio=d4) |
258 | | -* [iojs/io.js on Gitter](https://gitter.im/iojs/io.js) |
259 | | - |
260 | | - |
261 | | - |
262 | | -## Current Project Team Members |
263 | | - |
264 | | -The io.js project team comprises a group of core collaborators and a sub-group |
265 | | -that forms the _Technical Committee_ (TC) which governs the project. For more |
266 | | -information about the governance of the io.js project, see |
267 | | -[GOVERNANCE.md](./GOVERNANCE.md). |
268 | | - |
269 | | -* **Isaac Z. Schlueter** ([@isaacs](https://github.com/isaacs)) <i@izs.me> (Technical Committee) |
270 | | -* **Ben Noordhuis** ([@bnoordhuis](https://github.com/bnoordhuis)) <info@bnoordhuis.nl> (Technical Committee) |
271 | | -* **Bert Belder** ([@piscisaureus](https://github.com/piscisaureus)) <bertbelder@gmail.com> (Technical Committee) |
272 | | -* **Fedor Indutny** ([@indutny](https://github.com/indutny)) <fedor.indutny@gmail.com> (Technical Committee) |
273 | | -* **Trevor Norris** ([@trevnorris](https://github.com/trevnorris)) <trev.norris@gmail.com> (Technical Committee) |
274 | | -* **Chris Dickinson** ([@chrisdickinson](https://github.com/chrisdickinson)) <christopher.s.dickinson@gmail.com> (Technical Committee) |
275 | | - - Release GPG key: 9554F04D7259F04124DE6B476D5A82AC7E37093B |
276 | | -* **Colin Ihrig** ([@cjihrig](https://github.com/cjihrig)) <cjihrig@gmail.com> |
277 | | -* **Mikeal Rogers** ([@mikeal](https://github.com/mikeal)) <mikeal.rogers@gmail.com> |
278 | | -* **Rod Vagg** ([@rvagg](https://github.com/rvagg)) <rod@vagg.org> (Technical Committee) |
279 | | - - Release GPG key: DD8F2338BAE7501E3DD5AC78C273792F7D83545D |
280 | | -* **Thorsten Lorenz** ([@thlorenz](https://github.com/thlorenz)) <thlorenz@gmx.de> |
281 | | -* **Stephen Belanger** ([@qard](https://github.com/qard)) <admin@stephenbelanger.com> |
282 | | -* **Jeremiah Senkpiel** ([@fishrock123](https://github.com/fishrock123)) <fishrock123@rocketmail.com> (Technical Committee) |
283 | | - - Release GPG key: FD3A5288F042B6850C66B31F09FE44734EB7990E |
284 | | -* **Evan Lucas** ([@evanlucas](https://github.com/evanlucas)) <evanlucas@me.com> |
285 | | -* **Brendan Ashworth** ([@brendanashworth](https://github.com/brendanashworth)) <brendan.ashworth@me.com> |
286 | | -* **Vladimir Kurchatkin** ([@vkurchatkin](https://github.com/vkurchatkin)) <vladimir.kurchatkin@gmail.com> |
287 | | -* **Nikolai Vavilov** ([@seishun](https://github.com/seishun)) <vvnicholas@gmail.com> |
288 | | -* **Nicu Micleușanu** ([@micnic](https://github.com/micnic)) <micnic90@gmail.com> |
289 | | -* **Aleksey Smolenchuk** ([@lxe](https://github.com/lxe)) <lxe@lxe.co> |
290 | | -* **Shigeki Ohtsu** ([@shigeki](https://github.com/shigeki)) <ohtsu@iij.ad.jp> |
291 | | -* **Sam Roberts** ([@sam-github](https://github.com/sam-github)) <vieuxtech@gmail.com> |
292 | | -* **Wyatt Preul** ([@geek](https://github.com/geek)) <wpreul@gmail.com> |
293 | | -* **Brian White** ([@mscdex](https://github.com/mscdex)) <mscdex@mscdex.net> |
294 | | -* **Christian Vaagland Tellnes** ([@tellnes](https://github.com/tellnes)) <christian@tellnes.com> |
295 | | -* **Robert Kowalski** ([@robertkowalski](https://github.com/robertkowalski)) <rok@kowalski.gd> |
296 | | -* **Julian Duque** ([@julianduque](https://github.com/julianduque)) <julianduquej@gmail.com> |
297 | | -* **Johan Bergström** ([@jbergstroem](https://github.com/jbergstroem)) <bugs@bergstroem.nu> |
298 | | -* **Roman Reiss** ([@silverwind](https://github.com/silverwind)) <me@silverwind.io> |
299 | | -* **Petka Antonov** ([@petkaantonov](https://github.com/petkaantonov)) <petka_antonov@hotmail.com> |
300 | | -* **Yosuke Furukawa** ([@yosuke-furukawa](https://github.com/yosuke-furukawa)) <yosuke.furukawa@gmail.com> |
301 | | - |
302 | | -Collaborators follow the [COLLABORATOR_GUIDE.md](./COLLABORATOR_GUIDE.md) in |
303 | | -maintaining the io.js project. |
| 18 | +Note: The original io.js README.md is temporarily renamed to iojs_README.md. |
0 commit comments