67 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| /// <reference types="node"/>
 | |
| import * as fs from 'fs';
 | |
| 
 | |
| declare namespace makeDir {
 | |
| 	interface Options {
 | |
| 		/**
 | |
| 		Directory [permissions](https://x-team.com/blog/file-system-permissions-umask-node-js/).
 | |
| 
 | |
| 		@default 0o777
 | |
| 		*/
 | |
| 		readonly mode?: number;
 | |
| 
 | |
| 		/**
 | |
| 		Use a custom `fs` implementation. For example [`graceful-fs`](https://github.com/isaacs/node-graceful-fs).
 | |
| 
 | |
| 		Using a custom `fs` implementation will block the use of the native `recursive` option if `fs.mkdir` or `fs.mkdirSync` is not the native function.
 | |
| 
 | |
| 		@default require('fs')
 | |
| 		*/
 | |
| 		readonly fs?: typeof fs;
 | |
| 	}
 | |
| }
 | |
| 
 | |
| declare const makeDir: {
 | |
| 	/**
 | |
| 	Make a directory and its parents if needed - Think `mkdir -p`.
 | |
| 
 | |
| 	@param path - Directory to create.
 | |
| 	@returns The path to the created directory.
 | |
| 
 | |
| 	@example
 | |
| 	```
 | |
| 	import makeDir = require('make-dir');
 | |
| 
 | |
| 	(async () => {
 | |
| 		const path = await makeDir('unicorn/rainbow/cake');
 | |
| 
 | |
| 		console.log(path);
 | |
| 		//=> '/Users/sindresorhus/fun/unicorn/rainbow/cake'
 | |
| 
 | |
| 		// Multiple directories:
 | |
| 		const paths = await Promise.all([
 | |
| 			makeDir('unicorn/rainbow'),
 | |
| 			makeDir('foo/bar')
 | |
| 		]);
 | |
| 
 | |
| 		console.log(paths);
 | |
| 		// [
 | |
| 		// 	'/Users/sindresorhus/fun/unicorn/rainbow',
 | |
| 		// 	'/Users/sindresorhus/fun/foo/bar'
 | |
| 		// ]
 | |
| 	})();
 | |
| 	```
 | |
| 	*/
 | |
| 	(path: string, options?: makeDir.Options): Promise<string>;
 | |
| 
 | |
| 	/**
 | |
| 	Synchronously make a directory and its parents if needed - Think `mkdir -p`.
 | |
| 
 | |
| 	@param path - Directory to create.
 | |
| 	@returns The path to the created directory.
 | |
| 	*/
 | |
| 	sync(path: string, options?: makeDir.Options): string;
 | |
| };
 | |
| 
 | |
| export = makeDir;
 |