diff --git a/build-config/build-before-pack.js b/build-config/build-before-pack.js index 5abc53d8..fddddcc9 100644 --- a/build-config/build-before-pack.js +++ b/build-config/build-before-pack.js @@ -1,7 +1,7 @@ // const fs = require('fs') // const fsPromises = require('fs').promises // const path = require('path') -// const { Arch } = require('electron-builder') +const { Arch } = require('electron-builder') // const nodeAbi = require('node-abi') const { beforePack, copyLib } = require('./deps') @@ -24,12 +24,17 @@ const { beforePack, copyLib } = require('./deps') // await fsPromises.copyFile(filePath, targetPath) // } - +const archMap = { + [Arch.x64]: 'x64', + [Arch.ia32]: 'ia32', + [Arch.arm64]: 'arm64', + [Arch.armv7l]: 'armv7l', +} module.exports = async(context) => { await beforePack() const { arch } = context - await copyLib(arch) - // const electronVersion = context.packager?.info?._framework?.version ?? require('../package.json').devDependencies.electron.replace(/^[^\d]*?(\d+)/, '$1') + const electronVersion = context.packager?.info?._framework?.version ?? require('../package.json').devDependencies.electron.replace(/^[^\d]*?(\d+)/, '$1') + await copyLib(archMap[arch], parseInt(electronVersion) == 22) // const electronNodeAbi = nodeAbi.getAbi(electronVersion, 'electron') // if (electronPlatformName !== 'linux' || process.env.FORCE) return // // const bindingFilePath = path.join(__dirname, '../node_modules/better-sqlite3/binding.gyp') diff --git a/build-config/deps.js b/build-config/deps.js index 59e90463..0b81c085 100644 --- a/build-config/deps.js +++ b/build-config/deps.js @@ -40,8 +40,8 @@ const replaceSqliteLib = async(arch) => { await fs.promises.unlink(targetPath).catch(_ => _) await fs.promises.copyFile(filePath, targetPath) } -exports.copyLib = async(arch = process.arch) => { - if (process.platform === 'linux') { +exports.copyLib = async(arch = process.arch, replaceLocal = false) => { + if (process.platform === 'linux' || replaceLocal) { await replaceSqliteLib(arch) return } diff --git a/build-config/lib-update.js b/build-config/lib-update.js index 4366c736..ab516f59 100644 --- a/build-config/lib-update.js +++ b/build-config/lib-update.js @@ -28,7 +28,7 @@ const files = ['better_sqlite3'] const moveFile = async(filePath) => { const name = `${path.basename(filePath).split('_v')[0].replace('_', '-')}` for (const fileName of files) { - if (fileName == 'better_sqlite3' && !name.includes('linux')) continue + // if (fileName == 'better_sqlite3' && !name.includes('linux')) continue const targetPath = path.join(libDir, `${fileName}_${name}.node`) if (fs.existsSync(targetPath)) await fs.promises.unlink(targetPath) await fs.promises.rename(path.join(filePath, `${fileName}.node`), targetPath) diff --git a/build-config/lib/better_sqlite3_win32-ia32.node b/build-config/lib/better_sqlite3_win32-ia32.node new file mode 100644 index 00000000..f455dbdc Binary files /dev/null and b/build-config/lib/better_sqlite3_win32-ia32.node differ diff --git a/build-config/lib/better_sqlite3_win32-x64.node b/build-config/lib/better_sqlite3_win32-x64.node new file mode 100644 index 00000000..8c1fe47f Binary files /dev/null and b/build-config/lib/better_sqlite3_win32-x64.node differ