UNPKG

@paroicms/server

Version:
46 lines (45 loc) 1.92 kB
import type { AppLoggerLevel } from "@paroicms/internal-server-lib"; import type { JtFqdnSitePackConf, JtGoogleAuthConf, JtHttpRedirection, JtImageProcessorConf, JtLocalDevAccountConf, JtPlatformAdminAccountConf, JtSingleSiteConf, JtSubDomainSitePackConf, PluginStaticConfigurations } from "@paroicms/public-server-lib"; export type AppConf = SingleSiteAppConf | MultisiteAppConf; export interface AppConfBase { port: number; hostname?: string; publicProtocol: "http" | "https"; publicPort: number; adminUiPort: number; logLevel: "silent" | AppLoggerLevel; logFile?: string; allowRobots: boolean; immutableAssets: boolean; cacheTimeToIdle: CacheDuration; clearCacheAfterStart?: boolean; clearImageCacheAfterStart?: boolean; graphqlDevTools?: boolean; generateMissingDatabases?: boolean; googleAuth?: GoogleAuthConf; imageProcessor: ImageProcessorConf; localDevAccount?: LocalDevAccountConf; platformAdminAccounts?: PlatformAdminAccountConf[]; plugins: PluginStaticConfigurations; httpRedirections?: HttpRedirectionConf[]; } export type CacheDuration = `${number}d` | "disabled" | "infinite"; export interface SingleSiteAppConf extends AppConfBase { kind: "singleSite"; singleSite: SingleSiteConf; } export interface MultisiteAppConf extends AppConfBase { kind: "multisite"; platform: { dataDir: string; }; sitePacks: (FqdnSitePackConf | SubDomainSitePackConf)[]; } export type SingleSiteConf = JtSingleSiteConf; export type FqdnSitePackConf = JtFqdnSitePackConf; export type SubDomainSitePackConf = JtSubDomainSitePackConf; export type GoogleAuthConf = JtGoogleAuthConf; export type ImageProcessorConf = JtImageProcessorConf; export type LocalDevAccountConf = JtLocalDevAccountConf; export type PlatformAdminAccountConf = JtPlatformAdminAccountConf; export type HttpRedirectionConf = JtHttpRedirection;