mirror of
https://github.com/cloudflare/wrangler-action.git
synced 2024-10-07 13:03:24 +02:00
49 lines
1.1 KiB
JavaScript
49 lines
1.1 KiB
JavaScript
|
'use strict';
|
||
|
|
||
|
Object.defineProperty(exports, '__esModule', { value: true });
|
||
|
|
||
|
var yaml = require('js-yaml');
|
||
|
|
||
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
||
|
|
||
|
var yaml__default = /*#__PURE__*/_interopDefault(yaml);
|
||
|
|
||
|
const mdRegex = /\s*---([^]*?)\n\s*---(\s*(?:\n|$)[^]*)/;
|
||
|
function parseChangesetFile(contents) {
|
||
|
const execResult = mdRegex.exec(contents);
|
||
|
|
||
|
if (!execResult) {
|
||
|
throw new Error(`could not parse changeset - invalid frontmatter: ${contents}`);
|
||
|
}
|
||
|
|
||
|
let [, roughReleases, roughSummary] = execResult;
|
||
|
let summary = roughSummary.trim();
|
||
|
let releases;
|
||
|
|
||
|
try {
|
||
|
const yamlStuff = yaml__default['default'].safeLoad(roughReleases);
|
||
|
|
||
|
if (yamlStuff) {
|
||
|
releases = Object.entries(yamlStuff).map(([name, type]) => ({
|
||
|
name,
|
||
|
type
|
||
|
}));
|
||
|
} else {
|
||
|
releases = [];
|
||
|
}
|
||
|
} catch (e) {
|
||
|
throw new Error(`could not parse changeset - invalid frontmatter: ${contents}`);
|
||
|
}
|
||
|
|
||
|
if (!releases) {
|
||
|
throw new Error(`could not parse changeset - unknown error: ${contents}`);
|
||
|
}
|
||
|
|
||
|
return {
|
||
|
releases,
|
||
|
summary
|
||
|
};
|
||
|
}
|
||
|
|
||
|
exports.default = parseChangesetFile;
|