Sous Wayland (défaut Debian/GNOME) l'option icon: de BrowserWindow est
ignorée : l'icône de fenêtre/dock vient du .desktop apparié via l'app_id.
electron-builder pose déjà StartupWMClass=productName, mais l'app_id runtime
ne valait pas "Arboretum" (dérivé du name package.json). On force donc
app.setName('Arboretum') avant app.whenReady(), et on rend StartupWMClass
explicite dans electron-builder.yml. Prend effet après rebuild + réinstall
du .deb.
71 lines
2.4 KiB
YAML
71 lines
2.4 KiB
YAML
appId: fr.lidge.arboretum
|
|
productName: Arboretum
|
|
copyright: Copyright © 2026 Johan Leroy
|
|
|
|
directories:
|
|
output: release
|
|
buildResources: resources
|
|
|
|
# Le bundle esbuild (dist/) va dans l'ASAR ; le daemon et le runtime Node restent des fichiers
|
|
# reels sur disque (extraResources, hors ASAR) : les binaires natifs (.node de node-pty) se
|
|
# chargent proprement, ce qu'un .asar interdirait.
|
|
files:
|
|
- dist/**/*
|
|
- "!**/*.map"
|
|
asar: true
|
|
|
|
extraResources:
|
|
- from: build/server
|
|
to: server
|
|
- from: build/node
|
|
to: node
|
|
- from: resources/icon.png
|
|
to: icon.png
|
|
|
|
# Icône : electron-builder dérive toutes les tailles/formats par OS depuis resources/icon.png
|
|
# (buildResources), pas besoin de .ico/.icns séparés.
|
|
linux:
|
|
target: [AppImage, deb]
|
|
category: Development
|
|
artifactName: ${productName}-${version}-${arch}.${ext}
|
|
# Entrée .desktop (forme plate, mergée telle quelle par electron-builder 25). StartupWMClass DOIT
|
|
# correspondre à l'app_id runtime (posé par app.setName('Arboretum') dans src/main/main.ts) pour
|
|
# que GNOME/Wayland associe la fenêtre au lanceur et affiche le logo. Redondant avec le défaut
|
|
# (productName) mais explicite et robuste à un futur changement de productName.
|
|
desktop:
|
|
StartupWMClass: Arboretum
|
|
# Note : le .deb installe l'icône et rafraîchit le cache (postinst electron-builder). L'AppImage,
|
|
# lui, n'installe aucun .desktop sans intégration (appimaged) : sur Debian, préférer le .deb.
|
|
|
|
deb:
|
|
# git est requis pour les operations de worktree ; claude n'est pas dans les depots (documente).
|
|
depends: [git]
|
|
# Mainteneur .deb explicite (electron-builder l'exige ; sinon derive de author.email du package.json).
|
|
maintainer: Johan LEROY <contact@johanleroy.fr>
|
|
|
|
win:
|
|
target:
|
|
- target: nsis
|
|
arch: [x64]
|
|
- target: portable
|
|
arch: [x64]
|
|
artifactName: ${productName}-${version}-${arch}.${ext}
|
|
|
|
nsis:
|
|
oneClick: false
|
|
perMachine: false
|
|
allowToChangeInstallationDirectory: true
|
|
|
|
mac:
|
|
target: [dmg, zip]
|
|
category: public.app-category.developer-tools
|
|
# macOS best-effort : non signe (documente : clic droit -> Ouvrir, ou xattr -dr com.apple.quarantine)
|
|
identity: null
|
|
hardenedRuntime: false
|
|
|
|
# Auto-update (electron-updater, cable en C5) : provider generic pointant sur les assets de release
|
|
# Gitea. Genere latest*.yml a cote des artefacts.
|
|
publish:
|
|
provider: generic
|
|
url: https://git.lidge.fr/johanleroy/arboretum/releases/download/desktop-latest
|