I'm unable to Pack electron app

1st Errror
Cannot detect repository by .git/config. Please specify "repository" in the package.json (https://docs.npmjs.com/files/package.json#repository).
Please see https://electron.build/configuration/publish failedTask=build stackTrace=Error: Cannot detect repository by .git/config. Please specify "repository" in the package.json (https://docs.npmjs.com/files/package.json#repository).

2nd Error

⨯ ENOENT: no such file or directory, scandir 'path-to\capacitor\mxxxxs_exe\electron\node_modules\fsevents' failedTask=build stackTrace=Error: ENOENT: no such file or directory, scandir 'path-to\capacitor\mxxxxs_exe\electron\node_modules\fsevents'
Error packing your project for electron!

If you don't want it to publish automatically, I think you can remove the publish section from electron-builder.config.json.

Are you on Mac or Windows?

I'm on Windows 11

Could you try running "Install Node Packages" and see if that fixes it?

image

I've tried that but there is no change.

Segue o procedimento que eu criei para resolver essa situação. Traduza para seu idioma para seguir.

Roteiro de Melhoria no Processo de Build e Atualização Automática
Projeto: Spacefeed - Marte
Plataforma: Wappler Desktop App (Electron + Capacitor + TypeScript)

  1. Ajuste no tsconfig.json para compatibilidade do emulador
    Problema identificado:
    O projeto falhava ao compilar ou executar no emulador (electron:start) devido a erros de tipagem de bibliotecas externas.
    Solução aplicada:

{
"compilerOptions": {
"type": "module",
"skipLibCheck": true
}
}

Motivo:

  • skipLibCheck: true ignora erros de tipagem de bibliotecas externas.
  • type: module garante compatibilidade com ESModules.
  1. Atualização dos scripts no package.json
    Problema identificado:
    Scripts electron:pack e electron:make não geravam corretamente os artefatos nem publicavam no GitHub.
    Soluções aplicadas:

"scripts": {
"build": "tsc && electron-rebuild",
"electron:start-live": "node ./live-runner.js",
"electron:start": "npm run build && electron --inspect=5858 ./",
"electron:pack": "npm run build && electron-builder build --dir -c ./electron-builder.config.json",
"electron:make": "npm run build && electron-builder build -c ./electron-builder.config.json --publish always",
"electron:release": "npm run build && electron-builder --win --x64 -c ./electron-builder.config.json --publish always"
}

  1. Configuração completa do publish para GitHub no Electron Builder
    Problema identificado:
    Configuração incompleta do campo publish causava releases em rascunho e falhas no autoUpdater.
    Configuração corrigida no package.json:

"repository": {
"type": "git",
"url": "GitHub - rubensjunior/marte"
},
"build": {
"appId": "com.spacefeed.marte",
"productName": "Spacefeed - Marte",
"publish": [
{
"provider": "github",
"owner": "rubensjunior",
"repo": "marte",
"releaseType": "release"
}
],
"win": {
"target": "nsis"
}
}

Resultado Final

  • O aplicativo compila e executa corretamente em modo desenvolvimento e produção.
  • O build publica automaticamente no GitHub com latest.yml, .exe e .blockmap.
  • O autoUpdater funciona corretamente.
  • A experiência de build e release está agora automatizada.

Recomendações

  • Automatizar o processo em CI/CD futuramente.
  • Validar novas versões com incremento do version no package.json.
  • Sempre verificar o upload dos artefatos no GitHub Releases.
1 Like