diff --git a/docs/Options.md b/docs/Options.md index 91455d66bf1..fde019b6cf2 100644 --- a/docs/Options.md +++ b/docs/Options.md @@ -55,6 +55,7 @@ You can use macros in the file patterns, artifact file name patterns and publish * `${productName}` — [Sanitized](https://www.npmjs.com/package/sanitize-filename) product name. * `${version}` * `${env.ENV_NAME}` — any environment variable. +* Any property of [AppInfo](https://github.com/electron-userland/electron-builder/wiki/electron-builder#AppInfo) (e.g. `buildVersion`, `buildNumber`). ## Source and Destination Directories You may also specify custom source and destination directories by using JSON objects instead of simple glob patterns. diff --git a/packages/electron-builder/src/platformPackager.ts b/packages/electron-builder/src/platformPackager.ts index 76a32387c18..2e46d454533 100644 --- a/packages/electron-builder/src/platformPackager.ts +++ b/packages/electron-builder/src/platformPackager.ts @@ -357,12 +357,6 @@ export abstract class PlatformPackager const appInfo = this.appInfo return pattern.replace(/\$\{([_a-zA-Z./*]+)\}/g, (match, p1): string => { switch (p1) { - case "name": - return appInfo.name - - case "version": - return appInfo.version - case "productName": return appInfo.productFilename @@ -377,6 +371,10 @@ export abstract class PlatformPackager return this.platform.buildConfigurationKey default: + if (p1 in appInfo) { + return (appInfo)[p1] + } + if (p1.startsWith("env.")) { const envName = p1.substring("env.".length) const envValue = process.env[envName]