UNPKG

npm-fetch-changelog

Version:

fetch the changelog for an npm package from GitHub

29 lines (28 loc) 934 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = parseChangelog; var versionRx = "\\[?v?\\d+\\.\\d+(\\.\\d+(-[-a-z0-9.]+)?)?\\]?"; function parseChangelog(text) { var result = {}; var versionHeaderRx = new RegExp("^#+\\s+(".concat(versionRx, ")(.*)$|^(").concat(versionRx, ")(.*)(\r\n?|\n)(=+|-+)"), 'mg'); var match; var start = 0; var release; while (match = versionHeaderRx.exec(text)) { var rawVersion = match[1] || match[5]; var version = rawVersion.replace(/\[|\]/g, ''); if (!match[2] && !match[6]) version += '.0'; if (release) release.body = text.substring(start, match.index).trim(); release = { version: version, header: match[0] }; result[version] = release; start = match.index + match[0].length; } if (release) release.body = text.substring(start).trim(); return result; } module.exports = exports.default;