tabby/scripts/build-native.mjs

38 lines
1.1 KiB
JavaScript
Raw Normal View History

2017-04-30 22:01:12 +00:00
#!/usr/bin/env node
import { rebuild } from 'electron-rebuild'
import * as path from 'path'
import * as vars from './vars.mjs'
import * as url from 'url'
const __dirname = url.fileURLToPath(new URL('.', import.meta.url))
2017-04-30 22:01:12 +00:00
2022-04-25 05:50:35 +00:00
if (process.platform === 'win32' || process.platform === 'linux') {
process.env.ARCH = ((process.env.ARCH || process.arch) === 'arm') ? 'armv7l' : process.env.ARCH || process.arch
} else {
process.env.ARCH ??= process.arch
2022-04-19 11:31:50 +00:00
}
2022-03-09 15:57:29 +00:00
2019-08-27 09:52:52 +00:00
let lifecycles = []
2021-06-29 21:57:04 +00:00
for (let dir of ['app', 'tabby-core', 'tabby-local', 'tabby-ssh', 'tabby-terminal']) {
2019-08-27 09:52:52 +00:00
const build = rebuild({
buildPath: path.resolve(__dirname, '../' + dir),
electronVersion: vars.electronVersion,
2022-03-09 15:57:29 +00:00
arch: process.env.ARCH,
2019-08-27 09:52:52 +00:00
force: true,
})
build.catch(e => {
console.error(e)
process.exit(1)
})
lifecycles.push([build.lifecycle, dir])
2018-12-15 14:49:06 +00:00
}
console.info('Building against Electron', vars.electronVersion)
2018-08-09 18:53:22 +00:00
2018-12-15 14:49:06 +00:00
for (let [lc, dir] of lifecycles) {
2019-08-27 09:52:52 +00:00
lc.on('module-found', name => {
console.info('Rebuilding', dir + '/' + name)
})
2018-08-09 18:53:22 +00:00
}