From 703e03aba33f234712206769f57717ba7d92d23d Mon Sep 17 00:00:00 2001 From: LinuxWizard42 Date: Wed, 12 Oct 2022 22:54:37 +0300 Subject: Added export_allowed file to make repository visible in cgit --- node_modules/rcedit/lib/rcedit.js | 43 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 node_modules/rcedit/lib/rcedit.js (limited to 'node_modules/rcedit/lib/rcedit.js') 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) +} -- cgit v1.2.3-86-g962b