wrangler-action/node_modules/@changesets/parse/dist/parse.cjs.dev.js

49 lines
1.1 KiB
JavaScript
Raw Normal View History

2023-08-07 22:11:15 +02:00
'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;