@topgroup/diginext
Version:
A BUILD SERVER & CLI to deploy apps to any Kubernetes clusters.
59 lines (58 loc) • 2.19 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getFolderStructure = exports.getSourceTree = exports.getDirectoriesInDirectory = void 0;
const fs_1 = require("fs");
const path_1 = __importDefault(require("path"));
const tree_node_cli_1 = __importDefault(require("tree-node-cli"));
function getDirectoriesInDirectory(directoryPath) {
try {
const files = (0, fs_1.readdirSync)(directoryPath);
const directories = files.filter((file) => (0, fs_1.statSync)(path_1.default.join(directoryPath, file)).isDirectory());
return directories;
}
catch (e) {
return [];
}
}
exports.getDirectoriesInDirectory = getDirectoriesInDirectory;
function getSourceTree(dir = process.cwd()) {
if (!(0, fs_1.existsSync)(dir))
throw new Error(`The specified directory does not exist.`);
const excludePatterns = [/node_modules/, /.git/, /.github/];
const str = (0, tree_node_cli_1.default)(dir, {
allFiles: true,
maxDepth: 4,
exclude: excludePatterns,
});
return str;
}
exports.getSourceTree = getSourceTree;
async function getFolderStructure(dir = process.cwd()) {
if (!(0, fs_1.existsSync)(dir))
throw new Error(`Directory not existed.`);
// scan directory for file structure:
const patterns = [
path_1.default.join(dir, "*"),
path_1.default.join(dir, "*/*"),
`!${path_1.default.join(dir, ".git*")}`,
`!${path_1.default.join(dir, "Dockerfile*")}`,
`!${path_1.default.join(dir, "docker-compose*")}`,
];
const globby = require("globby");
const files = await globby(patterns, {
expandDirectories: true,
gitignore: true,
});
// const dirs = getDirectoriesInDirectory(dir);
// files.push(...dirs.map((d) => `./${d}`));
const filesInStr = "\n- " +
files
.map((filePath) => filePath.replace(dir, "."))
.sort()
.join("\n- ");
return filesInStr;
}
exports.getFolderStructure = getFolderStructure;