semantic-release 24.0.0 → 24.1.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.
package/README.md CHANGED
@@ -4,8 +4,8 @@
4
4
  <a href="https://github.com/semantic-release/semantic-release/discussions">
5
5
  <img alt="Join the community on GitHub Discussions" src="https://img.shields.io/badge/Join%20the%20community-on%20GitHub%20Discussions-blue">
6
6
  </a>
7
- <a href="https://github.com/semantic-release/semantic-release/actions?query=workflow%3ATest+branch%3Amaster">
8
- <img alt="Build states" src="https://github.com/semantic-release/semantic-release/workflows/Test/badge.svg">
7
+ <a href="https://github.com/semantic-release/semantic-release/actions/workflows/test.yml">
8
+ <img alt="Build states" src="https://github.com/semantic-release/semantic-release/actions/workflows/test.yml/badge.svg">
9
9
  </a>
10
10
  <a href="https://securityscorecards.dev/viewer/?uri=github.com/semantic-release/semantic-release">
11
11
  <img alt="OpenSSF Scorecard" src="https://api.securityscorecards.dev/projects/github.com/semantic-release/semantic-release/badge">
@@ -241,7 +241,7 @@ if (env.GITHUB_TOKEN) {
241
241
 
242
242
  ## Logger
243
243
 
244
- Use `context.logger` to provide debug logging in the plugin.
244
+ Use `context.logger` to provide debug logging in the plugin. Available logging functions: `log`, `warn`, `success`, `error`.
245
245
 
246
246
  ```js
247
247
  const { logger } = context;
@@ -198,3 +198,5 @@
198
198
  - `verifyConditions` Verify configuration options and existance of GitHub token.
199
199
  - `analyzeCommits` Determine the type of release by analyzing merged GitHub pull requests and their labels.
200
200
  - `generateNotes` Generates release notes using [GitHub release notes generator](https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes).
201
+ - [semantic-release-commits-lint](https://github.com/BondarenkoAlex/semantic-release-commits-lint)
202
+ - `analyzeCommits` Analyzing commit messages by [commitlint](https://github.com/conventional-changelog/commitlint).
@@ -119,7 +119,7 @@ Here is a basic example to create [GitHub releases](https://help.github.com/arti
119
119
 
120
120
  **Note**: This is a theoretical example where the command `set-version` update the project version with the value passed as its first argument and `publish-package` publishes the package to a registry.
121
121
 
122
- See the [package managers and languages recipes](../recipes/release-workflow/README.md#package-managers-and-languages) for more details on specific project types.
122
+ See the [package managers and languages recipes](../recipes/release-workflow/README.md#package-managers-and-languages) for more details on specific project types and the [available plugins list](../extending/plugins-list.md) to see if there are community-supported plugins already available for the stack you are interested in.
123
123
 
124
124
  ## Can I use semantic-release with any CI service?
125
125
 
@@ -29,9 +29,8 @@ npx semantic-release
29
29
  1. If you've globally installed **semantic-release** then we recommend that you set the major **semantic-release** version to install.
30
30
  For example, by using `npx semantic-release@18`.
31
31
  This way you control which major version of **semantic-release** is used by your build, and thus avoid breaking the build when there's a new major version of **semantic-release**.
32
- This also means you, or a bot, must upgrade **semantic-release** when a new major version is released.
33
32
  2. Pinning **semantic-release** to an exact version makes your releases even more deterministic.
34
- But pinning also means you, or a bot, must update to newer versions of **semantic-release** more often.
33
+ But pinning also means you, or a bot, must upgrade **semantic-release** when a new version is released.
35
34
  3. You can use [Renovate's regex manager](https://docs.renovatebot.com/modules/manager/regex/) to get automatic updates for **semantic-release** in either of the above scenarios.
36
35
  Put this in your Renovate configuration file:
37
36
  ```json
package/index.d.ts CHANGED
@@ -38,9 +38,9 @@ declare module "semantic-release" {
38
38
  /**
39
39
  * Signale console loger instance.
40
40
  *
41
- * Has error, log and success methods.
41
+ * Has error, log, warn and success methods.
42
42
  */
43
- logger: Signale<"error" | "log" | "success">;
43
+ logger: Signale<"error" | "log" | "success" | "warn">;
44
44
  }
45
45
 
46
46
  /**
package/lib/get-logger.js CHANGED
@@ -14,5 +14,6 @@ export default ({ stdout, stderr }) =>
14
14
  error: { badge: figures.cross, color: "red", label: "", stream: [stderr] },
15
15
  log: { badge: figures.info, color: "magenta", label: "", stream: [stdout] },
16
16
  success: { badge: figures.tick, color: "green", label: "", stream: [stdout] },
17
+ warn: { badge: figures.warning, color: "yellow", label: "", stream: [stderr] },
17
18
  },
18
19
  });
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "semantic-release",
3
3
  "description": "Automated semver compliant package publishing",
4
- "version": "24.0.0",
4
+ "version": "24.1.0",
5
5
  "type": "module",
6
6
  "author": "Stephan Bönnemann <stephan@boennemann.me> (http://boennemann.me)",
7
7
  "ava": {
8
8
  "files": [
9
9
  "test/**/*.test.js",
10
- "!test/integration.test.js"
10
+ "!test/integration.test.js",
11
+ "!test/e2e.test.js"
11
12
  ],
12
13
  "nodeArguments": [
13
14
  "--loader=testdouble",
@@ -59,25 +60,25 @@
59
60
  },
60
61
  "devDependencies": {
61
62
  "ava": "6.1.3",
62
- "c8": "9.1.0",
63
+ "c8": "10.1.2",
63
64
  "clear-module": "4.1.2",
64
65
  "codecov": "3.8.3",
65
66
  "cz-conventional-changelog": "3.3.0",
66
67
  "dockerode": "4.0.2",
67
68
  "file-url": "4.0.0",
68
69
  "fs-extra": "11.2.0",
69
- "got": "14.3.0",
70
+ "got": "14.4.2",
70
71
  "js-yaml": "4.1.0",
71
- "lockfile-lint": "4.13.2",
72
- "ls-engines": "0.9.1",
72
+ "lockfile-lint": "4.14.0",
73
+ "ls-engines": "0.9.3",
73
74
  "mockserver-client": "5.15.0",
74
75
  "nock": "13.5.4",
75
- "npm-run-all2": "6.2.0",
76
+ "npm-run-all2": "6.2.2",
76
77
  "p-retry": "6.2.0",
77
- "prettier": "3.2.5",
78
- "publint": "0.2.8",
78
+ "prettier": "3.3.3",
79
+ "publint": "0.2.10",
79
80
  "sinon": "18.0.0",
80
- "stream-buffers": "3.0.2",
81
+ "stream-buffers": "3.0.3",
81
82
  "tempy": "3.1.0",
82
83
  "testdouble": "3.20.2"
83
84
  },
@@ -155,12 +156,13 @@
155
156
  "semantic-release": "./bin/semantic-release.js",
156
157
  "test": "npm-run-all --print-label --parallel lint:* --parallel test:*",
157
158
  "test:unit": "c8 ava --verbose",
158
- "test:integration": "ava --verbose test/integration.test.js"
159
+ "test:integration": "ava --verbose test/integration.test.js",
160
+ "test:e2e": "ava --verbose test/e2e.test.js"
159
161
  },
160
162
  "renovate": {
161
163
  "extends": [
162
164
  "github>semantic-release/.github:renovate-config"
163
165
  ]
164
166
  },
165
- "packageManager": "npm@10.8.1"
167
+ "packageManager": "npm@10.8.2"
166
168
  }