@@ -5,13 +5,13 @@ import { readFileSync, writeFileSync } from 'fs';
55const VERSION = process . env . VERSION ?? 'dev' ;
66
77const targets = [
8- { bunTarget : 'bun-linux-x64' , platform : 'linux-x64' , output : 'minimax-linux-x64' } ,
9- { bunTarget : 'bun-linux-x64-musl' , platform : 'linux-x64-musl' , output : 'minimax-linux-x64-musl' } ,
10- { bunTarget : 'bun-linux-arm64' , platform : 'linux-arm64' , output : 'minimax-linux-arm64' } ,
11- { bunTarget : 'bun-linux-arm64-musl' , platform : 'linux-arm64-musl' , output : 'minimax-linux-arm64-musl' } ,
12- { bunTarget : 'bun-darwin-x64' , platform : 'darwin-x64' , output : 'minimax-darwin-x64' } ,
13- { bunTarget : 'bun-darwin-arm64' , platform : 'darwin-arm64' , output : 'minimax-darwin-arm64' } ,
14- { bunTarget : 'bun-windows-x64' , platform : 'windows-x64' , output : 'minimax-windows-x64.exe' } ,
8+ { bunTarget : 'bun-linux-x64' , platform : 'linux-x64' , output : 'minimax-linux-x64' , archive : 'minimax-linux-x64.tar.gz' } ,
9+ { bunTarget : 'bun-linux-x64-musl' , platform : 'linux-x64-musl' , output : 'minimax-linux-x64-musl' , archive : 'minimax-linux-x64-musl.tar.gz' } ,
10+ { bunTarget : 'bun-linux-arm64' , platform : 'linux-arm64' , output : 'minimax-linux-arm64' , archive : 'minimax-linux-arm64.tar.gz' } ,
11+ { bunTarget : 'bun-linux-arm64-musl' , platform : 'linux-arm64-musl' , output : 'minimax-linux-arm64-musl' , archive : 'minimax-linux-arm64-musl.tar.gz' } ,
12+ { bunTarget : 'bun-darwin-x64' , platform : 'darwin-x64' , output : 'minimax-darwin-x64' , archive : 'minimax-darwin-x64.tar.gz' } ,
13+ { bunTarget : 'bun-darwin-arm64' , platform : 'darwin-arm64' , output : 'minimax-darwin-arm64' , archive : 'minimax-darwin-arm64.tar.gz' } ,
14+ { bunTarget : 'bun-windows-x64' , platform : 'windows-x64' , output : 'minimax-windows-x64.exe' , archive : 'minimax-windows-x64.zip' } ,
1515] ;
1616
1717function sha256 ( path : string ) : string {
@@ -22,21 +22,31 @@ console.log(`Building minimax-cli ${VERSION}...\n`);
2222
2323const manifest : {
2424 version : string ;
25- platforms : Record < string , { checksum : string } > ;
25+ platforms : Record < string , { archive : string ; checksum : string } > ;
2626} = { version : VERSION , platforms : { } } ;
2727
28- for ( const { bunTarget, platform, output } of targets ) {
28+ for ( const { bunTarget, platform, output, archive } of targets ) {
2929 const outPath = `dist/${ output } ` ;
30+ const archivePath = `dist/${ archive } ` ;
3031 process . stdout . write ( ` ${ output } ...` ) ;
3132 await $ `bun build src/main.ts \
3233 --compile \
34+ --minify \
3335 --target ${ bunTarget } \
3436 --outfile ${ outPath } \
3537 --define "process.env.CLI_VERSION='${ VERSION } '"` . quiet ( ) ;
36- manifest . platforms [ platform ] = { checksum : sha256 ( outPath ) } ;
38+
39+ // Compress: tar.gz for unix, zip for windows
40+ if ( archive . endsWith ( '.zip' ) ) {
41+ await $ `zip -j ${ archivePath } ${ outPath } ` . quiet ( ) ;
42+ } else {
43+ await $ `tar -czf ${ archivePath } -C dist ${ output } ` . quiet ( ) ;
44+ }
45+
46+ manifest . platforms [ platform ] = { archive, checksum : sha256 ( archivePath ) } ;
3747 console . log ( ' ✓' ) ;
3848}
3949
4050writeFileSync ( 'dist/manifest.json' , JSON . stringify ( manifest , null , 2 ) ) ;
4151console . log ( ' manifest.json ✓' ) ;
42- console . log ( `\nDone. ${ targets . length } binaries in dist/` ) ;
52+ console . log ( `\nDone. ${ targets . length } archives in dist/` ) ;
0 commit comments