freeCodeCamp/config/env.js

61 lines
1.5 KiB
JavaScript

const path = require('path');
const fs = require('fs');
if (process.env.FREECODECAMP_NODE_ENV !== 'production') {
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: home,
API_LOCATION: api,
FORUM_LOCATION: forum,
NEWS_LOCATION: news,
FORUM_PROXY: forumProxy,
NEWS_PROXY: newsProxy,
LOCALE: locale,
STRIPE_PUBLIC_KEY: stripePublicKey,
SERVICEBOT_ID: servicebotId,
ALGOLIA_APP_ID: algoliaAppId,
ALGOLIA_API_KEY: algoliaAPIKey,
PAYPAL_CLIENT_ID: paypalClientId,
DEPLOYMENT_ENV: deploymentEnv
} = process.env;
const locations = {
homeLocation: home,
apiLocation: api,
forumLocation: forum,
newsLocation: news,
forumProxy: forumProxy,
newsProxy: newsProxy
};
module.exports = Object.assign(locations, {
locale,
deploymentEnv,
stripePublicKey:
!stripePublicKey || stripePublicKey === 'pk_from_stripe_dashboard'
? null
: stripePublicKey,
servicebotId:
!servicebotId || servicebotId === 'servicebot_id_from_servicebot_dashboard'
? null
: servicebotId,
algoliaAppId:
!algoliaAppId || algoliaAppId === 'Algolia app id from dashboard'
? null
: algoliaAppId,
algoliaAPIKey:
!algoliaAPIKey || algoliaAPIKey === 'Algolia api key from dashboard'
? null
: algoliaAPIKey,
paypalClientId:
!paypalClientId || paypalClientId === 'id_from_paypal_dashboard'
? null
: paypalClientId
});