* 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 } },
)
| 147 | * Check if two packages are associated (share maintainers or same repo owner). |
| 148 | */ |
| 149 | function 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). |
no test coverage detected