freeCodeCamp/config/env.js

64 lines
1.8 KiB
JavaScript
Raw Normal View History

const path = require('path');
const fs = require('fs');
2020-11-27 15:32:50 +00:00
// PIPELINE_ENV is 'true' in the build pipeline
if (process.env.PIPELINE_ENV !== 'true') {
const envPath = path.resolve(__dirname, '../.env');
if (!fs.existsSync(envPath)) {
throw Error('.env not found, please copy sample.env to .env.');
}
require('dotenv').config({ path: envPath });
}
const {
HOME_LOCATION: homeLocation,
API_LOCATION: apiLocation,
FORUM_LOCATION: forumLocation,
NEWS_LOCATION: newsLocation,
RADIO_LOCATION: radioLocation,
CLIENT_LOCALE: clientLocale,
CURRICULUM_LOCALE: curriculumLocale,
SHOW_LOCALE_DROPDOWN_MENU: showLocaleDropdownMenu,
2019-11-13 14:10:49 +00:00
STRIPE_PUBLIC_KEY: stripePublicKey,
ALGOLIA_APP_ID: algoliaAppId,
2020-03-13 09:25:57 +00:00
ALGOLIA_API_KEY: algoliaAPIKey,
PAYPAL_CLIENT_ID: paypalClientId,
DEPLOYMENT_ENV: deploymentEnv,
SHOW_UPCOMING_CHANGES: showUpcomingChanges
} = process.env;
const locations = {
homeLocation,
apiLocation,
forumLocation,
newsLocation,
radioLocation: !radioLocation
? 'https://coderadio.freecodecamp.org'
: radioLocation
};
module.exports = Object.assign(locations, {
clientLocale,
curriculumLocale,
showLocaleDropdownMenu: showLocaleDropdownMenu === 'true',
deploymentEnv,
environment: process.env.FREECODECAMP_NODE_ENV || 'development',
stripePublicKey:
!stripePublicKey || stripePublicKey === 'pk_from_stripe_dashboard'
? null
: stripePublicKey,
algoliaAppId:
!algoliaAppId || algoliaAppId === 'app_id_from_algolia_dashboard'
? null
: algoliaAppId,
algoliaAPIKey:
!algoliaAPIKey || algoliaAPIKey === 'api_key_from_algolia_dashboard'
? null
2020-03-13 09:25:57 +00:00
: algoliaAPIKey,
paypalClientId:
!paypalClientId || paypalClientId === 'id_from_paypal_dashboard'
? null
: paypalClientId,
showUpcomingChanges: showUpcomingChanges === 'true'
});