schangxiang@126.com
2025-09-19 0821aa23eabe557c0d9ef5dbe6989c68be35d1fe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# mz-modules
 
Same as [mz], but wrap many popular modules rather than core API.
 
[![NPM version][npm-image]][npm-url]
[![build status][travis-image]][travis-url]
[![Test coverage][codecov-image]][codecov-url]
[![David deps][david-image]][david-url]
[![Known Vulnerabilities][snyk-image]][snyk-url]
[![npm download][download-image]][download-url]
 
[npm-image]: https://img.shields.io/npm/v/mz-modules.svg?style=flat-square
[npm-url]: https://npmjs.org/package/mz-modules
[travis-image]: https://img.shields.io/travis/node-modules/mz-modules.svg?style=flat-square
[travis-url]: https://travis-ci.org/node-modules/mz-modules
[codecov-image]: https://codecov.io/gh/node-modules/mz-modules/branch/master/graph/badge.svg
[codecov-url]: https://codecov.io/gh/node-modules/mz-modules
[david-image]: https://img.shields.io/david/node-modules/mz-modules.svg?style=flat-square
[david-url]: https://david-dm.org/node-modules/mz-modules
[snyk-image]: https://snyk.io/test/npm/mz-modules/badge.svg?style=flat-square
[snyk-url]: https://snyk.io/test/npm/mz-modules
[download-image]: https://img.shields.io/npm/dm/mz-modules.svg?style=flat-square
[download-url]: https://npmjs.org/package/mz-modules
 
Node require `>= 4.0.0`
 
## Usage
 
Install it
 
```bash
$ npm i mz-modules
```
 
Require it
 
```js
const mkdirp = require('mz-modules/mkdirp');
```
 
You can also require it from the main entry, but it will load other modules in mz-modules.
 
```js
const mkdirp = require('mz-modules').mkdirp;
```
 
Use it
 
```js
// Using promise
mkdirp('/path/to/dir').then(() => console.log('done'));
 
// Or if you are using async function
async function doSomething() {
  await mkdirp('/path/to/dir');
}
```
 
**Warning:** nextTick and setImmediate is little slower than callback, because promise queue is after nextTick.
 
## Modules
 
- `mz-modules/mkdirp` wrapped [mkdirp]
- `mz-modules/rimraf` wrapped [rimraf]
- `mz-modules/glob` wrapped [glob]
- `mz-modules/sleep` wrapped [ko-sleep]
- `mz-modules/nextTick` wrapped process.nextTick
- `mz-modules/setImmediate` wrapped setImmediate
- `mz-modules/pump` wrapped [pump]
 
## Contribute
 
You can request adding module to mz-modules
 
1. [Create a issue](https://github.com/node-modules/mz-modules/issues) let us know why you want to add the module.
1. Add a module, named `xx`
  - create `xx.js` that exports a function should return promise.
  - require `xx.js` in `index.js`
  - add a testcase for it in `test/xx.test.js`
  - add xx.js to files in `package.json`
1. Create a pull request
 
## License
 
[MIT](LICENSE)
 
[mz]: https://github.com/normalize/mz
[mkdirp]: https://github.com/substack/node-mkdirp
[rimraf]: https://github.com/isaacs/rimraf
[ko-sleep]: https://github.com/alsotang/ko-sleep
[glob]: https://github.com/isaacs/node-glob
[pump]: https://github.com/mafintosh/pump