Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: make fixes and refs detection stricter #612

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions lib/links.js
@@ -1,8 +1,8 @@
import cheerio from 'cheerio';

const FIXES_RE = /(Close[ds]?|Fix(e[ds])?|Resolve[sd]?)\s*:\s*(\S+)/mgi;
const FIXES_RE = /^(Close[ds]?|Fix(e[ds])?|Resolve[sd]?)\s*:\s*(\S+)/mgi;
richardlau marked this conversation as resolved.
Show resolved Hide resolved
const FIX_RE = /(Close[ds]?|Fix(e[ds])?|Resolve[sd]?)\s*:\s*(\S+)/i;
const REFS_RE = /Refs?\s*:\s*(\S+)/mgi;
const REFS_RE = /^Refs?\s*:\s*(\S+)/mgi;
richardlau marked this conversation as resolved.
Show resolved Hide resolved
const REF_RE = /Refs?\s*:\s*(\S+)/i;
const PR_RE = /PR-URL\s*:\s*(\S+)/i;

Expand Down
3 changes: 2 additions & 1 deletion test/fixtures/op_html.json
Expand Up @@ -2,5 +2,6 @@
"<p>The npm install rules had a hidden dependency on the <code>node</code> binary<br>\ninstall rule creating the <code>$PREFIX/bin</code> directory.</p>\n<p>Because with <code>./configure --shared</code> no binary is created, the rule<br>\nsubsequently failed. Fix that by creating the directory before<br>\ncreating the symlinks to the npm and npx scripts.</p>\n<p>(Whether it makes sense to install npm without a <code>node</code> binary is<br>\na separate question. This commit is not taking positions. :-))</p>\n<p>Regression introduced in commit <a href=\"https://github.com/nodejs/node/commit/ed8c89a07d159b72a2e351a76c92b8b6a15515bd\" class=\"commit-link\"><tt>ed8c89a</tt></a> (\"build: fix shared installing<br>\ntarget\") which, as the commit log indicates, was itself a bug fix for<br>\nthe <code>./configure --shared</code> install.</p>\n<p>Fixes: <a href=\"https://github.com/nodejs/node/issues/16437\" class=\"issue-link js-issue-link\" data-error-text=\"Failed to load issue title\" data-id=\"267969588\" data-permission-text=\"Issue title is private\" data-url=\"https://github.com/nodejs/node/issues/16437\">#16437</a><br>\nRefs: <a href=\"https://github.com/nodejs/node/pull/15148\" class=\"issue-link js-issue-link\" data-error-text=\"Failed to load issue title\" data-id=\"254809069\" data-permission-text=\"Issue title is private\" data-url=\"https://github.com/nodejs/node/issues/15148\">#15148</a></p>",
"<p>Refs: <a href=\"https://github.com/nodejs/node/pull/16293\" class=\"issue-link js-issue-link\" data-error-text=\"Failed to load issue title\" data-id=\"266519190\" data-permission-text=\"Issue title is private\" data-url=\"https://github.com/nodejs/node/issues/16293\">#16293</a></p>\n<h5>Checklist</h5>\n\n<ul class=\"contains-task-list\">\n<li class=\"task-list-item\"><input checked=\"\" class=\"task-list-item-checkbox\" disabled=\"\" id=\"\" type=\"checkbox\"> <code>make -j4 test</code> (UNIX), or <code>vcbuild test</code> (Windows) passes</li>\n<li class=\"task-list-item\"><input checked=\"\" class=\"task-list-item-checkbox\" disabled=\"\" id=\"\" type=\"checkbox\"> commit message follows <a href=\"https://github.com/nodejs/node/blob/master/CONTRIBUTING.md#commit-message-guidelines\">commit guidelines</a></li>\n</ul>\n<h5>Affected core subsystem(s)</h5>\n\n<p>vm</p>",
"<p>Included reference to \\'constant time\\' in crypto.timingSafeEqual description</p>\n<p><span aria-label=\"This pull request closes issue #16504.\" class=\"issue-keyword tooltipped tooltipped-se\">Fixes</span> : <a href=\"https://github.com/nodejs/node/issues/16504\" class=\"issue-link js-issue-link\" data-error-text=\"Failed to load issue title\" data-id=\"268571876\" data-permission-text=\"Issue title is private\" data-url=\"https://github.com/nodejs/node/issues/16504\">#16504</a></p>",
"<h5>Checklist</h5><ul class=\"contains-task-list\"><li class=\"task-list-item\"><input checked=\"\" class=\"task-list-item-checkbox\" disabled=\"\" id=\"\" type=\"checkbox\"> <code>make -j4 test</code> (UNIX), or <code>vcbuild test</code> (Windows) passes</li><li class=\"task-list-item\"><input checked=\"\" class=\"task-list-item-checkbox\" disabled=\"\" id=\"\" type=\"checkbox\"> documentation is changed or added</li><li class=\"task-list-item\"><input checked=\"\" class=\"task-list-item-checkbox\" disabled=\"\" id=\"\" type=\"checkbox\"> commit message follows <a href=\"https://github.com/nodejs/node/blob/master/CONTRIBUTING.md#commit-message-guidelines\">commit guidelines</a></li></ul><h5>Affected core subsystem(s)</h5><p>doc, dgram</p><p>Refs: <a href=\"https://en.wikipedia.org/w/index.php?title=IPv6_address&amp;type=revision&amp;diff=809494791&amp;oldid=804196124\" rel=\"nofollow\">https://en.wikipedia.org/w/index.php?title=IPv6_address&amp;type=revision&amp;diff=809494791&amp;oldid=804196124</a></p>"
"<h5 dir=\"auto\">Checklist</h5>\n<ul class=\"contains-task-list\">\n<li class=\"task-list-item\"><input type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"> <code>make -j4 test</code> (UNIX), or <code>vcbuild test</code> (Windows) passes</li>\n<li class=\"task-list-item\"><input type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"> documentation is changed or added</li>\n<li class=\"task-list-item\"><input type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"> commit message follows <a href=\"https://github.com/nodejs/node/blob/master/CONTRIBUTING.md#commit-message-guidelines\">commit guidelines</a></li>\n</ul>\n<h5 dir=\"auto\">Affected core subsystem(s)</h5>\n<p dir=\"auto\">doc, dgram</p>\n<p dir=\"auto\">Refs: <a href=\"https://en.wikipedia.org/w/index.php?title=IPv6_address&amp;type=revision&amp;diff=809494791&amp;oldid=804196124\" rel=\"nofollow\">https://en.wikipedia.org/w/index.php?title=IPv6_address&amp;type=revision&amp;diff=809494791&amp;oldid=804196124</a></p>",
"<h2 dir=\"auto\">v8.5.5 (2022-03-17)</h2>\n<h3 dir=\"auto\">Bug Fixes</h3>\n<ul dir=\"auto\">\n<li><a href=\"https://github.com/npm/cli/commit/0e7511d144bdb6624e4c0fdfb31b4b42ed2954c9\"><code>0e7511d14</code></a> <a href=\"https://github.com/npm/cli/pull/4261\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4261/hovercard\">#4261</a> fix(arborist): _findMissingEdges missing dependency due to inconsistent path separators (<a href=\"https://github.com/salvadorj\">@salvadorj</a>)</li>\n<li><a href=\"https://github.com/npm/cli/commit/c83069436ef4af75eaef071bc181ba1ab49729e9\"><code>c83069436</code></a> <a href=\"https://github.com/npm/cli/pull/4547\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4547/hovercard\">#4547</a> fix: omit bots from authors (<a href=\"https://github.com/wraithgar\">@wraithgar</a>)</li>\n<li><a href=\"https://github.com/npm/cli/commit/f66da2ed8948fbfa919dd5debe52eafe2018735c\"><code>f66da2ed8</code></a> <a href=\"https://github.com/npm/cli/pull/4565\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4565/hovercard\">#4565</a> fix(owner): bypass cache when fetching packument (<a href=\"https://github.com/wraithgar\">@wraithgar</a>)</li>\n<li><a href=\"https://github.com/npm/cli/commit/f0c6e86ca5920baa85355af3ea50ed13f7429a10\"><code>f0c6e86ca</code></a> <a href=\"https://github.com/npm/cli/pull/4572\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4572/hovercard\">#4572</a> fix: remove name from unpublished message (<a href=\"https://github.com/wraithgar\">@wraithgar</a>)</li>\n<li><a href=\"https://github.com/npm/cli/commit/f7e58fa74d9008731b86c82f75251ca295056cf1\"><code>f7e58fa74</code></a> <a href=\"https://github.com/npm/cli/pull/4572\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4572/hovercard\">#4572</a> fix: remove \"bug the author\" message from package 404 (<a href=\"https://github.com/wraithgar\">@wraithgar</a>)</li>\n<li><a href=\"https://github.com/npm/cli/commit/5471ff5fe8f74f46cdc2bb056ba9b496c7dd1a78\"><code>5471ff5fe</code></a> <a href=\"https://github.com/npm/cli/pull/4573\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4573/hovercard\">#4573</a> fix: add isntall alias to install (<a href=\"https://github.com/wraithgar\">@wraithgar</a>)</li>\n<li><a href=\"https://github.com/npm/cli/commit/84d19210e5604775a3a413aa32cbba2c103933f2\"><code>84d19210e</code></a> <a href=\"https://github.com/npm/cli/pull/4576\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4576/hovercard\">#4576</a> fix: properly show <code>npm view ./directory</code> (<a href=\"https://github.com/wraithgar\">@wraithgar</a>)</li>\n<li><a href=\"https://github.com/npm/cli/commit/e9a2981f55f84ff521ef597883a4e732d08ce1c1\"><code>e9a2981f5</code></a> <a href=\"https://github.com/npm/cli/pull/4578\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4578/hovercard\">#4578</a> fix(arborist): save workspace version (<a href=\"https://github.com/ruyadorno\">@ruyadorno</a>)</li>\n</ul>\n<h3 dir=\"auto\">Documentation</h3>\n<ul dir=\"auto\">\n<li><a href=\"https://github.com/npm/cli/commit/a304052580c070a1f8c1c0cf8cbeec615c46af02\"><code>a30405258</code></a> <a href=\"https://github.com/npm/cli/pull/4580\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4580/hovercard\">#4580</a> docs: add foreground-scripts and ignore-scripts to commands (<a href=\"https://github.com/wraithgar\">@wraithgar</a>)</li>\n<li><a href=\"https://github.com/npm/cli/commit/2361a68e14f893e97dad53d66fde32082e23521a\"><code>2361a68e1</code></a> <a href=\"https://github.com/npm/cli/pull/4582\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4582/hovercard\">#4582</a> docs: add isntall alias to install command (<a href=\"https://github.com/wraithgar\">@wraithgar</a>)</li>\n<li><a href=\"https://github.com/npm/cli/commit/8ff1dfaaeeb32e88c879b96a786835fe13526a88\"><code>8ff1dfaae</code></a> <a href=\"https://github.com/npm/cli/pull/4575\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4575/hovercard\">#4575</a> docs: explain that linked deps need <code>npm install</code> ran in them (<a href=\"https://github.com/wraithgar\">@wraithgar</a>)</li>\n<li><a href=\"https://github.com/npm/cli/commit/ddbb505ec6077576e0a9d00a14b43d32d69e4f9e\"><code>ddbb505ec</code></a> <a href=\"https://github.com/npm/cli/pull/4574\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4574/hovercard\">#4574</a> docs: explain that git-tag-version=false does not commit (<a href=\"https://github.com/wraithgar\">@wraithgar</a>)</li>\n<li><a href=\"https://github.com/npm/cli/commit/7c878b9781be2e2151f41bd29d46c33e421aeb10\"><code>7c878b978</code></a> <a href=\"https://github.com/npm/cli/pull/4584\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4584/hovercard\">#4584</a> docs: fix unpublish docs to auto generate usage (<a href=\"https://github.com/wraithgar\">@wraithgar</a>)</li>\n</ul>\n<h3 dir=\"auto\">Dependencies</h3>\n<ul dir=\"auto\">\n<li><a href=\"https://github.com/npm/cli/commit/fcc6acfa808aa556748544edf4e9b73262f77608\"><code>fcc6acfa8</code></a> <a href=\"https://github.com/npm/cli/pull/4562\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4562/hovercard\">#4562</a> deps: <code>@npmcli/metavuln-calculator@3.0.1</code></li>\n<li><a href=\"https://github.com/npm/cli/commit/6d3145014861b4198c16d7772d809fd037ece289\"><code>6d3145014</code></a> <a href=\"https://github.com/npm/cli/pull/4562\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4562/hovercard\">#4562</a> deps: <code>pacote@13.0.4</code></li>\n<li><a href=\"https://github.com/npm/cli/commit/f6b771aabece09dca2231426d4f681d3578e5ab7\"><code>f6b771aab</code></a> <a href=\"https://github.com/npm/cli/pull/4562\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4562/hovercard\">#4562</a> deps: <code>make-fetch-happen@10.0.6</code></li>\n<li><a href=\"https://github.com/npm/cli/commit/e26548fb12a3bb23fbe32a336f1305e083aa51c0\"><code>e26548fb1</code></a> <a href=\"https://github.com/npm/cli/pull/4562\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4562/hovercard\">#4562</a> deps: <code>cacache@16.0.0</code></li>\n<li><a href=\"https://github.com/npm/cli/commit/915dda7abeedf79cfe0dde1bd55d80115e2a795d\"><code>915dda7ab</code></a> <a href=\"https://github.com/npm/cli/pull/4562\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4562/hovercard\">#4562</a> deps: <code>init-package-json@3.0.1</code></li>\n<li><a href=\"https://github.com/npm/cli/commit/f2ec2ef1f7a639ea292d6ab442d588ed72198857\"><code>f2ec2ef1f</code></a> <a href=\"https://github.com/npm/cli/pull/4562\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4562/hovercard\">#4562</a> deps: <code>read-package-json@5.0.0</code></li>\n<li><a href=\"https://github.com/npm/cli/commit/340fa51f423a518a96c8015a67d8f6144a2e8051\"><code>340fa51f4</code></a> <a href=\"https://github.com/npm/cli/pull/4562\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4562/hovercard\">#4562</a> deps: <code>pacote@13.0.5</code></li>\n<li><a href=\"https://github.com/npm/cli/commit/9555a5f1d135aa1b8f7374273403efe41e99ee26\"><code>9555a5f1d</code></a> <a href=\"https://github.com/npm/cli/pull/4562\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4562/hovercard\">#4562</a> deps: <code>npm-package-arg@9.0.1</code></li>\n<li><a href=\"https://github.com/npm/cli/commit/b2a494283f45a25d1b87bc40bf2d68812871e89c\"><code>b2a494283</code></a> <a href=\"https://github.com/npm/cli/pull/4562\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4562/hovercard\">#4562</a> deps: <code>normalize-package-data@4.0.0</code></li>\n<li><a href=\"https://github.com/npm/cli/commit/1cb88f4b31019af9cb8eac8a46433b44bba9d061\"><code>1cb88f4b3</code></a> <a href=\"https://github.com/npm/cli/pull/4562\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4562/hovercard\">#4562</a> deps: <code>hosted-git-info@5.0.0</code></li>\n<li><a href=\"https://github.com/npm/cli/commit/f95396a033b75e2a3e9aa83f0b06c527641027a4\"><code>f95396a03</code></a> <a href=\"https://github.com/npm/cli/pull/4562\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4562/hovercard\">#4562</a> deps: <code>cacache@16.0.1</code></li>\n<li><a href=\"https://github.com/npm/cli/commit/aec2bfecca4ad3ee7db4481cf068add9c42e7160\"><code>aec2bfecc</code></a> <a href=\"https://github.com/npm/cli/pull/4585\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/npm/cli/pull/4585/hovercard\">#4585</a> deps: <code>cacache@16.0.2</code></li>\n<li><a href=\"https://github.com/npm/cli/commit/ed8ab63e4a2c8e6527bf7d49736d1bbb6f0aead2\"><code>ed8ab63e4</code></a> deps: <code>libnpmpack@4.0.2</code></li>\n<li><a href=\"https://github.com/npm/cli/commit/0b73bfa82d4eb826ec0dbda4cc457c94580e0d64\"><code>0b73bfa82</code></a> deps: <code>libnpmteam@4.0.2</code></li>\n<li><a href=\"https://github.com/npm/cli/commit/475d59b361ef9e260e21d39361baf92f2272f1d7\"><code>475d59b36</code></a> deps: <code>libnpmaccess@6.0.2</code></li>\n<li><a href=\"https://github.com/npm/cli/commit/7201c7395f66d3faf24b361e69555490d606ed91\"><code>7201c7395</code></a> deps: <code>libnpmsearch@5.0.2</code></li>\n<li><a href=\"https://github.com/npm/cli/commit/f5df358c3af2c23e7818105608bcceabdd8b62fa\"><code>f5df358c3</code></a> deps: <code>libnpmorg@4.0.2</code></li>\n<li><a href=\"https://github.com/npm/cli/commit/472e7dd7aa6935cb6b89ec78cbce45f75f3f0044\"><code>472e7dd7a</code></a> deps: <code>libnpmhook@8.0.2</code></li>\n<li><a href=\"https://github.com/npm/cli/commit/c901d7290ed09aefe3ba6e8c09cb3126f0d92f95\"><code>c901d7290</code></a> deps: <code>libnpmpublish@6.0.2</code></li>\n<li><a href=\"https://github.com/npm/cli/commit/aad53327f23b123d0e017338a9a1b65d40f21efe\"><code>aad53327f</code></a> deps: <code>@npmcli/arborist@5.0.3</code></li>\n<li><a href=\"https://github.com/npm/cli/commit/b40136bcaf32232e4cacdb517ce40f61871da159\"><code>b40136bca</code></a> deps: <code>libnpmdiff@4.0.2</code></li>\n<li><a href=\"https://github.com/npm/cli/commit/5d91201d1c69e3c095a4eedf0f1d702f35b0d8c1\"><code>5d91201d1</code></a> deps: <code>libnpmexec@4.0.2</code></li>\n</ul>"
]
7 changes: 7 additions & 0 deletions test/unit/links.test.js
Expand Up @@ -18,8 +18,15 @@ describe('LinkParser', () => {
fixes: ['https://github.com/nodejs/node/issues/16504'],
refs: []
}, {
// Parse non-GitHub refs.
// https://github.com/nodejs/node/pull/17107
fixes: [],
refs: ['https://en.wikipedia.org/w/index.php?title=IPv6_address&type=revision&diff=809494791&oldid=804196124']
}, {
// Parse npm update pull requests.
// https://github.com/nodejs/node/pull/42382
fixes: [],
refs: []
}];

for (let i = 0; i < htmls.length; ++i) {
Expand Down