diff options
author | LinuxWizard42 <computerwizard@linuxmail.org> | 2022-10-12 22:54:37 +0300 |
---|---|---|
committer | LinuxWizard42 <computerwizard@linuxmail.org> | 2022-10-12 22:54:37 +0300 |
commit | 703e03aba33f234712206769f57717ba7d92d23d (patch) | |
tree | 0041f04ccb75bd5379c764e9fe42249fffe75fc3 /node_modules/rcedit/lib/rcedit.js | |
parent | ab6e257e6e9d9a483d7e86f220d8b209a2cd7753 (diff) | |
download | FlashRunner-703e03aba33f234712206769f57717ba7d92d23d.tar.gz FlashRunner-703e03aba33f234712206769f57717ba7d92d23d.tar.zst |
Added export_allowed file to make repository visible in cgit
Diffstat (limited to 'node_modules/rcedit/lib/rcedit.js')
-rw-r--r-- | node_modules/rcedit/lib/rcedit.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/node_modules/rcedit/lib/rcedit.js b/node_modules/rcedit/lib/rcedit.js new file mode 100644 index 0000000..b6bd5ce --- /dev/null +++ b/node_modules/rcedit/lib/rcedit.js @@ -0,0 +1,43 @@ +const { canRunWindowsExeNatively, is64BitArch, spawnExe } = require('cross-spawn-windows-exe') +const path = require('path') + +const pairSettings = ['version-string'] +const singleSettings = ['file-version', 'product-version', 'icon', 'requested-execution-level'] +const noPrefixSettings = ['application-manifest'] + +module.exports = async (exe, options) => { + const rceditExe = is64BitArch(process.arch) ? 'rcedit-x64.exe' : 'rcedit.exe' + const rcedit = path.resolve(__dirname, '..', 'bin', rceditExe) + const args = [exe] + + for (const name of pairSettings) { + if (options[name]) { + for (const [key, value] of Object.entries(options[name])) { + args.push(`--set-${name}`, key, value) + } + } + } + + for (const name of singleSettings) { + if (options[name]) { + args.push(`--set-${name}`, options[name]) + } + } + + for (const name of noPrefixSettings) { + if (options[name]) { + args.push(`--${name}`, options[name]) + } + } + + const spawnOptions = { + env: { ...process.env } + } + + if (!canRunWindowsExeNatively()) { + // Suppress "fixme:" stderr log messages + spawnOptions.env.WINEDEBUG = '-all' + } + + await spawnExe(rcedit, args, spawnOptions) +} |