bundle-desktop-updater.mjs 912 B

12345678910111213141516
  1. import { build } from 'esbuild'
  2. import { createRequire } from 'node:module'
  3. import { readFile, writeFile } from 'node:fs/promises'
  4. import { resolve } from 'node:path'
  5. import { pathToFileURL } from 'node:url'
  6. import { patchMacUpdater } from './patch-mac-updater.mjs'
  7. const require = createRequire(import.meta.url)
  8. export async function bundleDesktopUpdater(outfile) {
  9. await build({ entryPoints: [require.resolve('electron-updater')], outfile,
  10. bundle: true, platform: 'node', target: 'node24', format: 'cjs', external: ['electron'], legalComments: 'eof' })
  11. // Pin electron-updater and fail the build if its native staging code changes.
  12. await writeFile(outfile, patchMacUpdater(await readFile(outfile, 'utf8')))
  13. }
  14. if (process.argv[1] && import.meta.url === pathToFileURL(resolve(process.argv[1])).href)
  15. await bundleDesktopUpdater(resolve(import.meta.dirname, '../.desktop-build/electron-updater.cjs'))