/** * The compute config contract: the shape of `prisma.compute.ts`. * * This module is the shared source of truth for every consumer of the * deploy graph (CLI, build-runner, scaffolding). It must stay free of * runtime dependencies so user config files can import it cheaply. */ export declare const COMPUTE_FRAMEWORKS: readonly ["nextjs", "nuxt", "astro", "hono", "nestjs", "tanstack-start", "bun"]; export type ComputeFramework = (typeof COMPUTE_FRAMEWORKS)[number]; export interface ComputeEnvConfig { /** Dotenv file path(s) resolved relative to the config file directory. */ file?: string | string[]; /** * Inline environment variable assignments. Values must be non-empty and * are deployed as-is. This file is committed — keep secrets in platform * branch config; consumers may ignore inline vars on git-push deploys. */ vars?: Record; } export interface ComputeBuildConfig { /** Build command run in the app root. `null` skips the build step. */ command?: string | null; /** Framework output path relative to the app root, e.g. ".next/standalone". */ outputDirectory?: string; } export interface ComputeAppConfig { /** Deployed app name. Defaults to the `apps` key, then consumer-side inference. */ name?: string; /** App directory relative to the config file. Defaults to the config file directory. */ root?: string; /** Framework to deploy. Defaults to detection from the app directory. */ framework?: ComputeFramework; /** Entrypoint path for Bun (and Hono) deploys, relative to the app root. */ entry?: string; /** HTTP port the deployed app listens on. Defaults to the framework default. */ httpPort?: number; /** Environment variables for the deploy. A string is shorthand for `{ file }`. */ env?: string | ComputeEnvConfig; /** Build settings. When present, these own the app's build configuration. */ build?: ComputeBuildConfig; } /** * `prisma.compute.ts` accepts exactly one of: * * - `app` — a repository that deploys a single app * - `apps` — a monorepo or multi-app repository, keyed by deploy target */ export type ComputeConfig = { app: ComputeAppConfig; apps?: never; } | { apps: Record; app?: never; }; /** * Identity helper that gives `prisma.compute.ts` full type checking: * * ```ts * import { defineComputeConfig } from "@prisma/compute-sdk/config"; * * export default defineComputeConfig({ * app: { framework: "hono", httpPort: 8080 }, * }); * ``` */ export declare function defineComputeConfig(config: ComputeConfig): ComputeConfig; //# sourceMappingURL=types.d.ts.map