feat: 增加构建 sqlite3 二进制文件的脚本

This commit is contained in:
qier222 2022-04-03 13:41:08 +08:00
parent e748155032
commit 9971418b8c
No known key found for this signature in database
GPG key ID: 9C85007ED905F14D
6 changed files with 73 additions and 20 deletions

39
scripts/build.sqlite3.mjs Normal file
View file

@ -0,0 +1,39 @@
import { rebuild } from 'electron-rebuild'
import fs from 'fs'
import minimist from 'minimist'
import pc from 'picocolors'
const pkg = JSON.parse(await fs.readFileSync('./package.json', 'utf8'))
const electronVersion = pkg.devDependencies.electron.replaceAll('^', '')
const argv = minimist(process.argv.slice(2))
const build = async arch => {
console.log(pc.blue(`Building for ${arch}...`))
await rebuild({
buildPath: process.cwd(),
electronVersion,
arch: arch,
})
.then(() => {
console.info('Rebuild succeeded')
if (!fs.existsSync('./dist/main')) {
fs.mkdirSync('./dist/main', { recursive: true })
}
fs.copyFileSync(
'./node_modules/better-sqlite3/build/Release/better_sqlite3.node',
`./dist/main/better_sqlite3_${arch}.node`
)
})
.catch(e => {
console.error(pc.red('Rebuild failed!'))
console.error(pc.red(e))
})
}
const main = async () => {
if (argv.x64) await build('x64')
if (argv.arm64) await build('arm64')
if (argv.arm) await build('arm')
}
main()