UNPKG

vike

Version:

The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.

80 lines (79 loc) 2.46 kB
export { configDefinitionsBuiltIn }; export type { ConfigDefinition }; export type { ConfigDefinitions }; export type { ConfigDefinitionInternal }; export type { ConfigEffect }; import type { ConfigEnvInternal, ConfigEnv, ConfigValueSources, DefinedAtFilePath } from '../../../../../../shared/page-configs/PageConfig.js'; import type { Config, ConfigNameBuiltIn, ConfigNameGlobal } from '../../../../../../shared/page-configs/Config.js'; import { type ConfigDefinedAt } from '../../../../../../shared/page-configs/getConfigDefinedAt.js'; /** The meta definition of a config. * * https://vike.dev/meta */ type ConfigDefinition = { /** In what environment(s) the config value is loaded. * * https://vike.dev/meta */ env: ConfigEnv; /** Disable config overriding and make config values cumulative instead. * * @default false * * https://vike.dev/meta */ cumulative?: boolean; /** * Function called when the config value is defined. * * https://vike.dev/meta */ effect?: ConfigEffect; /** * Always load the configuration value, and as soon as possible. * * @default false * * https://vike.dev/meta */ eager?: boolean; /** * Whether the configuration always applies to all pages (no config inheritance). * * @default false * * https://vike.dev/extends#inheritance */ global?: boolean | ((value: unknown, moreInfo: { isGlobalLocation: boolean; }) => boolean); type?: string | string[]; }; /** * Function called when the config value is defined. * * https://vike.dev/meta */ type ConfigEffect = (config: { /** The config value. * * https://vike.dev/meta */ configValue: unknown; /** Where the config value is defined. * * https://vike.dev/meta */ configDefinedAt: ConfigDefinedAt; }) => Config | undefined; /** For Vike internal use */ type ConfigDefinitionInternal = Omit<ConfigDefinition, 'env'> & { _computed?: (configValueSources: ConfigValueSources) => unknown; _valueIsFilePath?: true; _userEffectDefinedAtFilePath?: DefinedAtFilePath; env: ConfigEnvInternal; }; type ConfigDefinitions = Record<string, // configName ConfigDefinitionInternal>; type ConfigDefinitionsBuiltIn = Record<ConfigNameBuiltIn | ConfigNameGlobal, ConfigDefinitionInternal>; declare const configDefinitionsBuiltIn: ConfigDefinitionsBuiltIn;