Nitrate Processed Mincemeat
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    mzpublic

    MZ - Modernize node.js

    NPM version Build status Test coverage Dependency Status License Downloads

    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 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
    }

    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 (uses graceful-fs if available)
    • readline
    • zlib
    var exec = require('mz/child_process').exec
     
    exec('node --version').then(function (stdout) {
      console.log(stdout)
    })

    Promise Engine

    mz uses any-promise.

    FAQ

    Can I use this in production?

    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').

    Will this make my app faster?

    Nope, probably slower actually.

    Can I add more features?

    Sure. Open an issue.

    Currently, the plans are to eventually support:

    • New APIs in node.js that are not available in older versions of node
    • ECMAScript7 Streams

    install

    npm i mz

    Downloadslast 7 days

    405,593

    version

    2.7.0

    license

    MIT

    repository

    github.com

    last publish

    collaborators

    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar