An IconSet is a type that is based upon Record-alike type supported by many official Electron Forge makers, yet not documented well in official API docs.

ReForged implementation adds additional properties in order to guarantee much more fine-grained configuration that makes sense for ReForged makers.

A separate set of utilities and/or types might come in the future as maker-agnostic implementation for parsing and populating icons in specific paths. All makers, at least Linux ones, will depend on it to provide icons system-wide.

interface IconSet {
    default?: `${number}x${number}` | "scalable";
    scalable?: string;
    strict?: boolean;
    [fixed: `${number}x${number}`]: string;
}

Indexable

  • [fixed: `${number}x${number}`]: string

    Fixed-dimensions icon representation.

Properties

default?: `${number}x${number}` | "scalable"

Which icon should be set as default. It is maker-dependent whenever "default" icon means anything and if it will be treated differently at all.

Currently, this is only used by AppImage maker for selecting which icon should be symlinked as .DirIcon and <name>.<ext> files.

By default, scalable will be picked or icon that has largest dimensions (compared by their pixel count).

scalable?: string

Scalable icon representation.

strict?: boolean

Whether icon set objects should also undergo additional dimensions verification, to ensure there are no differences between real and configuration icon dimensions.

Default is false.