Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: reorder default plugins list #1650

Merged
merged 1 commit into from Oct 4, 2020
Merged

Conversation

cassels
Copy link
Contributor

@cassels cassels commented Oct 2, 2020

Summary
Reorder the list of default plugins in the documentation from alphabetical to execution order.

Motivation
The documentation clearly states the four default plugins that are already installed with semantic-release. However their default order of execution is not explicitly stated and when listed in alphabetical order implies the incorrect order.

When a package maintainer needs to configure options on one or more default plugins the documentation states that the plugins property will be overridden instead of merged.

Note: If the plugins option is defined, it overrides the default plugin list, rather than merging with it.

For that reason the maintainer must add all default plugins to the configuration list to modify the configuration of a single plugin. When looking at the documentation it is easy to find the default list of plugins but not so easy to find the default order in which the plugins must be listed. Personally, I made the mistake of assuming the order in which they are listed would be the order in which they would execute and modified my .releaserc to be:

{
  "plugins": [
    ["@semantic-release/commit-analyzer", {
      "releaseRules": [
        {"type": "docs", "scope":"README", "release": "patch"}
      ],
    }],
    "@semantic-release/github",
    "@semantic-release/npm",
    "@semantic-release/release-notes-generator"
  ]
}

Obviously, this changes the behaviour of the default release because @semantic-release/github had switched places with @semantic-release/release-notes-generator.

Solution
This is simply a user vs documentation problem and can be prevented in the future by explicitly stating the order in which plugins are listed. Furthermore, by changing the order from alphabetical to order of execution the user doesn't need to search the codebase to find the correct order.

Reorder the list default plugins from alphabetical to order of execution.
Copy link
Member

@gr2m gr2m left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great, thank you!

@gr2m gr2m merged commit 18e35b2 into semantic-release:master Oct 4, 2020
pull bot pushed a commit to rikhoffbauer/semantic-release that referenced this pull request Oct 4, 2020
Reorder the list default plugins from alphabetical to order of execution.
@semantic-release-bot
Copy link
Collaborator

🎉 This PR is included in version 17.2.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

This was referenced Mar 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants