Compile seu executável usando a flag --compile.
sh
bun build --compile ./path/to/entry.ts --outfile myappListe suas identidades de assinatura disponíveis. Uma delas será sua identidade de assinatura que você passa para o comando codesign. Este comando requer macOS.
sh
security find-identity -v -p codesigningtxt
1. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX "Developer ID Application: Your Name (ZZZZZZZZZZ)"
1 identidades válidas encontradasOpcional, mas recomendado: crie um arquivo entitlements.plist com as permissões necessárias para que o motor JavaScript funcione corretamente.
xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
</dict>
</plist>Assine seu executável usando o comando codesign e verifique se funciona.
bash
codesign --entitlements entitlements.plist -vvvv --deep --sign "XXXXXXXXXX" ./myapp --force
codesign -vvv --verify ./myappPara mais informações sobre codesign no macOS, consulte Documentação de Code Signing da Apple. Para detalhes sobre criar executáveis de arquivo único com Bun, veja Executáveis Autônomos. Este guia requer Bun v1.2.4 ou mais recente.