From b947f9f8183fa8265031cc99237c8d67dd8567e9 Mon Sep 17 00:00:00 2001 From: SukkaW Date: Tue, 23 Jul 2024 14:04:05 +0800 Subject: [PATCH] Refactor: drop `Bun.peek` usage as much as possible --- ...uild-domestic-direct-lan-ruleset-dns-mapping-module.ts | 6 ++++-- Build/build-internal-reverse-chn-cidr.ts | 6 +----- Build/lib/parse-filter.ts | 8 ++------ 3 files changed, 7 insertions(+), 13 deletions(-) diff --git a/Build/build-domestic-direct-lan-ruleset-dns-mapping-module.ts b/Build/build-domestic-direct-lan-ruleset-dns-mapping-module.ts index b1fc0a4f..96e82918 100644 --- a/Build/build-domestic-direct-lan-ruleset-dns-mapping-module.ts +++ b/Build/build-domestic-direct-lan-ruleset-dns-mapping-module.ts @@ -1,5 +1,6 @@ // @ts-check import path from 'path'; +import fsp from 'fs/promises'; import { DOMESTICS } from '../Source/non_ip/domestic'; import { DIRECTS, LANS } from '../Source/non_ip/direct'; import { readFileIntoProcessedArray } from './lib/fetch-text-by-line'; @@ -95,7 +96,7 @@ export const buildDomesticRuleset = task(import.meta.main, import.meta.path)(asy ], path.resolve(import.meta.dir, '../Modules/sukka_local_dns_mapping.sgmodule') ), - Bun.write( + fsp.writeFile( path.resolve(import.meta.dir, '../Internal/clash_nameserver_policy.yaml'), yaml.stringify( { @@ -128,7 +129,8 @@ export const buildDomesticRuleset = task(import.meta.main, import.meta.path)(asy ) }, { version: '1.1' } - ) + ), + { encoding: 'utf-8' } ) ]); }); diff --git a/Build/build-internal-reverse-chn-cidr.ts b/Build/build-internal-reverse-chn-cidr.ts index 3afcdd9f..d288bdba 100644 --- a/Build/build-internal-reverse-chn-cidr.ts +++ b/Build/build-internal-reverse-chn-cidr.ts @@ -6,11 +6,7 @@ import { getChnCidrPromise } from './build-chn-cidr'; import { NON_CN_CIDR_INCLUDED_IN_CHNROUTE, RESERVED_IPV4_CIDR } from './constants/cidr'; export const buildInternalReverseChnCIDR = task(import.meta.main, import.meta.path)(async () => { - const cidrPromise = getChnCidrPromise(); - const peeked = Bun.peek(cidrPromise); - const cidr: string[] = peeked === cidrPromise - ? await cidrPromise - : (peeked as string[]); + const cidr = await getChnCidrPromise(); const reversedCidr = merge( exclude( diff --git a/Build/lib/parse-filter.ts b/Build/lib/parse-filter.ts index e0ec2319..6b1390dd 100644 --- a/Build/lib/parse-filter.ts +++ b/Build/lib/parse-filter.ts @@ -2,7 +2,6 @@ import { fetchRemoteTextByLine } from './fetch-text-by-line'; import { NetworkFilter } from '@cliqz/adblocker'; import { processLine } from './process-line'; -import { getGorhillPublicSuffixPromise } from './get-gorhill-publicsuffix'; import type { PublicSuffixList } from '@gorhill/publicsuffixlist'; import picocolors from 'picocolors'; @@ -11,6 +10,7 @@ import { fetchAssets } from './fetch-assets'; import { deserializeArray, fsFetchCache, serializeArray } from './cache-filesystem'; import type { Span } from '../trace'; import createKeywordFilter from './aho-corasick'; +import { getGorhillPublicSuffixPromise } from './get-gorhill-publicsuffix'; const DEBUG_DOMAIN_TO_FIND: string | null = null; // example.com | null let foundDebugDomain = false; @@ -147,11 +147,7 @@ export async function processFilterRules( const warningMessages: string[] = []; - const gorhillPromise = getGorhillPublicSuffixPromise(); - const peekedGorhill = Bun.peek(gorhillPromise); - const gorhill = peekedGorhill === gorhillPromise - ? await span.traceChild('get gorhill').tracePromise(gorhillPromise) - : (peekedGorhill as PublicSuffixList); + const gorhill = await span.traceChild('get gorhill').tracePromise(getGorhillPublicSuffixPromise()); const MUTABLE_PARSE_LINE_RESULT: [string, ParseType] = ['', 1000]; /**