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 all commits
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 = /^\s*(Close[ds]?|Fix(e[ds])?|Resolve[sd]?)\s*:\s*(\S+)/mgi;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

By tolerating spaces at the start of the line, might this then match the "Fixes:" etc. in patches we float from V8 etc.? (Maybe that's not a problem?)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe for a separate PR, but I think we probably don't need to tolerate spaces before the colon:

Suggested change
const FIXES_RE = /^\s*(Close[ds]?|Fix(e[ds])?|Resolve[sd]?)\s*:\s*(\S+)/mgi;
const FIXES_RE = /^\s*(Close[ds]?|Fix(e[ds])?|Resolve[sd]?):\s*(\S+)/mgi;

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

By tolerating spaces at the start of the line, might this then match the "Fixes:" etc. in patches we float from V8 etc.? (Maybe that's not a problem?)

Not sure. Maybe we need to find example PRs and run git node metadata on them to see what they generate? We can do that on both open and closed PRs -- there will be an error about the PR not being landable but the output will still include the generated metadata.

It's entirely possible we may need stricter checking of the right hand side of the colon, but it's hard to speculate on that without more concrete examples.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found one. nodejs/node#37276 results in Fixes: https://github.com/v8:11389 (with and without this PR):

$ git node metadata 37276
✔  Done loading data for nodejs/node/pull/37276
----------------------------------- PR info ------------------------------------
Title      deps: V8: workaround for darwin arm64 code page decommit failures (#37276)
   ⚠  Could not retrieve the email or name of the PR author's from user's GitHub profile!
Branch     matinzd:patch-1 -> nodejs:master
Labels     v8 engine, backported-to-v14.x
Commits    2
 - deps: V8: Workaround MacOS 11.2 code page decommit failures
 - bump: v8: v8_embedder_string to 25
Committers 2
 - GitHub <noreply@github.com>
 - matinzd <matin.zadehdolatabad@rambody.me>
------------------------------ Generated metadata ------------------------------
PR-URL: https://github.com/nodejs/node/pull/37276
Fixes: https://github.com/v8:11389
Refs: https://bugs.chromium.org/p/v8/issues/detail?id=11389#c18
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ash Cripps <acripps@redhat.com>
--------------------------------------------------------------------------------

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've just noticed that for PR-URL we have a different parsing scheme that pulls the links out of the corresponding anchor tag (the parser is parsing HTML). Maybe we should be reusing that logic?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reusing the same logic that is used for refs and PR-URL seems a better solution. Or at least a more consistent one. PR: #614

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 = /^\s*Refs?\s*:\s*(\S+)/mgi;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe for a separate PR, but I think we probably don't need to tolerate spaces before the colon:

Suggested change
const REFS_RE = /^\s*Refs?\s*:\s*(\S+)/mgi;
const REFS_RE = /^\s*Refs?:\s*(\S+)/mgi;

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