Perf: preload/hoist more promises, make ts happy

This commit is contained in:
SukkaW
2024-01-14 23:47:22 +08:00
parent 6daf8e3bb4
commit a3e1a85c70
7 changed files with 80 additions and 80 deletions

View File

@@ -16,22 +16,29 @@ const folderAndFilesToBeDeployed = [
'LICENSE'
];
export const buildPublic = task(import.meta.path, async () => {
const filesToBeCopied = (await listDir(
rootPath, {
ignoreHidden: true,
ignorePattern: /node_modules|Build|public/
}
)).filter(file => folderAndFilesToBeDeployed.some(folderOrFile => file.startsWith(folderOrFile)));
export const buildPublic = task(import.meta.path, async (span) => {
await span
.traceChild('copy public files')
.traceAsyncFn(async () => {
const filesToBeCopied = (await listDir(
rootPath, {
ignoreHidden: true,
ignorePattern: /node_modules|Build|public/
}
)).filter(file => folderAndFilesToBeDeployed.some(folderOrFile => file.startsWith(folderOrFile)));
await Promise.all(filesToBeCopied.map(file => {
const src = path.resolve(rootPath, file);
const dest = path.resolve(publicPath, file);
return Promise.all(filesToBeCopied.map(file => {
const src = path.resolve(rootPath, file);
const dest = path.resolve(publicPath, file);
return Bun.write(dest, Bun.file(src));
}));
return Bun.write(dest, Bun.file(src));
}));
});
const html = await span
.traceChild('generate index.html')
.traceAsyncFn(() => treeDir(publicPath).then(generateHtml));
const html = generateHtml(await treeDir(publicPath));
return Bun.write(path.join(publicPath, 'index.html'), html);
});