node_modules
.bin
accepts
after
array-flatten
arraybuffer.slice
async-limiter
backo2
base64-arraybuffer
base64id
better-assert
blob
callsite
commander
component-bind
component-emitter
component-inherit
content-disposition
content-type
cookie
cookie-signature
debug
depd
destroy
diff
ee-first
encodeurl
engine.io
engine.io-client
engine.io-parser
escape-html
escape-string-regexp
etag
express
finalhandler
forwarded
fresh
glob
growl
has-binary2
has-cors
http-errors
indexof
inherits
ipaddr.js
isarray
jade
lru-cache
media-typer
merge-descriptors
methods
mime
mime-db
mime-types
minimatch
minimist
mkdirp
bin
examples
test
.travis.yml
LICENSE
index.js
package.json
readme.markdown
mocha
ms
negotiator
net
object-component
on-finished
parseqs
parseuri
parseurl
path-to-regexp
proxy-addr
qs
quick-local-ip
range-parser
safe-buffer
send
serve-static
setprototypeof
sigmund
socket.io
socket.io-adapter
socket.io-client
socket.io-parser
statuses
supports-color
to-array
to-iso-string
type-is
ultron
unpipe
utils-merge
vary
ws
xmlhttprequest-ssl
yeast
public
README.md
index.js
package-lock.json
package.json
101 lines
2.0 KiB
Markdown
101 lines
2.0 KiB
Markdown
# mkdirp
|
|
|
|
Like `mkdir -p`, but in node.js!
|
|
|
|
[](http://travis-ci.org/substack/node-mkdirp)
|
|
|
|
# example
|
|
|
|
## pow.js
|
|
|
|
```js
|
|
var mkdirp = require('mkdirp');
|
|
|
|
mkdirp('/tmp/foo/bar/baz', function (err) {
|
|
if (err) console.error(err)
|
|
else console.log('pow!')
|
|
});
|
|
```
|
|
|
|
Output
|
|
|
|
```
|
|
pow!
|
|
```
|
|
|
|
And now /tmp/foo/bar/baz exists, huzzah!
|
|
|
|
# methods
|
|
|
|
```js
|
|
var mkdirp = require('mkdirp');
|
|
```
|
|
|
|
## mkdirp(dir, opts, cb)
|
|
|
|
Create a new directory and any necessary subdirectories at `dir` with octal
|
|
permission string `opts.mode`. If `opts` is a non-object, it will be treated as
|
|
the `opts.mode`.
|
|
|
|
If `opts.mode` isn't specified, it defaults to `0777 & (~process.umask())`.
|
|
|
|
`cb(err, made)` fires with the error or the first directory `made`
|
|
that had to be created, if any.
|
|
|
|
You can optionally pass in an alternate `fs` implementation by passing in
|
|
`opts.fs`. Your implementation should have `opts.fs.mkdir(path, mode, cb)` and
|
|
`opts.fs.stat(path, cb)`.
|
|
|
|
## mkdirp.sync(dir, opts)
|
|
|
|
Synchronously create a new directory and any necessary subdirectories at `dir`
|
|
with octal permission string `opts.mode`. If `opts` is a non-object, it will be
|
|
treated as the `opts.mode`.
|
|
|
|
If `opts.mode` isn't specified, it defaults to `0777 & (~process.umask())`.
|
|
|
|
Returns the first directory that had to be created, if any.
|
|
|
|
You can optionally pass in an alternate `fs` implementation by passing in
|
|
`opts.fs`. Your implementation should have `opts.fs.mkdirSync(path, mode)` and
|
|
`opts.fs.statSync(path)`.
|
|
|
|
# usage
|
|
|
|
This package also ships with a `mkdirp` command.
|
|
|
|
```
|
|
usage: mkdirp [DIR1,DIR2..] {OPTIONS}
|
|
|
|
Create each supplied directory including any necessary parent directories that
|
|
don't yet exist.
|
|
|
|
If the directory already exists, do nothing.
|
|
|
|
OPTIONS are:
|
|
|
|
-m, --mode If a directory needs to be created, set the mode as an octal
|
|
permission string.
|
|
|
|
```
|
|
|
|
# install
|
|
|
|
With [npm](http://npmjs.org) do:
|
|
|
|
```
|
|
npm install mkdirp
|
|
```
|
|
|
|
to get the library, or
|
|
|
|
```
|
|
npm install -g mkdirp
|
|
```
|
|
|
|
to get the command.
|
|
|
|
# license
|
|
|
|
MIT
|