@constructor-io/constructorio-connect-cli
Version:
CLI tool to enable users to interface with the Constructor Connect Ecosystem
28 lines (27 loc) • 1.12 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.findDeepFiles = findDeepFiles;
const path_1 = __importDefault(require("path"));
const fs_extra_1 = __importDefault(require("fs-extra"));
const path_2 = require("../customer/path");
/**
* Returns all files recursively in the given directory
* @param dir Directory to search for files
* @returns All files in the given directory, including in subdirectories
*/
function findDeepFiles(dir) {
const files = fs_extra_1.default.readdirSync((0, path_2.getCustomerOSSpecificPath)(dir));
return files.reduce((files, currentPath) => {
const fullPath = path_1.default.join(dir, currentPath);
const resolvedPath = (0, path_2.getCustomerOSSpecificPath)(fullPath);
if (fs_extra_1.default.statSync(resolvedPath).isDirectory()) {
return [...files, ...findDeepFiles(fullPath)];
}
else {
return [...files, fullPath];
}
}, []);
}