feat: esbuild build

This commit is contained in:
tresabhi committed 2024-11-26 21:03:01 -06:00
1 parent 5f256ed84d
commit ced3897696
6 files changed
+31 -8

No files matched your search

+3 -4
View File
@@ -11,14 +11,14 @@
"scripts": {
"build:assets": "cd packages/scripts && bun run build:assets",
"build:averages": "bun --filter=@blitzkit/scripts run build:averages",
"build:bot": "",
"build:bot": "cd packages/scripts && bun run build:bot",
"build:website": "bun build:prisma --no-hints && cd packages/website && bun run build",
"build:prisma": "prisma generate",
"build:sitemap": "bun scripts/sitemap.ts",
"build:docs": "vitepress build docs",
"build:ratingleaderboard": "bun --script scripts/buildRatingLeaderboard.ts",
"dev:bot": "cd packages/bot && bun run dev",
"start:bot": "cd packages/bot && bun run start",
"dev:bot": "bun run build:bot && bun start:bot",
"start:bot": "bun dist/bot/main.js",
"dev:docs": "vitepress dev docs",
"dev:website": "cd packages/website && bun run dev",
"dev:api": "bun --filter=@blitzkit/api run dev",
@@ -45,7 +45,6 @@
"@types/bun": "latest",
"@types/lodash-es": "^4.17.12",
"@types/node": "^22.5.4",
"esbuild": "^0.19.12",
"prettier": "^3.3.3",
"prisma": "^5.19.1",
"typescript": "^5.5.4"
@@ -10,7 +10,7 @@ const fontsPromise = [
{ file: robotoBold, weight: 700 as const },
{ file: robotoBlack, weight: 900 as const },
].map(async ({ file, weight }) => {
const data = await readFile(file);
const data = await readFile(`${__dirname}/${file}`);
return { name: 'Roboto', weight, data };
});
@@ -3,7 +3,7 @@ import { Worker } from 'worker_threads';
const RENDER_WORKERS = 1;
const workers = [...Array(RENDER_WORKERS)].map(() => {
const worker = new Worker('src/workers/render.ts');
const worker = new Worker('dist/bot/workers/render.js');
console.log(`🟡 Launching render worker ${worker.threadId}`);
return worker;
});
+1 -1
View File
@@ -1,6 +1,6 @@
import { assertSecret } from '@blitzkit/core';
import { ShardingManager } from 'discord.js';
export const manager = new ShardingManager('src/workers/bot.ts', {
export const manager = new ShardingManager('dist/bot/workers/bot.js', {
token: assertSecret(process.env.DISCORD_TOKEN),
});
+3 -1
View File
@@ -8,9 +8,11 @@
"setup:depotdownloader": "bun src/setupDepotDownloader.ts",
"setup:patches": "bun src/applyPatches.ts",
"build:reviews": "bun src/reviews.ts",
"build:ids": "bun src/discoverIds.ts"
"build:ids": "bun src/discoverIds.ts",
"build:bot": "bun src/buildBot.ts"
},
"dependencies": {
"esbuild": "^0.19.12",
"@blitzkit/core": "workspace:*",
"@gltf-transform/core": "^4.0.10",
"@gltf-transform/extensions": "^4.0.10",
+22
View File
@@ -0,0 +1,22 @@
import { build } from 'esbuild';
import { readdir } from 'fs/promises';
const root = '../bot';
const workers = await readdir(`${root}/src/workers`);
build({
entryPoints: [
`${root}/src/main.ts`,
...workers.map((worker) => `${root}/src/workers/${worker}`),
],
bundle: true,
outdir: '../../dist/bot',
platform: 'node',
format: 'esm',
loader: {
'.ttf': 'file',
'.node': 'file',
},
minify: true,
sourcemap: true,
});