adr
Version:
轻量级架构记录工具 - Command-line tools for working with Architecture Decision Records
89 lines • 5.23 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
let fs = require('fs');
let LRU = require('lru-cache');
let cache = new LRU({
max: 500
});
let path = require('path');
const utils_1 = require("./utils");
let DEFAULT_CONFIG = {
language: 'en',
path: utils_1.default.getWorkDir() + '/docs/adr/',
prefix: '',
digits: 4,
editor: 'code',
force_nfc: false,
extension: 'md'
};
function getAllConfig(defaultValue) {
if (!fs.existsSync(utils_1.default.getWorkDir() + '/.adr.json')) {
return defaultValue;
}
let config = fs.readFileSync(utils_1.default.getWorkDir() + '/.adr.json', 'utf8');
try {
let parsedConfig = JSON.parse(config);
cache.set('config', parsedConfig);
return parsedConfig;
}
catch (e) {
console.error(e);
return defaultValue;
}
}
function getConfig(key) {
let defaultValue = DEFAULT_CONFIG[key];
let config;
if (cache.get('config')) {
config = cache.get('config');
}
else {
config = getAllConfig(defaultValue);
}
if (config && config[key]) {
return config[key];
}
return defaultValue;
}
function getLanguage() {
return getConfig('language');
}
function getPrefix() {
return getConfig('prefix');
}
function getDigits() {
return getConfig('digits');
}
function getSavePath() {
return getConfig('path');
}
function getCachePath() {
return path.resolve(getConfig('path'), './.cache');
}
function getAssetsPath() {
return path.resolve(getConfig('path'), './assets');
}
function getEditor() {
return getConfig('editor');
}
function getForceNfc() {
return getConfig('force_nfc');
}
function getDocExtension() {
return getConfig('extension');
}
let Config = {
getAllConfig: getAllConfig,
getSavePath: getSavePath,
getLanguage: getLanguage,
getPrefix: getPrefix,
getDigits: getDigits,
getEditor: getEditor,
getConfig: getConfig,
getAssetsPath: getAssetsPath,
getCachePath: getCachePath,
getForceNfc: getForceNfc,
getDocExtension: getDocExtension
};
exports.default = Config;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9Db25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDdEIsSUFBSSxHQUFHLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0FBQzlCLElBQUksS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDO0lBQ2xCLEdBQUcsRUFBRSxHQUFHO0NBQ1QsQ0FBQyxDQUFBO0FBQ0YsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0FBRTFCLG1DQUEyQjtBQUUzQixJQUFJLGNBQWMsR0FBRztJQUNuQixRQUFRLEVBQUUsSUFBSTtJQUNkLElBQUksRUFBRSxlQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsWUFBWTtJQUN2QyxNQUFNLEVBQUUsRUFBRTtJQUNWLE1BQU0sRUFBRSxDQUFDO0lBQ1QsTUFBTSxFQUFFLE1BQU07SUFDZCxTQUFTLEVBQUUsS0FBSztJQUNoQixTQUFTLEVBQUUsSUFBSTtDQUNoQixDQUFBO0FBRUQsU0FBUyxZQUFZLENBQUUsWUFBb0I7SUFDekMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsZUFBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLFlBQVksQ0FBQyxFQUFFO1FBQ3JELE9BQU8sWUFBWSxDQUFBO0tBQ3BCO0lBQ0QsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxlQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQ3ZFLElBQUk7UUFDRixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3JDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFBO1FBRWpDLE9BQU8sWUFBWSxDQUFBO0tBQ3BCO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2hCLE9BQU8sWUFBWSxDQUFBO0tBQ3BCO0FBQ0gsQ0FBQztBQUVELFNBQVMsU0FBUyxDQUFFLEdBQVc7SUFDN0IsSUFBSSxZQUFZLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3RDLElBQUksTUFBTSxDQUFBO0lBQ1YsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ3ZCLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0tBQzdCO1NBQU07UUFDTCxNQUFNLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFBO0tBQ3BDO0lBQ0QsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3pCLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0tBQ25CO0lBRUQsT0FBTyxZQUFZLENBQUE7QUFDckIsQ0FBQztBQUVELFNBQVMsV0FBVztJQUNsQixPQUFPLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQTtBQUM5QixDQUFDO0FBRUQsU0FBUyxTQUFTO0lBQ2hCLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBQzVCLENBQUM7QUFFRCxTQUFTLFNBQVM7SUFDaEIsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUE7QUFDNUIsQ0FBQztBQUVELFNBQVMsV0FBVztJQUNsQixPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUMxQixDQUFDO0FBRUQsU0FBUyxZQUFZO0lBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUE7QUFDcEQsQ0FBQztBQUVELFNBQVMsYUFBYTtJQUNwQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFBO0FBQ3BELENBQUM7QUFFRCxTQUFTLFNBQVM7SUFDaEIsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUE7QUFDNUIsQ0FBQztBQUVELFNBQVMsV0FBVztJQUNsQixPQUFPLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQTtBQUMvQixDQUFDO0FBRUQsU0FBUyxlQUFlO0lBQ3RCLE9BQU8sU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0FBQy9CLENBQUM7QUFFRCxJQUFJLE1BQU0sR0FBRztJQUNYLFlBQVksRUFBRSxZQUFZO0lBQzFCLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLGFBQWEsRUFBRSxhQUFhO0lBQzVCLFlBQVksRUFBRSxZQUFZO0lBQzFCLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLGVBQWUsRUFBRSxlQUFlO0NBQ2pDLENBQUE7QUFFRCxrQkFBZSxNQUFNLENBQUEifQ==
;