44 lines
1.8 KiB
JavaScript
44 lines
1.8 KiB
JavaScript
// =====================================================================
|
|
// Clé de signature des mises à jour — lecture commune aux scripts.
|
|
//
|
|
// Le CLI Tauri 2.11 n'honore pas TAURI_SIGNING_PRIVATE_KEY_PATH : il ne
|
|
// lit que TAURI_SIGNING_PRIVATE_KEY, qui accepte soit un chemin, soit la
|
|
// clé elle-même. On lui passe donc directement le contenu du fichier.
|
|
// =====================================================================
|
|
|
|
import { readFileSync, existsSync } from 'node:fs'
|
|
import { resolve, join } from 'node:path'
|
|
|
|
export const ROOT = resolve(import.meta.dirname, '..')
|
|
export const KEY_PATH = join(ROOT, '.tauri-signing-key.local')
|
|
|
|
/**
|
|
* Renvoie l'environnement à passer à `tauri build`, clé de signature
|
|
* incluse. Sort du programme avec un message clair si la clé manque —
|
|
* sans elle, aucune mise à jour ne serait acceptée par les installations
|
|
* existantes.
|
|
*/
|
|
export function signingEnv() {
|
|
if (!existsSync(KEY_PATH)) {
|
|
console.error(
|
|
'\n\x1b[31m✗ Clé de signature introuvable : .tauri-signing-key.local\x1b[0m\n\n' +
|
|
'Elle signe chaque mise à jour. Restaure ta sauvegarde (MISE_A_JOUR.md, étape 3).\n\n' +
|
|
"Si tu n'as PAS encore de clé — attention, les applications déjà installées\n" +
|
|
'avec une autre clé ne pourront plus jamais se mettre à jour :\n\n' +
|
|
' npx tauri signer generate --ci -p "" -w .tauri-signing-key.local\n'
|
|
)
|
|
process.exit(1)
|
|
}
|
|
|
|
return {
|
|
...process.env,
|
|
TAURI_SIGNING_PRIVATE_KEY: readFileSync(KEY_PATH, 'utf8').trim(),
|
|
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ''
|
|
}
|
|
}
|
|
|
|
/** Chemin du binaire Tauri local (npx inutile, et pas de shell à deviner). */
|
|
export function tauriBin() {
|
|
return join(ROOT, 'node_modules', '.bin', process.platform === 'win32' ? 'tauri.cmd' : 'tauri')
|
|
}
|