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.

39 lines 2.04 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createHttpClient = void 0; const fs_extra_1 = __importDefault(require("fs-extra")); const path_1 = __importDefault(require("path")); const logger_1 = require("../utils/logger"); const http_client_1 = require("../templates/http-client"); const file_operations_1 = require("../utils/file-operations"); const logging_1 = require("../utils/logging"); const buildHttpClientFilePath = () => (0, file_operations_1.buildFilePath)(process.cwd(), 'src/lib/http-client.ts'); const logHttpClientGenerationSuccess = (log, targetPath) => { (0, logging_1.logSuccess)(log, 'HTTP client generated successfully!'); (0, logging_1.logInfo)(log, 'Location: ' + targetPath); (0, logging_1.logInfo)(log, '💡 You can now import it with: import { httpClient } from \'./lib/http-client\''); }; const createHttpClient = async (fileSystem = fs_extra_1.default, log = logger_1.logger, getTemplate = http_client_1.getHttpClientTemplate) => { const config = { targetPath: buildHttpClientFilePath(), template: getTemplate() }; try { const fileExists = await (0, file_operations_1.validateFileExists)(fileSystem, config.targetPath); if (fileExists) { (0, logging_1.logError)(log, 'HTTP client already exists at ' + config.targetPath); return; } await (0, file_operations_1.createDirectory)(fileSystem, path_1.default.dirname(config.targetPath)); await (0, file_operations_1.writeFile)(fileSystem, config.targetPath, config.template); logHttpClientGenerationSuccess(log, config.targetPath); } catch (error) { (0, logging_1.logError)(log, `Error creating HTTP client: ${error instanceof Error ? error.message : 'Unknown error'}`); } }; exports.createHttpClient = createHttpClient; //# sourceMappingURL=http-client.js.map