diff --git a/type-generation/extract.ts b/type-generation/extract.ts index 6320874..563c669 100644 --- a/type-generation/extract.ts +++ b/type-generation/extract.ts @@ -19,6 +19,14 @@ import { typeAliasIRToString, } from "./irToString.ts"; +import { mkdirSync, writeFileSync } from "fs"; +import { dirname } from "path"; + +function writeFileSyncHelper(filePath: string, content: string) { + mkdirSync(dirname(filePath), { recursive: true }); + writeFileSync(filePath, content, "utf-8"); +} + function topologicalSortClasses( nameToCls: Map, ): InterfaceIR[] { @@ -78,6 +86,10 @@ function fixupClassBases(nameToCls: Map): void { export function emitFiles(files: SourceFile[]): string[] { const result = convertFiles(files); + writeFileSyncHelper( + "../generated/js/ConversionResult.json", + JSON.stringify(result, null, 2), + ); return emitIR(result); }