@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
253 lines (252 loc) • 12.1 kB
text/typescript
import { AdminCopyDescriptor, LiteralCopy } from "../i18n/types.mjs";
import { LogTransport } from "../logger/types.mjs";
import { KVAdapterInstance } from "../kv/types.mjs";
import { MediaAdapterInstance } from "../media/types.mjs";
import { QueueAdapterInstance } from "../queue/types.mjs";
import { HttpExtensionRegister, LucidRouteDefinition } from "../http/types.mjs";
import { ImageProcessorInstance } from "../image-processor/types.mjs";
import { EmailAdapterInstance } from "../email/types.mjs";
import { ExternalMigrationFn } from "../db/types.mjs";
import z from "zod";
//#region src/libs/config/config-schema.d.ts
declare const ConfigSchema: z.ZodObject<{
db: z.ZodUnknown;
host: z.ZodOptional<z.ZodString>;
http: z.ZodOptional<z.ZodObject<{
security: z.ZodOptional<z.ZodObject<{
trustProxyHeaders: z.ZodOptional<z.ZodBoolean>;
cors: z.ZodOptional<z.ZodObject<{
origin: z.ZodOptional<z.ZodArray<z.ZodString>>;
allowHeaders: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.z.core.$strip>>;
headers: z.ZodOptional<z.ZodObject<{
contentSecurityPolicy: z.ZodOptional<z.ZodObject<{
defaultSrc: z.ZodOptional<z.ZodArray<z.ZodString>>;
baseUri: z.ZodOptional<z.ZodArray<z.ZodString>>;
childSrc: z.ZodOptional<z.ZodArray<z.ZodString>>;
connectSrc: z.ZodOptional<z.ZodArray<z.ZodString>>;
fontSrc: z.ZodOptional<z.ZodArray<z.ZodString>>;
formAction: z.ZodOptional<z.ZodArray<z.ZodString>>;
frameAncestors: z.ZodOptional<z.ZodArray<z.ZodString>>;
frameSrc: z.ZodOptional<z.ZodArray<z.ZodString>>;
imgSrc: z.ZodOptional<z.ZodArray<z.ZodString>>;
manifestSrc: z.ZodOptional<z.ZodArray<z.ZodString>>;
mediaSrc: z.ZodOptional<z.ZodArray<z.ZodString>>;
objectSrc: z.ZodOptional<z.ZodArray<z.ZodString>>;
sandbox: z.ZodOptional<z.ZodArray<z.ZodString>>;
scriptSrc: z.ZodOptional<z.ZodArray<z.ZodString>>;
scriptSrcAttr: z.ZodOptional<z.ZodArray<z.ZodString>>;
scriptSrcElem: z.ZodOptional<z.ZodArray<z.ZodString>>;
styleSrc: z.ZodOptional<z.ZodArray<z.ZodString>>;
styleSrcAttr: z.ZodOptional<z.ZodArray<z.ZodString>>;
styleSrcElem: z.ZodOptional<z.ZodArray<z.ZodString>>;
upgradeInsecureRequests: z.ZodOptional<z.ZodArray<z.ZodString>>;
workerSrc: z.ZodOptional<z.ZodArray<z.ZodString>>;
requireTrustedTypesFor: z.ZodOptional<z.ZodArray<z.ZodString>>;
trustedTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.z.core.$strip>>;
strictTransportSecurity: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
xFrameOptions: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
referrerPolicy: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
crossOriginResourcePolicy: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
crossOriginOpenerPolicy: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
crossOriginEmbedderPolicy: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
}, z.z.core.$strip>>;
}, z.z.core.$strip>>;
openAPI: z.ZodOptional<z.ZodObject<{
enabled: z.ZodBoolean;
}, z.z.core.$strip>>;
routes: z.ZodOptional<z.ZodArray<z.ZodCustom<LucidRouteDefinition, LucidRouteDefinition>>>;
extensions: z.ZodOptional<z.ZodArray<z.ZodObject<{
name: z.ZodString;
priority: z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>]>;
register: z.ZodCustom<HttpExtensionRegister, HttpExtensionRegister>;
}, z.z.core.$strip>>>;
}, z.z.core.$strip>>;
secrets: z.ZodObject<{
encryption: z.ZodString;
cookie: z.ZodString;
accessToken: z.ZodString;
refreshToken: z.ZodString;
}, z.z.core.$strip>;
logger: z.ZodObject<{
level: z.ZodUnion<readonly [z.ZodLiteral<"error">, z.ZodLiteral<"warn">, z.ZodLiteral<"info">, z.ZodLiteral<"debug">, z.ZodLiteral<"silent">]>;
transport: z.ZodOptional<z.ZodCustom<LogTransport, LogTransport>>;
}, z.z.core.$strip>;
auth: z.ZodOptional<z.ZodObject<{
password: z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;
}, z.z.core.$strip>;
providers: z.ZodOptional<z.ZodArray<z.ZodObject<{
key: z.ZodString;
name: z.ZodString;
icon: z.ZodOptional<z.ZodString>;
enabled: z.ZodBoolean;
type: z.ZodEnum<{
oidc: "oidc";
}>;
config: z.ZodDiscriminatedUnion<[z.ZodObject<{
type: z.ZodLiteral<"oidc">;
clientId: z.ZodString;
clientSecret: z.ZodString;
issuer: z.ZodURL;
authorizationEndpoint: z.ZodURL;
scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
tokenEndpoint: z.ZodOptional<z.ZodURL>;
userinfoEndpoint: z.ZodOptional<z.ZodURL>;
additionalAuthParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
mappers: z.ZodOptional<z.ZodObject<{
userInfo: z.ZodOptional<z.ZodAny>;
}, z.z.core.$strip>>;
}, z.z.core.$strip>], "type">;
}, z.z.core.$strip>>>;
}, z.z.core.$strip>>;
ai: z.ZodObject<{
enabled: z.ZodBoolean;
features: z.ZodObject<{
imageGeneration: z.ZodBoolean;
altGeneration: z.ZodBoolean;
customFieldGeneration: z.ZodBoolean;
}, z.z.core.$strip>;
}, z.z.core.$strip>;
localization: z.ZodOptional<z.ZodObject<{
locales: z.ZodArray<z.ZodObject<{
label: z.ZodString;
code: z.ZodString;
direction: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
ltr: "ltr";
rtl: "rtl";
}>>>;
}, z.z.core.$strip>>;
defaultLocale: z.ZodString;
}, z.z.core.$strip>>;
tenants: z.ZodOptional<z.ZodArray<z.ZodObject<{
key: z.ZodString;
name: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
type: z.ZodLiteral<"lucid.copy">;
key: z.ZodString;
values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>>;
defaultMessage: z.ZodOptional<z.ZodString>;
scope: z.ZodLiteral<"admin">;
}, z.z.core.$strict>, z.ZodObject<{
type: z.ZodLiteral<"lucid.literal">;
value: z.ZodString;
values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>>;
}, z.z.core.$strict>]>, z.ZodTransform<string | AdminCopyDescriptor | LiteralCopy, string | {
type: "lucid.copy";
key: string;
scope: "admin";
values?: Record<string, string | number | undefined> | undefined;
defaultMessage?: string | undefined;
} | {
type: "lucid.literal";
value: string;
values?: Record<string, string | number | undefined> | undefined;
}>>;
default: z.ZodOptional<z.ZodBoolean>;
}, z.z.core.$strip>>>;
i18n: z.ZodOptional<z.ZodObject<{
locales: z.ZodArray<z.ZodObject<{
label: z.ZodString;
code: z.ZodString;
direction: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
ltr: "ltr";
rtl: "rtl";
}>>>;
}, z.z.core.$strip>>;
defaultLocale: z.ZodString;
sources: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<URL, URL>]>>>;
}, z.z.core.$strip>>;
migrations: z.ZodOptional<z.ZodObject<{
sources: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<URL, URL>, z.ZodObject<{
name: z.ZodString;
migration: z.ZodCustom<ExternalMigrationFn, ExternalMigrationFn>;
}, z.z.core.$strip>]>>>;
}, z.z.core.$strip>>;
email: z.ZodOptional<z.ZodObject<{
from: z.ZodOptional<z.ZodObject<{
email: z.ZodString;
name: z.ZodString;
}, z.z.core.$strip>>;
simulate: z.ZodOptional<z.ZodBoolean>;
resendWindowDays: z.ZodOptional<z.ZodNumber>;
adapter: z.ZodOptional<z.ZodCustom<EmailAdapterInstance | Promise<EmailAdapterInstance> | (() => EmailAdapterInstance | Promise<EmailAdapterInstance>), EmailAdapterInstance | Promise<EmailAdapterInstance> | (() => EmailAdapterInstance | Promise<EmailAdapterInstance>)>>;
templates: z.ZodOptional<z.ZodObject<{
directory: z.ZodOptional<z.ZodString>;
rendered: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, z.z.core.$strip>>;
}, z.z.core.$strip>>;
media: z.ZodObject<{
adapter: z.ZodOptional<z.ZodCustom<MediaAdapterInstance | (() => MediaAdapterInstance | Promise<MediaAdapterInstance>) | Promise<MediaAdapterInstance>, MediaAdapterInstance | (() => MediaAdapterInstance | Promise<MediaAdapterInstance>) | Promise<MediaAdapterInstance>>>;
limits: z.ZodObject<{
storageBytes: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<false>]>;
uploadBytes: z.ZodNumber;
processedImagesPerFile: z.ZodNumber;
}, z.z.core.$strip>;
images: z.ZodObject<{
processor: z.ZodOptional<z.ZodCustom<ImageProcessorInstance | Promise<ImageProcessorInstance> | (() => ImageProcessorInstance | Promise<ImageProcessorInstance>), ImageProcessorInstance | Promise<ImageProcessorInstance> | (() => ImageProcessorInstance | Promise<ImageProcessorInstance>)>>;
presets: z.ZodRecord<z.ZodString, z.ZodObject<{
width: z.ZodOptional<z.ZodNumber>;
height: z.ZodOptional<z.ZodNumber>;
fit: z.ZodOptional<z.ZodEnum<{
fill: "fill";
cover: "cover";
contain: "contain";
inside: "inside";
outside: "outside";
}>>;
format: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"webp">, z.ZodLiteral<"avif">, z.ZodLiteral<"jpeg">, z.ZodLiteral<"png">]>>;
quality: z.ZodOptional<z.ZodNumber>;
}, z.z.core.$strip>>;
storeProcessed: z.ZodBoolean;
allowFormatQuery: z.ZodBoolean;
fallbackUrl: z.ZodOptional<z.ZodString>;
}, z.z.core.$strip>;
video: z.ZodObject<{
fallbackUrl: z.ZodOptional<z.ZodString>;
}, z.z.core.$strip>;
}, z.z.core.$strip>;
hooks: z.ZodArray<z.ZodObject<{
service: z.ZodString;
event: z.ZodString;
priority: z.ZodOptional<z.ZodNumber>;
handler: z.ZodUnknown;
}, z.z.core.$strip>>;
queue: z.ZodOptional<z.ZodObject<{
adapter: z.ZodOptional<z.ZodCustom<QueueAdapterInstance | Promise<QueueAdapterInstance> | (() => QueueAdapterInstance | Promise<QueueAdapterInstance>), QueueAdapterInstance | Promise<QueueAdapterInstance> | (() => QueueAdapterInstance | Promise<QueueAdapterInstance>)>>;
}, z.z.core.$strip>>;
kv: z.ZodOptional<z.ZodObject<{
adapter: z.ZodOptional<z.ZodCustom<KVAdapterInstance | Promise<KVAdapterInstance> | (() => KVAdapterInstance | Promise<KVAdapterInstance>), KVAdapterInstance | Promise<KVAdapterInstance> | (() => KVAdapterInstance | Promise<KVAdapterInstance>)>>;
namespace: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
}, z.z.core.$strip>>;
collections: z.ZodArray<z.ZodUnknown>;
plugins: z.ZodArray<z.ZodUnknown>;
build: z.ZodOptional<z.ZodObject<{
paths: z.ZodOptional<z.ZodObject<{
outDir: z.ZodOptional<z.ZodString>;
copyPublic: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
input: z.ZodString;
output: z.ZodOptional<z.ZodString>;
}, z.z.core.$strip>]>>>;
}, z.z.core.$strip>>;
watch: z.ZodOptional<z.ZodObject<{
ignore: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.z.core.$strip>>;
}, z.z.core.$strip>>;
retention: z.ZodOptional<z.ZodObject<{
defaultPurgeAfterDays: z.ZodOptional<z.ZodNumber>;
purgeAfterDays: z.ZodOptional<z.ZodObject<{
removedLocales: z.ZodOptional<z.ZodNumber>;
deletedUsers: z.ZodOptional<z.ZodNumber>;
deletedMedia: z.ZodOptional<z.ZodNumber>;
removedCollections: z.ZodOptional<z.ZodNumber>;
deletedDocuments: z.ZodOptional<z.ZodNumber>;
}, z.z.core.$strip>>;
}, z.z.core.$strip>>;
brand: z.ZodOptional<z.ZodObject<{
name: z.ZodOptional<z.ZodString>;
}, z.z.core.$strip>>;
}, z.z.core.$strip>;
//#endregion
export { ConfigSchema as default };
//# sourceMappingURL=config-schema.d.mts.map