/** * Prisma + tRPC Framework Plugin * * Handles Prisma database and tRPC API server detection, validation, * and deployment (migrations, etc.). */ import type { FactiiiConfig, Fix, DeployResult } from '../../../types/index.js'; interface DetectedConfig { has_prisma: boolean; has_trpc: boolean; prisma_schema?: string | null; prisma_version?: string | null; } declare class PrismaTrpcPlugin { static readonly id = "prisma-trpc"; static readonly name = "Prisma + tRPC"; static readonly category: 'framework'; static readonly version = "1.0.0"; static readonly requiredEnvVars: string[]; static readonly configSchema: Record; static readonly autoConfigSchema: Record; /** * Determine if this plugin should be loaded for this project * Loads if Prisma or tRPC is detected in package.json */ static shouldLoad(rootDir: string, _config: FactiiiConfig): Promise; static readonly fixes: Fix[]; /** * Auto-detect Prisma and tRPC configuration */ static detectConfig(rootDir: string): Promise; /** * Detect tRPC in the project */ static detectTrpc(rootDir: string): Promise; /** * Check if Prisma is installed in the project */ static hasPrisma(rootDir: string): Promise; /** * Find Prisma schema file */ static findPrismaSchema(rootDir: string): string | null; /** * Get Prisma version from package.json */ static getPrismaVersion(rootDir: string): string | null; /** * Check for port conflicts across repos in staging * Returns true if a conflict is detected (will throw error in scan) */ static checkPortConflicts(rootDir: string, config: FactiiiConfig): Promise; private _config; constructor(config: FactiiiConfig); /** * Deploy - run migrations for the environment */ deploy(_config: FactiiiConfig, environment: string): Promise; /** * Undeploy - nothing to do for Prisma */ undeploy(_config: FactiiiConfig, _environment: string): Promise; } export default PrismaTrpcPlugin; //# sourceMappingURL=index.d.ts.map