update electron to v43

This commit is contained in:
olcxja 2026-07-09 22:38:33 +02:00
commit fb6c8b6ee9
5385 changed files with 513060 additions and 123058 deletions

View file

@ -1,7 +1,6 @@
/// <reference types="node" />
import { OutgoingHttpHeaders } from "http";
export declare type PublishProvider = "github" | "s3" | "spaces" | "generic" | "custom" | "snapStore" | "keygen" | "bitbucket";
export declare type AllPublishOptions = string | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | CustomPublishOptions | KeygenOptions | SnapStoreOptions | BitbucketOptions;
export type PublishProvider = "github" | "gitlab" | "s3" | "spaces" | "generic" | "custom" | "snapStore" | "keygen" | "bitbucket";
export type AllPublishOptions = string | GithubOptions | GitlabOptions | S3Options | SpacesOptions | GenericServerOptions | CustomPublishOptions | KeygenOptions | SnapStoreOptions | BitbucketOptions;
export interface PublishConfiguration {
/**
* The provider.
@ -33,7 +32,7 @@ export interface PublishConfiguration {
/**
* Request timeout in milliseconds. (Default is 2 minutes; O is ignored)
*
* @default 60000
* @default 120000
*/
readonly timeout?: number | null;
}
@ -71,8 +70,15 @@ export interface GithubOptions extends PublishConfiguration {
/**
* Whether to use `v`-prefixed tag name.
* @default true
* @deprecated please use #tagNamePrefix instead.
*/
readonly vPrefixedTagName?: boolean;
/**
* If defined, sets the prefix of the tag name that comes before the semver number.
* e.g. "v" in "v1.2.3" or "test" of "test1.2.3".
* Overrides `vPrefixedTagName`
*/
readonly tagNamePrefix?: string;
/**
* The host (including the port if need).
* @default github.com
@ -84,11 +90,11 @@ export interface GithubOptions extends PublishConfiguration {
*/
readonly protocol?: "https" | "http" | null;
/**
* The access token to support auto-update from private github repositories. Never specify it in the configuration files. Only for [setFeedURL](/auto-update#appupdatersetfeedurloptions).
* The access token to support auto-update from private github repositories. Never specify it in the configuration files. Only for [setFeedURL](https://www.electron.build/auto-update#appupdatersetfeedurloptions).
*/
readonly token?: string | null;
/**
* Whether to use private github auto-update provider if `GH_TOKEN` environment variable is defined. See [Private GitHub Update Repo](/auto-update#private-github-update-repo).
* Whether to use private github auto-update provider if `GH_TOKEN` environment variable is defined. See [Private GitHub Update Repo](https://www.electron.build/auto-update#private-github-update-repo).
*/
readonly private?: boolean | null;
/**
@ -106,9 +112,50 @@ export interface GithubOptions extends PublishConfiguration {
}
/** @private */
export declare function githubUrl(options: GithubOptions, defaultHost?: string): string;
export declare function githubTagPrefix(options: GithubOptions): string;
/**
* [GitLab](https://docs.gitlab.com/ee/user/project/releases/) options.
*
* GitLab [personal access token](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html) is required for private repositories. You can generate one by going to your GitLab profile settings.
* Define `GITLAB_TOKEN` environment variable.
*/
export interface GitlabOptions extends PublishConfiguration {
/**
* The provider. Must be `gitlab`.
*/
readonly provider: "gitlab";
/**
* The GitLab project ID or path (e.g., "12345678" or "namespace/project").
*/
readonly projectId?: string | number | null;
/**
* The GitLab host (including the port if need).
* @default gitlab.com
*/
readonly host?: string | null;
/**
* The access token to support auto-update from private GitLab repositories. Never specify it in the configuration files.
*/
readonly token?: string | null;
/**
* Whether to use `v`-prefixed tag name.
* @default true
*/
readonly vPrefixedTagName?: boolean;
/**
* The channel.
* @default latest
*/
readonly channel?: string | null;
/**
* Upload target method. Can be "project_upload" for GitLab project uploads or "generic_package" for GitLab generic packages.
* @default "project_upload"
*/
readonly uploadTarget?: "project_upload" | "generic_package" | null;
}
/**
* Generic (any HTTP(S) server) options.
* In all publish options [File Macros](/file-patterns#file-macros) are supported.
* In all publish options [File Macros](https://www.electron.build/file-patterns#file-macros) are supported.
*/
export interface GenericServerOptions extends PublishConfiguration {
/**
@ -139,6 +186,11 @@ export interface KeygenOptions extends PublishConfiguration {
* The provider. Must be `keygen`.
*/
readonly provider: "keygen";
/**
* Keygen host for self-hosted instances
* @default "api.keygen.sh"
*/
readonly host?: string;
/**
* Keygen account's UUID
*/
@ -164,8 +216,8 @@ export interface KeygenOptions extends PublishConfiguration {
*
* For converting an app password to a usable token, you can utilize this
```typescript
convertAppPassword(owner: string, token: string) {
const base64encodedData = Buffer.from(`${owner}:${token.trim()}`).toString("base64")
convertAppPassword(owner: string, appPassword: string) {
const base64encodedData = Buffer.from(`${owner}:${appPassword.trim()}`).toString("base64")
return `Basic ${base64encodedData}`
}
```
@ -180,7 +232,7 @@ export interface BitbucketOptions extends PublishConfiguration {
*/
readonly owner: string;
/**
* The access token to support auto-update from private bitbucket repositories.
* The [app password](https://bitbucket.org/account/settings/app-passwords) to support auto-update from private bitbucket repositories.
*/
readonly token?: string | null;
/**
@ -198,7 +250,7 @@ export interface BitbucketOptions extends PublishConfiguration {
readonly channel?: string | null;
}
/**
* [Snap Store](https://snapcraft.io/) options.
* [Snap Store](https://snapcraft.io/) options. To publish directly to Snapcraft, see <a href="https://snapcraft.io/docs/snapcraft-authentication">Snapcraft authentication options</a> for local or CI/CD authentication options.
*/
export interface SnapStoreOptions extends PublishConfiguration {
/**
@ -236,8 +288,9 @@ export interface BaseS3Options extends PublishConfiguration {
/**
* [Amazon S3](https://aws.amazon.com/s3/) options.
* AWS credentials are required, please see [getting your credentials](http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/getting-your-credentials.html).
* Define `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` [environment variables](http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-environment.html).
* Or in the [~/.aws/credentials](http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-shared.html).
* To set credentials define `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` [environment variables](http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-environment.html) directly,
* or use [~/.aws/credentials](http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-shared.html) file,
* or use [~/.aws/config](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html) file. For the last method to work you will also need to define `AWS_SDK_LOAD_CONFIG=1` environment variable.
*
* Example configuration:
*
@ -287,6 +340,17 @@ export interface S3Options extends BaseS3Options {
* The endpoint should be a string like `https://{service}.{region}.amazonaws.com`.
*/
readonly endpoint?: string | null;
/**
* If set to true, this will enable the s3 accelerated endpoint
* These endpoints have a particular format of:
* ${bucketname}.s3-accelerate.amazonaws.com
*/
readonly accelerate?: boolean;
/**
* When true, force a path-style endpoint to be used where the bucket name is part of the path.
* [Path-style Access](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#path-style-access)
*/
readonly forcePathStyle?: boolean;
}
/**
* [DigitalOcean Spaces](https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-spaces) options.
@ -306,4 +370,27 @@ export interface SpacesOptions extends BaseS3Options {
*/
readonly region: string;
}
export interface GitlabReleaseInfo {
name: string;
tag_name: string;
description: string;
created_at: string;
released_at: string;
upcoming_release: boolean;
assets: GitlabReleaseAsset;
}
export interface GitlabReleaseAsset {
count: number;
sources: Array<{
format: string;
url: string;
}>;
links: Array<{
id: number;
name: string;
url: string;
direct_asset_url: string;
link_type: string;
}>;
}
export declare function getS3LikeProviderBaseUrl(configuration: PublishConfiguration): string;