Socket
Socket
Sign inDemoInstall

mz

Package Overview
Dependencies
4
Maintainers
8
Versions
22
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    mz

modernize node.js to current ECMAScript standards


Version published
Weekly downloads
12M
increased by2.38%
Maintainers
8
Install size
55.4 kB
Created
Weekly downloads
 

Package description

What is mz?

The mz npm package provides promisified versions of core Node.js modules such as fs (filesystem), child_process, and others. It wraps these Node.js core modules in promises, thus allowing developers to use async/await syntax for cleaner and more readable asynchronous code. This package is particularly useful for avoiding callback hell and improving code maintainability.

What are mz's main functionalities?

File System Operations

This feature allows for performing file system operations like reading, writing, and deleting files asynchronously using promises. The code sample demonstrates reading a file asynchronously with async/await syntax.

const fs = require('mz/fs');

async function readFile() {
  try {
    const content = await fs.readFile('/path/to/file.txt', 'utf8');
    console.log(content);
  } catch (err) {
    console.error(err);
  }
}

readFile();

Executing Child Processes

This feature enables the execution of child processes asynchronously. The code sample shows how to list files in the current directory using the `ls -la` command in a child process, leveraging async/await for handling the asynchronous execution.

const exec = require('mz/child_process').exec;

async function listFiles() {
  try {
    const stdout = await exec('ls -la');
    console.log(stdout);
  } catch (err) {
    console.error(err);
  }
}

listFiles();

Other packages similar to mz

Readme

Source

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

Keywords

FAQs

Last updated on 13 Sep 2017

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc