modernize node.js to current ECMAScript standards
JavaScript
1,368
77 commits
updated Dec 11, 2020
Modernize node.js to current ECMAScript specifications! node.js will not update their API to ES6+ for a while. This library is a wrapper for various aspects of node.js' API.
Set mz as a dependency and install it.
npm i mz
Then prefix the relevant require()s with mz/:
var fs = require('mz/fs')
fs.exists(__filename).then(function (exists) {
if (exists) // do something
})
With ES2017, this will allow you to use async functions cleanly with node's core API:
const fs = require('mz/fs')
async function doSomething () {
if (await fs.exists(__filename)) // do something
}
Many node methods are converted into promises. Any properties that are deprecated or aren't asynchronous will simply be proxied. The modules wrapped are:
child_processcryptodnsfs (uses graceful-fs if available)readlinezlibvar exec = require('mz/child_process').exec
exec('node --version').then(function (stdout) {
console.log(stdout)
})
mz uses any-promise.
Yes, Node 4.x ships with stable promises support. For older engines,
you should probably install your own promise implementation and register it with
require('any-promise/register')('bluebird').
Nope, probably slower actually.
Sure. Open an issue.
Currently, the plans are to eventually support:
Overall
Maintained
Code review
npm
Latest release
Releases this year
5,639 followers · starred Jan 2015
6,582 followers · starred May 2016
309 followers · starred Feb 2017
879 followers · starred Feb 2015
modernize node.js to current ECMAScript standards
JavaScript
1,368
77 commits
updated Dec 11, 2020
Modernize node.js to current ECMAScript specifications! node.js will not update their API to ES6+ for a while. This library is a wrapper for various aspects of node.js' API.
Set mz as a dependency and install it.
npm i mz
Then prefix the relevant require()s with mz/:
var fs = require('mz/fs')
fs.exists(__filename).then(function (exists) {
if (exists) // do something
})
With ES2017, this will allow you to use async functions cleanly with node's core API:
const fs = require('mz/fs')
async function doSomething () {
if (await fs.exists(__filename)) // do something
}
Many node methods are converted into promises. Any properties that are deprecated or aren't asynchronous will simply be proxied. The modules wrapped are:
child_processcryptodnsfs (uses graceful-fs if available)readlinezlibvar exec = require('mz/child_process').exec
exec('node --version').then(function (stdout) {
console.log(stdout)
})
mz uses any-promise.
Yes, Node 4.x ships with stable promises support. For older engines,
you should probably install your own promise implementation and register it with
require('any-promise/register')('bluebird').
Nope, probably slower actually.
Sure. Open an issue.
Currently, the plans are to eventually support:
Overall
Maintained
Code review
npm
Latest release
Releases this year
5,639 followers · starred Jan 2015
6,582 followers · starred May 2016
309 followers · starred Feb 2017
879 followers · starred Feb 2015