UNPKG

bknd

Version:

Lightweight Firebase/Supabase alternative built to run anywhere — incl. Next.js, React Router, Astro, Cloudflare, Bun, Node, AWS Lambda & more.

62 lines (61 loc) 1.76 kB
import type { AppPlugin, BkndConfig, MaybePromise, Merge } from ".."; export type BkndModeOptions = { /** * Whether the application is running in production. */ isProduction?: boolean; /** * Writer function to write the configuration to the file system */ writer?: (path: string, content: string) => MaybePromise<void>; /** * Configuration file path */ configFilePath?: string; /** * Types file path * @default "bknd-types.d.ts" */ typesFilePath?: string; /** * Syncing secrets options */ syncSecrets?: { /** * Whether to enable syncing secrets */ enabled?: boolean; /** * Output file path */ outFile?: string; /** * Format of the output file * @default "env" */ format?: "json" | "env"; /** * Whether to include secrets in the output file * @default false */ includeSecrets?: boolean; }; /** * Determines whether to automatically sync the schema if not in production. * @default true */ syncSchema?: boolean | { force?: boolean; drop?: boolean; }; }; export type BkndModeConfig<Args = any, Additional = {}> = BkndConfig<Args, Merge<BkndModeOptions & Additional>>; export declare function makeModeConfig<Args = any, Config extends BkndModeConfig<Args> = BkndModeConfig<Args>>({ app, ..._config }: Config, args: Args): Promise<{ config: Omit<Config, "app">; isProd: boolean | NonNullable<Config["isProduction"]>; plugins: AppPlugin[]; syncSchemaOptions: (Config["syncSchema"] & object) | { force: boolean; drop: boolean; }; }>;