pinkmine/libs/event-emitter/src/configs/main-config.ts

24 lines
641 B
TypeScript

import { readFileSync } from 'fs';
import { join } from 'path';
import { parse } from 'jsonc-parser';
import { MainConfigModel } from '../models/main-config-model';
let data: MainConfigModel | null = null;
export default (): MainConfigModel => {
if (data) {
return data;
}
const userDefinedConfigPath =
process.env['REDMINE_ISSUE_EVENT_EMITTER_CONFIG_PATH'];
const defaultConfigPath = join('configs', 'issue-event-emitter-config.jsonc');
const configPath = userDefinedConfigPath || defaultConfigPath;
const rawData = readFileSync(configPath, {
encoding: 'utf-8',
});
data = parse(rawData);
return data;
};