UNPKG

2.32 kBTypeScriptView Raw
1declare module "electron-builder-core" {
2 import { Publish } from "electron-builder-http/out/publishOptions"
3 export enum Arch {
4 ia32 = 0,
5 x64 = 1,
6 armv7l = 2,
7 }
8 export type ArchType = "x64" | "ia32" | "armv7l"
9
10 export function getArchSuffix(arch: Arch): string
11 export type TargetConfigType = Array<string | TargetConfig> | string | TargetConfig | null
12
13 export interface TargetConfig {
14 /**
15 * The target name. e.g. `snap`.
16 */
17 readonly target: string
18 /**
19 * The arch or list of archs.
20 */
21 readonly arch?: Array<"x64" | "ia32" | "armv7l"> | string
22 }
23
24 export function toLinuxArchString(arch: Arch): "armv7l" | "i386" | "amd64"
25
26 export function archFromString(name: string): Arch
27
28 export class Platform {
29 name: string
30 buildConfigurationKey: string
31 nodeName: string
32 static MAC: Platform
33 static LINUX: Platform
34 static WINDOWS: Platform
35 static OSX: Platform
36 constructor(name: string, buildConfigurationKey: string, nodeName: string)
37 toString(): string
38 createTarget(type?: string | Array<string> | null, ...archs: Array<Arch>): Map<Platform, Map<Arch, Array<string>>>
39 static current(): Platform
40 static fromString(name: string): Platform
41 }
42
43 export abstract class Target {
44 readonly name: string
45 readonly isAsyncSupported: boolean
46 readonly abstract outDir: string
47 readonly abstract options: TargetSpecificOptions | null | undefined
48 constructor(name: string, isAsyncSupported?: boolean)
49 abstract build(appOutDir: string, arch: Arch): Promise<any>
50 finishBuild(): Promise<any>
51 }
52
53 export interface TargetSpecificOptions {
54 /**
55 The [artifact file name pattern](https://github.com/electron-userland/electron-builder/wiki/Options#artifact-file-name-pattern).
56 */
57 readonly artifactName?: string | null
58 readonly publish?: Publish
59 }
60 export const DEFAULT_TARGET = "default"
61 export const DIR_TARGET = "dir"
62 export type CompressionLevel = "store" | "normal" | "maximum"
63
64 export interface BeforeBuildContext {
65 readonly appDir: string
66 readonly electronVersion: string
67 readonly platform: Platform
68 readonly arch: string
69 }
70
71 export interface SourceRepositoryInfo {
72 type?: string
73 domain?: string
74 user: string
75 project: string
76 }
77}
78