UNPKG

dynamate-design-to-code

Version:

A powerful tool for converting Figma designs into high-quality, production-ready code with built-in best practices and customizable rulesets

48 lines 2.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.writeGeneratedFiles = void 0; const promises_1 = require("fs/promises"); const path_1 = require("path"); /** * Write generated component files to disk */ async function writeGeneratedFiles(generated, outputDir, componentName) { try { // Create output directory if it doesn't exist await (0, promises_1.mkdir)(outputDir, { recursive: true }); // Write component file const componentPath = (0, path_1.join)(outputDir, `${componentName}.tsx`); await (0, promises_1.writeFile)(componentPath, generated.code); // Write styles if present if (generated.styles) { const stylesPath = (0, path_1.join)(outputDir, `${componentName}.module.css`); await (0, promises_1.writeFile)(stylesPath, generated.styles); } // Write types if present if (generated.types) { const typesPath = (0, path_1.join)(outputDir, `${componentName}.d.ts`); await (0, promises_1.writeFile)(typesPath, generated.types); } // Write stories if present if (generated.stories) { const storiesPath = (0, path_1.join)(outputDir, `${componentName}.stories.tsx`); await (0, promises_1.writeFile)(storiesPath, generated.stories); } // Write tests if present if (generated.tests) { const testsPath = (0, path_1.join)(outputDir, `${componentName}.test.tsx`); await (0, promises_1.writeFile)(testsPath, generated.tests); } // Write documentation if present if (generated.documentation) { const docsPath = (0, path_1.join)(outputDir, `${componentName}.md`); await (0, promises_1.writeFile)(docsPath, generated.documentation); } } catch (error) { const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred'; throw new Error(`Failed to write generated files: ${errorMessage}`); } } exports.writeGeneratedFiles = writeGeneratedFiles; //# sourceMappingURL=files.js.map