@opengis/fastify-table
Version:
core-plugins
31 lines (22 loc) • 1.16 kB
JavaScript
// import dotenv from 'dotenv';
import { existsSync, readFileSync } from 'node:fs';
import unflattenObject from './server/plugins/util/funcs/unflattenObject.js';
const fileName = ['config.json', '/data/local/config.json'].find(el => (existsSync(el) ? el : null));
const config = fileName ? JSON.parse(readFileSync(fileName)) : {};
const { skipKeys = ['windir'] } = config;
// npm run dev === cross-env NODE_ENV=development
// alt: node --env=development
Object.assign(config, {
storageList: {},
allTemplates: config?.allTemplates || {},
skipCheckPolicyRoutes: [],
env: process.env?.NODE_ENV,
});
function loadEnvConfig() {
// node --env-file-if-exists=.env.dev --env-file-if-exists=.env server
if (config.trace) { console.log(Object.keys(process.env)); }
const configKeys = Object.keys(process.env).filter(key => !key.startsWith('npm_') && !skipKeys.includes(key) && (key.charAt(0) === key.charAt(0)?.toLowerCase?.() || key.includes('.'))).reduce((acc, curr) => ({ ...acc, [curr]: process.env[curr] }), {});
Object.assign(config, unflattenObject(configKeys));
}
loadEnvConfig();
export default config;