Skip to content

Commit

Permalink
fix(validators): only validating when URL is present
Browse files Browse the repository at this point in the history
a regression introduced via PR #53 due to flat package list
now being all-inclusive of packages, some of which have no
protocol or URL to resolve to (the nested deps) and so the
validators failed.
  • Loading branch information
lirantal committed Feb 4, 2020
1 parent 8b00015 commit 373e589
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 19 deletions.
18 changes: 9 additions & 9 deletions packages/lockfile-lint-api/src/validators/ValidateHttps.js
Expand Up @@ -28,18 +28,18 @@ module.exports = class ValidateHttps {

try {
packageResolvedURL = new URL(packageMetadata.resolved)

if (packageResolvedURL.protocol !== HTTPS_PROTOCOL) {
validationResult.errors.push({
message: `detected invalid protocol for package: ${packageName}\n expected: ${HTTPS_PROTOCOL}\n actual: ${
packageResolvedURL.protocol
}\n`,
package: packageName
})
}
} catch (error) {
// swallow error (assume that the version is correct)
}

if (packageResolvedURL.protocol !== HTTPS_PROTOCOL) {
validationResult.errors.push({
message: `detected invalid protocol for package: ${packageName}\n expected: ${HTTPS_PROTOCOL}\n actual: ${
packageResolvedURL.protocol
}\n`,
package: packageName
})
}
}

if (validationResult.errors.length !== 0) {
Expand Down
19 changes: 9 additions & 10 deletions packages/lockfile-lint-api/src/validators/ValidateScheme.js
Expand Up @@ -30,19 +30,18 @@ module.exports = class ValidateProtocol {

try {
packageResolvedURL = new URL(packageMetadata.resolved)

if (packageResolvedURL.protocol && schemes.indexOf(packageResolvedURL.protocol) === -1) {
validationResult.errors.push({
message: `detected invalid scheme(s) for package: ${packageName}\n expected: ${schemes}\n actual: ${
packageResolvedURL.protocol
}\n`,
package: packageName
})
}
} catch (error) {
// swallow error (assume that the version is correct)
}

if (packageResolvedURL.protocol && schemes.indexOf(packageResolvedURL.protocol) === -1) {
// throw new Error(`detected invalid origin for package: ${packageName}`)
validationResult.errors.push({
message: `detected invalid scheme(s) for package: ${packageName}\n expected: ${schemes}\n actual: ${
packageResolvedURL.protocol
}\n`,
package: packageName
})
}
}

if (validationResult.errors.length !== 0) {
Expand Down

0 comments on commit 373e589

Please sign in to comment.