chore(scripts): improve build config

This commit is contained in:
PalmDevs 2026-02-26 16:22:33 +07:00
parent fc79e9353b
commit e4cdf652a2
No known key found for this signature in database
GPG key ID: 6FAE8F8677ACA8BA
2 changed files with 23 additions and 4 deletions

View file

@ -49,6 +49,9 @@ export default async function build(dev = Dev, log = true) {
},
pifeForModuleWrappers: true,
},
experimental: {
lazyBarrel: true,
},
preserveEntrySignatures: false,
transform: {
define: {
@ -123,13 +126,32 @@ export default async function build(dev = Dev, log = true) {
})
await bundle.write({
minify: 'dce-only',
minify: dev
? 'dce-only'
: {
codegen: {
removeWhitespace: false,
},
mangle: {
keepNames: true,
},
compress: {
joinVars: true,
keepNames: {
class: true,
function: true,
},
unused: true,
},
},
esModule: false,
minifyInternalExports: true,
hoistTransitiveImports: false,
file: 'dist/revenge.js',
format: 'iife',
keepNames: true,
postFooter: `//# sourceURL=Revenge`,
topLevelVar: true,
})
if (log)

View file

@ -37,9 +37,6 @@ export default function hermesCPlugin({
const file = bundle['revenge.js'] as OutputChunk
if (!file) throw new Error('No code to compile')
// TODO(scripts/build): Remove this when we have a better way to add sourceURL
file.code += `//# sourceURL=Revenge`
const cmdlist = [binPath, '-emit-binary', ...(flags ?? [])]
const cmd = Bun.spawnSync<'pipe', 'pipe'>(cmdlist, {