adr
Version:
轻量级架构记录工具 - Command-line tools for working with Architecture Decision Records
46 lines • 4.49 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.create = void 0;
let fs = require('fs');
let path = require('path');
let mkdirp = require('mkdirp');
const Config_1 = require("./Config");
const utils_1 = require("./utils");
const generate_1 = require("./generate");
function getTemplatePath(language) {
const fileExt = Config_1.default.getDocExtension();
const customTemplate = path.join(Config_1.default.getSavePath(), 'template.' + fileExt);
if (fs.existsSync(customTemplate)) {
return customTemplate;
}
else {
return __dirname + path.normalize('/templates/' + language + '.' + fileExt);
}
}
function createDecisions(name, savePath) {
let language = Config_1.default.getLanguage();
let raw = fs.readFileSync(getTemplatePath(language), 'utf8');
let newDate = utils_1.default.createDateString();
let fileName = utils_1.default.generateFileName(name);
let fileExt = Config_1.default.getDocExtension();
let newIndex = utils_1.default.getNewIndexString();
let fileData = raw.replace(/{NUMBER}/g, utils_1.default.getLatestIndex() + 1)
.replace(/{TITLE}/g, name)
.replace(/{DATE}/g, newDate);
let filePath = savePath + newIndex + '-' + fileName + '.' + fileExt;
fs.writeFileSync(filePath, fileData);
return filePath;
}
function create(name) {
let savePath = Config_1.default.getSavePath();
let i18n = utils_1.default.getI18n();
let fileExt = Config_1.default.getDocExtension();
console.log(i18n.logSavePath + savePath);
mkdirp.sync(savePath);
const filePath = createDecisions(name, savePath);
utils_1.default.openInEditor(path.join(process.cwd(), filePath));
let toc = generate_1.generate('toc', { output: false });
fs.writeFileSync(savePath + 'README.' + fileExt, toc + '\n');
}
exports.create = create;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jcmVhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQ3RCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUMxQixJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7QUFFOUIscUNBQTZCO0FBQzdCLG1DQUEyQjtBQUMzQix5Q0FBcUM7QUFFckMsU0FBUyxlQUFlLENBQUUsUUFBZ0I7SUFDeEMsTUFBTSxPQUFPLEdBQUcsZ0JBQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQTtJQUN4QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxDQUFBO0lBQzdFLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRTtRQUNqQyxPQUFPLGNBQWMsQ0FBQTtLQUN0QjtTQUFNO1FBQ0wsT0FBTyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsUUFBUSxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUMsQ0FBQTtLQUM1RTtBQUNILENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBRSxJQUFZLEVBQUUsUUFBNkI7SUFDbkUsSUFBSSxRQUFRLEdBQUcsZ0JBQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUNuQyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUM1RCxJQUFJLE9BQU8sR0FBRyxlQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtJQUN0QyxJQUFJLFFBQVEsR0FBRyxlQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDM0MsSUFBSSxPQUFPLEdBQUcsZ0JBQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQTtJQUV0QyxJQUFJLFFBQVEsR0FBRyxlQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtJQUN4QyxJQUFJLFFBQVEsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxlQUFLLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ2hFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO1NBQ3pCLE9BQU8sQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFFOUIsSUFBSSxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxHQUFHLEdBQUcsUUFBUSxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUE7SUFDbkUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFFcEMsT0FBTyxRQUFRLENBQUE7QUFDakIsQ0FBQztBQUVELFNBQWdCLE1BQU0sQ0FBRSxJQUFZO0lBQ2xDLElBQUksUUFBUSxHQUFHLGdCQUFNLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDbkMsSUFBSSxJQUFJLEdBQUcsZUFBSyxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQzFCLElBQUksT0FBTyxHQUFHLGdCQUFNLENBQUMsZUFBZSxFQUFFLENBQUE7SUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxDQUFBO0lBQ3hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFFckIsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUNoRCxlQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUE7SUFFdEQsSUFBSSxHQUFHLEdBQUcsbUJBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUM1QyxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxTQUFTLEdBQUcsT0FBTyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQTtBQUM5RCxDQUFDO0FBWkQsd0JBWUMifQ==
;