mirror of
https://github.com/deepseek-ai/deepseek-harness.git
synced 2026-10-26 16:55:08 +00:00
24 lines
1.5 KiB
JavaScript
24 lines
1.5 KiB
JavaScript
/** Resolve Windows packaging concurrency and archive compression. */
|
|
|
|
/**
|
|
* Validate worker limits and compression without accessing signing hardware.
|
|
* File-owned compression takes precedence over the existing electron-builder environment override.
|
|
* @param {NodeJS.ProcessEnv} environment Loaded packaging settings and inherited build environment.
|
|
* @returns {{signatureCacheConcurrency: number, packConcurrency: number, compressionLevel: number}} Worker limits defaulting to four and archive compression defaulting to three.
|
|
*/
|
|
export function resolveWindowsPackageSettings(environment) {
|
|
const value = environment.DSH_DESKTOP_WINDOWS_SIGNATURE_CACHE_CONCURRENCY ?? '4'
|
|
if (!/^[1-8]$/u.test(value)) {
|
|
throw new Error('desktop package: DSH_DESKTOP_WINDOWS_SIGNATURE_CACHE_CONCURRENCY must be an integer from 1 to 8')
|
|
}
|
|
const pack = environment.DSH_DESKTOP_WINDOWS_PACK_CONCURRENCY ?? '4'
|
|
if (!/^[1-9]\d*$/u.test(pack) || !Number.isSafeInteger(Number(pack))) {
|
|
throw new Error('desktop package: DSH_DESKTOP_WINDOWS_PACK_CONCURRENCY must be a positive integer')
|
|
}
|
|
const compression = environment.DSH_DESKTOP_WINDOWS_COMPRESSION_LEVEL ?? environment.ELECTRON_BUILDER_COMPRESSION_LEVEL ?? '3'
|
|
if (!/^[0-9]$/u.test(compression)) {
|
|
throw new Error('desktop package: DSH_DESKTOP_WINDOWS_COMPRESSION_LEVEL must be an integer from 0 to 9')
|
|
}
|
|
return { signatureCacheConcurrency: Number(value), packConcurrency: Number(pack), compressionLevel: Number(compression) }
|
|
}
|