mcp-product-manager
Version:
MCP Orchestrator for task and project management with web interface
33 lines • 1.55 kB
JavaScript
import { fileURLToPath } from 'url';
import { dirname, join } from 'path';
import fs from 'fs';
const __dirname = dirname(fileURLToPath(import.meta.url));
export const getDbPath = () => {
if (process.env.NODE_ENV === 'test') {
// SAFETY: Always use test database in test environment
const testDbPath = join(__dirname, '../../../test-coord.db');
console.error(`[TEST MODE] Using test database: ${testDbPath}`);
return testDbPath;
}
// Priority order for database path:
// 1. DB_PATH environment variable (set by CLI)
// 2. Local product-manager.db in current working directory
// 3. Embedded coordination.db in package
// Check for DATABASE_PATH or DB_PATH environment variables
const envDbPath = process.env.DATABASE_PATH || process.env.DB_PATH;
if (envDbPath) {
console.error(`[${process.env.NODE_ENV || 'DEVELOPMENT'}] Using database from environment: ${envDbPath}`);
return envDbPath;
}
// Check for local database in current working directory
const localDb = join(process.cwd(), 'product-manager.db');
if (fs.existsSync(localDb)) {
console.error(`[${process.env.NODE_ENV || 'DEVELOPMENT'}] Using local database: ${localDb}`);
return localDb;
}
// Fall back to embedded database
const embeddedDb = join(__dirname, '../../../coordination.db');
console.error(`[${process.env.NODE_ENV || 'DEVELOPMENT'}] Using embedded database: ${embeddedDb}`);
return embeddedDb;
};
//# sourceMappingURL=database-config.js.map