@semantic-release/release-notes-generator 10.0.3 → 11.0.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 +22 -15
- package/index.js +42 -42
- package/lib/hosts-config.js +42 -42
- package/lib/load-changelog-config.js +14 -11
- package/package.json +29 -27
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
[](https://www.npmjs.com/package/@semantic-release/release-notes-generator)
|
|
7
7
|
|
|
8
8
|
| Step | Description |
|
|
9
|
-
|
|
9
|
+
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
10
10
|
| `generateNotes` | Generate release notes for the commits added since the last release with [conventional-changelog](https://github.com/conventional-changelog/conventional-changelog). |
|
|
11
11
|
|
|
12
12
|
## Install
|
|
@@ -22,26 +22,33 @@ The plugin can be configured in the [**semantic-release** configuration file](ht
|
|
|
22
22
|
```json
|
|
23
23
|
{
|
|
24
24
|
"plugins": [
|
|
25
|
-
[
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
"
|
|
25
|
+
[
|
|
26
|
+
"@semantic-release/commit-analyzer",
|
|
27
|
+
{
|
|
28
|
+
"preset": "angular",
|
|
29
|
+
"parserOpts": {
|
|
30
|
+
"noteKeywords": ["BREAKING CHANGE", "BREAKING CHANGES", "BREAKING"]
|
|
31
|
+
}
|
|
29
32
|
}
|
|
30
|
-
|
|
31
|
-
[
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
],
|
|
34
|
+
[
|
|
35
|
+
"@semantic-release/release-notes-generator",
|
|
36
|
+
{
|
|
37
|
+
"preset": "angular",
|
|
38
|
+
"parserOpts": {
|
|
39
|
+
"noteKeywords": ["BREAKING CHANGE", "BREAKING CHANGES", "BREAKING"]
|
|
40
|
+
},
|
|
41
|
+
"writerOpts": {
|
|
42
|
+
"commitsSort": ["subject", "scope"]
|
|
43
|
+
}
|
|
38
44
|
}
|
|
39
|
-
|
|
45
|
+
]
|
|
40
46
|
]
|
|
41
47
|
}
|
|
42
48
|
```
|
|
43
49
|
|
|
44
50
|
With this example:
|
|
51
|
+
|
|
45
52
|
- the commits that contains `BREAKING CHANGE`, `BREAKING CHANGES` or `BREAKING` in their body will be considered breaking changes (by default the [angular preset](https://github.com/conventional-changelog/conventional-changelog/blob/master/packages/conventional-changelog-angular/index.js#L14) checks only for `BREAKING CHANGE` and `BREAKING CHANGES`)
|
|
46
53
|
- the commits will be sorted in the changelog by `subject` then `scope` (by default the [angular preset](https://github.com/conventional-changelog/conventional-changelog/blob/master/packages/conventional-changelog-angular/index.js#L90) sort the commits in the changelog by `scope` then `subject`)
|
|
47
54
|
|
|
@@ -50,7 +57,7 @@ With this example:
|
|
|
50
57
|
### Options
|
|
51
58
|
|
|
52
59
|
| Option | Description | Default |
|
|
53
|
-
|
|
60
|
+
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
54
61
|
| `preset` | [conventional-changelog](https://github.com/conventional-changelog/conventional-changelog) preset (possible values: [`angular`](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular), [`atom`](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-atom), [`codemirror`](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-codemirror), [`ember`](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-ember), [`eslint`](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-eslint), [`express`](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-express), [`jquery`](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-jquery), [`jshint`](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-jshint), [`conventionalcommits`](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-conventionalcommits)). | [`angular`](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular) |
|
|
55
62
|
| `config` | NPM package name of a custom [conventional-changelog](https://github.com/conventional-changelog/conventional-changelog) preset. | - |
|
|
56
63
|
| `parserOpts` | Additional [conventional-commits-parser](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-commits-parser#conventionalcommitsparseroptions) options that will extends the ones loaded by `preset` or `config`. This is convenient to use a [conventional-changelog](https://github.com/conventional-changelog/conventional-changelog) preset with some customizations without having to create a new module. | - |
|
package/index.js
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { format } from "url";
|
|
2
|
+
import { find, merge } from "lodash-es";
|
|
3
|
+
import getStream from "get-stream";
|
|
4
|
+
import intoStream from "into-stream";
|
|
5
|
+
import { sync as parser } from "conventional-commits-parser";
|
|
6
|
+
import writer from "./wrappers/conventional-changelog-writer.js";
|
|
7
|
+
import filter from "conventional-commits-filter";
|
|
8
|
+
import { readPackageUp } from "read-pkg-up";
|
|
9
|
+
import debugFactory from "debug";
|
|
10
|
+
import loadChangelogConfig from "./lib/load-changelog-config.js";
|
|
11
|
+
import HOSTS_CONFIG from "./lib/hosts-config.js";
|
|
12
|
+
|
|
13
|
+
const debug = debugFactory("semantic-release:release-notes-generator");
|
|
12
14
|
|
|
13
15
|
/**
|
|
14
16
|
* Generate the changelog for all the commits in `options.commits`.
|
|
15
17
|
*
|
|
16
18
|
* @param {Object} pluginConfig The plugin configuration.
|
|
17
19
|
* @param {String} pluginConfig.preset conventional-changelog preset ('angular', 'atom', 'codemirror', 'ember', 'eslint', 'express', 'jquery', 'jscs', 'jshint').
|
|
18
|
-
* @param {String} pluginConfig.config
|
|
20
|
+
* @param {String} pluginConfig.config Requireable npm package with a custom conventional-changelog preset
|
|
19
21
|
* @param {Object} pluginConfig.parserOpts Additional `conventional-changelog-parser` options that will overwrite ones loaded by `preset` or `config`.
|
|
20
22
|
* @param {Object} pluginConfig.writerOpts Additional `conventional-changelog-writer` options that will overwrite ones loaded by `preset` or `config`.
|
|
21
23
|
* @param {Object} context The semantic-release context.
|
|
@@ -26,43 +28,43 @@ const HOSTS_CONFIG = require('./lib/hosts-config');
|
|
|
26
28
|
*
|
|
27
29
|
* @returns {String} The changelog for all the commits in `context.commits`.
|
|
28
30
|
*/
|
|
29
|
-
async function generateNotes(pluginConfig, context) {
|
|
30
|
-
const {commits, lastRelease, nextRelease, options, cwd} = context;
|
|
31
|
-
const repositoryUrl = options.repositoryUrl.replace(/\.git$/i,
|
|
32
|
-
const {parserOpts, writerOpts} = await loadChangelogConfig(pluginConfig, context);
|
|
31
|
+
export async function generateNotes(pluginConfig, context) {
|
|
32
|
+
const { commits, lastRelease, nextRelease, options, cwd } = context;
|
|
33
|
+
const repositoryUrl = options.repositoryUrl.replace(/\.git$/i, "");
|
|
34
|
+
const { parserOpts, writerOpts } = await loadChangelogConfig(pluginConfig, context);
|
|
33
35
|
|
|
34
36
|
const [match, auth, host, path] = /^(?!.+:\/\/)(?:(?<auth>.*)@)?(?<host>.*?):(?<path>.*)$/.exec(repositoryUrl) || [];
|
|
35
|
-
let {hostname, port, pathname, protocol} = new URL(
|
|
36
|
-
match ? `ssh://${auth ? `${auth}@` :
|
|
37
|
+
let { hostname, port, pathname, protocol } = new URL(
|
|
38
|
+
match ? `ssh://${auth ? `${auth}@` : ""}${host}/${path}` : repositoryUrl
|
|
37
39
|
);
|
|
38
|
-
port = protocol.includes(
|
|
39
|
-
protocol = protocol && /http[^s]/.test(protocol) ?
|
|
40
|
+
port = protocol.includes("ssh") ? "" : port;
|
|
41
|
+
protocol = protocol && /http[^s]/.test(protocol) ? "http" : "https";
|
|
40
42
|
const [, owner, repository] = /^\/(?<owner>[^/]+)?\/?(?<repository>.+)?$/.exec(pathname);
|
|
41
43
|
|
|
42
|
-
const {issue, commit, referenceActions, issuePrefixes} =
|
|
43
|
-
find(HOSTS_CONFIG, conf => conf.hostname === hostname) || HOSTS_CONFIG.default;
|
|
44
|
+
const { issue, commit, referenceActions, issuePrefixes } =
|
|
45
|
+
find(HOSTS_CONFIG, (conf) => conf.hostname === hostname) || HOSTS_CONFIG.default;
|
|
44
46
|
const parsedCommits = filter(
|
|
45
47
|
commits
|
|
46
|
-
.filter(({message, hash}) => {
|
|
48
|
+
.filter(({ message, hash }) => {
|
|
47
49
|
if (!message.trim()) {
|
|
48
|
-
debug(
|
|
50
|
+
debug("Skip commit %s with empty message", hash);
|
|
49
51
|
return false;
|
|
50
52
|
}
|
|
51
53
|
|
|
52
54
|
return true;
|
|
53
55
|
})
|
|
54
|
-
.map(rawCommit => ({
|
|
56
|
+
.map((rawCommit) => ({
|
|
55
57
|
...rawCommit,
|
|
56
|
-
...parser(rawCommit.message, {referenceActions, issuePrefixes, ...parserOpts}),
|
|
58
|
+
...parser(rawCommit.message, { referenceActions, issuePrefixes, ...parserOpts }),
|
|
57
59
|
}))
|
|
58
60
|
);
|
|
59
61
|
const previousTag = lastRelease.gitTag || lastRelease.gitHead;
|
|
60
62
|
const currentTag = nextRelease.gitTag || nextRelease.gitHead;
|
|
61
|
-
const {host: hostConfig, linkCompare, linkReferences, commit: commitConfig, issue: issueConfig} = pluginConfig;
|
|
63
|
+
const { host: hostConfig, linkCompare, linkReferences, commit: commitConfig, issue: issueConfig } = pluginConfig;
|
|
62
64
|
const changelogContext = merge(
|
|
63
65
|
{
|
|
64
66
|
version: nextRelease.version,
|
|
65
|
-
host: format({protocol, hostname, port}),
|
|
67
|
+
host: format({ protocol, hostname, port }),
|
|
66
68
|
owner,
|
|
67
69
|
repository,
|
|
68
70
|
previousTag,
|
|
@@ -70,23 +72,21 @@ async function generateNotes(pluginConfig, context) {
|
|
|
70
72
|
linkCompare: currentTag && previousTag,
|
|
71
73
|
issue,
|
|
72
74
|
commit,
|
|
73
|
-
packageData: ((await
|
|
75
|
+
packageData: ((await readPackageUp({ normalize: false, cwd })) || {}).packageJson,
|
|
74
76
|
},
|
|
75
|
-
{host: hostConfig, linkCompare, linkReferences, commit: commitConfig, issue: issueConfig}
|
|
77
|
+
{ host: hostConfig, linkCompare, linkReferences, commit: commitConfig, issue: issueConfig }
|
|
76
78
|
);
|
|
77
79
|
|
|
78
|
-
debug(
|
|
79
|
-
debug(
|
|
80
|
-
debug(
|
|
81
|
-
debug(
|
|
82
|
-
debug(
|
|
83
|
-
debug(
|
|
84
|
-
debug(
|
|
85
|
-
debug(
|
|
86
|
-
debug(
|
|
87
|
-
debug(
|
|
80
|
+
debug("version: %o", changelogContext.version);
|
|
81
|
+
debug("host: %o", changelogContext.hostname);
|
|
82
|
+
debug("owner: %o", changelogContext.owner);
|
|
83
|
+
debug("repository: %o", changelogContext.repository);
|
|
84
|
+
debug("previousTag: %o", changelogContext.previousTag);
|
|
85
|
+
debug("currentTag: %o", changelogContext.currentTag);
|
|
86
|
+
debug("host: %o", changelogContext.host);
|
|
87
|
+
debug("linkReferences: %o", changelogContext.linkReferences);
|
|
88
|
+
debug("issue: %o", changelogContext.issue);
|
|
89
|
+
debug("commit: %o", changelogContext.commit);
|
|
88
90
|
|
|
89
91
|
return getStream(intoStream.object(parsedCommits).pipe(writer(changelogContext, writerOpts)));
|
|
90
92
|
}
|
|
91
|
-
|
|
92
|
-
module.exports = {generateNotes};
|
package/lib/hosts-config.js
CHANGED
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
|
|
1
|
+
export default {
|
|
2
2
|
github: {
|
|
3
|
-
hostname:
|
|
4
|
-
issue:
|
|
5
|
-
commit:
|
|
6
|
-
referenceActions: [
|
|
7
|
-
issuePrefixes: [
|
|
3
|
+
hostname: "github.com",
|
|
4
|
+
issue: "issues",
|
|
5
|
+
commit: "commit",
|
|
6
|
+
referenceActions: ["close", "closes", "closed", "fix", "fixes", "fixed", "resolve", "resolves", "resolved"],
|
|
7
|
+
issuePrefixes: ["#", "gh-"],
|
|
8
8
|
},
|
|
9
9
|
bitbucket: {
|
|
10
|
-
hostname:
|
|
11
|
-
issue:
|
|
12
|
-
commit:
|
|
10
|
+
hostname: "bitbucket.org",
|
|
11
|
+
issue: "issue",
|
|
12
|
+
commit: "commits",
|
|
13
13
|
referenceActions: [
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
14
|
+
"close",
|
|
15
|
+
"closes",
|
|
16
|
+
"closed",
|
|
17
|
+
"closing",
|
|
18
|
+
"fix",
|
|
19
|
+
"fixes",
|
|
20
|
+
"fixed",
|
|
21
|
+
"fixing",
|
|
22
|
+
"resolve",
|
|
23
|
+
"resolves",
|
|
24
|
+
"resolved",
|
|
25
|
+
"resolving",
|
|
26
26
|
],
|
|
27
|
-
issuePrefixes: [
|
|
27
|
+
issuePrefixes: ["#"],
|
|
28
28
|
},
|
|
29
29
|
gitlab: {
|
|
30
|
-
hostname:
|
|
31
|
-
issue:
|
|
32
|
-
commit:
|
|
33
|
-
referenceActions: [
|
|
34
|
-
issuePrefixes: [
|
|
30
|
+
hostname: "gitlab.com",
|
|
31
|
+
issue: "issues",
|
|
32
|
+
commit: "commit",
|
|
33
|
+
referenceActions: ["close", "closes", "closed", "closing", "fix", "fixes", "fixed", "fixing"],
|
|
34
|
+
issuePrefixes: ["#"],
|
|
35
35
|
},
|
|
36
36
|
default: {
|
|
37
|
-
issue:
|
|
38
|
-
commit:
|
|
37
|
+
issue: "issues",
|
|
38
|
+
commit: "commit",
|
|
39
39
|
referenceActions: [
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
40
|
+
"close",
|
|
41
|
+
"closes",
|
|
42
|
+
"closed",
|
|
43
|
+
"closing",
|
|
44
|
+
"fix",
|
|
45
|
+
"fixes",
|
|
46
|
+
"fixed",
|
|
47
|
+
"fixing",
|
|
48
|
+
"resolve",
|
|
49
|
+
"resolves",
|
|
50
|
+
"resolved",
|
|
51
|
+
"resolving",
|
|
52
52
|
],
|
|
53
|
-
issuePrefixes: [
|
|
53
|
+
issuePrefixes: ["#", "gh-"],
|
|
54
54
|
},
|
|
55
55
|
};
|
|
@@ -1,24 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { dirname } from "node:path";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
import { promisify } from "node:util";
|
|
4
|
+
import { isPlainObject } from "lodash-es";
|
|
5
|
+
import importFrom from "import-from";
|
|
6
|
+
import conventionalChangelogAngular from "conventional-changelog-angular";
|
|
5
7
|
|
|
6
8
|
/**
|
|
7
9
|
* Load `conventional-changelog-parser` options. Handle presets that return either a `Promise<Array>` or a `Promise<Function>`.
|
|
8
10
|
*
|
|
9
11
|
* @param {Object} pluginConfig The plugin configuration.
|
|
10
12
|
* @param {Object} pluginConfig.preset conventional-changelog preset ('angular', 'atom', 'codemirror', 'ember', 'eslint', 'express', 'jquery', 'jscs', 'jshint')
|
|
11
|
-
* @param {string} pluginConfig.config
|
|
12
|
-
* @param {Object} pluginConfig.parserOpts
|
|
13
|
-
* @param {Object} pluginConfig.writerOpts
|
|
13
|
+
* @param {string} pluginConfig.config Requireable npm package with a custom conventional-changelog preset
|
|
14
|
+
* @param {Object} pluginConfig.parserOpts Additional `conventional-changelog-parser` options that will overwrite ones loaded by `preset` or `config`.
|
|
15
|
+
* @param {Object} pluginConfig.writerOpts Additional `conventional-changelog-writer` options that will overwrite ones loaded by `preset` or `config`.
|
|
14
16
|
* @param {Object} context The semantic-release context.
|
|
15
17
|
* @param {Array<Object>} context.commits The commits to analyze.
|
|
16
18
|
* @param {String} context.cwd The current working directory.
|
|
17
19
|
*
|
|
18
20
|
* @return {Promise<Object>} a `Promise` that resolve to the `conventional-changelog-core` config.
|
|
19
21
|
*/
|
|
20
|
-
|
|
22
|
+
export default async ({ preset, config, parserOpts, writerOpts, presetConfig }, { cwd }) => {
|
|
21
23
|
let loadedConfig;
|
|
24
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
22
25
|
|
|
23
26
|
if (preset) {
|
|
24
27
|
const presetPackage = `conventional-changelog-${preset.toLowerCase()}`;
|
|
@@ -29,14 +32,14 @@ module.exports = async ({preset, config, parserOpts, writerOpts, presetConfig},
|
|
|
29
32
|
loadedConfig = conventionalChangelogAngular;
|
|
30
33
|
}
|
|
31
34
|
|
|
32
|
-
loadedConfig = await (typeof loadedConfig ===
|
|
35
|
+
loadedConfig = await (typeof loadedConfig === "function"
|
|
33
36
|
? isPlainObject(presetConfig)
|
|
34
37
|
? loadedConfig(presetConfig)
|
|
35
38
|
: promisify(loadedConfig)()
|
|
36
39
|
: loadedConfig);
|
|
37
40
|
|
|
38
41
|
return {
|
|
39
|
-
parserOpts: {...loadedConfig.parserOpts, ...parserOpts},
|
|
40
|
-
writerOpts: {...loadedConfig.writerOpts, ...writerOpts},
|
|
42
|
+
parserOpts: { ...loadedConfig.parserOpts, ...parserOpts },
|
|
43
|
+
writerOpts: { ...loadedConfig.writerOpts, ...writerOpts },
|
|
41
44
|
};
|
|
42
45
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semantic-release/release-notes-generator",
|
|
3
3
|
"description": "semantic-release plugin to generate changelog content with conventional-changelog",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "11.0.0",
|
|
5
5
|
"author": "Pierre Vanduynslager (https://twitter.com/@pvdlg_)",
|
|
6
6
|
"bugs": {
|
|
7
7
|
"url": "https://github.com/semantic-release/release-notes-generator/issues"
|
|
@@ -18,29 +18,29 @@
|
|
|
18
18
|
"debug": "^4.0.0",
|
|
19
19
|
"get-stream": "^6.0.0",
|
|
20
20
|
"import-from": "^4.0.0",
|
|
21
|
-
"into-stream": "^
|
|
22
|
-
"lodash": "^4.17.
|
|
23
|
-
"read-pkg-up": "^
|
|
21
|
+
"into-stream": "^7.0.0",
|
|
22
|
+
"lodash-es": "^4.17.21",
|
|
23
|
+
"read-pkg-up": "^9.0.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"ava": "
|
|
26
|
+
"ava": "5.2.0",
|
|
27
|
+
"c8": "7.10.0",
|
|
27
28
|
"conventional-changelog-atom": "2.0.8",
|
|
28
|
-
"conventional-changelog-conventionalcommits": "
|
|
29
|
+
"conventional-changelog-conventionalcommits": "5.0.0",
|
|
29
30
|
"conventional-changelog-ember": "2.0.9",
|
|
30
31
|
"conventional-changelog-eslint": "3.0.9",
|
|
31
32
|
"conventional-changelog-express": "2.0.6",
|
|
32
33
|
"conventional-changelog-jshint": "2.0.9",
|
|
33
|
-
"escape-string-regexp": "
|
|
34
|
-
"fs-extra": "
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"xo": "0.28.3"
|
|
34
|
+
"escape-string-regexp": "5.0.0",
|
|
35
|
+
"fs-extra": "11.1.0",
|
|
36
|
+
"prettier": "2.8.8",
|
|
37
|
+
"semantic-release": "21.0.1",
|
|
38
|
+
"stream-buffers": "3.0.2",
|
|
39
|
+
"tempy": "3.0.0",
|
|
40
|
+
"testdouble": "3.16.8"
|
|
41
41
|
},
|
|
42
42
|
"engines": {
|
|
43
|
-
"node": ">=
|
|
43
|
+
"node": ">=18"
|
|
44
44
|
},
|
|
45
45
|
"files": [
|
|
46
46
|
"lib",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
],
|
|
60
60
|
"license": "MIT",
|
|
61
61
|
"main": "index.js",
|
|
62
|
-
"
|
|
62
|
+
"c8": {
|
|
63
63
|
"include": [
|
|
64
64
|
"lib/**/*.js",
|
|
65
65
|
"index.js"
|
|
@@ -72,32 +72,34 @@
|
|
|
72
72
|
"all": true
|
|
73
73
|
},
|
|
74
74
|
"peerDependencies": {
|
|
75
|
-
"semantic-release": ">=
|
|
75
|
+
"semantic-release": ">=20.1.0"
|
|
76
76
|
},
|
|
77
77
|
"prettier": {
|
|
78
78
|
"printWidth": 120,
|
|
79
79
|
"trailingComma": "es5"
|
|
80
80
|
},
|
|
81
81
|
"publishConfig": {
|
|
82
|
-
"access": "public"
|
|
82
|
+
"access": "public",
|
|
83
|
+
"provenance": true
|
|
83
84
|
},
|
|
84
85
|
"repository": {
|
|
85
86
|
"type": "git",
|
|
86
87
|
"url": "https://github.com/semantic-release/release-notes-generator.git"
|
|
87
88
|
},
|
|
88
89
|
"scripts": {
|
|
89
|
-
"lint": "
|
|
90
|
+
"lint": "prettier --check \"*.{js,json,md}\" \".github/**/*.{md,yml}\" \"{bin,lib,test}/*.js\"",
|
|
91
|
+
"lint:fix": "prettier --write \"*.{js,json,md}\" \".github/**/*.{md,yml}\" \"{bin,lib,test}/*.js\"",
|
|
90
92
|
"pretest": "npm run lint",
|
|
91
93
|
"semantic-release": "semantic-release",
|
|
92
|
-
"test": "
|
|
93
|
-
"test:ci": "
|
|
94
|
+
"test": "c8 ava -v",
|
|
95
|
+
"test:ci": "c8 ava -v"
|
|
94
96
|
},
|
|
95
|
-
"
|
|
96
|
-
|
|
97
|
-
"
|
|
98
|
-
|
|
99
|
-
"
|
|
100
|
-
|
|
97
|
+
"type": "module",
|
|
98
|
+
"ava": {
|
|
99
|
+
"nodeArguments": [
|
|
100
|
+
"--loader=testdouble",
|
|
101
|
+
"--no-warnings"
|
|
102
|
+
]
|
|
101
103
|
},
|
|
102
104
|
"renovate": {
|
|
103
105
|
"extends": [
|