@mapbox/github-release-tools
Advanced tools
Comparing version 1.3.1 to 1.4.0
{ | ||
"name": "@mapbox/github-release-tools", | ||
"version": "1.3.1", | ||
"version": "1.4.0", | ||
"engines": { | ||
@@ -14,3 +14,3 @@ "node": ">=8" | ||
"scripts": { | ||
"test": "tap test/**/*.test.js" | ||
"test": "tap --timeout 120000 test/**/*.test.js" | ||
}, | ||
@@ -17,0 +17,0 @@ "dependencies": { |
@@ -55,5 +55,23 @@ # github-release-tools | ||
Generate a draft changelog entry using changes to master since the most recent | ||
release. | ||
Generate a draft changelog entry using changes to the default branch since the most recent | ||
release. This is done by scanning pull request descriptions for content between | ||
<changelog></changelog> tags. Below is an example of this format: | ||
`<changelog>Fixes an issue where something would crash.</changelog>` | ||
In addition, if a pull request is labeled with the following tags, the changelog entry | ||
will fall under a markdown header associated with that tag's name: | ||
• breaking change | ||
• bug | ||
• feature | ||
• docs | ||
• performance | ||
• workflow | ||
• testing | ||
• skip changelog | ||
Note: Pull requests with the "skip changelog" tag will not be included in | ||
the generated changelog output. | ||
Options: | ||
@@ -63,3 +81,3 @@ --help Show help [boolean] | ||
-b, --branch the branch from which this release is being made | ||
[string] [default: "master"] | ||
[string] [default: "main"] | ||
-p, --previous the previous release; defaults to the most recent vX.Y.Z tag | ||
@@ -83,3 +101,3 @@ [string] | ||
target Branch to copy permissions to [string] | ||
source Branch to copy permissions from [string] [default: "master"] | ||
source Branch to copy permissions from [string] [default: "main"] | ||
@@ -86,0 +104,0 @@ Options: |
@@ -69,2 +69,3 @@ /* | ||
}); | ||
let {data} = response; | ||
@@ -94,2 +95,2 @@ while (data[data.length - 1].updated_at > since && octokit.hasNextPage(response)) { | ||
return found; | ||
} | ||
} |
@@ -1,11 +0,11 @@ | ||
// `name` maps to github PR label name fields | ||
// 'canonical_name' maps to start of github PR label name fields | ||
const PR_LABELS = { | ||
breaking: { name: 'breaking change :warning:', canonical_name: 'breaking change' }, | ||
bug: { name: 'bug :beetle:', canonical_name: 'bug' }, | ||
feature: { name: 'feature :green_apple:', canonical_name: 'feature' }, | ||
docs: { name: 'docs :scroll:', canonical_name: 'docs' }, | ||
performance: { name: 'performance :zap:', canonical_name: 'performance' }, | ||
workflow: { name: 'workflow :nail_care:', canonical_name: 'build' }, | ||
testing: { name: 'testing :100:', canonical_name: 'testing' }, | ||
skip: { name: 'skip changelog', canonical_name: 'skip changelog' }, | ||
breaking: { canonical_name: 'breaking change' }, | ||
bug: { canonical_name: 'bug' }, | ||
feature: { canonical_name: 'feature' }, | ||
docs: { canonical_name: 'docs' }, | ||
performance: { canonical_name: 'performance' }, | ||
workflow: { canonical_name: 'build', alternative_name: 'workflow :nail_care:' }, | ||
testing: { canonical_name: 'testing' }, | ||
skip: { canonical_name: 'skip changelog' } | ||
}; | ||
@@ -24,3 +24,4 @@ | ||
for (const label of Object.values(PR_LABELS)) { | ||
if (labelNames.includes(label.name) || labelNames.includes(label.canonical_name)) { | ||
if (labelNames.some(l => l.startsWith(label.canonical_name)) | ||
|| labelNames.includes(label.alternative_name)) { | ||
foundLabel = label; | ||
@@ -30,8 +31,8 @@ } | ||
let body; | ||
let matches = pr.body.match(/\<changelog\>(.+)<\/changelog>/); | ||
if (matches) { | ||
body = matches[1]; | ||
} else { | ||
body = pr.title; | ||
let body = pr.title; | ||
if (pr.body){ | ||
let matches = pr.body.match(/\<changelog\>(.+)<\/changelog>/); | ||
if (matches) { | ||
body = matches[1]; | ||
} | ||
} | ||
@@ -38,0 +39,0 @@ |
@@ -33,5 +33,4 @@ const test = require('tap').test; | ||
t.equal(pullRequests.length, 41, 'Pull request count incorrect'); | ||
}); | ||
test('getChangeLogPullRequests filters out PRs merged but then reverted'); |
@@ -15,3 +15,3 @@ const test = require('tap').test; | ||
t.equal(latest, "v1.12.0", "Latest release version"); | ||
t.equal(latest, "v2.10.0", "Latest release version"); | ||
}); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
32225
558
105