Interface: SnapcraftOptions
New-style snap configuration. Use this via the snapcraft key in your build config.
Selects the snapcraft core version and its per-core options.
Extends
Properties
artifactName?
readonlyoptionalartifactName?:string|null
The artifact file name template.
Inherited from
TargetSpecificOptions.artifactName
base
readonlybase:"custom"|"core18"|"core20"|"core22"|"core24"
The snap base to use as the execution environment. Determines which set of per-core options
(core18, core20, core22, core24, custom) is active.
Only one core may be selected per build target.
core18?
readonlyoptionalcore18?:SnapOptionsLegacy|null
Configuration for a core18 build. Only active when base is "core18".
core20?
readonlyoptionalcore20?:SnapOptionsLegacy|null
Configuration for a core20 build. Only active when base is "core20".
core22?
readonlyoptionalcore22?:SnapOptionsLegacy|null
Configuration for a core22 build. Only active when base is "core22".
core24?
readonlyoptionalcore24?:SnapOptions24|null
Beta
[Beta] Options for building a core24 snap. Uses the snapcraft CLI directly.
Inherits desktop-entry fields from CommonLinuxOptions and publish config from TargetSpecificOptions.
cscLink?
readonlyoptionalcscLink?:string
Snapcraft Store credentials — base64-encoded credentials string or file path.
Accepts the same formats as WIN_CSC_LINK / CSC_LINK: base64 data,
absolute/relative/~/ file paths, and file:// URIs.
Relative paths are resolved against the build resources directory.
Injected as SNAPCRAFT_STORE_CREDENTIALS into every snapcraft subprocess
(core18/core20/core22/core24 builds and snapcraft upload).
Not applied for base: "custom" — inject credentials manually via environment variables.
The SNAP_CSC_LINK environment variable is the CI-friendly alternative.
Generate with: snapcraft export-login - | base64 -w0
custom?
readonlyoptionalcustom?:SnapOptionsCustom|null
Beta
[Beta] Pass-through custom snap configuration. electron-builder will read the
snapcraft.yaml at yamlPath and use it verbatim — no plugs, extensions,
organize mappings, or desktop files are injected.
publish?
optionalpublish?:Publish