y3-app
Version:
CLI to add your project structure
23 lines (22 loc) • 985 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createStructure = createStructure;
const promises_1 = require("fs/promises");
const path_1 = require("path");
async function createStructure(structure, basePath) {
// Ensure the base directory exists
await (0, promises_1.mkdir)(basePath, { recursive: true });
for (const [key, value] of Object.entries(structure)) {
const currentPath = (0, path_1.join)(basePath, key);
if (typeof value === 'string') {
// It's a file, ensure parent directory exists and write the content
await (0, promises_1.mkdir)((0, path_1.dirname)(currentPath), { recursive: true });
await (0, promises_1.writeFile)(currentPath, value);
}
else {
// It's a directory, create it and recurse
await (0, promises_1.mkdir)(currentPath, { recursive: true });
await createStructure(value, currentPath);
}
}
}