Semantic-release plugin to generate changelog content with conventional-changelog
{
"context": "Evaluates whether release notes are produced through @semantic-release/release-notes-generator with custom writer behavior that matches the spec (section mapping, sorting, linking) and ensures transform errors propagate unchanged. Focus is on configuring the plugin, not hand-crafted markdown.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Plugin usage",
"description": "Invokes `generateNotes` (or the default export) from `@semantic-release/release-notes-generator` with the supplied repository URL, last release, next release, and commit list rather than manually composing the changelog.",
"max_score": 20
},
{
"name": "Writer transform",
"description": "Implements `writerOpts.transform` to map fix commits to a `Customer Fixes` section, feature commits to `Customer Features`, drop chores, and shape each entry using the parsed commit data instead of post-processing the rendered markdown.",
"max_score": 20
},
{
"name": "Ordering options",
"description": "Uses writer options such as `commitGroupsSort`, `groupBy`, and `commitsSort` so sections appear in the required order (fixes before features) and entries are alphabetized by subject within their group.",
"max_score": 15
},
{
"name": "Built-in linking",
"description": "Relies on the plugin’s repository parsing plus `linkCompare` defaults to emit the compare link between `lastTag` and `nextTag`, avoiding manual URL construction.",
"max_score": 15
},
{
"name": "Reference handling",
"description": "Keeps `linkReferences` enabled and preserves parsed references in `writerOpts.transform` so `#321` becomes an issue hyperlink while non-numeric tokens like `JIRA-77` are left as plain text after the subject; commit hashes stay linked via the writer.",
"max_score": 15
},
{
"name": "Error propagation",
"description": "Detects `[skip-notes]` (or similar trigger) inside `writerOpts.transform`, throws an `Error(\"Skip notes for flagged commit\")`, and lets that error bubble up unchanged (no catch/wrap) so the caller receives the original message.",
"max_score": 15
}
]
}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