UNPKG

ruch

Version:

Revolutionary React TypeScript CLI with hexagonal architecture & AI-powered development assistance. Create maintainable, scalable applications with domain-driven design and integrated AI tooling.

75 lines 3.09 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.removeFile = exports.createBackupFile = exports.fileExists = exports.readFile = exports.writeFileContent = exports.ensureDirectoryExists = exports.validateFileExists = exports.createFileSystem = void 0; const path_1 = __importDefault(require("path")); const fs_extra_1 = __importDefault(require("fs-extra")); const promises_1 = __importDefault(require("fs/promises")); const fs_1 = __importDefault(require("fs")); const createFileSystem = () => { return { writeFile: fs_extra_1.default.writeFile, readFile: fs_extra_1.default.readFile, readdir: fs_extra_1.default.readdir, stat: fs_extra_1.default.stat, remove: fs_extra_1.default.remove, mkdir: fs_extra_1.default.mkdir, async exists(filePath) { try { await promises_1.default.access(filePath); return true; } catch { return false; } } }; }; exports.createFileSystem = createFileSystem; const validateFileExists = async (fileSystem, filePath) => { return await fileSystem.exists(filePath); }; exports.validateFileExists = validateFileExists; const ensureDirectoryExists = async (fileSystem, dirPath) => { const exists = await fileSystem.exists(dirPath); if (!exists) { await fileSystem.mkdir(dirPath, { recursive: true }); } }; exports.ensureDirectoryExists = ensureDirectoryExists; const writeFileContent = async (fileSystem, filePath, content, encoding = 'utf8') => { const dir = path_1.default.dirname(filePath); await (0, exports.ensureDirectoryExists)(fileSystem, dir); await fileSystem.writeFile(filePath, content, encoding); }; exports.writeFileContent = writeFileContent; const readFile = async (fileSystem, filePath, encoding = 'utf8') => { return await fileSystem.readFile(filePath, encoding); }; exports.readFile = readFile; const fileExists = (filePath) => { return fs_1.default.existsSync(filePath); }; exports.fileExists = fileExists; // Utility functions for common operations const createBackupFile = async (fileSystem, originalPath) => { const timestamp = new Date().toISOString().replace(/[:.]/g, '-'); const backupPath = `${originalPath}.backup-${timestamp}`; const exists = await (0, exports.validateFileExists)(fileSystem, originalPath); if (exists) { const content = await (0, exports.readFile)(fileSystem, originalPath); await (0, exports.writeFileContent)(fileSystem, backupPath, content); } return backupPath; }; exports.createBackupFile = createBackupFile; const removeFile = async (fileSystem, filePath) => { const exists = await (0, exports.validateFileExists)(fileSystem, filePath); if (exists) { await fileSystem.remove(filePath); } }; exports.removeFile = removeFile; //# sourceMappingURL=file-operations.js.map