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
Build and publish options.
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
Packager configuration options.
Properties
Application metadata and information.
Resolved build configuration.
The project directory path.
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.Paths to all built artifacts.
The configuration used for the build.
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
Application name from package.json.
Product name (defaults to name if not specified).
Application version.
Build version (may include build number).
Application description.
Copyright string.
Safe filename for the product.
Target Class
Abstract base class for build targets.packages/app-builder-lib/src/core.ts:74
Target name (e.g., “dmg”, “nsis”).
Output directory for this target.
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