operatem
Version:
Simple metarepo management around git submodules
29 lines (25 loc) • 718 B
text/typescript
import { readFileSync } from 'fs';
import { join } from 'path';
export interface OperatemConfig {
submodules: string;
packages: string;
}
const DEFAULT_CONFIG: OperatemConfig = {
submodules: 'submodules',
packages: 'packages'
};
export function loadConfig(): OperatemConfig {
try {
// Look for operatem.json in current working directory
const configPath = join(process.cwd(), 'operatem.json');
const configFile = readFileSync(configPath, 'utf-8');
const config = JSON.parse(configFile) as Partial<OperatemConfig>;
return {
...DEFAULT_CONFIG,
...config
};
} catch {
// Return default config if file doesn't exist or is invalid
return DEFAULT_CONFIG;
}
}