diff --git a/.node-version b/.node-version deleted file mode 100644 index 3c032078..00000000 --- a/.node-version +++ /dev/null @@ -1 +0,0 @@ -18 diff --git a/Build/build-anti-bogus-domain.ts b/Build/build-anti-bogus-domain.ts index e6843bde..b997eb4b 100644 --- a/Build/build-anti-bogus-domain.ts +++ b/Build/build-anti-bogus-domain.ts @@ -30,7 +30,8 @@ export const buildAntiBogusDomain = task(import.meta.path, async () => { const result = []; for await (const line of readFileByLine(path.resolve(import.meta.dir, '../Source/ip/reject.conf'))) { if (line === '# --- [Anti Bogus Domain Replace Me] ---') { - (await bogusIpPromise).forEach(rule => result.push(rule)); + // bogus ip is less than 200, no need to worry about "Maximum call stack size exceeded" + result.push(...(await bogusIpPromise)); continue; } else { const l = processLine(line); diff --git a/Build/lib/domain-deduper.ts b/Build/lib/domain-deduper.ts index e832273e..df1bc4cc 100644 --- a/Build/lib/domain-deduper.ts +++ b/Build/lib/domain-deduper.ts @@ -1,6 +1,8 @@ import { createTrie } from './trie'; -export const domainDeduper = (inputDomains: string[]): string[] => { +export function domainDeduper(inputDomains: string[], toArray?: true): string[]; +export function domainDeduper(inputDomains: string[], toArray: false): Set; +export function domainDeduper(inputDomains: string[], toArray = true): string[] | Set { const trie = createTrie(inputDomains); const sets = new Set(inputDomains); @@ -19,7 +21,11 @@ export const domainDeduper = (inputDomains: string[]): string[] => { } } - return Array.from(sets); -}; + if (toArray) { + return Array.from(sets); + } + + return sets; +} export default domainDeduper; diff --git a/bun.lockb b/bun.lockb index b3dbdccd..53dd192f 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index 9028a7cd..58bcf34e 100644 --- a/package.json +++ b/package.json @@ -19,10 +19,9 @@ "async-retry": "^1.3.3", "async-sema": "^3.1.1", "ci-info": "^4.0.0", - "eslint": "^8.54.0", - "fast-cidr-tools": "^0.1.0", + "fast-cidr-tools": "^0.2.2", "gorhill-publicsuffixlist": "github:gorhill/publicsuffixlist.js", - "mnemonist": "^0.39.5", + "mnemonist": "^0.39.6", "path-scurry": "^1.10.1", "picocolors": "^1.0.0", "punycode": "^2.3.1", @@ -34,13 +33,11 @@ "@eslint-sukka/node": "4.1.10-beta.2", "@eslint-sukka/ts": "4.1.10-beta.2", "@types/async-retry": "^1.4.8", - "@types/mocha": "10.0.2", "@types/tar": "^6.1.9", "bun-types": "^1.0.11", - "chai": "4.3.10", + "eslint": "^8.55.0", "eslint-config-sukka": "4.1.10-beta.2", "eslint-formatter-sukka": "4.1.9", - "mocha": "^10.2.0", "typescript": "^5.2.2" }, "resolutions": {