JSPM

@inett/semantic-release-unsquash

2.0.0
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 452
    • Score
      100M100P100Q97805F
    • License ISC

    Forked version of semantic-release-unsquash w/o release-notes-generator

    Package Exports

    • @inett/semantic-release-unsquash
    • @inett/semantic-release-unsquash/src/index.js

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@inett/semantic-release-unsquash) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    @inett/semantic-release-unsquash

    This is a fork of semantic-release-unsquash by romap0 with built-in commit-analyzer and release-notes-generator support and opinionated defaults.


    A tiny wrapper for commit-analyzer and release-notes-generator which works with squashed merge requests (e.g. GitLab or GitHub squash commits).
    It "unsquashes" the original commits from the squash message and feeds them to the underlying plugins.


    πŸš€ Features

    • Parses * commit style squash messages
    • Built-in commitAnalyzerConfig and notesGeneratorConfig
    • Supports GitHub and GitLab squash commit templates
    • Optional override via plugin config in package.json

    πŸ“¦ Install

    npm install -D @inett/semantic-release-unsquash

    πŸ”§ Usage

    {
      "plugins": ["@inett/semantic-release-unsquash"]
    }

    ✨ You don't need to provide extra configuration β€”Β the plugin uses sensible defaults for:

    • Conventional Commits parsing
    • Release rules
    • Changelog section titles
    • Breaking change keywords

    βš™οΈ Optional Overrides

    If you want to override or extend the defaults:

    {
      "plugins": [
        [
          "@inett/semantic-release-unsquash",
          {
            "commitAnalyzerConfig": {
              "releaseRules": [{ "type": "deps", "release": "patch" }]
            },
            "notesGeneratorConfig": {
              "presetConfig": {
                "types": [
                  { "type": "deps", "section": "πŸ“¦ Dependencies", "hidden": false }
                ]
              }
            }
          }
        ]
      ]
    }

    πŸ’‘ Usage with GitHub

    GitHub automatically adds a list of original commits to the squash message. This plugin will parse those and pass them on to semantic-release.


    πŸ’‘ Usage with GitLab

    To enable unsquashing, set your squash commit template in Project Settings β†’ Merge Requests to:

    %{title}
    
    %{all_commits}