Skip to main content

Interface: ToolsetCustom

A custom toolset bundle supplied by the user in place of a built-in versioned bundle.

The bundle must mirror the expected directory layout of the corresponding built-in bundle. See the build scripts at https://github.com/electron-userland/electron-builder-binaries/tree/master/packages.

File formats supported for url archives: .zip, .7z, .tar.gz, .tar.xz.

checksum is the SHA-256 of the archive as 64 hex characters or its SHA-512 as 88 base64 characters (the format v26 used for all toolset checksums), the same for every toolset. See https://www.electron.build/docs/toolsets#custom-toolset-checksum

Example​

{
"toolsets": {
"nsis": {
"url": "file:///path/to/my-nsis-bundle.tar.gz",
"checksum": "56997fdefe25e7928a1a68b4583d08b240b66cf660234053b20131a74cc082f4",
"version": "my-custom-1.0"
}
}
}

Properties​

checksum?​

readonly optional checksum?: string

Checksum of the bundle archive, in one of two formats:

  • the SHA-256 as 64 hex characters (uppercase is lowercased), e.g. shasum -a 256 <archive> (macOS / Linux), (Get-FileHash -Algorithm SHA256 <archive>).Hash (PowerShell) or certutil -hashfile <archive> SHA256;
  • the SHA-512 as 88 base64 characters, the format v26 used for all toolset checksums, e.g. openssl dgst -sha512 -binary <archive> | openssl base64 -A.

Prefixed forms such as sha256:… or sha512-…, and a hex-encoded SHA-512, are rejected before anything is downloaded. A downloaded archive is verified before it is cached or extracted, and a local file:// archive before it is extracted.

Required for remote (https://) URLs and local archive files (file://). Not needed for bare directory paths — the directory is used as-is with no caching and no verification.

See​

https://www.electron.build/docs/toolsets#custom-toolset-checksum


url​

readonly url: string

The https:// URL or file:// path to load the custom toolset bundle from.

  • https:// — downloaded and cached locally; the archive is extracted before use.
  • file:///absolute/path — used directly; relative paths must be within the project resources dir.

Archives (.zip, .7z, .tar.gz, .tar.xz) are extracted automatically. A bare directory path (no archive) is used as-is.


version?​

readonly optional version?: string

Optional version label used in the local cache directory name. Falls back to the first 8 hex characters of the checksum digest when omitted.