From a4d86e94c1fb2fef56851a0d557a7e3dd2e1c65a Mon Sep 17 00:00:00 2001 From: Martin Beckert Date: Fri, 2 Oct 2026 12:28:38 +0200 Subject: [PATCH] refactor(registry): remove obsolete ZIP version guard --- packages/registry/src/definition.test.ts | 24 +++++++++++-------- packages/registry/src/definition.ts | 7 ------ .../registry/src/html-index-build.test.ts | 3 +-- packages/registry/src/index.ts | 1 - 4 files changed, 15 insertions(+), 20 deletions(-) diff --git a/packages/registry/src/definition.test.ts b/packages/registry/src/definition.test.ts index e08ed0e..fe19eca 100644 --- a/packages/registry/src/definition.test.ts +++ b/packages/registry/src/definition.test.ts @@ -5,8 +5,8 @@ import { afterEach, beforeEach, describe, expect, it } from "vitest"; import { compareSemver, constructTag, + isExplicitVersionEntry, isVersioned, - isZipVersionEntry, listDefinitions, loadDefinition, resolveUrl, @@ -481,11 +481,12 @@ versions: expect(isVersioned(def)).toBe(true); if (!isVersioned(def)) throw new Error("expected versioned"); expect(def.versions).toHaveLength(1); - expect(isZipVersionEntry(def.versions[0])).toBe(true); - if (isZipVersionEntry(def.versions[0])) { - expect(def.versions[0].versions).toEqual(["3.14", "3.13"]); - expect(def.versions[0].source.type).toBe("zip"); + const entry = def.versions[0]; + if (!entry || !isExplicitVersionEntry(entry)) { + throw new Error("expected explicit version entry"); } + expect(entry.versions).toEqual(["3.14", "3.13"]); + expect(entry.source.type).toBe("zip"); }); it("parses exclude_paths in zip source", () => { @@ -511,12 +512,15 @@ versions: expect(isVersioned(def)).toBe(true); if (!isVersioned(def)) throw new Error("expected versioned"); - if (isZipVersionEntry(def.versions[0])) { - expect(def.versions[0].source.exclude_paths).toEqual([ - "whatsnew/**", - "changelog.html", - ]); + const entry = def.versions[0]; + if (!entry || !isExplicitVersionEntry(entry)) { + throw new Error("expected explicit version entry"); } + expect(entry.source.type).toBe("zip"); + expect(entry.source.exclude_paths).toEqual([ + "whatsnew/**", + "changelog.html", + ]); }); it("resolves zip version entry by exact match", () => { diff --git a/packages/registry/src/definition.ts b/packages/registry/src/definition.ts index 4fb4bd1..91dc383 100644 --- a/packages/registry/src/definition.ts +++ b/packages/registry/src/definition.ts @@ -134,13 +134,6 @@ export function isGitVersionEntry( return "min_version" in entry; } -/** Type guard for ZIP archive releases. */ -export function isZipVersionEntry( - entry: VersionEntry, -): entry is ZipVersionEntry { - return entry.source.type === "zip"; -} - /** Entries with an explicit release list, independent of package-manager APIs. */ export function isExplicitVersionEntry( entry: VersionEntry, diff --git a/packages/registry/src/html-index-build.test.ts b/packages/registry/src/html-index-build.test.ts index 7a6afa1..db8ff87 100644 --- a/packages/registry/src/html-index-build.test.ts +++ b/packages/registry/src/html-index-build.test.ts @@ -15,7 +15,6 @@ import { buildFromDefinition } from "./build.js"; import { isExplicitVersionEntry, isVersioned, - isZipVersionEntry, loadDefinition, resolveVersionEntry, type VersionedDefinition, @@ -64,7 +63,7 @@ describe("HTML index registry integration", () => { expect(isVersioned(def)).toBe(true); const entry = resolveVersionEntry(def as VersionedDefinition, "258"); expect(entry && isExplicitVersionEntry(entry)).toBe(true); - expect(entry && isZipVersionEntry(entry)).toBe(false); + expect(entry?.source.type).toBe("html-index"); expect( resolveVersionEntry(def as VersionedDefinition, "257"), ).toBeUndefined(); diff --git a/packages/registry/src/index.ts b/packages/registry/src/index.ts index 72c54db..fb20b2c 100644 --- a/packages/registry/src/index.ts +++ b/packages/registry/src/index.ts @@ -12,7 +12,6 @@ export { isExplicitVersionEntry, isGitVersionEntry, isVersioned, - isZipVersionEntry, listDefinitions, loadDefinition, type PackageDefinition,