Semantic-release plugin to generate changelog content with conventional-changelog
Create a utility that turns a list of conventional commits into release notes while eliminating noise from empty messages, merges (when disabled), and revert pairs.
merges option is false, commits whose subject starts with "Merge" are excluded from the output. @test@generates
/**
* Build revert-aware release notes for a set of conventional commits.
*
* @param {Object} pluginConfig - Release-note configuration.
* @param {string} [pluginConfig.preset] - Conventional changelog preset name.
* @param {string} [pluginConfig.config] - Requireable custom preset package.
* @param {Object} [pluginConfig.parserOpts] - Parser overrides merged with the preset/config.
* @param {Object} [pluginConfig.writerOpts] - Writer overrides merged with the preset/config.
* @param {Object} [pluginConfig.presetConfig] - Options forwarded to the preset loader.
* @param {boolean} [pluginConfig.merges=true] - Whether merge commits should be kept.
* @param {Object} context - Semantic-release style context.
* @param {Array<{hash:string,message:string}>} context.commits - Commits to analyze.
* @param {Object} context.lastRelease - Last release info; includes gitTag or gitHead.
* @param {Object} context.nextRelease - Next release info; includes gitTag and version.
* @param {Object} context.options - Contains repositoryUrl and related settings.
* @param {string} context.cwd - Current working directory for resolving presets/configs.
* @returns {Promise<string>} Markdown or HTML release notes string.
*/
export async function generateFilteredNotes(pluginConfig, context);Parses conventional commits, filters revert pairs, and renders formatted release notes.
tessl i tessl/npm-semantic-release--release-notes-generator@14.0.0docs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10