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

Commit

Permalink
Merge pull request #26 from snostorm/22_adds_dist_directory
Browse files Browse the repository at this point in the history
#22 Adds compiled assets directory
  • Loading branch information
snostorm committed Jan 20, 2015
2 parents e469939 + 791b298 commit f748837
Show file tree
Hide file tree
Showing 10 changed files with 325 additions and 298 deletions.
137 changes: 6 additions & 131 deletions es6.html
Original file line number Diff line number Diff line change
@@ -1,134 +1,9 @@
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="utf-8">
<title>io.js - ES6 on io.js</title>
<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">
<link href="https://fonts.googleapis.com/css?family=Lato:400,700" rel="stylesheet">
<link href="style.css" rel="stylesheet">
</head>

<body>

<header>
<div class="content">
<a href="/" 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/api/">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.3 of io.js ships with V8 4.1.0.7, 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 4.1+), 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></li>
</ul>

<div class="note">
As of v8 3.31.74.1, block-scoped declarations are <a href="https://groups.google.com/forum/#!topic/v8-users/3UXNCkAU8Es">intentionally implemented with a non-compliant limitation to strict mode code</a>. Developers should be aware that this will change as v8 continues towards ES6 specification compliance.
</div>

<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/JavaScript/Reference/Global_Objects/Symbol"><code>Symbol.toStringTag</code></a> (user-definable results for <code>Object.prototype.toString</code>)</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.74.1</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="https://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/v1.x/GOVERNANCE.md#readme">Governance</a>
</nav>
</footer>

</body>

<head>
<!-- NOTE FOR FUTURE DEVS: this is a _very_ temporary file
while iojs.org shifts server settings. Please remove me. -->
<meta http-equiv="refresh" content="0;./public/es6.html">
<script>window.location.href='./public/es6.html';</script>
</head>
</html>
91 changes: 6 additions & 85 deletions faq.html
Original file line number Diff line number Diff line change
@@ -1,88 +1,9 @@
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="utf-8">
<title>io.js - FAQ</title>
<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">
<link href="https://fonts.googleapis.com/css?family=Lato:400,700" rel="stylesheet">
<link href="style.css" rel="stylesheet">
</head>

<body>

<header>
<div class="content">
<a href="/" 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/api/">API Docs</a>
</div>
</header>

<div class="content">

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

<h2 id="what-is-io-js">What is io.js?</h2>
<p><a href="https://github.com/iojs/io.js">io.js</a> is a JavaScript platform built on <a href="http://code.google.com/p/v8/">Chrome's V8 runtime</a>. This project began as a fork of <a href="https://nodejs.org/">Joyent's Node.js™</a> and is compatible with
the <a href="https://www.npmjs.org/">npm</a> ecosystem.</p>
<p>Why? io.js aims to provide faster and predictable release cycles. It currently merges in the latest language, API and performance improvements to V8 while also updating libuv and other base libraries.</p>
<p>This project aims to continue development of io.js under an "<a href="https://github.com/iojs/io.js/blob/v1.x/GOVERNANCE.md#readme">open governance model</a>" as opposed to corporate stewardship.</p>

<h2 id="version">Version 1.0.x?</h2>
<p>io.js has moved to <a href="http://semver.org/">Semver</a>. The choice to release as 1.0.x was not to signify
that io.js should be considered production-ready, but because it was a significant enough release
from Node.js™ to warrant a major version increment.</p>
<p>Our <a href="https://github.com/iojs/io.js/blob/v1.x/CHANGELOG.md">CHANGELOG</a> for v1.x provides a <a href="https://github.com/iojs/io.js/blob/v1.x/CHANGELOG.md#summary-of-changes-from-nodejs-v01035-to-iojs-v100">summary of changes from Node.js v0.10.35 to io.js v1.0.x</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/v1.x/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/v1.x/GOVERNANCE.md#readme">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 involved 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/v1.x/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 discussions 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="https://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="https://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/v1.x/GOVERNANCE.md#readme">Governance</a>
</nav>
</footer>

</body>

<head>
<!-- NOTE FOR FUTURE DEVS: this is a _very_ temporary file
while iojs.org shifts server settings. Please remove me. -->
<meta http-equiv="refresh" content="0;./public/faq.html">
<script>window.location.href='./public/faq.html';</script>
</head>
</html>
88 changes: 6 additions & 82 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,85 +1,9 @@
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="utf-8">
<title>io.js - JavaScript I/O</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="io.js is an npm compatible platform originally based on node.js">
<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">
<link href="https://fonts.googleapis.com/css?family=Lato:400,700" rel="stylesheet">
<link href="style.css" rel="stylesheet">
<link rel="icon" href="/images/1.0.0.ico" type="image/x-icon">
<link rel="apple-touch-icon" href="/images/1.0.0.png">
<meta property="og:image" content="https://iojs.org/images/1.0.0.png">
<meta property="og:image:type" content="image/png">
<meta property="og:image:width" content="1369">
<meta property="og:image:height" content="1563">
</head>

<body>

<header>
<div class="content">
<a href="/" 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/api/">API Docs</a>
</div>
</header>

<div class="content">
<h1>JavaScript I/O</h1>

<p class="lead">
Bringing <a href="es6.html">ES6</a> to the Node Community!
</p>
<p class="lead">
<a href="https://github.com/iojs/io.js">io.js</a> is an <a href="https://www.npmjs.org/">npm</a> compatible platform originally based on <a href="https://nodejs.org/">node.js</a>&#8482;.
</p>

<div class="release">
<a href="https://iojs.org/dist/v1.0.3/" class="release-logo-link">
<img class="release-logo" src="images/1.0.0.png" />
</a>
<div class="release-details">
<span class="release-version">
<!-- Jan 13th 2015 -->
<a href="https://iojs.org/dist/v1.0.3/">Version 1.0.3 <em>(Unstable*)</em></a>
</span>
<br>
<span class="release-downloads">
Download for
<a href="https://iojs.org/dist/v1.0.3/iojs-v1.0.3-linux-x64.tar.xz">Linux</a>,
<a href="https://iojs.org/dist/v1.0.3/iojs-v1.0.3-x86.msi">Win32</a>, <a href="https://iojs.org/dist/v1.0.3/iojs-v1.0.3-x64.msi">Win64</a>,
or
<a href="https://iojs.org/dist/v1.0.3/iojs-v1.0.3.pkg">Mac</a>.
</span>
<br>
<span class="release-changelog">
<a href="https://github.com/iojs/io.js/blob/v1.x/CHANGELOG.md">Changelog</a>
</span>
</div>
</div>

<p class="lead">
<a href="https://iojs.org/download/nightly/">Nightly releases</a> are available for testing.<br>
* Unstable? Learn more about <a href="/faq.html#version">how we version io.js</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="https://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/v1.x/GOVERNANCE.md#readme">Governance</a>
</nav>
</footer>

</body>

<head>
<!-- NOTE FOR FUTURE DEVS: this is a _very_ temporary file
while iojs.org shifts server settings. Please remove me. -->
<meta http-equiv="refresh" content="0;./public/index.html">
<script>window.location.href='./public/index.html';</script>
</head>
</html>
Loading

0 comments on commit f748837

Please sign in to comment.