build-windows.mjs 881 B

123456789101112131415161718192021222324252627282930
  1. #!/usr/bin/env node
  2. /* eslint-disable @typescript-eslint/prefer-nullish-coalescing */
  3. import { build as builder } from 'electron-builder'
  4. import * as vars from './vars.mjs'
  5. const isTag = (process.env.GITHUB_REF || process.env.BUILD_SOURCEBRANCH || '').startsWith('refs/tags/')
  6. process.env.ARCH = process.env.ARCH || process.arch
  7. builder({
  8. dir: true,
  9. win: ['nsis', 'zip'],
  10. arm64: process.env.ARCH === 'arm64',
  11. config: {
  12. extraMetadata: {
  13. version: vars.version,
  14. },
  15. publish: process.env.KEYGEN_TOKEN ? [
  16. vars.keygenConfig,
  17. {
  18. provider: 'github',
  19. channel: `latest-${process.env.ARCH}`,
  20. },
  21. ] : undefined,
  22. },
  23. publish: process.env.KEYGEN_TOKEN ? isTag ? 'always' : 'onTagOrDraft' : 'never',
  24. }).catch(e => {
  25. console.error(e)
  26. process.exit(1)
  27. })