mirror of
https://github.com/SukkaW/Surge.git
synced 2025-12-12 09:10:35 +08:00
Chore: fix jest-worker w/ bun
This commit is contained in:
parent
99589cf2fc
commit
d1cd4918f1
126
Build/index.ts
126
Build/index.ts
@ -21,13 +21,14 @@ import { Worker } from 'jest-worker';
|
|||||||
|
|
||||||
type WithWorker<T> = import('jest-worker').Worker & { __sukka_worker_name: string } & T
|
type WithWorker<T> = import('jest-worker').Worker & { __sukka_worker_name: string } & T
|
||||||
|
|
||||||
const requireWorker = <T>(path: string): WithWorker<T> => {
|
const requireWorker = <T>(path: string, exposedMethods?: (keyof T & string)[]): WithWorker<T> => {
|
||||||
const _worker = new Worker(
|
const _worker = new Worker(
|
||||||
require.resolve(path),
|
import.meta.require.resolve(path),
|
||||||
{
|
{
|
||||||
numWorkers: 1,
|
numWorkers: 1,
|
||||||
maxRetries: 0,
|
maxRetries: 0,
|
||||||
enableWorkerThreads: true
|
enableWorkerThreads: true,
|
||||||
|
exposedMethods
|
||||||
}
|
}
|
||||||
) as WithWorker<T>;
|
) as WithWorker<T>;
|
||||||
_worker.getStderr().pipe(process.stderr);
|
_worker.getStderr().pipe(process.stderr);
|
||||||
@ -44,69 +45,72 @@ const endWorker = async <T>(worker: WithWorker<T>) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
const buildInternalReverseChnCIDRWorker: WithWorker<typeof import('./build-internal-reverse-chn-cidr')> = requireWorker('./build-internal-reverse-chn-cidr');
|
const buildInternalReverseChnCIDRWorker: WithWorker<typeof import('./build-internal-reverse-chn-cidr')> = requireWorker('./build-internal-reverse-chn-cidr', ['buildInternalReverseChnCIDR']);
|
||||||
const { buildInternalReverseChnCIDR } = buildInternalReverseChnCIDRWorker;
|
try {
|
||||||
|
const { buildInternalReverseChnCIDR } = buildInternalReverseChnCIDRWorker;
|
||||||
|
|
||||||
const downloadPreviousBuildPromise = downloadPreviousBuild();
|
const downloadPreviousBuildPromise = downloadPreviousBuild();
|
||||||
const downloadPublicSuffixListPromise = downloadPublicSuffixList();
|
const downloadPublicSuffixListPromise = downloadPublicSuffixList();
|
||||||
const buildCommonPromise = downloadPreviousBuildPromise.then(() => buildCommon());
|
const buildCommonPromise = downloadPreviousBuildPromise.then(() => buildCommon());
|
||||||
const buildAntiBogusDomainPromise = downloadPreviousBuildPromise.then(() => buildAntiBogusDomain());
|
const buildAntiBogusDomainPromise = downloadPreviousBuildPromise.then(() => buildAntiBogusDomain());
|
||||||
const buildAppleCdnPromise = downloadPreviousBuildPromise.then(() => buildAppleCdn());
|
const buildAppleCdnPromise = downloadPreviousBuildPromise.then(() => buildAppleCdn());
|
||||||
const buildCdnConfPromise = Promise.all([
|
const buildCdnConfPromise = Promise.all([
|
||||||
downloadPreviousBuildPromise,
|
downloadPreviousBuildPromise,
|
||||||
downloadPublicSuffixListPromise
|
downloadPublicSuffixListPromise
|
||||||
]).then(() => buildCdnConf());
|
]).then(() => buildCdnConf());
|
||||||
const buildPhilishingDomainsetPromise = Promise.all([
|
const buildPhilishingDomainsetPromise = Promise.all([
|
||||||
downloadPreviousBuildPromise,
|
downloadPreviousBuildPromise,
|
||||||
downloadPublicSuffixListPromise
|
downloadPublicSuffixListPromise
|
||||||
]).then(() => buildPhishingDomainSet());
|
]).then(() => buildPhishingDomainSet());
|
||||||
const buildRejectDomainSetPromise = Promise.all([
|
const buildRejectDomainSetPromise = Promise.all([
|
||||||
downloadPreviousBuildPromise,
|
downloadPreviousBuildPromise,
|
||||||
downloadPublicSuffixListPromise,
|
downloadPublicSuffixListPromise,
|
||||||
buildPhilishingDomainsetPromise
|
buildPhilishingDomainsetPromise
|
||||||
]).then(() => buildRejectDomainSet());
|
]).then(() => buildRejectDomainSet());
|
||||||
const buildTelegramCIDRPromise = downloadPreviousBuildPromise.then(() => buildTelegramCIDR());
|
const buildTelegramCIDRPromise = downloadPreviousBuildPromise.then(() => buildTelegramCIDR());
|
||||||
const buildChnCidrPromise = downloadPreviousBuildPromise.then(() => buildChnCidr());
|
const buildChnCidrPromise = downloadPreviousBuildPromise.then(() => buildChnCidr());
|
||||||
const buildSpeedtestDomainSetPromise = downloadPreviousBuildPromise.then(() => buildSpeedtestDomainSet());
|
const buildSpeedtestDomainSetPromise = downloadPreviousBuildPromise.then(() => buildSpeedtestDomainSet());
|
||||||
const buildInternalCDNDomainsPromise = Promise.all([
|
const buildInternalCDNDomainsPromise = Promise.all([
|
||||||
downloadPublicSuffixListPromise,
|
downloadPublicSuffixListPromise,
|
||||||
buildCommonPromise,
|
buildCommonPromise,
|
||||||
buildCdnConfPromise
|
buildCdnConfPromise
|
||||||
]).then(() => buildInternalCDNDomains());
|
]).then(() => buildInternalCDNDomains());
|
||||||
const buildInternalReverseChnCIDRPromise = buildInternalReverseChnCIDR();
|
const buildInternalReverseChnCIDRPromise = buildInternalReverseChnCIDR();
|
||||||
const buildInternalChnDomainsPromise = buildInternalChnDomains();
|
const buildInternalChnDomainsPromise = buildInternalChnDomains();
|
||||||
const buildDomesticRulesetPromise = downloadPreviousBuildPromise.then(() => buildDomesticRuleset());
|
const buildDomesticRulesetPromise = downloadPreviousBuildPromise.then(() => buildDomesticRuleset());
|
||||||
|
|
||||||
const buildRedirectModulePromise = downloadPreviousBuildPromise.then(() => buildRedirectModule());
|
const buildRedirectModulePromise = downloadPreviousBuildPromise.then(() => buildRedirectModule());
|
||||||
const buildStreamServicePromise = downloadPreviousBuildPromise.then(() => buildStreamService());
|
const buildStreamServicePromise = downloadPreviousBuildPromise.then(() => buildStreamService());
|
||||||
|
|
||||||
const stats: Array<{ start: number, end: number, taskName: string }> = await Promise.all([
|
const stats: Array<{ start: number, end: number, taskName: string }> = await Promise.all([
|
||||||
downloadPreviousBuildPromise,
|
downloadPreviousBuildPromise,
|
||||||
downloadPublicSuffixListPromise,
|
downloadPublicSuffixListPromise,
|
||||||
buildCommonPromise,
|
buildCommonPromise,
|
||||||
buildAntiBogusDomainPromise,
|
buildAntiBogusDomainPromise,
|
||||||
buildAppleCdnPromise,
|
buildAppleCdnPromise,
|
||||||
buildCdnConfPromise,
|
buildCdnConfPromise,
|
||||||
buildPhilishingDomainsetPromise,
|
buildPhilishingDomainsetPromise,
|
||||||
buildRejectDomainSetPromise,
|
buildRejectDomainSetPromise,
|
||||||
buildTelegramCIDRPromise,
|
buildTelegramCIDRPromise,
|
||||||
buildChnCidrPromise,
|
buildChnCidrPromise,
|
||||||
buildSpeedtestDomainSetPromise,
|
buildSpeedtestDomainSetPromise,
|
||||||
buildInternalCDNDomainsPromise,
|
buildInternalCDNDomainsPromise,
|
||||||
buildInternalReverseChnCIDRPromise,
|
buildInternalReverseChnCIDRPromise,
|
||||||
buildInternalChnDomainsPromise,
|
buildInternalChnDomainsPromise,
|
||||||
buildDomesticRulesetPromise,
|
buildDomesticRulesetPromise,
|
||||||
buildRedirectModulePromise,
|
buildRedirectModulePromise,
|
||||||
buildStreamServicePromise
|
buildStreamServicePromise
|
||||||
]);
|
]);
|
||||||
|
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
buildPublicHtml(),
|
buildPublicHtml(),
|
||||||
validate(),
|
validate()
|
||||||
endWorker(buildInternalReverseChnCIDRWorker)
|
]);
|
||||||
]);
|
|
||||||
|
|
||||||
printStats(stats);
|
printStats(stats);
|
||||||
|
} finally {
|
||||||
|
await endWorker(buildInternalReverseChnCIDRWorker)
|
||||||
|
}
|
||||||
})();
|
})();
|
||||||
|
|
||||||
function printStats(stats: Array<{ start: number, end: number, taskName: string }>): void {
|
function printStats(stats: Array<{ start: number, end: number, taskName: string }>): void {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user