50 lines
1.6 KiB
JavaScript
50 lines
1.6 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.updateReadmeFile = void 0;
|
|
const fs_1 = require("fs");
|
|
function updateReadmeFile(fileList) {
|
|
let readmeFile = getReadmeFileName();
|
|
if (readmeFile !== null) {
|
|
let [readmeStart, readmeEnd] = readReadmeFile(readmeFile);
|
|
let installLinks = fileList.map(readmeDataToString).join('\n');
|
|
let installLinksAll = `
|
|
<!-- START INSTALL LINKS -->
|
|
## Installs
|
|
|
|
${installLinks}
|
|
<!-- END INSTALL LINKS -->
|
|
`;
|
|
let content = [readmeStart, installLinksAll, readmeEnd].join('\n');
|
|
(0, fs_1.writeFileSync)(readmeFile, content);
|
|
}
|
|
}
|
|
exports.updateReadmeFile = updateReadmeFile;
|
|
function readmeDataToString(readmeData) {
|
|
let { meta, error } = readmeData;
|
|
let errStr = error !== null ? '~~' : '';
|
|
let errMsg = error !== null ? `\n - ${error}` : '';
|
|
return `- ${errStr}[${meta.name}](${meta.downloadURL})})${errStr}${errMsg}`;
|
|
}
|
|
function getReadmeFileName() {
|
|
let files = (0, fs_1.readdirSync)('.');
|
|
for (let name of files) {
|
|
if (/^readme\.md$/i.test(name)) {
|
|
return name;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
function readReadmeFile(readmeFile) {
|
|
let content = (0, fs_1.readFileSync)(readmeFile).toString();
|
|
const regex = /<!-- START INSTALL LINKS -->(?:.|\n)*?<!-- END INSTALL LINKS -->/;
|
|
const index = regex.exec(content)?.index;
|
|
if (index === undefined) {
|
|
if (!content.endsWith('\n')) {
|
|
content += '\n';
|
|
}
|
|
return [content, ''];
|
|
}
|
|
content = content.replace(regex, '');
|
|
return [content.slice(0, index), content.slice(index)];
|
|
}
|
|
//# sourceMappingURL=readmefile.js.map
|