nm3clol-express-app/app/config.js

52 lines
2.3 KiB
JavaScript

console.log(`Configuring .env and expanding .env to include environment variable references.`);
const path = require('path');
const dotenv = require('dotenv');
const dotenvExpand = require('dotenv-expand');
let env = dotenv.config();
dotenvExpand.expand(env);
const getAppHttpHost = () => env.APP_HTTP_HOST||'nm3clol-express-app';
const getAppHttpPort = () => parseInt(env.APP_HTTP_PORT||env.PORT||3000);
const getAppHttpUrl = () => {
return env.APP_HTTP_URL || `http://${getAppHttpHost() + ((getAppHttpPort() === 80) ? '' : ':' + getAppHttpPort())}`
};
const getSiteName = () => env.SITE_NAME||"(dev) No Moss 3 Carbo Landfill Online Localhost";
const getSiteWelcomeMessage = () => env.SITE_WELCOME_MESSAGE||"Devel' It Up, Developer!";
const getSiteHost = () => env.SITE_HOST||"localhost";
const getSiteUrl = () => env.SITE_URL||getAppHttpUrl();
const getPublicPath = () => path.join(__dirname, '..', (env.PUBLIC_DIR||path.join('..', 'nm3clol-public')).replaceAll('\\', path.sep).replaceAll('/', path.sep));
const getPagesPath = () => path.join(__dirname, '..', (env.PAGES_DIR||'pages').replaceAll('\\', path.sep).replaceAll('/', path.sep));
const getStaticPath = () => path.join(__dirname, '..', (env.STATIC_DIR||'static').replaceAll('\\', path.sep).replaceAll('/', path.sep));
const getSolrDocsHost = () => env.SOLR_DOCS_HOST||'solr';
const getSolrDocsPort = () => parseInt(env.SOLR_DOCS_PORT||8983);
const getSolrDocsCore = () => env.SOLR_DOCS_CORE||'nm3clol_core';
const getSolrLawHost = () => env.SOLR_LAW_HOST||getSolrDocsHost();
const getSolrLawPort = () => parseInt(env.SOLR_LAW_PORT||getSolrDocsPort());
const getSolrLawCore = () => env.SOLR_LAW_CORE||'vacode_core';
module.exports = {
config: {
publicPath: getPublicPath(),
pagesPath: getPagesPath(),
staticPath: getStaticPath(),
siteName: getSiteName(),
siteWelcomeMessage: getSiteWelcomeMessage(),
siteHost: getSiteHost(),
siteUrl: getSiteUrl(),
appHttpHost: getAppHttpHost(),
appHttpPort: getAppHttpPort(),
appHttpUrl: getAppHttpUrl(),
solrDocsHost: getSolrDocsHost(),
solrDocsPort: getSolrDocsPort(),
solrDocsCore: getSolrDocsCore(),
solrLawHost: getSolrLawHost(),
solrLawPort: getSolrLawPort(),
solrLawCore: getSolrLawCore(),
}
};