Add import template into tui. Fix tests that fail on macos. Fix some updates.

This commit is contained in:
2026-05-29 18:16:00 +02:00
parent 85746c3306
commit 2f8dad7d8d
20 changed files with 1748 additions and 46 deletions
+34
View File
@@ -0,0 +1,34 @@
/**
* Child-process entry point for loading a TS/JS template module.
*
* Usage (via tsx): `tsx template-module-loader.js <absolute-template-path>`
*
* Writes serialized Extended JSON to stdout. Errors go to stderr with exit code 1.
* Running in a subprocess isolates module evaluation from the wallet process.
*/
import { pathToFileURL } from "node:url";
import { serializeTemplate } from "@xo-cash/utils";
import type { XOTemplate } from "@xo-cash/types";
import { pickTemplateExport } from "./pick-template-export.js";
const templateFilePath = process.argv[2];
if (templateFilePath === undefined || templateFilePath.length === 0) {
console.error("Usage: template-module-loader <absolute-template-path>");
process.exit(1);
}
try {
const moduleUrl = pathToFileURL(templateFilePath).href;
const loadedModule = (await import(moduleUrl)) as Record<string, unknown>;
const template = pickTemplateExport(loadedModule);
process.stdout.write(serializeTemplate(template as XOTemplate));
} catch (error) {
const message =
error instanceof Error ? error.message : String(error);
console.error(`Failed to load template module: ${message}`);
process.exit(1);
}