Sha256: 08bb7151bdaf4d0d389a638ba04e750ed8075529a188cf277b0d5b5701c7a569

Contents?: true

Size: 1.07 KB

Versions: 62

Compression:

Stored size: 1.07 KB

Contents

var rimraf = require('rimraf');
var chmodr = require('chmodr');
var fs = require('./fs');

module.exports = function (dir, callback) {
    var checkAndRetry = function (e) {
        fs.lstat(dir, function (err, stats) {
            if (err) {
                if (err.code === 'ENOENT') return callback();
                return callback(e);
            }

            chmodr(dir, 0777, function (err) {
                if (err) return callback(e);
                rimraf(dir, callback);
            });
        });
    };

    if (process.platform === 'win32') {
        checkAndRetry();
    } else {
        rimraf(dir, checkAndRetry);
    }
};

module.exports.sync = function (dir) {
    var checkAndRetry = function () {
        try {
            fs.lstatSync(dir);
            chmodr.sync(dir, 0777);
            return rimraf.sync(dir);
        } catch (e) {
            if (e.code === 'ENOENT') return;
            throw e;
        }
    };

    try {
        return rimraf.sync(dir);
    } catch (e) {
        return checkAndRetry();
    } finally {
        return checkAndRetry();
    }
};

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
trusty-festivity-extension-2.6.3 node_modules/bower/lib/util/rimraf.js
trusty-festivity-extension-2.6.2 node_modules/bower/lib/util/rimraf.js
trusty-festivity-extension-2.6.1 node_modules/bower/lib/util/rimraf.js
trusty-festivity-extension-2.6 node_modules/bower/lib/util/rimraf.js
trusty-festivity-extension-2.5.19 node_modules/bower/lib/util/rimraf.js
trusty-festivity-extension-2.5.18 node_modules/bower/lib/util/rimraf.js
trusty-festivity-extension-2.5.17 node_modules/bower/lib/util/rimraf.js
trusty-festivity-extension-2.5.16 node_modules/bower/lib/util/rimraf.js
trusty-festivity-extension-2.5.15 node_modules/bower/lib/util/rimraf.js
trusty-festivity-extension-2.5.14 node_modules/bower/lib/util/rimraf.js
trusty-festivity-extension-2.5.13 node_modules/bower/lib/util/rimraf.js
trusty-festivity-extension-2.5.12 node_modules/bower/lib/util/rimraf.js
trusty-festivity-extension-2.5.11 node_modules/bower/lib/util/rimraf.js
trusty-festivity-extension-2.5.10 node_modules/bower/lib/util/rimraf.js
trusty-festivity-extension-2.5.9 node_modules/bower/lib/util/rimraf.js
trusty-festivity-extension-2.5.8 node_modules/bower/lib/util/rimraf.js
trusty-festivity-extension-2.5.7 node_modules/bower/lib/util/rimraf.js
trusty-festivity-extension-2.5.6 node_modules/bower/lib/util/rimraf.js
trusty-festivity-extension-2.5.5 node_modules/bower/lib/util/rimraf.js
trusty-festivity-extension-2.5.4 node_modules/bower/lib/util/rimraf.js