Files
OctoLauncher/src/main/workers/gitClone.ts
T
2026-05-08 00:00:00 +00:00

24 lines
517 B
TypeScript

import { workerData, parentPort } from 'worker_threads';
import git from 'isomorphic-git';
import http from 'isomorphic-git/http/node';
import fs from 'fs-extra';
const port = parentPort;
if (!port) throw new Error('IllegalState');
const { dir, url, ref } = workerData;
fs.removeSync(dir);
git
.clone({
dir,
fs,
http,
url,
ref,
singleBranch: !ref || ref === 'master' || ref === 'main',
onProgress: (...args) => port.postMessage({ cb: 'onProgress', args })
})
.then(() => port.postMessage(true));