MCPcopy
hub / github.com/npmx-dev/npmx.dev / isAssociatedPackage

Function isAssociatedPackage

server/api/registry/analysis/[...pkg].get.ts:149–161  ·  view source on GitHub ↗

* Check if two packages are associated (share maintainers or same repo owner).

(
  basePkg: { maintainers?: Array<{ name: string }>; repository?: { url?: string } },
  createPkg: { maintainers?: Array<{ name: string }>; repository?: { url?: string } },
)

Source from the content-addressed store, hash-verified

147 * Check if two packages are associated (share maintainers or same repo owner).
148 */
149function isAssociatedPackage(
150 basePkg: { maintainers?: Array<{ name: string }>; repository?: { url?: string } },
151 createPkg: { maintainers?: Array<{ name: string }>; repository?: { url?: string } },
152): boolean {
153 const baseMaintainers = new Set(basePkg.maintainers?.map(m => m.name.toLowerCase()) ?? [])
154 const createMaintainers = createPkg.maintainers?.map(m => m.name.toLowerCase()) ?? []
155 const hasSharedMaintainer = createMaintainers.some(name => baseMaintainers.has(name))
156
157 return (
158 hasSharedMaintainer ||
159 hasSameRepositoryOwner(basePkg.repository?.url, createPkg.repository?.url)
160 )
161}
162
163/**
164 * Check if two repository URLs have the same owner (works with any git provider).

Callers 1

Calls 1

hasSameRepositoryOwnerFunction · 0.85

Tested by

no test coverage detected