From 59b2608ef2eb9dbb69b027bacf91c30246a3554e Mon Sep 17 00:00:00 2001 From: SukkaW Date: Tue, 20 Feb 2024 13:36:08 +0800 Subject: [PATCH] Minor changes to previous build downloading --- Build/build-cdn-download-conf.ts | 2 +- Build/build-speedtest-domainset.ts | 6 +++--- Build/download-previous-build.ts | 10 ++++------ Build/{ => lib}/download-publicsuffixlist.ts | 6 +++--- Build/lib/get-gorhill-publicsuffix.ts | 2 +- 5 files changed, 12 insertions(+), 14 deletions(-) rename Build/{ => lib}/download-publicsuffixlist.ts (73%) diff --git a/Build/build-cdn-download-conf.ts b/Build/build-cdn-download-conf.ts index 01866778..468b8bd6 100644 --- a/Build/build-cdn-download-conf.ts +++ b/Build/build-cdn-download-conf.ts @@ -4,7 +4,7 @@ import { readFileIntoProcessedArray } from './lib/fetch-text-by-line'; import { createTrie } from './lib/trie'; import { task } from './trace'; import { SHARED_DESCRIPTION } from './lib/constants'; -import { getPublicSuffixListTextPromise } from './download-publicsuffixlist'; +import { getPublicSuffixListTextPromise } from './lib/download-publicsuffixlist'; const getS3OSSDomainsPromise = (async (): Promise> => { const trie = createTrie((await getPublicSuffixListTextPromise()).split('\n')); diff --git a/Build/build-speedtest-domainset.ts b/Build/build-speedtest-domainset.ts index 614cf36d..d29b4eec 100644 --- a/Build/build-speedtest-domainset.ts +++ b/Build/build-speedtest-domainset.ts @@ -22,8 +22,8 @@ const s = new Sema(2); const latestTopUserAgentsPromise = fsFetchCache.apply( 'https://unpkg.com/top-user-agents@latest/src/desktop.json', () => fetchWithRetry('https://unpkg.com/top-user-agents@latest/src/desktop.json') - .then(res => res.json()) - .then(userAgents => userAgents.filter(ua => ua.startsWith('Mozilla/5.0 '))), + .then(res => res.json()) + .then((userAgents: string[]) => userAgents.filter(ua => ua.startsWith('Mozilla/5.0 '))), { serializer: serializeArray, deserializer: deserializeArray, @@ -62,7 +62,7 @@ const querySpeedtestApi = async (keyword: string): Promise> retry: { retries: 2 } - })).then(r => r.json>()).then(data => data.reduce( + })).then(r => r.json()).then((data: Array<{ url: string }>) => data.reduce( (prev, cur) => { const hn = tldts.getHostname(cur.url, { detectIp: false }); if (hn) { diff --git a/Build/download-previous-build.ts b/Build/download-previous-build.ts index 96965fb1..a1b0c986 100644 --- a/Build/download-previous-build.ts +++ b/Build/download-previous-build.ts @@ -61,10 +61,11 @@ export const downloadPreviousBuild = task(import.meta.path, async (span) => { throw new Error('Download previous build failed! No body found'); } - const extract = tarStream.extract(); const gunzip = zlib.createGunzip(); + const extract = tarStream.extract(); + pipeline( - Readable.fromWeb(resp.body) as any, + Readable.fromWeb(resp.body as unknown as import('stream/web').ReadableStream), gunzip, extract ); @@ -86,10 +87,7 @@ export const downloadPreviousBuild = task(import.meta.path, async (span) => { const targetPath = path.join(import.meta.dir, '..', relativeEntryPath); await mkdir(path.dirname(targetPath), { recursive: true }); - await pipeline( - entry as any, - createWriteStream(targetPath) - ); + await pipeline(entry, createWriteStream(targetPath)); } }); }); diff --git a/Build/download-publicsuffixlist.ts b/Build/lib/download-publicsuffixlist.ts similarity index 73% rename from Build/download-publicsuffixlist.ts rename to Build/lib/download-publicsuffixlist.ts index 72fbd9b2..12ac33ff 100644 --- a/Build/download-publicsuffixlist.ts +++ b/Build/lib/download-publicsuffixlist.ts @@ -1,6 +1,6 @@ -import { TTL, fsFetchCache } from './lib/cache-filesystem'; -import { defaultRequestInit, fetchWithRetry } from './lib/fetch-retry'; -import { createMemoizedPromise } from './lib/memo-promise'; +import { TTL, fsFetchCache } from './cache-filesystem'; +import { defaultRequestInit, fetchWithRetry } from './fetch-retry'; +import { createMemoizedPromise } from './memo-promise'; export const getPublicSuffixListTextPromise = createMemoizedPromise(() => fsFetchCache.apply( 'https://publicsuffix.org/list/public_suffix_list.dat', diff --git a/Build/lib/get-gorhill-publicsuffix.ts b/Build/lib/get-gorhill-publicsuffix.ts index 6092f652..5a6aa1b1 100644 --- a/Build/lib/get-gorhill-publicsuffix.ts +++ b/Build/lib/get-gorhill-publicsuffix.ts @@ -1,6 +1,6 @@ import { toASCII } from 'punycode'; import { createMemoizedPromise } from './memo-promise'; -import { getPublicSuffixListTextPromise } from '../download-publicsuffixlist'; +import { getPublicSuffixListTextPromise } from './download-publicsuffixlist'; const customFetch = (url: string | URL): Promise => Promise.resolve(Bun.file(url));