mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-21 10:47:04 +02:00
feat: cache tankopedia and tankaverages during build
This commit is contained in:
1 parent
79343438f0
commit
0f46f333b5
7 files changed
+59
-44
No files matched your search
+38
-4
@@ -1,5 +1,5 @@
|
||||
import { build } from 'esbuild';
|
||||
import { rmSync } from 'fs';
|
||||
import { mkdirSync, rmSync, writeFileSync } from 'fs';
|
||||
import { argv } from 'process';
|
||||
|
||||
const isProd = !argv.includes('--dev');
|
||||
@@ -7,8 +7,37 @@ const buildAll = argv.includes('--build=all');
|
||||
const buildBot = argv.includes('--build=bot') | buildAll;
|
||||
const buildServer = argv.includes('--build=server') | buildAll;
|
||||
|
||||
console.log('Removing dist...');
|
||||
rmSync('dist', { recursive: true, force: true });
|
||||
if (isProd) {
|
||||
// only remove in production to ensure no time is wasted in dev
|
||||
console.log('Removing dist...');
|
||||
rmSync('dist', { recursive: true, force: true });
|
||||
|
||||
console.log('Creating dist...');
|
||||
mkdirSync('dist');
|
||||
|
||||
console.log('Caching tankopedia...');
|
||||
fetch('https://www.blitzstars.com/bs-tankopedia.json')
|
||||
.then((response) => response.text())
|
||||
.then((tankopedia) => {
|
||||
writeFileSync('./dist/tankopedia.json', tankopedia);
|
||||
console.log('Tankopedia cached');
|
||||
});
|
||||
|
||||
console.log('Caching tank averages...');
|
||||
fetch('https://www.blitzstars.com/api/tankaverages.json')
|
||||
.then((response) => response.json())
|
||||
.then((individualTankAverages) => {
|
||||
const tankAverages = {};
|
||||
|
||||
individualTankAverages.forEach((individualTankAverage) => {
|
||||
tankAverages[individualTankAverage.tank_id] = individualTankAverage;
|
||||
});
|
||||
|
||||
writeFileSync('./dist/tankaverages.json', JSON.stringify(tankAverages));
|
||||
|
||||
console.log('Tank averages cached');
|
||||
});
|
||||
}
|
||||
|
||||
const commonOptions = {
|
||||
platform: 'node',
|
||||
@@ -26,21 +55,26 @@ const commonOptions = {
|
||||
logLevel: isProd ? 'info' : 'silent',
|
||||
};
|
||||
|
||||
console.log('Building...');
|
||||
if (buildBot) {
|
||||
console.log('Building bot...');
|
||||
build({
|
||||
...commonOptions,
|
||||
|
||||
entryPoints: ['src/bot.ts'],
|
||||
outfile: 'dist/bot.cjs',
|
||||
}).then(() => {
|
||||
console.log('Bot built');
|
||||
});
|
||||
}
|
||||
|
||||
if (buildServer) {
|
||||
console.log('Building server...');
|
||||
build({
|
||||
...commonOptions,
|
||||
|
||||
entryPoints: ['src/server.ts'],
|
||||
outfile: 'dist/server.cjs',
|
||||
}).then(() => {
|
||||
console.log('Server built');
|
||||
});
|
||||
}
|
||||
Reference in new issue
Block a user