semantic-release-npm-github-publish 1.7.4 → 1.7.6

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 (2) hide show
  1. package/package.json +2 -1
  2. package/readme.md +93 -57
package/package.json CHANGED
@@ -60,6 +60,7 @@
60
60
  "scripts": {
61
61
  "docs:index:check": "docs-index-keeper check",
62
62
  "docs:index:update": "docs-index-keeper update",
63
+ "pack:check": "npm pack --dry-run",
63
64
  "release:dry-run": "node ./scripts/release-dry-run.mjs",
64
65
  "test": "node --test",
65
66
  "test:config": "node -e \"const config = require('./release.config.js'); if (!Array.isArray(config.plugins) || config.plugins.length === 0) { throw new Error('release config did not load plugins'); }\"",
@@ -70,6 +71,6 @@
70
71
  "docsIndexKeeper": {
71
72
  "indexFile": "docs/README.md"
72
73
  },
73
- "version": "1.7.4",
74
+ "version": "1.7.6",
74
75
  "snyk": true
75
76
  }
package/readme.md CHANGED
@@ -1,5 +1,3 @@
1
- # semantic-release-npm-github-publish
2
-
3
1
  <p align="center">
4
2
  <a href="https://github.com/oleg-koval/semantic-release-npm-github-publish/actions/workflows/ci.yml" target="_blank">
5
3
  <img alt="CI" src="https://github.com/oleg-koval/semantic-release-npm-github-publish/actions/workflows/ci.yml/badge.svg?branch=main">
@@ -10,6 +8,9 @@
10
8
  <a href="https://github.com/oleg-koval/semantic-release-npm-github-publish/actions/workflows/codeql-analysis.yml" target="_blank">
11
9
  <img alt="CodeQL" src="https://github.com/oleg-koval/semantic-release-npm-github-publish/actions/workflows/codeql-analysis.yml/badge.svg?branch=main">
12
10
  </a>
11
+ <a href="https://scorecard.dev/viewer/?uri=github.com/oleg-koval/semantic-release-npm-github-publish" target="_blank">
12
+ <img alt="OpenSSF Scorecard" src="https://api.securityscorecards.dev/projects/github.com/oleg-koval/semantic-release-npm-github-publish/badge">
13
+ </a>
13
14
  <a href="https://www.npmjs.com/package/semantic-release-npm-github-publish" target="_blank">
14
15
  <img alt="npm" src="https://img.shields.io/npm/v/semantic-release-npm-github-publish.svg">
15
16
  </a>
@@ -17,55 +18,32 @@
17
18
  <img alt="npm downloads" src="https://img.shields.io/npm/dm/semantic-release-npm-github-publish.svg">
18
19
  </a>
19
20
  <a href="https://github.com/oleg-koval/semantic-release-npm-github-publish/blob/main/LICENSE" target="_blank">
20
- <img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" />
21
+ <img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg">
21
22
  </a>
22
23
  </p>
23
24
 
24
- > Opinionated `semantic-release` shareable configuration for npm + GitHub publishing with changelog generation and release commits.
25
+ <p align="center">
26
+ <img src="./site/assets/icon.svg" width="120" height="120" alt="semantic-release-npm-github-publish icon">
27
+ </p>
25
28
 
26
- Website: https://oleg-koval.github.io/semantic-release-npm-github-publish/
29
+ <h1 align="center">semantic-release-npm-github-publish</h1>
27
30
 
28
- ## About
31
+ <p align="center">
32
+ Opinionated semantic-release shareable configuration for npm and GitHub publishing.<br>
33
+ <strong>One maintained preset for changelogs, npm releases, GitHub releases, and release commits.</strong>
34
+ </p>
29
35
 
30
- This package is useful if you want one maintained preset instead of repeating the same `semantic-release` plugin composition in every repository.
36
+ ---
31
37
 
32
- It adds value beyond native plugin composition by shipping:
38
+ ## Features
33
39
 
