UNPKG

1.21 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.writeChangelogFiles = void 0;
9
10var _path = _interopRequireDefault(require("path"));
11
12var _pifs = require("pifs");
13
14var _tsfn = require("tsfn");
15
16const writeChangelogFiles = async (logs, prefixes) => {
17 for (const log of logs) {
18 const changelogPath = _path.default.join(log.dir, 'changelog.md');
19
20 let newLog = `## v${log.version}\n\n`;
21 log.messages.forEach((message, index) => {
22 newLog += `* ${prefixes.required[message.type].value} ${message.value}\n`;
23
24 if ((0, _tsfn.isString)(message.description)) {
25 newLog += `\n \`\`\`\n ${message.description.replace(/\n/g, '\n ')}\n \`\`\`\n`;
26 }
27
28 if (index < log.messages.length - 1) {
29 newLog += '\n';
30 }
31 });
32
33 try {
34 const changelogData = await (0, _pifs.readFile)(changelogPath, 'utf8');
35 await (0, _pifs.writeFile)(changelogPath, `${newLog}\n${changelogData}`, 'utf8');
36 } catch (e) {
37 await (0, _pifs.writeFile)(changelogPath, newLog, 'utf8');
38 }
39 }
40};
41
42exports.writeChangelogFiles = writeChangelogFiles;
\No newline at end of file