Files
2026-08-10 22:06:49 +02:00

50 lines
1.6 KiB
JavaScript

#!/usr/bin/env node
// =====================================================================
// `npm run tauri:build`
//
// 1. construit et SIGNE l'application
// 2. dépose LE fichier à distribuer dans `release/`, sous son vrai nom
//
// Le setup NSIS produit dans `src-tauri/target/release/bundle/nsis/` ne
// sert QU'À l'updater (installation silencieuse des mises à jour). Il
// reste enfoui volontairement : c'est `release/GameDev Tracker.exe` qu'on
// envoie à l'équipe, et lui seul.
// =====================================================================
import { execSync } from 'node:child_process'
import { copyFileSync, mkdirSync, statSync } from 'node:fs'
import { join } from 'node:path'
import { ROOT, signingEnv, tauriBin } from './signing.mjs'
const extra = process.argv.slice(2).join(' ')
execSync(`"${tauriBin()}" build ${extra}`.trim(), {
cwd: ROOT,
stdio: 'inherit',
env: signingEnv()
})
// --- Le fichier à distribuer -----------------------------------------
const built = join(ROOT, 'src-tauri', 'target', 'release', 'app.exe')
const outDir = join(ROOT, 'release')
const out = join(outDir, 'GameDev Tracker.exe')
mkdirSync(outDir, { recursive: true })
copyFileSync(built, out)
const mb = (statSync(out).size / 1048576).toFixed(1)
console.log(
`
✓ À DISTRIBUER ${out} (${mb} Mo)
` +
` C'est CE fichier qu'on envoie à l'équipe : il contient l'application
` +
` ET son écran d'installation.
` +
` (le setup NSIS enfoui dans src-tauri/target/… ne sert qu'aux
` +
` mises à jour automatiques — ne le distribue pas)
`
)