From c81f6d08c0133a8b82cf3731e24c2900fdd841a0 Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Wed, 27 Nov 2024 19:59:53 -0600 Subject: [PATCH] feat: build bot completely --- packages/scripts/src/buildBot.ts | 33 ++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/packages/scripts/src/buildBot.ts b/packages/scripts/src/buildBot.ts index 39927f2c7..cc43b78ba 100644 --- a/packages/scripts/src/buildBot.ts +++ b/packages/scripts/src/buildBot.ts @@ -1,13 +1,17 @@ import { build } from 'esbuild'; -import { readdir } from 'fs/promises'; +import { cp, readdir, rm } from 'fs/promises'; -const root = '../bot'; -const workers = await readdir(`${root}/src/workers`); +const srcRoot = '../bot'; +const distRoot = '../../dist/bot'; +const modulesRoot = '../../node_modules'; +const workers = await readdir(`${srcRoot}/src/workers`); + +await rm(distRoot, { recursive: true, force: true }); build({ entryPoints: [ - `${root}/src/main.ts`, - ...workers.map((worker) => `${root}/src/workers/${worker}`), + `${srcRoot}/src/main.ts`, + ...workers.map((worker) => `${srcRoot}/src/workers/${worker}`), ], bundle: true, outdir: '../../dist/bot', @@ -15,8 +19,25 @@ build({ format: 'esm', loader: { '.ttf': 'file', - '.node': 'file', + '.node': 'empty', }, minify: true, sourcemap: true, }); + +await Promise.all( + (await readdir(`${modulesRoot}/@resvg`)).map(async (module) => { + const files = await readdir(`${modulesRoot}/@resvg/${module}`).then( + (files) => files.filter((file) => file.endsWith('.node')), + ); + + await Promise.all( + files.map(async (file) => { + await cp( + `${modulesRoot}/@resvg/${module}/${file}`, + `${distRoot}/workers/${file}`, + ); + }), + ); + }), +);