forked from OctoWoW/OctoLauncher
24 lines
517 B
TypeScript
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));
|