-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.ts
24 lines (19 loc) · 1009 Bytes
/
build.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { copyFileSync, readFileSync, writeFileSync } from 'node:fs'
import { ensureDir } from 'fs-extra'
import { md5 } from './lib/hash'
import { publicFiles } from './lib/public'
ensureDir('dist')
const styleFile = readFileSync('frontend/assets/ui.css').toString()
.replace(/\/site-prefix/g, '/generals')
const scriptFile = readFileSync('frontend/dist/ui.js').toString()
const indexFile = readFileSync('frontend/assets/index.html').toString()
.replace('{{ var.scriptVersion }}', md5(scriptFile))
.replace('{{ var.styleVersion }}', md5(styleFile))
.replace(/{{ var.sitePrefix }}/g, '/generals')
writeFileSync('dist/game_replay.html', indexFile)
writeFileSync('dist/ui.css', styleFile)
writeFileSync('dist/ui.js', scriptFile)
const jqueryFile = readFileSync('frontend/node_modules/jquery/dist/jquery.min.js').toString()
writeFileSync('dist/jquery.min.js', jqueryFile)
ensureDir('dist/public')
for (const file of publicFiles) copyFileSync(`frontend/assets/${file}`, `dist/public/${file}`)