mirror of
https://github.com/marktext/marktext.git
synced 2025-05-02 15:21:33 +08:00
33 lines
1.6 KiB
JavaScript
Executable File
33 lines
1.6 KiB
JavaScript
Executable File
'use strict'
|
|
const fs = require('fs')
|
|
const path = require('path')
|
|
|
|
// WORKAROUND: Fix slow startup time on Windows due to blocking powershell call(s) in windows-release.
|
|
// Replace the problematic file with our "fixed" version.
|
|
const windowsReleasePath = path.resolve(__dirname, '../node_modules/windows-release')
|
|
if (fs.existsSync(windowsReleasePath)) {
|
|
const windowsReleaseJson = path.join(windowsReleasePath, 'package.json')
|
|
const packageJson = JSON.parse(fs.readFileSync(windowsReleaseJson, { encoding : 'utf-8' }))
|
|
|
|
const windowsReleaseMajor = Number(packageJson.version.match(/^(\d+)\./)[1])
|
|
if (windowsReleaseMajor >= 5) {
|
|
console.error('[ERROR] "windows-release" workaround failed because version is >=5.\n')
|
|
process.exit(1)
|
|
}
|
|
|
|
const srcPath = path.resolve(__dirname, '../resources/build/windows-release.js')
|
|
const destPath = path.join(windowsReleasePath, 'index.js')
|
|
fs.copyFileSync(srcPath, destPath)
|
|
}
|
|
|
|
// WORKAROUND: electron-builder downloads the wrong prebuilt architecture on macOS and the reason is unknown.
|
|
// For now, we rebuild all native libraries from source.
|
|
const keytarPath = path.resolve(__dirname, '../node_modules/keytar')
|
|
if (process.platform === 'darwin' && fs.existsSync(keytarPath)) {
|
|
const keytarPackageJsonPath = path.join(keytarPath, 'package.json')
|
|
let packageText = fs.readFileSync(keytarPackageJsonPath, { encoding : 'utf-8' })
|
|
|
|
packageText = packageText.replace(/"install": "prebuild-install \|\| npm run build",/i, '"install": "npm run build",')
|
|
fs.writeFileSync(keytarPackageJsonPath, packageText, { encoding : 'utf-8' })
|
|
}
|