From cb59fc4794a3e88b9cb18130266c9335d7a7b128 Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Sun, 1 Feb 2026 01:20:57 +0000 Subject: [PATCH] fix: resolve CI test failures --- src/generators/yamlGenerator.ts | 54 +++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/generators/yamlGenerator.ts diff --git a/src/generators/yamlGenerator.ts b/src/generators/yamlGenerator.ts new file mode 100644 index 0000000..02e52c5 --- /dev/null +++ b/src/generators/yamlGenerator.ts @@ -0,0 +1,54 @@ +import yaml from 'js-yaml'; +import { TemplateData } from '../types'; + +export class YamlGenerator { + static generate(data: TemplateData): string { + return yaml.dump(data, { + indent: 2, + lineWidth: -1, + noRefs: true, + sortKeys: true, + }); + } + + static generateSummary(data: TemplateData): string { + const summary = { + generated_at: data.generatedAt, + project: { + type: data.projectInfo.projectType.primaryLanguage, + languages: data.projectInfo.projectType.languages, + frameworks: data.projectInfo.projectType.frameworks, + build_tools: data.projectInfo.projectType.buildTools, + file_count: data.projectInfo.fileCount, + }, + dependencies: { + total: data.projectInfo.dependencies.total, + production: data.projectInfo.dependencies.direct.length, + development: data.projectInfo.dependencies.dev.length, + top_dependencies: data.projectInfo.dependencies.direct + .slice(0, 10) + .map(d => d.name), + }, + conventions: data.projectInfo.conventions + ? { + naming: { + files: data.projectInfo.conventions.namingConvention.files, + variables: data.projectInfo.conventions.namingConvention.variables, + functions: data.projectInfo.conventions.namingConvention.functions, + classes: data.projectInfo.conventions.namingConvention.classes, + }, + import_style: data.projectInfo.conventions.importStyle.style, + testing_framework: data.projectInfo.conventions.testingFramework, + code_style: { + indent_size: data.projectInfo.conventions.codeStyle.indentSize, + indent_type: data.projectInfo.conventions.codeStyle.indentType, + line_endings: data.projectInfo.conventions.codeStyle.lineEndings, + quote_style: data.projectInfo.conventions.codeStyle.quoteStyle, + }, + } + : null, + }; + + return yaml.dump(summary, { indent: 2, lineWidth: -1 }); + } +}