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
- Remove the
export keyword from ImageDigestKey (line 3) — keep it as an internal type alias
- 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 · ◷
API Surface Issue
Category
Unused exports — type and interface exposed unnecessarily
Summary
src/image-tag.tsImageDigestKey(line 3),ParsedImageTag(line 5)src/Evidence
Cross-reference search confirms zero imports outside the defining file:
ImageDigestKeyis used internally as a type constraint withinimage-tag.tsitself (e.g.,Record<ImageDigestKey, string>), andParsedImageTagis the return type ofparseImageTag— both are implementation details that don't need to be part of the public API.Recommended Fix
exportkeyword fromImageDigestKey(line 3) — keep it as an internal type aliasexportkeyword fromParsedImageTag(line 5) — the interface is only needed internally as the return type ofparseImageTagIf callers outside this module ever need the return type of
parseImageTag, they can useReturnType<typeof parseImageTag>instead.Impact
Detected by Export Audit workflow. Triggered by push to main on 2026-05-04