Skip to content

Commit 19187b6

Browse files
committed
feat: enhance domain filtering logic by integrating TLD parsing for improved domain validation
1 parent 7aa26dd commit 19187b6

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

builder/source/references/index.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import * as TLD from 'tldts'
12
import { FetchAdShieldDomainsFromFiltersLists } from './filterslists.js'
23
import { FetchIABSellersJsonData } from './iabsellers.js'
34
import { DiscardResolvedDupWildcard } from '@builder/utils/discard-resolved-dup-wildcard.js'
@@ -33,10 +34,14 @@ export async function FetchAdShieldDomains(): Promise<TASDomainContainer> {
3334
])
3435

3536
const CombinedDomains = new Set<string>([...IABSellersDomains, ...FiltersListsDomains])
37+
CombinedDomains.forEach(Domain => {
38+
const Parsed = TLD.parse(Domain)
39+
if (Domain.startsWith('~') && !Parsed.domain?.startsWith('~')) CombinedDomains.delete(Domain)
40+
})
41+
CustomDefinedMatches.forEach(Match => CombinedDomains.add(Match))
42+
CustomExcludeMatches.forEach(Match => CombinedDomains.delete(Match))
3643
const Result: TASDomainContainer = new Map()
3744
const NormalDomains = DiscardResolvedDupWildcard(CombinedDomains)
38-
CustomDefinedMatches.forEach(Match => NormalDomains.add(Match))
39-
CustomExcludeMatches.forEach(Match => NormalDomains.delete(Match))
4045
const FullDomains = ConvertToFullDomains(NormalDomains)
4146
const EachDomain = RegroupDomainTldLevel(NormalDomains)
4247
const EachDomainFull = ConvertToFullDomains(EachDomain)

0 commit comments

Comments
 (0)