1.1.85 • Published 4 months ago

semantic-release-preconfigured-conventional-commits v1.1.85

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

Pre-configured shareable Semantic Release configuration for conventional commits

npm version

This is a ready-to-use, pre-defined configuration for semantic-release, meant to support the use of conventional commits along with Whitesource Renovate.

Configuration

MAJOR release

  • Any commit type and scope terminating with ! causes a BREAKING CHANGE

MINOR release

  • Commit type chore with scope api-deps (Dependency updates)
  • Commit type feat (Features) with any scope

PATCH release

  • Commit type chore with scope core-deps (Dependency updates)
  • Commit type fix (Bug Fixes) with any scope
  • Commit type docs (Documentation) with any scope
  • Commit type perf (Performance improvements) with any scope
  • Commit type revert (Revert previous changes) with any scope

No release

  • Commit type test (Tests)
  • Commit type ci (Build and continuous integration)
  • Commit type build (Build and continuous integration)
  • Commit type chore with scope deps (Dependency updates)
  • Commit type chore (General maintenance) with scopes different than the ones mentioned above
  • Commit type style (Style improvements) with any scope
  • Commit type refactor (Refactoring) with any scope

Usage

To use this configuration, add to your package.json:

  "devDependencies": {
    "semantic-release-preconfigured-conventional-commits": "latest"
  }

(actually, pick the latest stable version)

The configuration sets up and pre-applies semantic-release/commit-analyzer, semantic-release/release-notes-generator, and semantic-release/changelog.

These are usually always present, but rarely enough.

Then, the recommended way to exploit this pre-configuration is through a release.config.js file in the project root; the reason is that currently the semantic release extension mechanism does not merge the configurations in-depth, thus, adding further plugins results in the configuration being ignored.

A minimal release.config.js for creating releases on GitHub, for instance, looks like:

var config = require('semantic-release-preconfigured-conventional-commits');
config.plugins.push(
    "@semantic-release/github",
    "@semantic-release/git",
)
module.exports = config

It can be easily enriched to account for more elaborate workflows, as, for instance:

var publishCmd = `
IMAGE_NAME="danysk/docker-manjaro-texlive-ruby"
docker build -t "$IMAGE_NAME:\${nextRelease.version}"
docker push --all-tags "$IMAGE_NAME"
`
var config = require('semantic-release-preconfigured-conventional-commits');
config.plugins.push(
    [
        "@semantic-release/exec",
        {
            "publishCmd": publishCmd,
        }
    ],
    "@semantic-release/github",
    "@semantic-release/git",
)
module.exports = config

Proposing changes

I gladly consider changes to the configuration. In case you think something is missing or deserves to be changed, open an issue.

1.1.85

4 months ago

1.1.84

5 months ago

1.1.83

5 months ago

1.1.82

5 months ago

1.1.81

5 months ago

1.1.80

5 months ago

1.1.70

6 months ago

1.1.74

6 months ago

1.1.73

6 months ago

1.1.72

6 months ago

1.1.71

6 months ago

1.1.78

5 months ago

1.1.77

5 months ago

1.1.76

6 months ago

1.1.75

6 months ago

1.1.79

5 months ago

1.1.69

6 months ago

1.1.59

8 months ago

1.1.58

8 months ago

1.1.57

8 months ago

1.1.63

7 months ago

1.1.62

7 months ago

1.1.61

7 months ago

1.1.60

8 months ago

1.1.67

7 months ago

1.1.66

7 months ago

1.1.65

7 months ago

1.1.64

7 months ago

1.1.68

7 months ago

1.1.29

11 months ago

1.1.28

11 months ago

1.1.30

11 months ago

1.1.34

11 months ago

1.1.33

11 months ago

1.1.32

11 months ago

1.1.31

11 months ago

1.1.38

11 months ago

1.1.37

11 months ago

1.1.36

11 months ago

1.1.35

11 months ago

1.1.39

10 months ago

1.1.41

10 months ago

1.1.40

10 months ago

1.1.45

8 months ago

1.1.44

8 months ago

1.1.43

10 months ago

1.1.42

10 months ago

1.1.49

8 months ago

1.1.48

8 months ago

1.1.47

8 months ago

1.1.46

8 months ago

1.1.52

8 months ago

1.1.51

8 months ago

1.1.50

8 months ago

1.1.56

8 months ago

1.1.55

8 months ago

1.1.54

8 months ago

1.1.53

8 months ago

1.1.27

11 months ago

1.1.19

1 year ago

1.1.18

1 year ago

1.1.17

1 year ago

1.1.23

1 year ago

1.1.22

1 year ago

1.1.21

1 year ago

1.1.20

1 year ago

1.1.26

1 year ago

1.1.25

1 year ago

1.1.24

1 year ago

1.1.12

2 years ago

1.1.16

1 year ago

1.1.15

2 years ago

1.1.14

2 years ago

1.1.13

2 years ago

1.1.11

2 years ago

1.1.9

2 years ago

1.1.8

2 years ago

1.1.7

2 years ago

1.1.10

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago