UNPKG

@flxbl-io/sfp

Version:

sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model

51 lines 3.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const fs = require("fs-extra"); const path = require("path"); class FileSystem { /** * List nested files within a directory * @param directory * @param includeDirectories * @returns */ static readdirRecursive(searchDirectory, includeDirectories = false, isAbsolute = false) { const result = []; if (!fs.lstatSync(searchDirectory).isDirectory()) throw new Error(`${searchDirectory} is not a directory`); (function readdirRecursiveHandler(directory) { const files = fs.readdirSync(directory); files.forEach((file) => { let filepath; if (isAbsolute) { filepath = path.resolve(directory, file); } else { filepath = path.join(directory, file); } if (fs.lstatSync(filepath).isDirectory()) { if (includeDirectories) { if (isAbsolute) { result.push(path.resolve(filepath)); } else { result.push(path.relative(searchDirectory, filepath)); } } readdirRecursiveHandler(filepath); } else { if (isAbsolute) { result.push(path.resolve(filepath)); } else { result.push(path.relative(searchDirectory, filepath)); } } }); })(searchDirectory); return result; } } exports.default = FileSystem; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsZVN5c3RlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlL3V0aWxzL0ZpbGVTeXN0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwrQkFBZ0M7QUFDaEMsNkJBQThCO0FBRTlCLE1BQXFCLFVBQVU7SUFDM0I7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQ25CLGVBQXVCLEVBQ3ZCLHFCQUE4QixLQUFLLEVBQ25DLGFBQXNCLEtBQUs7UUFFM0IsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1FBRTVCLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFdBQVcsRUFBRTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxlQUFlLHFCQUFxQixDQUFDLENBQUM7UUFFM0csQ0FBQyxTQUFTLHVCQUF1QixDQUFDLFNBQWlCO1lBQy9DLE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFbEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNuQixJQUFJLFFBQWdCLENBQUM7Z0JBQ3JCLElBQUksVUFBVSxFQUFFLENBQUM7b0JBQ2IsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUM3QyxDQUFDO3FCQUFNLENBQUM7b0JBQ0osUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUMxQyxDQUFDO2dCQUVELElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO29CQUN2QyxJQUFJLGtCQUFrQixFQUFFLENBQUM7d0JBQ3JCLElBQUksVUFBVSxFQUFFLENBQUM7NEJBQ2IsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7d0JBQ3hDLENBQUM7NkJBQU0sQ0FBQzs0QkFDSixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7d0JBQzFELENBQUM7b0JBQ0wsQ0FBQztvQkFDRCx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDdEMsQ0FBQztxQkFBTSxDQUFDO29CQUNKLElBQUksVUFBVSxFQUFFLENBQUM7d0JBQ2IsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7b0JBQ3hDLENBQUM7eUJBQU0sQ0FBQzt3QkFDSixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7b0JBQzFELENBQUM7Z0JBQ0wsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFcEIsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztDQUNKO0FBaERELDZCQWdEQyJ9