40
+ - standard `semantic-release` plugin chain for npm and GitHub publishing
34
41
  - extra patch release rules for `build`, `ci`, `chore`, `docs`, `refactor`, `style`, and `test`
35
42
  - curated changelog grouping, titles, and emojis via [`commit-transform.js`](./commit-transform.js) and [`types.js`](./types.js)
36
- - a fixed publish chain for npm + GitHub, including changelog updates and a release commit
37
-
38
- ## Default Behavior
39
-
40
- The exported config uses this exact plugin chain:
41
-
42
- 1. `@semantic-release/commit-analyzer`
43
- with custom `releaseRules` for additional patch-triggering commit types
44
- 2. `@semantic-release/release-notes-generator`
45
- 3. `@semantic-release/changelog`
46
- 4. `@semantic-release/npm`
47
- 5. `@semantic-release/git`
48
- commits `package.json`, `package-lock.json`, and `CHANGELOG.md`
49
- with `release(version): Release ${nextRelease.version} [skip ci]`
50
- 6. `@semantic-release/github`
51
-
52
- Release semantics match standard Conventional Commits and SemVer:
53
-
54
- - `fix` => patch
55
- - `feat` => minor
56
- - `BREAKING CHANGE` footer or `!` => major
57
- - `build`, `ci`, `chore`, `docs`, `refactor`, `style`, and `test` => patch in this preset
58
-
59
- ## Compatibility
60
-
61
- This preset is actively maintained against the current stable `semantic-release` major.
43
+ - repo-local stable and beta release channels without forcing branch policy on consumers
44
+ - CI coverage for config loading, release semantics, changelog transforms, docs index integrity, and package contents
62
45
 
63
- - tested with Node `22` and `24`
64
- - publish workflow runs on Node `24`
65
- - peer dependency ranges are pinned to the currently supported plugin majors
66
- - this repository also validates a `beta` prerelease branch with a repo-only release config
67
-
68
- ## Install
46
+ ## Installation
69
47
 
70
48
  Install `semantic-release`, this preset, and the peer plugins it expects:
71
49
 
@@ -93,14 +71,7 @@ Add a release script:
93
71
 
94
72
  Run `npx semantic-release` in your release workflow.
95
73
 
96
- For this repository itself, stable releases come from `main` and prereleases come from `beta` via `release.repo.config.js`. The exported shareable config remains branch-agnostic for consumers.
97
-
98
- ## Usage
99
-
100
- <p>
101
- <strong style="color:#b91c1c;">Migration notice:</strong>
102
- this preset does not hardcode consumer release branches. `main` is the documented default, but if your repository still releases from `master` or another branch, set `branches` explicitly in your repo-local semantic-release config.
103
- </p>
74
+ ## Quick Start
104
75
 
105
76
  Example `.releaserc.yaml`:
106
77
 
@@ -126,6 +97,36 @@ dryRun: false
126
97
  debug: false
