build-native.js 991 B

123456789101112131415161718192021222324252627282930313233
  1. #!/usr/bin/env node
  2. const rebuild = require('electron-rebuild').default
  3. const path = require('path')
  4. const vars = require('./vars')
  5. if (process.platform === 'win32' || process.platform === 'linux') {
  6. process.env.ARCH = ((process.env.ARCH || process.arch) === 'arm') ? 'armv7l' : process.env.ARCH || process.arch
  7. } else {
  8. process.env.ARCH ??= process.arch
  9. }
  10. let lifecycles = []
  11. for (let dir of ['app', 'tabby-core', 'tabby-local', 'tabby-ssh', 'tabby-terminal']) {
  12. const build = rebuild({
  13. buildPath: path.resolve(__dirname, '../' + dir),
  14. electronVersion: vars.electronVersion,
  15. arch: process.env.ARCH,
  16. force: true,
  17. })
  18. build.catch(e => {
  19. console.error(e)
  20. process.exit(1)
  21. })
  22. lifecycles.push([build.lifecycle, dir])
  23. }
  24. console.info('Building against Electron', vars.electronVersion)
  25. for (let [lc, dir] of lifecycles) {
  26. lc.on('module-found', name => {
  27. console.info('Rebuilding', dir + '/' + name)
  28. })
  29. }