Skip to content

Commit 2e29ff6

Browse files
committed
Filter problematic packages
1 parent e139066 commit 2e29ff6

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

Sources/PackageRegistry/RegistryManager.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,9 @@ public final class RegistryManager {
108108
case .dictionary(let payload) = try? JSON(data: data),
109109
case .dictionary(let releases) = payload["releases"]
110110
{
111-
let versions = releases.keys.compactMap { Version(string: $0) }.sorted(by: >)
111+
let versions = releases.filter { (try? $0.value.getJSON("problem")) == nil }
112+
.compactMap { Version(string: $0.key) }
113+
.sorted(by: >)
112114
completion(.success(versions))
113115
} else {
114116
completion(.failure(RegistryError.invalidResponse))

Tests/PackageRegistryTests/RegistryManagerTests.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ final class RegistryManagerTests: XCTestCase {
5252
XCTAssertResultSuccess(result)
5353
guard case .success(let versions) = result else { return }
5454

55-
XCTAssertEqual(versions, ["1.1.1", "1.1.0", "1.0.0"])
55+
XCTAssertEqual(versions, ["1.1.1", "1.0.0"])
56+
XCTAssertFalse(versions.contains("1.1.0"), "problematic releases shouldn't be included")
5657
}
5758
}
5859

0 commit comments

Comments
 (0)