config.ts
Rama main · réplica de lectura del repositorio original.
import { readBrandingEnv, readBrandingLocked } from './utils/branding';
import {
resolveRuntimeInstanceConfig,
type InstanceConfigValues,
type RuntimeInstanceConfig,
} from './utils/runtimeInstanceConfig';
type ConfigType = InstanceConfigValues;
const config: ConfigType = {
baseUrl: import.meta.env.VITE_BASE_URL,
environment: import.meta.env.VITE_ENVIRONMENT,
googleCloudStorageBucket: import.meta.env.VITE_GOOGLE_CLOUD_STORAGE_BUCKET,
googleMapsApiKey: import.meta.env.VITE_GOOGLE_MAPS_API_KEY,
googleMapId: import.meta.env.VITE_GOOGLE_MAP_ID,
graphqlUrl: import.meta.env.VITE_GRAPHQL_URL,
logoutUrl: import.meta.env.VITE_LOGOUT_URL,
openCageApiKey: import.meta.env.VITE_OPEN_CAGE_API_KEY,
openGraphApiKey: import.meta.env.VITE_OPEN_GRAPH_API_KEY,
serverName: import.meta.env.VITE_SERVER_NAME,
// Human-facing site name used in the nav, page titles and SEO. Falls back to
// the server identifier and finally 'Untitled' so a missing
// VITE_SERVER_DISPLAY_NAME never renders as "undefined". Set
// VITE_SERVER_DISPLAY_NAME in the deploy for the desired branding.
serverDisplayName:
import.meta.env.VITE_SERVER_DISPLAY_NAME ||
import.meta.env.VITE_SERVER_NAME ||
'Untitled',
};
// Build-time branding defaults. Each key is overridable at container startup
// by its NUXT_PUBLIC_BRANDING_* counterpart once it reaches
// `runtimeConfig.public.branding` in nuxt.config.ts.
const brandingEnvDefaults = readBrandingEnv(import.meta.env);
const brandingLockedDefault = readBrandingLocked(import.meta.env);
const applyRuntimeInstanceConfig = (runtime: RuntimeInstanceConfig): void => {
Object.assign(
config,
resolveRuntimeInstanceConfig({ runtime, fallback: config })
);
};
export {
applyRuntimeInstanceConfig,
brandingEnvDefaults,
brandingLockedDefault,
config,
};