GastosApp se distribuye como aplicación de escritorio nativa para Windows, macOS y Linux usandoDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Davidmallega/Gastos-App/llms.txt
Use this file to discover all available pages before exploring further.
electron-builder. El proceso de build tiene dos etapas: primero Vite compila el código React al directorio dist/, luego electron-builder empaqueta ese directorio junto con el proceso principal de Electron y genera los instaladores finales en release/. Todo el proceso se ejecuta con un solo comando y la configuración completa vive en package.json.
Generar el build
Compilar React con Vite
Ejecuta
npm run build, que invoca vite build. Genera el bundle optimizado del renderer en dist/ con base: './' para que las rutas de assets sean relativas (necesario para que Electron las sirva desde el sistema de archivos local).Plataformas y formatos
| Plataforma | Formato | Arquitectura |
|---|---|---|
| Windows | NSIS installer (.exe) | x64 |
| macOS | DMG | Plataforma actual |
| Linux | AppImage | Plataforma actual |
Configuración electron-builder
La configuración completa de empaquetado se declara en la clave"build" de package.json:
Instalador Windows (NSIS)
El instalador de Windows usa NSIS con las siguientes opciones configuradas:| Opción | Valor | Efecto |
|---|---|---|
oneClick | false | El instalador muestra un asistente paso a paso, no instala silenciosamente |
allowToChangeInstallationDirectory | true | El usuario puede elegir la carpeta de instalación en lugar de usar Program Files por defecto |
installerLanguages | ["es_ES"] | El asistente de instalación se muestra en español de España |
language | "3082" | Código LCID de es_ES (español — España) para la localización de NSIS |
Archivos incluidos en el paquete
El campofiles define qué se incluye dentro del ejecutable final. La configuración actual incluye:
| Patrón | Contenido |
|---|---|
dist/**/* | Bundle compilado de React (HTML, JS, CSS y assets de Vite) |
electron/**/* | main.js (proceso principal ESM) y preload.cjs (bridge IPC CommonJS) |
package.json | Requerido por Electron para resolver el punto de entrada ("main": "electron/main.js") |