aboutsummaryrefslogtreecommitdiff
path: root/node_modules/shelljs/src/mkdir.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/shelljs/src/mkdir.js')
-rw-r--r--node_modules/shelljs/src/mkdir.js99
1 files changed, 0 insertions, 99 deletions
diff --git a/node_modules/shelljs/src/mkdir.js b/node_modules/shelljs/src/mkdir.js
deleted file mode 100644
index 44b1b2162..000000000
--- a/node_modules/shelljs/src/mkdir.js
+++ /dev/null
@@ -1,99 +0,0 @@
-var common = require('./common');
-var fs = require('fs');
-var path = require('path');
-
-common.register('mkdir', _mkdir, {
- cmdOptions: {
- 'p': 'fullpath',
- },
-});
-
-// Recursively creates 'dir'
-function mkdirSyncRecursive(dir) {
- var baseDir = path.dirname(dir);
-
- // Prevents some potential problems arising from malformed UNCs or
- // insufficient permissions.
- /* istanbul ignore next */
- if (baseDir === dir) {
- common.error('dirname() failed: [' + dir + ']');
- }
-
- // Base dir exists, no recursion necessary
- if (fs.existsSync(baseDir)) {
- fs.mkdirSync(dir, parseInt('0777', 8));
- return;
- }
-
- // Base dir does not exist, go recursive
- mkdirSyncRecursive(baseDir);
-
- // Base dir created, can create dir
- fs.mkdirSync(dir, parseInt('0777', 8));
-}
-
-//@
-//@ ### mkdir([options,] dir [, dir ...])
-//@ ### mkdir([options,] dir_array)
-//@ Available options:
-//@
-//@ + `-p`: full path (will create intermediate dirs if necessary)
-//@
-//@ Examples:
-//@
-//@ ```javascript
-//@ mkdir('-p', '/tmp/a/b/c/d', '/tmp/e/f/g');
-//@ mkdir('-p', ['/tmp/a/b/c/d', '/tmp/e/f/g']); // same as above
-//@ ```
-//@
-//@ Creates directories.
-function _mkdir(options, dirs) {
- if (!dirs) common.error('no paths given');
-
- if (typeof dirs === 'string') {
- dirs = [].slice.call(arguments, 1);
- }
- // if it's array leave it as it is
-
- dirs.forEach(function (dir) {
- try {
- var stat = fs.lstatSync(dir);
- if (!options.fullpath) {
- common.error('path already exists: ' + dir, { continue: true });
- } else if (stat.isFile()) {
- common.error('cannot create directory ' + dir + ': File exists', { continue: true });
- }
- return; // skip dir
- } catch (e) {
- // do nothing
- }
-
- // Base dir does not exist, and no -p option given
- var baseDir = path.dirname(dir);
- if (!fs.existsSync(baseDir) && !options.fullpath) {
- common.error('no such file or directory: ' + baseDir, { continue: true });
- return; // skip dir
- }
-
- try {
- if (options.fullpath) {
- mkdirSyncRecursive(path.resolve(dir));
- } else {
- fs.mkdirSync(dir, parseInt('0777', 8));
- }
- } catch (e) {
- var reason;
- if (e.code === 'EACCES') {
- reason = 'Permission denied';
- } else if (e.code === 'ENOTDIR' || e.code === 'ENOENT') {
- reason = 'Not a directory';
- } else {
- /* istanbul ignore next */
- throw e;
- }
- common.error('cannot create directory ' + dir + ': ' + reason, { continue: true });
- }
- });
- return '';
-} // mkdir
-module.exports = _mkdir;