UNPKG

@topgroup/diginext

Version:

A BUILD SERVER & CLI to deploy apps to any Kubernetes clusters.

59 lines (58 loc) 2.19 kB
"use strict"; 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;