@inett/semantic-release-unsquash
Version:
Forked version of semantic-release-unsquash w/o release-notes-generator
47 lines (40 loc) • 1.16 kB
JavaScript
const {
analyzeCommits: originalAnalyzeCommits,
} = require('@semantic-release/commit-analyzer');
const {
generateNotes: originalGenerateNotes,
} = require('@semantic-release/release-notes-generator');
const deepmerge = require('deepmerge');
const {
defaultCommitAnalyzerConfig,
defaultNotesGeneratorConfig,
} = require('./defaults');
const { getUnsquashedCommits } = require('./get-unsquashed-commits');
const analyzeCommits = async (pluginConfig = {}, context) => {
const commits = getUnsquashedCommits(context);
const finalConfig = deepmerge(
defaultCommitAnalyzerConfig,
pluginConfig.commitAnalyzerConfig || {},
);
return originalAnalyzeCommits(finalConfig, {
...context,
commits,
});
};
const generateNotes = async (pluginConfig = {}, context) => {
const commits = getUnsquashedCommits(context);
const finalConfig = deepmerge(
defaultNotesGeneratorConfig,
pluginConfig.notesGeneratorConfig || {},
);
return originalGenerateNotes(finalConfig, {
...context,
commits,
});
};
module.exports = {
analyzeCommits,
generateNotes,
defaultCommitAnalyzerConfig,
defaultNotesGeneratorConfig,
};