@ivuorinen/semantic-release-config 1.1.22 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +31 -21
  2. package/index.cjs +20 -6
  3. package/package.json +3 -4
package/README.md CHANGED
@@ -7,24 +7,34 @@
7
7
  ## Table of Contents <!-- omit in toc -->
8
8
 
9
9
  - [Plugins](#plugins)
10
+ - [Release Rules](#release-rules)
10
11
  - [Installation](#installation)
11
12
  - [Configuration](#configuration)
12
13
  - [GitHub Actions](#github-actions)
13
14
  - [Documentations](#documentations)
14
15
  - [Contributing](#contributing)
15
- - [Changelog](#changelog)
16
16
  - [License](#license)
17
17
 
18
18
  ## Plugins
19
19
 
20
- This shareable configuration use the following plugins:
20
+ This shareable configuration uses the following plugins:
21
21
 
22
- - [`@semantic-release/commit-analyzer`][sr-commit-analyzer-link]
23
- - [`@semantic-release/release-notes-generator`][sr-release-notes-generator-link]
24
- - [`@semantic-release/changelog`][sr-changelog-link]
25
- - [`@semantic-release/npm`][sr-npm-link]
26
- - [`@semantic-release/github`][sr-github-link]
27
- - [`@semantic-release/git`][sr-git-link]
22
+ - [`@semantic-release/commit-analyzer`][sr-commit-analyzer-link] — determines version bumps using the [Conventional Commits][conventionalcommits-link] preset
23
+ - [`@semantic-release/release-notes-generator`][sr-release-notes-generator-link] — generates release notes with typed sections
24
+ - [`@semantic-release/npm`][sr-npm-link] — publishes to npm
25
+ - [`@semantic-release/github`][sr-github-link] — creates GitHub releases
26
+
27
+ ## Release Rules
28
+
29
+ This config is designed to work with [Renovate][renovate-link] commit conventions:
30
+
31
+ | Commit pattern | Example | Release |
32
+ |-----------------------|-------------------------------------------|------------|
33
+ | `feat: ...` | `feat: add new option` | minor |
34
+ | `fix: ...` | `fix: resolve parsing error` | patch |
35
+ | `chore(deps)!: ...` | `chore(deps)!: update X (1.0.0 → 2.0.0)` | minor |
36
+ | `chore(deps): ...` | `chore(deps): update X (1.0.0 → 1.1.0)` | patch |
37
+ | `chore(actions): ...` | `chore(actions): update actions/checkout` | no release |
28
38
 
29
39
  ## Installation
30
40
 
@@ -69,28 +79,33 @@ jobs:
69
79
  release:
70
80
  name: Release
71
81
  runs-on: ubuntu-latest
82
+ permissions:
83
+ contents: write
84
+ issues: write
85
+ pull-requests: write
86
+ id-token: write
72
87
 
73
88
  steps:
74
89
  - name: Checkout
75
- uses: actions/checkout@v2.3.4
90
+ uses: actions/checkout@v4
76
91
  with:
77
92
  fetch-depth: 0
78
93
 
79
94
  - name: Setup Node.js Environment
80
- uses: actions/setup-node@v2.1.5
95
+ uses: actions/setup-node@v4
81
96
  with:
82
97
  always-auth: true
83
98
  node-version: 20
84
99
  registry-url: "https://registry.npmjs.org"
85
100
 
86
- - name: Install Dependencies with Caching
87
- uses: bahmutov/npm-install@v1.6.0
101
+ - name: Install Dependencies
102
+ run: npm ci
88
103
 
89
104
  - name: Release
90
105
  env:
91
106
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
92
107
  NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
93
- run: yarn run semantic-release
108
+ run: npx semantic-release
94
109
  ```
95
110
 
96
111
  ## Documentations
@@ -101,16 +116,12 @@ Read the [semantic-release docs][semantic-release-docs-link] for more informatio
101
116
 
102
117
  If you are interested in helping contribute, please take a look at our [contribution guidelines][contributing-link] and open an [issue][issue-link] or [pull request][pull-request-link].
103
118
 
104
- ## Changelog
105
-
106
- See [CHANGELOG][changelog-link] for a human-readable history of changes.
107
-
108
119
  ## License
109
120
 
110
121
  Distributed under the MIT License. See [LICENSE][license-link] for more information.
111
122
 
112
- [changelog-link]: ./CHANGELOG.md
113
- [contributing-link]: https://github.com/ivuorinen/.github/blob/main/CONTRIBUTING.md
123
+ [contributing-link]: ./CONTRIBUTING.md
124
+ [conventionalcommits-link]: https://www.conventionalcommits.org
114
125
  [gh-scopes-link]: https://docs.github.com/en/developers/apps/scopes-for-oauth-apps#available-scopes
115
126
  [gh-token-link]: https://github.com/settings/tokens/new?scopes=public_repo
116
127
  [issue-link]: https://github.com/ivuorinen/base-configs-semantic-release/issues
@@ -120,11 +131,10 @@ Distributed under the MIT License. See [LICENSE][license-link] for more informat
120
131
  [npm-link]: https://www.npmjs.com/package/@ivuorinen/semantic-release-config
121
132
  [npm-token-link]: https://docs.npmjs.com/about-access-tokens
122
133
  [pull-request-link]: https://github.com/ivuorinen/base-configs-semantic-release/pulls
134
+ [renovate-link]: https://docs.renovatebot.com/
123
135
  [semantic-release-docs-link]: https://semantic-release.gitbook.io/
124
136
  [semantic-release-link]: https://github.com/semantic-release/semantic-release
125
- [sr-changelog-link]: https://github.com/semantic-release/changelog
126
137
  [sr-commit-analyzer-link]: https://github.com/semantic-release/commit-analyzer
127
- [sr-git-link]: https://github.com/semantic-release/git
128
138
  [sr-github-link]: https://github.com/semantic-release/github
129
139
  [sr-npm-link]: https://github.com/semantic-release/npm
130
140
  [sr-release-notes-generator-link]: https://github.com/semantic-release/release-notes-generator
package/index.cjs CHANGED
@@ -6,22 +6,36 @@ module.exports = {
6
6
  [
7
7
  "@semantic-release/commit-analyzer",
8
8
  {
9
+ preset: "conventionalcommits",
9
10
  releaseRules: [
11
+ { breaking: true, type: "chore", scope: "deps", release: "minor" },
10
12
  { type: "chore", scope: "deps", release: "patch" },
13
+ { type: "chore", scope: "actions", release: false },
11
14
  ],
12
15
  },
13
16
  ],
14
- "@semantic-release/release-notes-generator",
15
17
  [
16
- "@semantic-release/changelog",
18
+ "@semantic-release/release-notes-generator",
17
19
  {
18
- changelogTitle:
19
- "# Changelog\n\nAll notable changes to this project will be documented in this file. See\n[Conventional Commits](https://conventionalcommits.org) for commit guidelines.",
20
+ preset: "conventionalcommits",
21
+ presetConfig: {
22
+ types: [
23
+ { type: "feat", section: "Features" },
24
+ { type: "fix", section: "Bug Fixes" },
25
+ { type: "perf", section: "Performance" },
26
+ { type: "revert", section: "Reverts" },
27
+ { type: "chore", section: "Maintenance" },
28
+ { type: "docs", hidden: true },
29
+ { type: "style", hidden: true },
30
+ { type: "refactor", hidden: true },
31
+ { type: "test", hidden: true },
32
+ { type: "build", hidden: true },
33
+ { type: "ci", hidden: true },
34
+ ],
35
+ },
20
36
  },
21
37
  ],
22
38
  "@semantic-release/npm",
23
39
  "@semantic-release/github",
24
- "@semantic-release/git",
25
40
  ],
26
- preset: "angular",
27
41
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ivuorinen/semantic-release-config",
3
- "version": "1.1.22",
3
+ "version": "1.2.0",
4
4
  "description": "ivuorinen's shareable configuration for semantic-release.",
5
5
  "author": {
6
6
  "name": "Ismo Vuorinen",
@@ -44,14 +44,13 @@
44
44
  },
45
45
  "dependencies": {
46
46
  "@ivuorinen/config-checker": "^2.0.0",
47
- "@semantic-release/changelog": "^6.0.3",
48
- "@semantic-release/git": "^10.0.1",
49
47
  "@semantic-release/github": "^12.0.6",
48
+ "conventional-changelog-conventionalcommits": "^9.0.0",
50
49
  "semantic-release": "^25.0.2"
51
50
  },
52
51
  "resolutions": {
53
52
  "picomatch": "^4.0.4",
54
- "undici": "^7.24.6"
53
+ "undici": "^8.0.0"
55
54
  },
56
55
  "packageManager": "yarn@4.13.0+sha512.5c20ba010c99815433e5c8453112165e673f1c7948d8d2b267f4b5e52097538658388ebc9f9580656d9b75c5cc996f990f611f99304a2197d4c56d21eea370e7"
57
56
  }