build: embed mmdb as pure js data (#782)

This commit is contained in:
Trim21
2024-08-14 05:48:02 +08:00
committed by GitHub
parent e40881c62e
commit c3b9a6c6aa
9 changed files with 200 additions and 207 deletions
+16
View File
@@ -0,0 +1,16 @@
import * as zlib from 'node:zlib';
import * as fs from 'node:fs';
const buf = fs.readFileSync('server/geoip/GeoLite2-Country.mmdb');
const compressed = zlib.brotliCompressSync(buf).toString('base64');
fs.writeFileSync(
'server/geoip/data.ts',
`
import * as zlib from 'node:zlib';
// data is brotli compressed GeoLite2-Country.mmdb in base64 format
export const data = zlib.brotliDecompressSync(Buffer.from('${compressed}', 'base64'));
`,
);