@t1mmen/srtd
Version:
Supabase Repeatable Template Definitions (srtd): 🪄 Live-reloading SQL templates for Supabase DX. Make your database changes reviewable and migrations maintainable! 🚀
44 lines (43 loc) • 1.41 kB
TypeScript
import EventEmitter from 'node:events';
import type { FSWatcher } from 'chokidar';
import type { ProcessedTemplateResult, TemplateStatus } from '../types.js';
declare global {
var __srtd_watchers: FSWatcher[];
}
export declare class TemplateManager extends EventEmitter implements Disposable {
private watcher;
private baseDir;
private buildLog;
private localBuildLog;
private config;
private templateCache;
private cacheTimeout;
private silent;
private processQueue;
private processingTemplate;
private processing;
private constructor();
[Symbol.dispose](): void;
static create(baseDir: string, options?: {
silent?: boolean;
}): Promise<TemplateManager>;
private isCacheValid;
private invalidateCache;
findTemplates(): Promise<string[]>;
getTemplateStatus(templatePath: string): Promise<TemplateStatus>;
private saveBuildLogs;
private handleTemplateChange;
private processTemplate;
private processNextTemplate;
watch(): Promise<{
close: () => Promise<void>;
}>;
applyTemplate(templatePath: string): Promise<ProcessedTemplateResult>;
buildTemplate(templatePath: string, force?: boolean): Promise<void>;
private log;
processTemplates(options: {
apply?: boolean;
generateFiles?: boolean;
force?: boolean;
}): Promise<ProcessedTemplateResult>;
}