Files
browser-scripts-builder/lib/readmefile.js
2022-06-08 09:14:30 -05:00

59 lines
1.9 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 = /\n{0,1}<!-- START INSTALL LINKS -->(?:.|\n)*?<!-- END INSTALL LINKS -->\n{0,1}/;
const index = regex.exec(content)?.index;
let contentPre = '', contentPost = '';
if (index === undefined) {
contentPre = content;
}
else {
content = content.replace(regex, '');
contentPre = content.slice(0, index);
contentPost = content.slice(index);
}
if (!contentPre.endsWith('\n')) {
contentPre += '\n';
}
if (!contentPost.endsWith('\n')) {
contentPost += '\n';
}
console.log(index, content, contentPre, contentPost);
return [contentPre, contentPost];
}
//# sourceMappingURL=readmefile.js.map