mirror of
https://github.com/SukkaW/Surge.git
synced 2026-02-03 20:41:52 +08:00
Chore: fix jest-worker w/ bun
This commit is contained in:
@@ -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,7 +45,8 @@ 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']);
|
||||||
|
try {
|
||||||
const { buildInternalReverseChnCIDR } = buildInternalReverseChnCIDRWorker;
|
const { buildInternalReverseChnCIDR } = buildInternalReverseChnCIDRWorker;
|
||||||
|
|
||||||
const downloadPreviousBuildPromise = downloadPreviousBuild();
|
const downloadPreviousBuildPromise = downloadPreviousBuild();
|
||||||
@@ -102,11 +104,13 @@ const endWorker = async <T>(worker: WithWorker<T>) => {
|
|||||||
|
|
||||||
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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user