UNPKG

projectz

Version:

Stop wasting time syncing and updating your project's README and Package Files!

96 lines (95 loc) 3.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getBackersFile = exports.getBackersSection = exports.getContributeSection = void 0; // external const render_1 = require("@bevry/render"); const github_api_1 = require("@bevry/github-api"); // local const util_js_1 = require("./util.js"); const badge_js_1 = require("./badge.js"); function getContributeLink(data, optional = false) { // Prepare const file = data.filenamesForReadmeFiles.contributing; if (!file) { if (optional) return ''; throw new Error('Contributing section requires a CONTRIBUTING file to exist'); } const url = (0, util_js_1.fileUrl)(data, file); const inner = (0, render_1.t)(['Discover how to contribute via the', (0, render_1.mcode)(file), 'file.']); // Return return (0, render_1.ma)({ url, inner }); } function getBackersLink(data, optional = false) { // Prepare const file = data.filenamesForReadmeFiles.backers; if (!file) { if (optional) return ''; throw new Error('Backers section requires a BACKERS file to exist'); } const url = (0, util_js_1.fileUrl)(data, file); const inner = (0, render_1.t)(['Discover every backer via the', (0, render_1.mcode)(file), 'file.']); // Return return (0, render_1.ma)({ url, inner }); } function getContributeSection(data) { return (0, render_1.lines)([(0, render_1.mh2)('Contribute'), getContributeLink(data)]); } exports.getContributeSection = getContributeSection; function getBackersText(data, headingLevel) { const backersLink = getBackersLink(data, true) || ''; const showExtras = headingLevel === 1 || backersLink === ''; const renderedBackers = (0, github_api_1.renderBackers)(data, { format: github_api_1.BackersRenderFormat.markdown, githubSlug: data.github.slug, }); return (0, render_1.lines)([ (0, render_1.mh)(headingLevel, 'Backers'), (0, render_1.i)(showExtras, () => backersLink), // Code (0, render_1.mh)(headingLevel + 1, 'Code'), (0, render_1.mp)(getContributeLink(data, true)), // Authors (0, render_1.i)(renderedBackers.authors?.length, () => [ (0, render_1.mh)(headingLevel + 2, 'Authors'), (0, render_1.mul)(renderedBackers.authors), ]), // Maintainers (0, render_1.i)(renderedBackers.maintainers?.length, () => [ (0, render_1.mh)(headingLevel + 2, 'Maintainers'), (0, render_1.mul)(renderedBackers.maintainers), ]), // Contributors (0, render_1.i)(renderedBackers.contributors?.length && showExtras, () => [ (0, render_1.mh)(headingLevel + 2, 'Contributors'), (0, render_1.mul)(renderedBackers.contributors), ]), // Finances (0, render_1.mh)(headingLevel + 1, 'Finances'), (0, render_1.mp)((0, badge_js_1.getBadgesInCategory)('funding', data)), // Funders (0, render_1.i)(renderedBackers.funders?.length, () => [ (0, render_1.mh)(headingLevel + 2, 'Funders'), (0, render_1.mul)(renderedBackers.funders), ]), // Sponsors (0, render_1.i)(renderedBackers.sponsors?.length, () => [ (0, render_1.mh)(headingLevel + 2, 'Sponsors'), (0, render_1.mul)(renderedBackers.sponsors), ]), // Donors (0, render_1.i)(renderedBackers.donors?.length && showExtras, () => [ (0, render_1.mh)(headingLevel + 2, 'Donors'), (0, render_1.mul)(renderedBackers.donors), ]), ]); } function getBackersSection(data) { return getBackersText(data, 2); } exports.getBackersSection = getBackersSection; function getBackersFile(data) { return getBackersText(data, 1); } exports.getBackersFile = getBackersFile;