mdz

0.1.0 • Public • Published

MDZ - Modernize node.js

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.

Installation and Usage

Set mdz as a dependency and install it.

npm i mdz

Then prefix the relevant require()s with mdz/:

var fs = require('mdz/fs')

fs.exists(__filename).then(function (exists) {
  if (exists) // do something
})

Personally, I use this with generator-based control flow libraries such as co so I don't need to use implementation-specific wrappers like co-fs.

var co = require('co')
var fs = require('mdz/fs')

co(function* () {
  if (yield fs.exists(__filename)) // do something
})()

Promisification

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_process
  • crypto
  • dns
  • fs
  • zlib
var exec = require('mdz/child_process').exec

exec('node --version').then(function (stdout) {
  console.log(stdout)
})

If you're using node v0.11.13+, the native v8 Promise is used. Otherwise, you must install bluebird yourself. If you want to force this library to use bluebird, set the MDZ_BLUEBIRD environmental variable:

export MDZ_BLUEBIRD=1

FAQ

Can I use this in production?

You may want to always use bluebird in production until v8 fixes and optimizes its Promise implementation.

Can I add more features?

Sure. Open an issue.

Readme

Keywords

none

Package Sidebar

Install

npm i mdz

Weekly Downloads

0

Version

0.1.0

License

MIT

Last publish

Collaborators

  • jongleberry