Skip to main content
The app-builder-lib module is the core library used by electron-builder. It provides the Packager class and all configuration interfaces.

Installation

Main Function

build()

Builds the application with the specified options.
Source: packages/app-builder-lib/src/index.ts:82
PackagerOptions & PublishOptions
required
Build and publish options.
Packager
Optional Packager instance. If not provided, a new one is created.
Returns: Promise<Array<string>> - Paths to built artifacts.

Packager Class

The main packager class that orchestrates the build process.

Constructor

PackagerOptions
required
Packager configuration options.

Properties

AppInfo
Application metadata and information.
Configuration
Resolved build configuration.
string
The project directory path.
CancellationToken
Token for cancelling the build process.

Methods

build()

Executes the build process.
Returns: Promise<BuildResult> - Build result with artifact paths and configuration.

BuildResult Interface

The result of a build operation.
Array<string>
Paths to all built artifacts.
Configuration
The configuration used for the build.
Map<Platform, Map<string, Target>>
Map of platforms to their targets.

Platform Packagers

Platform-specific packager classes.

MacPackager

Packager for macOS applications.
Methods:
  • pack(outDir: string, arch: Arch, targets: Array<Target>): Promise<void>
  • sign(path: string, options?: CustomMacSignOptions): Promise<void>

WinPackager

Packager for Windows applications.
Methods:
  • pack(outDir: string, arch: Arch, targets: Array<Target>): Promise<void>
  • sign(file: string): Promise<void>

LinuxPackager

Packager for Linux applications.
Methods:
  • pack(outDir: string, arch: Arch, targets: Array<Target>): Promise<void>

AppInfo Class

Provides application information from package.json and configuration.

Properties

string
Application name from package.json.
string
Product name (defaults to name if not specified).
string
Application version.
string
Build version (may include build number).
string
Application description.
Copyright string.
string
Safe filename for the product.

Target Class

Abstract base class for build targets.
Source: packages/app-builder-lib/src/core.ts:74
string
Target name (e.g., “dmg”, “nsis”).
string
Output directory for this target.
TargetSpecificOptions | null
Target-specific options.

Core Enums and Types

CompressionLevel

  • store - No compression (fastest)
  • normal - Standard compression (default)
  • maximum - Maximum compression (slowest)

DIR_TARGET

Special target name for unpacked directory output.

DEFAULT_TARGET

Indicates platform default targets should be used.

Utility Functions

checkBuildRequestOptions()

Validates build options.
Throws InvalidConfigurationError if unknown options are provided.

Exported Modules

Configuration

  • Configuration - Main configuration
  • CommonConfiguration - Common config options
  • Hooks - Lifecycle hooks
  • MetadataDirectories - Directory configuration
  • ToolsetConfig - Toolset versions

Platform Options

  • MacConfiguration, DmgOptions, PkgOptions, MasConfiguration
  • WindowsConfiguration, NsisOptions, AppXOptions, MsiOptions
  • LinuxConfiguration, DebOptions, AppImageOptions, SnapOptions

Build Options

  • PlatformSpecificBuildOptions
  • FilesBuildOptions
  • AsarOptions
  • FileSet

Metadata

  • Metadata - package.json metadata
  • AuthorMetadata - Author info
  • RepositoryInfo - Repository info

Protocols and Associations

  • Protocol - URL protocol schemes
  • FileAssociation - File associations

Code Signing

  • WindowsSignOptions
  • CustomWindowsSign, CustomWindowsSignTaskConfiguration
  • CustomMacSign, CustomMacSignOptions
  • CertificateFromStoreInfo, FileCodeSigningInfo

Electron Options

  • ElectronDownloadOptions
  • ElectronBrandingOptions

Events

  • ArtifactCreated
  • ArtifactBuildStarted

Contexts

  • BeforeBuildContext
  • BeforePackContext
  • AfterPackContext
  • AfterExtractContext
  • PackContext

Forge Integration

buildForge()

Builds using Electron Forge maker configuration.

Import Examples

CommonJS

ES Modules / TypeScript

See Also