UNPKG

979 BJavaScriptView Raw
1const {defaultTo, castArray} = require('lodash');
2const verifyChangelog = require('./lib/verify');
3const prepareChangelog = require('./lib/prepare');
4
5let verified;
6
7async function verifyConditions(pluginConfig, context) {
8 const {options} = context;
9 // If the Changelog prepare plugin is used and has `changelogFile` configured, validate them now in order to prevent any release if the configuration is wrong
10 if (options.prepare) {
11 const preparePlugin =
12 castArray(options.prepare).find(config => config.path && config.path === '@semantic-release/changelog') || {};
13
14 pluginConfig.changelogFile = defaultTo(pluginConfig.changelogFile, preparePlugin.changelogFile);
15 }
16 await verifyChangelog(pluginConfig);
17 verified = true;
18}
19
20async function prepare(pluginConfig, context) {
21 if (!verified) {
22 await verifyChangelog(pluginConfig);
23 verified = true;
24 }
25 await prepareChangelog(pluginConfig, context);
26}
27
28module.exports = {verifyConditions, prepare};