filtered-commit-analyzer

A semantic-release commit analyzer plugin that filters out commits according to your configuration.

Usage no npm install needed!

<script type="module">
  import filteredCommitAnalyzer from 'https://cdn.skypack.dev/filtered-commit-analyzer';
</script>

README

filtered-commit-analyzer

See @semantic-release/commit-analyzer for more documentation.

Install

$ npm install filtered-commit-analyzer -D

Usage

The plugin can be configured in the semantic-release configuration file:

{
  "plugins": [
    ["filtered-commit-analyzer", {
      "preset": "angular",
      "releaseRules": [
        {"type": "docs", "scope":"README", "release": "patch"},
        {"type": "refactor", "release": "patch"},
        {"type": "style", "release": "patch"}
      ],
      "parserOpts": {
        "noteKeywords": ["BREAKING CHANGE", "BREAKING CHANGES"]
      },
      "filterRules": {
        "scope": "onlyAllowScopesThisRegExPattern",
        "youCanUseAnyValidPropertyParsedFromYourCommitMessage": ".*"
      }
    }],
    "@semantic-release/release-notes-generator"
  ]
}
External package / file

filterRules can also reference a module, either by it's npm name or path:

{
  "plugins": [
    ["@semantic-release/commit-analyzer", {
      "preset": "angular",
      "filterRules": "./config/filter-rules.js"
    }],
    "@semantic-release/release-notes-generator"
  ]
}
// File: config/filter-rules.js
module.exports = {
  scope: "packageA|packageB"
};