From 445e273b4a7584ce1efc61532cb32cd0e99dd61e Mon Sep 17 00:00:00 2001 From: Mike Maietta Date: Thu, 1 Sep 2022 19:51:47 -0700 Subject: [PATCH 1/3] feat: Allow the AppUpdater to be forced into dev mode, allowing it to be activated when the app is not packaged --- packages/electron-updater/src/AppUpdater.ts | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/electron-updater/src/AppUpdater.ts b/packages/electron-updater/src/AppUpdater.ts index cf65eb0717..93606c1f8c 100644 --- a/packages/electron-updater/src/AppUpdater.ts +++ b/packages/electron-updater/src/AppUpdater.ts @@ -83,9 +83,17 @@ export abstract class AppUpdater extends (EventEmitter as new () => TypedEmitter * * @default false */ - disableWebInstaller = false + /** + * Allows developer to force the updater to work in "dev" mode, looking for "dev-app-update.yml" instead of "app-update.yml" + * Dev: `path.join(this.app.getAppPath(), "dev-app-update.yml")` + * Prod: `path.join(process.resourcesPath!, "app-update.yml")` + * + * @default false + */ + forceDevUpdateConfig = false + /** * The current application version. */ @@ -279,8 +287,9 @@ export abstract class AppUpdater extends (EventEmitter as new () => TypedEmitter } public isUpdaterActive(): boolean { - if (!this.app.isPackaged) { - this._logger.info("Skip checkForUpdatesAndNotify because application is not packed") + const isEnabled = this.app.isPackaged || this.forceDevUpdateConfig + if (!isEnabled) { + this._logger.info("Skip checkForUpdates because application is not packed and dev update config is not forced") return false } return true From 9b4f0563a40f38dad4db9fd439faafdd9687eb68 Mon Sep 17 00:00:00 2001 From: Mike Maietta Date: Thu, 1 Sep 2022 19:53:24 -0700 Subject: [PATCH 2/3] add docs --- docs/api/electron-builder.md | 3 +++ packages/electron-updater/src/AppUpdater.ts | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/api/electron-builder.md b/docs/api/electron-builder.md index 59bed7bc81..3f69764cb2 100644 --- a/docs/api/electron-builder.md +++ b/docs/api/electron-builder.md @@ -1600,6 +1600,9 @@ return path.join(target.outDir, __${target.name}-${getArtifactArchName(arc

Currently false to prevent breaking the current API, but it should be changed to default true at some point that breaking changes are allowed.

  • +

    forceDevUpdateConfig = false Boolean - Allows developer to force the updater to work in “dev” mode, looking for “dev-app-update.yml” instead of “app-update.yml” Dev: path.join(this.app.getAppPath(), "dev-app-update.yml") Prod: path.join(process.resourcesPath!, "app-update.yml")

    +
  • +
  • currentVersion SemVer - The current application version.

  • diff --git a/packages/electron-updater/src/AppUpdater.ts b/packages/electron-updater/src/AppUpdater.ts index 93606c1f8c..a3afa1299a 100644 --- a/packages/electron-updater/src/AppUpdater.ts +++ b/packages/electron-updater/src/AppUpdater.ts @@ -92,7 +92,7 @@ export abstract class AppUpdater extends (EventEmitter as new () => TypedEmitter * * @default false */ - forceDevUpdateConfig = false + forceDevUpdateConfig = false /** * The current application version. From b2a72ea24ff1ef2d9ab9b6e7f2893088d652798f Mon Sep 17 00:00:00 2001 From: Mike Maietta Date: Fri, 2 Sep 2022 10:56:35 -0700 Subject: [PATCH 3/3] Create wild-crews-eat.md --- .changeset/wild-crews-eat.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/wild-crews-eat.md diff --git a/.changeset/wild-crews-eat.md b/.changeset/wild-crews-eat.md new file mode 100644 index 0000000000..b0a4ba2aad --- /dev/null +++ b/.changeset/wild-crews-eat.md @@ -0,0 +1,5 @@ +--- +"electron-updater": patch +--- + +feat: allow dev update config to be forced for testing auto-updater flow