/** * JSON Schema for `prisma.compute.json`, built from the same constants as the * runtime validator so enums and key sets cannot drift. * * The schema exists for editor assistance ($schema autocomplete/validation) * and static tooling. It encodes structure, enums, and ranges; cross-field * rules (e.g. the custom framework requiring build output settings) stay in * `normalizeComputeConfig`, which remains the authority for every format. */ /** * Intended publish location of the compute config JSON Schema. The URL does * not resolve yet, so serializers omit `$schema` by default; once the schema * is hosted here, pass this constant to `serializeComputeConfigJson` to emit * it in generated configs. */ export declare const COMPUTE_CONFIG_JSON_SCHEMA_URL = "https://schemas.prisma.io/compute.schema.json"; /** * The compute config JSON Schema document (draft-07 for the broadest editor * support). Publish this at `COMPUTE_CONFIG_JSON_SCHEMA_URL`. */ export declare const COMPUTE_CONFIG_JSON_SCHEMA: { readonly $schema: "http://json-schema.org/draft-07/schema#"; readonly $id: "https://schemas.prisma.io/compute.schema.json"; readonly title: "Prisma Compute config"; readonly description: "Static serialization of the Prisma Compute config. Define app for a single-app repository or apps for a multi-app repository."; readonly type: "object"; readonly additionalProperties: false; readonly properties: { readonly $schema: { readonly type: "string"; }; readonly region: { readonly description: "Default region used when creating new apps. Existing apps keep their current region."; readonly enum: readonly ["us-east-1", "us-west-1", "eu-west-3", "eu-central-1", "ap-northeast-1", "ap-southeast-1"]; }; readonly app: { readonly type: "object"; readonly additionalProperties: false; readonly properties: { readonly name: { readonly description: "Deployed app name. Defaults to inference."; readonly type: "string"; readonly minLength: 1; }; readonly region: { readonly description: "App region override. Defaults to the project region."; readonly enum: readonly ["us-east-1", "us-west-1", "eu-west-3", "eu-central-1", "ap-northeast-1", "ap-southeast-1"]; }; readonly root: { readonly description: "App directory relative to the config file. Defaults to the config file directory."; readonly type: "string"; readonly minLength: 1; }; readonly framework: { readonly description: "Framework to deploy. Defaults to detection from the app directory."; readonly enum: readonly ["nextjs", "nuxt", "astro", "hono", "nestjs", "tanstack-start", "custom", "bun"]; }; readonly entry: { readonly description: "Entrypoint path for Bun (and Hono) deploys, relative to the app root."; readonly type: "string"; readonly minLength: 1; }; readonly httpPort: { readonly description: "HTTP port the deployed app listens on. Defaults to the framework default."; readonly type: "integer"; readonly minimum: 1; readonly maximum: 65535; }; readonly env: { readonly description: "Environment variables for the deploy. A string is shorthand for a dotenv file path."; readonly oneOf: readonly [{ readonly type: "string"; readonly minLength: 1; }, { readonly type: "object"; readonly additionalProperties: false; readonly properties: { readonly file: { readonly description: "Dotenv file path(s) resolved relative to the config file directory."; readonly oneOf: readonly [{ readonly type: "string"; readonly minLength: 1; }, { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; }; }]; }; readonly vars: { readonly description: "Inline environment variable assignments. This file is committed — keep secrets in platform branch config."; readonly type: "object"; readonly additionalProperties: { readonly type: "string"; readonly minLength: 1; }; }; }; }]; }; readonly build: { readonly description: "Build settings. When present, these own the app's build configuration."; readonly type: "object"; readonly additionalProperties: false; readonly properties: { readonly command: { readonly description: "Build command run in the app root. null skips the build step."; readonly type: readonly ["string", "null"]; }; readonly outputDirectory: { readonly description: "Framework output path relative to the app root, e.g. \".next/standalone\"."; readonly type: "string"; readonly minLength: 1; }; readonly entrypoint: { readonly description: "Entrypoint for the built artifact, relative to outputDirectory when one is set."; readonly type: "string"; readonly minLength: 1; }; }; }; }; }; readonly apps: { readonly description: "Apps keyed by deploy target name."; readonly type: "object"; readonly minProperties: 1; readonly additionalProperties: { readonly type: "object"; readonly additionalProperties: false; readonly properties: { readonly name: { readonly description: "Deployed app name. Defaults to inference."; readonly type: "string"; readonly minLength: 1; }; readonly region: { readonly description: "App region override. Defaults to the project region."; readonly enum: readonly ["us-east-1", "us-west-1", "eu-west-3", "eu-central-1", "ap-northeast-1", "ap-southeast-1"]; }; readonly root: { readonly description: "App directory relative to the config file. Defaults to the config file directory."; readonly type: "string"; readonly minLength: 1; }; readonly framework: { readonly description: "Framework to deploy. Defaults to detection from the app directory."; readonly enum: readonly ["nextjs", "nuxt", "astro", "hono", "nestjs", "tanstack-start", "custom", "bun"]; }; readonly entry: { readonly description: "Entrypoint path for Bun (and Hono) deploys, relative to the app root."; readonly type: "string"; readonly minLength: 1; }; readonly httpPort: { readonly description: "HTTP port the deployed app listens on. Defaults to the framework default."; readonly type: "integer"; readonly minimum: 1; readonly maximum: 65535; }; readonly env: { readonly description: "Environment variables for the deploy. A string is shorthand for a dotenv file path."; readonly oneOf: readonly [{ readonly type: "string"; readonly minLength: 1; }, { readonly type: "object"; readonly additionalProperties: false; readonly properties: { readonly file: { readonly description: "Dotenv file path(s) resolved relative to the config file directory."; readonly oneOf: readonly [{ readonly type: "string"; readonly minLength: 1; }, { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; }; }]; }; readonly vars: { readonly description: "Inline environment variable assignments. This file is committed — keep secrets in platform branch config."; readonly type: "object"; readonly additionalProperties: { readonly type: "string"; readonly minLength: 1; }; }; }; }]; }; readonly build: { readonly description: "Build settings. When present, these own the app's build configuration."; readonly type: "object"; readonly additionalProperties: false; readonly properties: { readonly command: { readonly description: "Build command run in the app root. null skips the build step."; readonly type: readonly ["string", "null"]; }; readonly outputDirectory: { readonly description: "Framework output path relative to the app root, e.g. \".next/standalone\"."; readonly type: "string"; readonly minLength: 1; }; readonly entrypoint: { readonly description: "Entrypoint for the built artifact, relative to outputDirectory when one is set."; readonly type: "string"; readonly minLength: 1; }; }; }; }; }; readonly propertyNames: { readonly minLength: 1; }; }; }; readonly oneOf: readonly [{ readonly required: readonly ["app"]; }, { readonly required: readonly ["apps"]; }]; }; //# sourceMappingURL=json-schema.d.ts.map