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.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.
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.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.pack(outDir: string, arch: Arch, targets: Array<Target>): Promise<void>sign(path: string, options?: CustomMacSignOptions): Promise<void>
WinPackager
Packager for Windows applications.pack(outDir: string, arch: Arch, targets: Array<Target>): Promise<void>sign(file: string): Promise<void>
LinuxPackager
Packager for Linux applications.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.
string
Copyright string.
string
Safe filename for the product.
Target Class
Abstract base class for build targets.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
DEFAULT_TARGET
Utility Functions
checkBuildRequestOptions()
Validates build options.InvalidConfigurationError if unknown options are provided.
Exported Modules
Configuration
Configuration- Main configurationCommonConfiguration- Common config optionsHooks- Lifecycle hooksMetadataDirectories- Directory configurationToolsetConfig- Toolset versions
Platform Options
MacConfiguration,DmgOptions,PkgOptions,MasConfigurationWindowsConfiguration,NsisOptions,AppXOptions,MsiOptionsLinuxConfiguration,DebOptions,AppImageOptions,SnapOptions
Build Options
PlatformSpecificBuildOptionsFilesBuildOptionsAsarOptionsFileSet
Metadata
Metadata- package.json metadataAuthorMetadata- Author infoRepositoryInfo- Repository info
Protocols and Associations
Protocol- URL protocol schemesFileAssociation- File associations
Code Signing
WindowsSignOptionsCustomWindowsSign,CustomWindowsSignTaskConfigurationCustomMacSign,CustomMacSignOptionsCertificateFromStoreInfo,FileCodeSigningInfo
Electron Options
ElectronDownloadOptionsElectronBrandingOptions
Events
ArtifactCreatedArtifactBuildStarted
Contexts
BeforeBuildContextBeforePackContextAfterPackContextAfterExtractContextPackContext