43 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			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;
 |