android-wrapper/@capacitor/cli/dist/util/fs.js

43 lines
1.6 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.readdirp = exports.deleteFolderRecursive = exports.convertToUnixPath = void 0;
const fs_1 = require("fs");
const promises_1 = require("fs/promises");
const fs_extra_1 = require("fs-extra");
const path_1 = require("path");
const convertToUnixPath = (path) => {
return path.replace(/\\/g, '/');
};
exports.convertToUnixPath = convertToUnixPath;
const deleteFolderRecursive = (directoryPath) => {
if ((0, fs_extra_1.existsSync)(directoryPath)) {
(0, fs_extra_1.readdirSync)(directoryPath).forEach((file) => {
const curPath = (0, path_1.join)(directoryPath, file);
if ((0, fs_extra_1.lstatSync)(curPath).isDirectory()) {
(0, exports.deleteFolderRecursive)(curPath);
}
else {
(0, fs_extra_1.unlinkSync)(curPath);
}
});
(0, fs_extra_1.rmdirSync)(directoryPath);
}
};
exports.deleteFolderRecursive = deleteFolderRecursive;
async function readdirp(dir, { filter }) {
const dirContent = await (0, promises_1.readdir)(dir, { recursive: true });
const dirContentWalker = [];
const filteredContent = [];
dirContent.forEach((element) => {
const path = (0, path_1.join)(dir, element);
const stats = (0, fs_1.statSync)(path);
dirContentWalker.push({ path, stats });
});
dirContentWalker.forEach((element) => {
if (filter(element)) {
filteredContent.push(element.path);
}
});
return filteredContent;
}
exports.readdirp = readdirp;