Electron package guidelines (Português) - ArchWiki

# Electron package guidelines (Português)

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Status de tradução: Esse artigo é uma tradução de Electron package guidelines. Data da última tradução: 2020-04-18. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

Este documento abrange padrões e diretrizes para escrever PKGBUILDs para Electron.

## Usando o electron do sistema

Arch Linux fornece o pacote electron e pacotes versionados electron* que podem ser usados para executar um aplicativo electron por meio de um wrapper de shellscript:

    #!/bin/sh

    exec electron /caminho/para/nome_do_app/ "$@"

O diretório `nome_do_app/` ou, alternativamente, um pacote de arquivo chamado `nome_do_app.asar`, pode ser localizado em um aplicativo electro pré-compilado como a pasta `resources/app/` (ou `resources/app.asar`). Todo resto é apenas uma cópia de runtime do electron e pode ser removido no pacote resultante.

### Construindo extensões compiladas com o electron do sistema

Alguns aplicativos de electron compilaram extensões nativas vinculadas ao runtime do electron e devem ser compiladas usando a versão correta de electron. Como o npm/yarn sempre será compilado com uma cópia pré-compilada privada de electron, aplique um patch na dependência de electron de `package.json` para referenciar a mesma versão da dependência de electron do sistema. O sistema de compilação irá baixar a cópia pré-compilada que precisar, compilará as extensões nativas e empacotará tudo em uma distribuição final, mas isso pode ser removido durante a etapa `package()` como de costume.

Alternativamente, você pode remover a dependência de electron do `package.json` e definir as variáveis de ambiente corretas antes de executar o npm:

    export npm_config_target=$(tail /usr/lib/electron/version)
    export npm_config_arch=x64
    export npm_config_target_arch=x64
    export npm_config_disturl=https://atom.io/download/electron
    export npm_config_runtime=electron
    export npm_config_build_from_source=true
    HOME="$srcdir/.electron-gyp" npm install

Configure `HOME` para um caminho dentro do `$srcdir` para que o processo de compilação não coloque nenhum arquivo em seu diretório real `HOME`. Certifique-se de ajustar o caminho para todos os comandos adicionais que fazem uso do cache `.electron-gyp`.

(mais detalhes aqui).

### Usando electron-builder com electron do sistema

Muitos projetos usam o electron-builder para compilar e empacotar o arquivo JavaScript e os binários Electron. Por padrão, o electron-builder baixa toda a versão de electron definida no arquivo de gerenciamento de pacotes (por exemplo, `package.json`). Isso pode não ser desejado se você quiser usar o electron do sistema e economizar a largura de banda, já que você vai jogar fora os binários de electron de qualquer maneira. O electron-builder fornece as configurações `electronDist` e `electronVersion`, para especificar um caminho personalizado de Electron e a versão para a qual o aplicativo é empacotado, respectivamente.

Encontre o arquivo de configuração do electron-builder (por exemplo, `electron-builder.json`) e adicione as seguintes configurações:

- `electronDist` com `/usr/lib/electron` para electron ou `/usr/lib/electron2` para electron2AUR
- `electronVersion` com o conteúdo de `/usr/lib/electron/version` sem o `v` no início

Pacotes que aplicam isso: rocketchat-desktopAUR ubports-installer-gitAUR

Configuração do electron-builder

Como alternativa, você pode usar a CLI para alterar/adicionar essas configurações da seguinte maneira:

    ./node_modules/.bin/electron-builder --linux --x64 --dir $dist -c.electronDist=$electronDist -c.electronVersion=$electronVer

Observe que você precisa especificar todas essas opções ou elas não funcionarão.

Pacotes que aplicam isso: deezloader-remix-gitAUR

## Arquitetura

Veja PKGBUILD (Português)#arch.

Um pacote Electron que contém extensões nativas compiladas depende da arquitetura. Caso contrário, é mais provável que seja independente de arquitetura.

Se o pacote contiver uma cópia pré-compilada do electron, será sempre dependente da arquitetura.

## Estrutura de diretórios

Se o pacote é dependente de arquitetura, instale o diretório `resources/app/` em `/usr/lib/nome_do_app/`. Do contrário, use `/usr/share/nome_do_app/`.

Se o pacote contém uma cópia pré-compilada de electron, copie toda a distribuição final para `/opt/nome_do_app`.

Category:

- Arch package guidelines (Português)