UNPKG

bit-bin

Version:

<a href="https://opensource.org/licenses/Apache-2.0"><img alt="apache" src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"></a> <a href="https://github.com/teambit/bit/blob/master/CONTRIBUTING.md"><img alt="prs" src="https://img.shields.io/b

97 lines (69 loc) 2.22 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; function _bluebird() { const data = require("bluebird"); _bluebird = function () { return data; }; return data; } function path() { const data = _interopRequireWildcard(require("path")); path = function () { return data; }; return data; } function _fsExtra() { const data = _interopRequireDefault(require("fs-extra")); _fsExtra = function () { return data; }; return data; } function _pMapSeries() { const data = _interopRequireDefault(require("p-map-series")); _pMapSeries = function () { return data; }; return data; } function _removeEmptyDir() { const data = _interopRequireDefault(require("./remove-empty-dir")); _removeEmptyDir = function () { return data; }; return data; } function _logger() { const data = _interopRequireDefault(require("../../logger/logger")); _logger = function () { return data; }; return data; } /** * This function will remove the list of files from fs * Then go to the folder of each file and remove it as well if it's empty */ var _default = /*#__PURE__*/function () { var _removeFilesAndEmptyDirsRecursively = (0, _bluebird().coroutine)(function* (filesPaths) { const dirs = filesPaths.map(filePath => path().dirname(filePath)); const deleteP = filesPaths.map(filePath => _fsExtra().default.remove(filePath)); _logger().default.info(`remove-files-and-empty-dirs-recursively deleting the following paths: ${filesPaths.join(', ')}`); yield Promise.all(deleteP); // Sorting it to make sure we will delete the inner dirs first const sortedDirs = dirs.sort().reverse(); yield (0, _pMapSeries().default)(sortedDirs, dir => (0, _removeEmptyDir().default)(dir)); return true; }); function removeFilesAndEmptyDirsRecursively(_x) { return _removeFilesAndEmptyDirsRecursively.apply(this, arguments); } return removeFilesAndEmptyDirsRecursively; }(); exports.default = _default;