scripts/gen-specta.mjs
Rama main · réplica de lectura del repositorio original.
#!/usr/bin/env node
import { execSync } from 'node:child_process';
import { readFileSync, writeFileSync } from 'node:fs';
import { resolve } from 'node:path';
const ROOT = resolve(import.meta.dirname, '..');
const OUT = resolve(ROOT, 'src/lib/tauri/bindings.ts');
try {
execSync('cargo run --features specta-gen --bin gen-specta', {
cwd: resolve(ROOT, 'src-tauri'),
stdio: 'inherit',
});
} catch {
process.exit(1);
}
// Add header comment
try {
const content = readFileSync(OUT, 'utf8');
if (!content.startsWith('// AUTO-GENERATED')) {
writeFileSync(OUT, `// AUTO-GENERATED by gen-specta. Do not edit manually.\n${content}`);
}
console.log(`Types written to ${OUT}`);
} catch (err) {
console.error(`Failed to post-process generated file: ${err.message}`);
process.exit(1);
}