Files
openapi-clean-arch-gen/src/utils/filesystem.ts

32 lines
931 B
TypeScript

import fs from 'fs-extra';
import path from 'path';
import { logSuccess, logInfo } from './logger';
/** Creates the required Clean Architecture directory structure (idempotent). */
export function createDirectoryStructure(baseDir: string): void {
const dirs = [
path.join(baseDir, 'data/dtos'),
path.join(baseDir, 'data/repositories'),
path.join(baseDir, 'data/mappers'),
path.join(baseDir, 'domain/repositories'),
path.join(baseDir, 'domain/use-cases'),
path.join(baseDir, 'di/repositories'),
path.join(baseDir, 'di/use-cases'),
path.join(baseDir, 'entities/models')
];
dirs.forEach((dir) => {
fs.ensureDirSync(dir);
});
logSuccess('Directory structure created');
}
/** Removes a temporary directory and all its contents. */
export function cleanup(tempDir: string): void {
if (fs.existsSync(tempDir)) {
fs.removeSync(tempDir);
logInfo('Temporary files removed');
}
}