Chore: fix jest-worker w/ bun

This commit is contained in:
SukkaW 2023-11-16 10:45:11 +08:00
parent 99589cf2fc
commit d1cd4918f1

View File

@ -21,13 +21,14 @@ import { Worker } from 'jest-worker';
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(
require.resolve(path),
import.meta.require.resolve(path),
{
numWorkers: 1,
maxRetries: 0,
enableWorkerThreads: true
enableWorkerThreads: true,
exposedMethods
}
) as WithWorker<T>;
_worker.getStderr().pipe(process.stderr);
@ -44,7 +45,8 @@ const endWorker = async <T>(worker: WithWorker<T>) => {
};
(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']);
try {
const { buildInternalReverseChnCIDR } = buildInternalReverseChnCIDRWorker;
const downloadPreviousBuildPromise = downloadPreviousBuild();
@ -102,11 +104,13 @@ const endWorker = async <T>(worker: WithWorker<T>) => {
await Promise.all([
buildPublicHtml(),
validate(),
endWorker(buildInternalReverseChnCIDRWorker)
validate()
]);
printStats(stats);
} finally {
await endWorker(buildInternalReverseChnCIDRWorker)
}
})();
function printStats(stats: Array<{ start: number, end: number, taskName: string }>): void {