- Early work by Ihab Awad (Google) and Kris Kowal (FastSoft)
- 2009-09: 2nd draft of module strawman, still very close to "closures as modules",
export x = 42
The proposal you’re about to read is not just a proposal. We have a working implementation of almost everything we discussed here. We encourage you to checkout and build our branch: our fork, with the relevant branch selected. Building and using the implementation will give you a better understanding of what using it as a developer is like.
Our implementation ended up differing from the proposal on some minor points. As our last action item before making a PR, we’re writing documentation on what we did. While I loathe pointing to tests in lieu of documentation, they will be helpful until we complete writing docs: the unit tests.
This repo also contains a bundled version of npm that has a new command, asset
. You can read the documentation for and goals of that comma
// See https://jsperf.com/acorn-top-level-parsing-experiment/1 for example | |
acorn.plugins.top_level = function (instance) { | |
// Could skip other things as well, but this | |
// is where the most time can be saved | |
instance.parseBlock = function () { | |
var node = this.startNode(); | |
var length = this.context.length; | |
do { | |
this.next(); |
You can install Node Nightlies/RCs via nvm using NVM_NODEJS_ORG_MIRROR
environment variable.
Install latest Node RC
NVM_NODEJS_ORG_MIRROR=https://nodejs.org/download/rc/ nvm i node
Install latest Node.js Nightly
NVM_NODEJS_ORG_MIRROR=https://nodejs.org/download/nightly/ nvm i node
var browserslist = require('browserslist'); | |
var request = require('sync-request'); | |
var res = request('GET', 'https://saucelabs.com/rest/v1/info/browsers/webdriver'); | |
function lookup(requestedBrowsers, cb) { | |
var result = {}; | |
var sauce = JSON.parse(res.getBody().toString()) | |
//console.log(sauce); |
function append(separator) { | |
return typeof separator === "string" ? appender(separator, "") : appender("", "").apply(this, arguments); | |
} | |
function appender(separator, s) { | |
return function tag(literalParts, ...computedParts) { | |
s += literalParts[0]; | |
for (let i = 1; i < literalParts.length; ++i) { | |
s += computedParts[i - 1] + literalParts[i]; | |
} |
> eshost host --list | |
┌──────────────┬─────────┬────────────────────────────────────────────────────┬─────────┐ | |
│ name │ type │ path │ args │ | |
├──────────────┼─────────┼────────────────────────────────────────────────────┼─────────┤ | |
│ chakra │ ch │ C:\Users\brterlso\projects\runify\hosts\ch.exe │ │ | |
├──────────────┼─────────┼────────────────────────────────────────────────────┼─────────┤ | |
│ node │ node │ c:\Program Files\nodejs\node.exe │ │ | |
├──────────────┼─────────┼────────────────────────────────────────────────────┼─────────┤ | |
│ spidermonkey │ jsshell │ C:\Users\brterlso\projects\runify\hosts\js.exe │ │ | |
├──────────────┼─────────┼────────────────────────────────────────────────────┼─────────┤ |
npm Users By Downloads (git.io/npm-top)
npm users sorted by the monthly downloads of their modules, for the range May 6, 2018 until Jun 6, 2018.
Metrics are calculated using top-npm-users.
# | User | Downloads |
---|
(function () { | |
var textarea; | |
function createTextArea() { | |
if (textarea) { | |
return textarea; | |
} | |
textarea = document.createElement('textarea'); | |
textarea.style.position = 'absolute'; | |
textarea.style.left = '-9999px'; | |
textarea.style.top = (window.pageYOffset || document.documentElement.scrollTop) + 'px'; |