// ATTENTION: DO NOT PUT ANY SECRETS IN HERE (or the .env) import dotenv from 'dotenv' dotenv.config() // we want to synchronize @nuxt-dotenv and nuxt-env // Load Package Details for some default values const pkg = require('../package') const environment = { NODE_ENV: process.env.NODE_ENV, DEBUG: process.env.NODE_ENV !== 'production' || false, PRODUCTION: process.env.NODE_ENV === 'production' || false, NUXT_BUILD: process.env.NUXT_BUILD || '.nuxt', } const server = { GRAPHQL_URI: process.env.GRAPHQL_URI || 'http://localhost:4000', BACKEND_TOKEN: process.env.BACKEND_TOKEN || 'NULL', WEBSOCKETS_URI: process.env.WEBSOCKETS_URI || 'ws://localhost:3000/api/graphql', } const sentry = { SENTRY_DSN_WEBAPP: process.env.SENTRY_DSN_WEBAPP, COMMIT: process.env.COMMIT, } const options = { VERSION: process.env.VERSION || pkg.version, DESCRIPTION: process.env.DESCRIPTION || pkg.description, MAPBOX_TOKEN: process.env.MAPBOX_TOKEN, PUBLIC_REGISTRATION: process.env.PUBLIC_REGISTRATION === 'true' || false, INVITE_REGISTRATION: process.env.INVITE_REGISTRATION !== 'false', // default = true // Cookies COOKIE_EXPIRE_TIME: process.env.COOKIE_EXPIRE_TIME || 730, // Two years by default COOKIE_HTTPS_ONLY: process.env.COOKIE_HTTPS_ONLY || process.env.NODE_ENV === 'production', // ensure true in production if not set explicitly BADGES_ENABLED: process.env.BADGES_ENABLED === 'true' || false, INVITE_LINK_LIMIT: process.env.INVITE_LINK_LIMIT || 7, NETWORK_NAME: process.env.NETWORK_NAME || 'Ocelot.social', ASK_FOR_REAL_NAME: process.env.ASK_FOR_REAL_NAME === 'true' || false, REQUIRE_LOCATION: process.env.REQUIRE_LOCATION === 'true' || false, } const language = { LANGUAGE_DEFAULT: process.env.LANGUAGE_DEFAULT || 'en', LANGUAGE_FALLBACK: process.env.LANGUAGE_FALLBACK || 'en', } const CONFIG = { ...environment, ...server, ...sentry, ...options, ...language, } // override process.env with the values here since they contain default values process.env = { ...process.env, ...CONFIG, } export default CONFIG