32 lines
931 B
TypeScript
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');
|
|
}
|
|
}
|