Skip to content

[Export Audit] ImageDigestKey and ParsedImageTag exported from src/image-tag.ts but never imported #2504

Description

@github-actions

API Surface Issue

Category

Unused exports — type and interface exposed unnecessarily

Summary

  • File: src/image-tag.ts
  • Symbols: ImageDigestKey (line 3), ParsedImageTag (line 5)
  • Issue: Both types are exported but never imported by any other module in src/

Evidence

src/image-tag.ts:3:  export type ImageDigestKey = typeof IMAGE_DIGEST_KEYS[number];
src/image-tag.ts:5:  export interface ParsedImageTag {

Cross-reference search confirms zero imports outside the defining file:

$ grep -rn "ImageDigestKey\|ParsedImageTag" src/ --include="*.ts" | grep -v "image-tag.ts"
(no output)

ImageDigestKey is used internally as a type constraint within image-tag.ts itself (e.g., Record<ImageDigestKey, string>), and ParsedImageTag is the return type of parseImageTag — both are implementation details that don't need to be part of the public API.

Recommended Fix

  1. Remove the export keyword from ImageDigestKey (line 3) — keep it as an internal type alias
  2. Remove the export keyword from ParsedImageTag (line 5) — the interface is only needed internally as the return type of parseImageTag

If callers outside this module ever need the return type of parseImageTag, they can use ReturnType<typeof parseImageTag> instead.

Impact

  • Dead code risk: Low (types don't affect runtime)
  • Maintenance burden: Medium (exported types become implicit contracts — callers may depend on them, making future refactors harder)

Detected by Export Audit workflow. Triggered by push to main on 2026-05-04

Generated by API Surface & Export Audit · ● 301.6K ·

  • expires on Jun 3, 2026, 4:28 PM UTC

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions