|
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)) <[email protected]> (Technical Committee) |
270 |
| -* **Ben Noordhuis ** ( [@bnoordhuis](https://github.com/bnoordhuis)) <[email protected]> (Technical Committee) |
271 |
| -* **Bert Belder ** ( [@piscisaureus](https://github.com/piscisaureus)) <[email protected]> (Technical Committee) |
272 |
| -* **Fedor Indutny ** ( [@indutny](https://github.com/indutny)) <[email protected]> (Technical Committee) |
273 |
| -* **Trevor Norris ** ( [@trevnorris](https://github.com/trevnorris)) <[email protected]> (Technical Committee) |
274 |
| -* **Chris Dickinson ** ( [@chrisdickinson](https://github.com/chrisdickinson)) <[email protected]> (Technical Committee) |
275 |
| - - Release GPG key: 9554F04D7259F04124DE6B476D5A82AC7E37093B |
276 |
| -* **Colin Ihrig ** ( [@cjihrig](https://github.com/cjihrig)) <[email protected]> |
277 |
| -* **Mikeal Rogers ** ( [@mikeal](https://github.com/mikeal)) <[email protected]> |
278 |
| -* **Rod Vagg ** ( [@rvagg](https://github.com/rvagg)) <[email protected]> (Technical Committee) |
279 |
| - - Release GPG key: DD8F2338BAE7501E3DD5AC78C273792F7D83545D |
280 |
| -* **Thorsten Lorenz ** ( [@thlorenz](https://github.com/thlorenz)) <[email protected]> |
281 |
| -* **Stephen Belanger ** ( [@qard](https://github.com/qard)) <[email protected]> |
282 |
| -* **Jeremiah Senkpiel ** ( [@fishrock123](https://github.com/fishrock123)) <[email protected]> (Technical Committee) |
283 |
| - - Release GPG key: FD3A5288F042B6850C66B31F09FE44734EB7990E |
284 |
| -* **Evan Lucas ** ( [@evanlucas](https://github.com/evanlucas)) <[email protected]> |
285 |
| -* **Brendan Ashworth ** ( [@brendanashworth](https://github.com/brendanashworth)) <[email protected]> |
286 |
| -* **Vladimir Kurchatkin ** ( [@vkurchatkin](https://github.com/vkurchatkin)) <[email protected]> |
287 |
| -* **Nikolai Vavilov ** ( [@seishun](https://github.com/seishun)) <[email protected]> |
288 |
| -* **Nicu Micleușanu ** ( [@micnic](https://github.com/micnic)) <[email protected]> |
289 |
| -* **Aleksey Smolenchuk ** ( [@lxe](https://github.com/lxe)) <[email protected]> |
290 |
| -* **Shigeki Ohtsu ** ( [@shigeki](https://github.com/shigeki)) <[email protected]> |
291 |
| -* **Sam Roberts ** ( [@sam-github](https://github.com/sam-github)) <[email protected]> |
292 |
| -* **Wyatt Preul ** ( [@geek](https://github.com/geek)) <[email protected]> |
293 |
| -* **Brian White ** ( [@mscdex](https://github.com/mscdex)) <[email protected]> |
294 |
| -* **Christian Vaagland Tellnes ** ( [@tellnes](https://github.com/tellnes)) <[email protected]> |
295 |
| -* **Robert Kowalski ** ( [@robertkowalski](https://github.com/robertkowalski)) <[email protected]> |
296 |
| -* **Julian Duque ** ( [@julianduque](https://github.com/julianduque)) <[email protected]> |
297 |
| -* **Johan Bergström ** ( [@jbergstroem](https://github.com/jbergstroem)) <[email protected]> |
298 |
| -* **Roman Reiss ** ( [@silverwind](https://github.com/silverwind)) <[email protected]> |
299 |
| -* **Petka Antonov ** ( [@petkaantonov](https://github.com/petkaantonov)) <[email protected]> |
300 |
| -* **Yosuke Furukawa ** ( [@yosuke-furukawa](https://github.com/yosuke-furukawa)) <[email protected]> |
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