Files
2026-07-13 12:46:20 +08:00

43 lines
1.2 KiB
JavaScript

/**
* post install script
*/
const { cp, exec, rm } = require('shelljs')
const { existsSync } = require('fs')
const { resolve } = require('path')
const prePushPath = resolve(__dirname, '../../.git/hooks/pre-push')
const prePushPathFrom = resolve(__dirname, 'pre-push')
const os = require('os')
const platform = os.platform()
const isWin = platform === 'win32'
// const rest = ''
if (isWin && process.env.CI) {
exec('npm cache clear -f')
exec('npm uninstall node-gyp -g')
exec('npm install node-gyp -g')
}
// Remove optional native module that may fail to rebuild
try {
// Check multiple potential locations for cpu-features
const cpuFeaturesPaths = [
resolve(__dirname, '../../node_modules/cpu-features'),
resolve(__dirname, '../../work/app/node_modules/cpu-features')
]
cpuFeaturesPaths.forEach(cpuFeaturesPath => {
if (existsSync(cpuFeaturesPath)) {
rm('-rf', cpuFeaturesPath)
console.log('Removed optional module:', cpuFeaturesPath)
}
})
} catch (e) {
console.warn('Failed to remove cpu-features:', e?.message || e)
}
exec(resolve('./node_modules/.bin/electron-rebuild'))
if (!existsSync(prePushPath)) {
cp(prePushPathFrom, prePushPath)
}