purchase-mcp-server
Version:
Purchase and budget management server handling requisitions, purchase orders, expenses, budgets, and vendor management with ERP access for data extraction
34 lines • 1.17 kB
JavaScript
import dotenv from 'dotenv';
import path from 'path';
import fs from 'fs';
// Load environment-specific .env file
const NODE_ENV = process.env.NODE_ENV || 'development';
const envPath = path.resolve(process.cwd(), `.env.${NODE_ENV}`);
const defaultEnvPath = path.resolve(process.cwd(), '.env');
if (fs.existsSync(envPath)) {
dotenv.config({ path: envPath });
}
else {
dotenv.config({ path: defaultEnvPath });
}
// Parse and validate configuration
function createConfig() {
const config = {
environment: NODE_ENV,
companyName: '',
};
// Process all environment variables
Object.keys(process.env).forEach(envKey => {
const camelCaseKey = envKey.match(/^[a-z][a-zA-Z0-9]*$/)
? envKey
: envKey.toLowerCase().replace(/[_-]([a-z])/g, (_, letter) => letter.toUpperCase());
config[camelCaseKey] = process.env[envKey];
});
// Validate required fields
if (!config.companyName) {
throw new Error('Company name is mandatory. Please provide it via companyName environment variable.');
}
return config;
}
export const config = createConfig();
//# sourceMappingURL=index.js.map