Skip to content
This repository was archived by the owner on Nov 21, 2018. It is now read-only.
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: nodejs/iojs.org
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: b6e9ace2d3a6465615392fa83a8b008c6dd84e58
Choose a base ref
..
head repository: nodejs/iojs.org
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 3b7242d1cc8cfcfb9fe1ee5cc156c2bfec4a12cf
Choose a head ref
Showing with 496 additions and 196 deletions.
  1. +132 −0 dist/es6.html
  2. +78 −69 dist/faq.html
  3. +60 −40 dist/index.html
  4. +217 −87 dist/style.css
  5. +9 −0 es6.html
  6. BIN images/1.0.0.png
132 changes: 132 additions & 0 deletions dist/es6.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="iojs">
<meta name="keywords" content="iojs, io.js, io js, javascript io, uv, libuv, node-forward, node forward, node, node.js, node.js forward, nodejs, nodejs forward, javascript">
<title>io.js - ES6 on io.js</title>
<link href='//fonts.googleapis.com/css?family=Lato:400,700' rel='stylesheet' type='text/css'>
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>

<header>
<div class="content">
<a href="index.html" class="logo">io.js</a>
<div class="spacer"></div>
<a href="faq.html">FAQ</a>
<a href="es6.html">ES6</a>
<a href="https://iojs.org/download/nightly/v1.0.0-nightly201501135ea716d895/doc/api/">Docs</a>
</div>
</header>

<div class="content">

<h1>ES6 on io.js</h1>

<div class="description">

<p>io.js is built against modern versions of <a href="https://code.google.com/p/v8/">V8</a>. By keeping up-to-date with the latest releases of this engine we ensure new features from the <a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">JavaScript ECMA-262 specification</a> are brought to io.js developers in a timely manner, as well as continued performance and stability improvements.</p>
<p>Version 1.0.0 of io.js ships with V8 3.31.71.4, which includes ES6 features well beyond version 3.26.33 that will be shipped with joyent/node@0.12.x.</p>
</div>

<div class="faq-item">

<h2 class="faq-title">No more --harmony flag</h2>
<div class="faq-body">
<p>On joyent/node@0.12.x (V8 3.26), the <code>--harmony</code> runtime flag enabled all <strong>completed</strong>, <strong>staged</strong> and <strong>in progress</strong> ES6 features together, in bulk (with the exception of nonstandard/non-harmonious semantics for <code>typeof</code> which were hidden under <code>--harmony-typeof</code>). This meant that some really buggy or even broken features like <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy">proxies</a> were just as readily available for developers as <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*">generators</a>, which had very little or even no known-issues. As such, it was best practice to either enable only certain features by using specific runtime harmony feature flags (e.g. <code>--harmony-generators</code>), or simply enable all of them and then use a restricted subset.</p>
<p>With io.js@1.x (V8 3.31+), all that complexity goes away. All harmony features are now logically split into three groups for <strong>shipping</strong>, <strong>staged</strong> and <strong>in progress</strong> features:</p>

<ul class="task-list">
<li>All <strong>shipping</strong> features, the ones that V8 has considered stable, like <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*">generators</a>, <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings">templates</a>, <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla#Additions_to_the_String_object">new string methods</a> and many others are turned <strong>on by default on io.js</strong> and do <strong>NOT</strong> require any kind of runtime flag. </li>
<li>Then there are <strong>staged</strong> features which are almost-completed features that haven't been completely tested or updated to the latest spec yet and therefore are not considered stable by the V8 team (e.g. there might be some edge cases left to discover). This is probably the equivalent of the state of <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*">generators</a> on 3.26. These are the "use at your own risk" type of features that now require a runtime flag: <code>--es_staging</code> (or its synonym, <code>--harmony</code>).</li>
<li>Finally, all <strong>in progress</strong> features can be activated individually by their respective harmony flag (e.g. <code>--harmony_arrow_functions</code>), although this is highly discouraged unless for testing purposes.</li>
</ul>
</div>

