tdd-guard
Version:
Automated Test-Driven Development enforcement for Claude Code
48 lines (47 loc) • 1.49 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildContext = buildContext;
const lintSchemas_1 = require("../contracts/schemas/lintSchemas");
const lintProcessor_1 = require("../processors/lintProcessor");
async function buildContext(storage) {
const [modifications, rawTest, todo, lint, instructions] = await Promise.all([
storage.getModifications(),
storage.getTest(),
storage.getTodo(),
storage.getLint(),
storage.getInstructions(),
]);
let processedLintData;
try {
if (lint) {
const rawLintData = lintSchemas_1.LintDataSchema.parse(JSON.parse(lint));
processedLintData = (0, lintProcessor_1.processLintData)(rawLintData);
}
else {
processedLintData = (0, lintProcessor_1.processLintData)();
}
}
catch {
processedLintData = (0, lintProcessor_1.processLintData)();
}
return {
modifications: formatModifications(modifications ?? ''),
test: rawTest ?? '',
todo: todo ?? '',
lint: processedLintData,
instructions: instructions ?? undefined,
};
}
function formatModifications(modifications) {
if (!modifications) {
return '';
}
try {
const parsed = JSON.parse(modifications);
return JSON.stringify(parsed, null, 2);
}
catch {
// If it's not valid JSON, leave it as is
return modifications;
}
}
;