You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					101 lines
				
				2.0 KiB
			
		
		
			
		
	
	
					101 lines
				
				2.0 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								# 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`.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								`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`.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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
							 |