1 | "use strict";
|
2 |
|
3 | const exec = require('child_process').exec;
|
4 | const existsSync = require('fs').existsSync;
|
5 | const sprintf = require('../string/format');
|
6 | const defer = require('../promise/defer');
|
7 |
|
8 | const IS_WINDOWS = require('os').platform() == 'win32';
|
9 |
|
10 | function rmrf(dir) {
|
11 | if(!existsSync(dir))
|
12 | return Promise.resolve(true);
|
13 |
|
14 | var defered = defer();
|
15 |
|
16 | var cmd = sprintf(IS_WINDOWS ? 'rd /s /q "%s"' : 'rm -rf "%s"', dir);
|
17 | exec(cmd, defered.chain);
|
18 | return defered;
|
19 | }
|
20 |
|
21 | module.exports = rmrf;
|