<h2 class="faq-title">
Which ES6 features ship with io.js by default (no runtime flag required)?
</h2>
<div class="faq-body">
<ul class="task-list">
<li>Block scoping</li>
<ul class="task-list">
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let">let</a></li>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const">const</a></li>
<li><code>function</code>-in-blocks (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode">strict mode only)</a></li>
</ul>
<li>Collections</li>
<ul class="task-list">
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map">Map</a></li>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap">WeakMap</a></li>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set">Set</a></li>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet">WeakSet</a></li>
</ul>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*">Generators</a></li>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#Numeric_literals">Binary and Octal literals</a></li>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promises</a></li>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla#Additions_to_the_String_object">New String methods</a></li>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol">Symbols</a></li>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings">Template strings</a></li>
</ul>

<p>You can view a more detailed list, including a comparison with other engines, on the <a href="https://kangax.github.io/compat-table/es6/">compat-table</a> project page.</p>
</div>
</div>

<div class="faq-item">
<h2 class="faq-title">
Which ES6 features are behind the --es_staging flag?
</h2>
<div class="faq-body">
<ul class="task-list">
<li><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/class">Classes</a> (strict mode only)</li>
<li><a href="https://github.com/lukehoban/es6features#enhanced-object-literals">Object literal extensions</a></li>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol"><code>Symbol.toStringTag</code></a> (user-definable results for <code>Object.prototype.toString</code>)</li>
<li><a href="https://github.com/lukehoban/es6features#arrows"><code>Arrow Functions</code></a></li>
</ul>
</div>
</div>

<div class="faq-item">

<h2 class="faq-title">
I have my infrastructure set up to leverage the --harmony flag. Should I remove it?
</h2>
<div class="faq-body">
<p>The current behaviour of the <code>--harmony</code> flag on io.js is to enable <strong>staged</strong> features only. After all, it is now a synonym of <code>--es_staging</code>. As mentioned above, these are completed features that have not been considered stable yet. If you want to play safe, especially on production environments, consider removing this runtime flag until it ships by default on V8 and, consequently, on io.js. If you keep this enabled, you should be prepared for further io.js upgrades to break your code if V8 changes their semantics to more closely follow the standard.</p>
</div>
</div>

<div class="faq-item">

<h2 class="faq-title">
How do I find which version of V8 ships with a particular version of io.js?
</h2>
<div class="faq-body">
<p>io.js provides a simple way to list all dependencies and respective versions that ship with a specific binary through the <code>process</code> global object. In case of the V8 engine, type the following in your terminal to retrieve its version:</p>
<div class="highlight highlight-sh"><pre>iojs -p process.versions.v8</span></pre></div>

<p>E.g. output: <code>3.31.71.4</code>.</p>

</div>
</div>
</div>

<footer class="content">
<nav>
<a href="https://github.com/iojs/io.js/issues">Github Issues</a><!--
--><a href="https://github.com/iojs">Github Org</a><!--
--><a href="http://webchat.freenode.net/?channels=io.js">IRC Chat</a><!--
--><a href="http://logs.libuv.org/io.js/latest">Logs</a><!--
--><a href="https://github.com/iojs/io.js/blob/v0.12/CONTRIBUTING.md#governance">Governance</a>
</nav>
</footer>

</body>

</html>
147 changes: 78 additions & 69 deletions dist/faq.html
Original file line number Diff line number Diff line change
@@ -1,75 +1,84 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="iojs">
<meta name="keywords" content="iojs, io.js, io js, javascript io, uv, libuv, node-forward, node forward, node, node.js, node.js forward, nodejs, nodejs forward, javascript">
<title>Javascript IO - FAQ</title>
<link href="style.css" rel="stylesheet" type="text/css">

</head>

<body>
<h2 class="brand">
<a href="index.html">
io.js
</a>
</h2>
<h1 class="heading">FAQ</h1>

<div class="faq-item">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="iojs">
<meta name="keywords" content="iojs, io.js, io js, javascript io, uv, libuv, node-forward, node forward, node, node.js, node.js forward, nodejs, nodejs forward, javascript">
<title>io.js - FAQ</title>
<link href='//fonts.googleapis.com/css?family=Lato:400,700' rel='stylesheet' type='text/css'>
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<h2 class="faq-title">
Q: What is io.js?
</h2>
<p class="faq-body">
<a href="https://github.com/iojs/io.js"><code>io.js</code></a> is a JavaScript platform that is compatible with <a href="https://nodejs.org">Node.js</a> &amp; <a href="https://www.npmjs.org/">npm</a>.
</p>
</div>
<div class="faq-item">

<h2 class="faq-title">
Q: How can I contribute?
</h2>
<p class="faq-body">
Everyone can help.
<br/>
<br/>

<code>io.js</code> adheres to a <strong><a href="https://github.com/iojs/io.js/blob/master/CONTRIBUTING.md#code-of-conduct">Code of Conduct</a></strong>, and contributions, releases, and contributorship are under an <strong><a href="https://github.com/iojs/io.js/blob/v0.12/CONTRIBUTING.md#governance">open governance</a></strong> model.
<br/>
<br/>

To get started, there are open <strong><a href="https://github.com/iojs/io.js/issues"> discussions on github</a></strong>, and we'd love to hear your feedback.
Becoming invloved in discussions is a good way to get a feel of where you can help out further. If there is
something there you feel you can tackle, please <strong><a href="https://github.com/iojs/io.js/blob/v0.12/CONTRIBUTING.md#code-contributions">make a pull request</a></strong>.
</br>
</br>
In addition, using <strong><a href="http://nodebug.me">Nodebug.me</a></strong> is a good way to help Triage the issues in the backlog.
</p>
</div>
<div class="faq-item">

<h2 class="faq-title">
Q: Where do discussons take place?
</h2>
<p class="faq-body">
There is an <strong>#io.js</strong> channel on Freenode IRC. We keep logs of the channel <a target="_blank" href="http://logs.libuv.org/io.js/latest">here</a>.
</p>
</div>
<div class="faq-item">

<h2 class="faq-title">
Q: What is open source governance?
</h2>
<p class="faq-body">
Open source governance advocates the application of the philosophies of the open source and open content movements in order to enable any interested party to add to the creation of the end product, as with a wiki document. Legislation is democratically opened to the general citizenry, employing their collective wisdom to benefit the decision-making process and improve democracy. <a href="http://en.wikipedia.org/wiki/Open-source_governance" target="_blank">[source]</a>
</p>
<body>

<header>
<div class="content">
<a href="index.html" class="logo">io.js</a>
<div class="spacer"></div>
<a href="faq.html">FAQ</a>
<a href="es6.html">ES6</a>
<a href="https://iojs.org/download/nightly/v1.0.0-nightly201501135ea716d895/doc/api/">Docs</a>
</div>
<a class="button" href="index.html">
Back to home
</a>
</body>
</header>

<div class="content">

<h1 class="heading">FAQ</h1>

<h2>
What is io.js?
</h2>
<p>
<a href="https://github.com/iojs/io.js">io.js</a> is a JavaScript platform that is compatible with <a href="https://nodejs.org">Node.js</a> &amp; <a href="https://www.npmjs.org/">npm</a>.
</p>


<h2>
How can I contribute?
</h2>
<p>
Everyone can help.
io.js adheres to a <a href="https://github.com/iojs/io.js/blob/master/CONTRIBUTING.md#code-of-conduct">code of conduct</a>, and contributions, releases, and contributorship are under an <a href="https://github.com/iojs/io.js/blob/v0.12/CONTRIBUTING.md#governance">open governance</a> model.
</p>
<p>
To get started, there are open <a href="https://github.com/iojs/io.js/issues"> discussions on github</a>, and we'd love to hear your feedback.
Becoming invloved in discussions is a good way to get a feel of where you can help out further. If there is
something there you feel you can tackle, please <a href="https://github.com/iojs/io.js/blob/v0.12/CONTRIBUTING.md#code-contributions">make a pull request</a>.


In addition, using <a href="http://nodebug.me">Nodebug.me</a> is a good way to help Triage the issues in the backlog.
</p>

<h2>
Where do discussons take place?
</h2>
<p>
There is an #io.js channel on Freenode IRC. We keep logs of the channel <a target="_blank" href="http://logs.libuv.org/io.js/latest">here</a>.
</p>


<h2>
What is open source governance?
</h2>
<p>
Open source governance advocates the application of the philosophies of the open source and open content movements in order to enable any interested party to add to the creation of the end product, as with a wiki document. Legislation is democratically opened to the general citizenry, employing their collective wisdom to benefit the decision-making process and improve democracy. <a href="http://en.wikipedia.org/wiki/Open-source_governance" target="_blank">[source]</a>
</p>

</div>

<footer class="content">
<nav>
<a href="https://github.com/iojs/io.js/issues">Github Issues</a><!--
--><a href="https://github.com/iojs">Github Org</a><!--
--><a href="http://webchat.freenode.net/?channels=io.js">IRC Chat</a><!--
--><a href="http://logs.libuv.org/io.js/latest">Logs</a><!--
--><a href="https://github.com/iojs/io.js/blob/v0.12/CONTRIBUTING.md#governance">Governance</a>
</nav>
</footer>

</body>

</html>
Loading