127
98
  ```
128
99
 
100
+ ## Default Behavior
101
+
102
+ The exported config uses this plugin chain:
103
+
104
+ 1. `@semantic-release/commit-analyzer`
105
+ with custom `releaseRules` for additional patch-triggering commit types
106
+ 2. `@semantic-release/release-notes-generator`
107
+ 3. `@semantic-release/changelog`
108
+ 4. `@semantic-release/npm`
109
+ 5. `@semantic-release/git`
110
+ commits `package.json`, `package-lock.json`, and `CHANGELOG.md`
111
+ with `release(version): Release ${nextRelease.version} [skip ci]`
112
+ 6. `@semantic-release/github`
113
+
114
+ Release semantics match standard Conventional Commits and SemVer:
115
+
116
+ - `fix` => patch
117
+ - `feat` => minor
118
+ - `BREAKING CHANGE` footer or `!` => major
119
+ - `build`, `ci`, `chore`, `docs`, `refactor`, `style`, and `test` => patch in this preset
120
+
121
+ ## Compatibility
122
+
123
+ This preset is actively maintained against the current stable `semantic-release` major.
124
+
125
+ - tested with Node `22` and `24`
126
+ - publish workflow runs on Node `24`
127
+ - peer dependency ranges are pinned to currently supported plugin majors
128
+ - this repository validates a `beta` prerelease branch with a repo-only release config
129
+
129
130
  ## When To Use This Preset
130
131
 
131
132
  Use this package when you want:
@@ -135,23 +136,58 @@ Use this package when you want:
135
136
  - the opinionated changelog formatting in this repository
136
137
  - a maintained upgrade path for this preset over time
137
138
 
138
- Use repo-local plugin composition instead when your team wants different plugins, different release rules, or full control over upgrade timing.
139
+ Use repo-local plugin composition when your team wants different plugins, different release rules, or full control over upgrade timing.
139
140
 
140
141
  ## Repository Maintenance Notes
141
142
 
142
- - Consumer-facing examples now use `main`.
143
+ - Consumer-facing examples use `main`.
143
144
  - Repository automation publishes stable releases from `main` and prereleases from `beta`.
144
- - The repository default branch is `main`, and all badges and examples now follow that.
145
- - The shared preset does not hardcode release branches for consumers; set `branches` in your repo-local config when you do not release from `main`.
145
+ - The shared preset does not hardcode release branches for consumers.
146
146
  - Dependabot PRs can auto-refresh `package-lock.json` through the dedicated lockfile-fixer workflow.
147
147
  - Dependabot npm patch updates can enable GitHub auto-merge after required checks pass.
148
- - The old README wording that inverted `fix` and `feat` was documentation drift. The actual release behavior has been corrected and is now covered by tests.
148
+
149
+ ## System Requirements
150
+
151
+ - Node `^22.14.0 || >=24.10.0`
152
+ - npm
153
+ - GitHub Actions or another CI system capable of providing `GITHUB_TOKEN` and `NPM_TOKEN`
154
+
155
+ ## Documentation
156
+
157
+ - [GitHub Pages site](https://oleg-koval.github.io/semantic-release-npm-github-publish/)
158
+ - [Release channel notes](./docs/release-channels.md)
159
+ - [Changelog](./CHANGELOG.md)
160
+
161
+ ## Project Status
162
+
163
+ Maintained. The package is intentionally small and follows the current stable semantic-release/plugin majors declared in `package.json`.
164
+
165
+ ## Security Notes
166
+
167
+ This package does not handle tokens directly, but release workflows that use it normally require npm and GitHub credentials. Keep release tokens in CI secrets and avoid printing release logs that include credentials.
168
+
169
+ Report vulnerabilities through the repository security advisory flow documented in [`SECURITY.md`](./SECURITY.md).
170
+
171
+ ## Support
172
+
173
+ Donations are intentionally not configured for this repository.
149
174
 
150
175
  ## Contributing
151
176
 
152
- Issues and pull requests are welcome.
177
+ Issues and pull requests are welcome. See [`CONTRIBUTING.md`](./CONTRIBUTING.md).
178
+
179
+ ## License
153
180
 
154
- ## Built With
181
+ MIT. See [`LICENSE`](./LICENSE).
155
182
 
156
- - [GitHub Actions](https://github.com/features/actions)
157
- - [semantic-release](https://github.com/semantic-release/semantic-release)
183
+ ## Author
184
+
185
+ [Oleg Koval](https://github.com/oleg-koval)
186
+
187
+ <p align="center">
188
+ <a href="https://www.npmjs.com/package/semantic-release-npm-github-publish">npm</a>
189
+ ·
190
+ <a href="https://github.com/oleg-koval/semantic-release-npm-github-publish">GitHub</a>
191
+ ·
192
+ <a href="https://oleg-koval.github.io/semantic-release-npm-github-publish/">Website</a>
193
+ </p>