Fix link checks to npm for packages

This commit is contained in:
Wes Haggard 2025-12-09 14:01:53 -08:00 committed by azure-sdk
parent 78de0b7c25
commit 38b61682c5

View File

@ -120,6 +120,9 @@ function ProcessLink([System.Uri]$linkUri) {
# See comment in function below for details.
return ProcessCratesIoLink $linkUri $matches['path']
}
elseif ($linkUri -match '^https?://(www\.)?npmjs\.com/package/.+') {
return ProcessNpmLink $linkUri
}
else {
return ProcessStandardLink $linkUri
}
@ -157,6 +160,14 @@ function ProcessCratesIoLink([System.Uri]$linkUri, $path) {
return $true
}
function ProcessNpmLink([System.Uri]$linkUri) {
# npmjs.com started using Cloudflare which returns 403 and we need to instead check the registry api for existence checks
# https://github.com/orgs/community/discussions/174098#discussioncomment-14461226
$apiUrl = $linkUri.ToString().Replace("https://www.npmjs.com/package/", "https://registry.npmjs.org/")
return ProcessStandardLink ([System.Uri]$apiUrl)
}
function ProcessStandardLink([System.Uri]$linkUri) {
$headRequestSucceeded = $true
try {