Skip to content

Commit

Permalink
Merge branch 'electron-userland:master' into asarUnpackPattern
Browse files Browse the repository at this point in the history
  • Loading branch information
beyondkmp authored Jan 9, 2025
2 parents 2f8401e + c4f5497 commit 24ce832
Show file tree
Hide file tree
Showing 77 changed files with 2,823 additions and 2,683 deletions.
5 changes: 5 additions & 0 deletions .changeset/brown-pears-beg.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"app-builder-lib": minor
---

feat: support completely custom AppxManifest.xml
5 changes: 5 additions & 0 deletions .changeset/cuddly-colts-laugh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"app-builder-lib": patch
---

fix: update @electron/asar to 3.2.18 to resolve signing issue with framework symlinks
4 changes: 4 additions & 0 deletions .changeset/dry-gifts-joke.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
---

fix(docs): downgrade typedoc-plugin-markdown to fix docs site generation
5 changes: 5 additions & 0 deletions .changeset/early-deers-suffer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"app-builder-lib": minor
---

feat: allow disabling of building a universal windows installer
7 changes: 7 additions & 0 deletions .changeset/four-gorillas-nail.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"builder-util": minor
"builder-util-runtime": minor
"electron-publish": minor
---

Add `forcePathStyle` option to S3Options
8 changes: 8 additions & 0 deletions .changeset/kind-poems-joke.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"app-builder-lib": minor
"builder-util-runtime": minor
"electron-publish": minor
"electron-updater": minor
---

Add `host` property to support self-hosted Keygen instances
5 changes: 5 additions & 0 deletions .changeset/lovely-cougars-listen.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"app-builder-lib": patch
---

chore: remove stale handler for `extend-info` in electronMac plist creation
5 changes: 5 additions & 0 deletions .changeset/ninety-cooks-listen.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---

---

chore(deps): lock file maintenance
5 changes: 5 additions & 0 deletions .changeset/odd-trees-battle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"electron-updater": patch
---

fix: respect `disableDifferentialDownload` flag for AppImage
13 changes: 13 additions & 0 deletions .changeset/pre.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,30 +17,43 @@
"@electron-builder/test": "0.0.0"
},
"changesets": [
"brave-snakes-unite",
"dull-eyes-check",
"early-penguins-share",
"fair-penguins-build",
"fluffy-wolves-smile",
"four-gorillas-nail",
"fresh-camels-smash",
"gold-parents-complain",
"khaki-schools-provide",
"kind-poems-joke",
"lovely-cougars-listen",
"lucky-berries-kneel",
"lucky-tigers-do",
"many-shoes-look",
"mighty-forks-pump",
"nasty-mangos-yawn",
"neat-buses-beg",
"new-zoos-repair",
"ninety-candles-laugh",
"ninety-cooks-listen",
"quiet-suns-admire",
"real-cougars-watch",
"serious-news-own",
"shy-pumas-attack",
"six-tips-play",
"sixty-dogs-deliver",
"slimy-chairs-buy",
"slow-zoos-mate",
"small-peas-drop",
"small-windows-leave",
"smooth-camels-decide",
"sour-points-refuse",
"stupid-buses-compete",
"stupid-ducks-join",
"sweet-masks-sparkle",
"tame-buckets-drum",
"thirty-colts-march",
"tiny-cobras-walk",
"tricky-files-speak",
"two-rice-wash",
Expand Down
5 changes: 5 additions & 0 deletions .changeset/quiet-suns-admire.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"electron-builder": patch
---

fix(deps): update dependency eslint to v9.16.0 [security]
5 changes: 5 additions & 0 deletions .changeset/shy-pumas-attack.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"app-builder-lib": patch
---

chore: Rename `vmRequired` variable to `useVmIfNotOnWin`
5 changes: 5 additions & 0 deletions .changeset/six-tips-play.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"app-builder-lib": patch
---

chore: Remove informal Russian messages in the NSIS installer
5 changes: 5 additions & 0 deletions .changeset/small-windows-leave.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"app-builder-lib": patch
---

fix: does not work with NPM workspaces
5 changes: 5 additions & 0 deletions .changeset/thirty-jars-hunt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"app-builder-lib": patch
---

fix: typo in urls in tsdoc
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
github: [mmaietta]
custom: https://www.electron.build/donate
2 changes: 1 addition & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@
}
}
]
}
}
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,30 @@
# [](https://github.com/electron-userland/electron-builder/compare/v26.0.0-alpha.7...v) (2024-12-16)


### Bug Fixes

* install all dependencies to fix building within NPM workspaces ([#8715](https://github.com/electron-userland/electron-builder/issues/8715)) ([4c394d5](https://github.com/electron-userland/electron-builder/commit/4c394d54689f03bbca54a083c7e126d9c83e6ed7))


### Features

* **keygen:** Add `host` property to support self-hosted Keygen instances ([#8711](https://github.com/electron-userland/electron-builder/issues/8711)) ([6f0fb8e](https://github.com/electron-userland/electron-builder/commit/6f0fb8e44f035bcd6ff0d6f234b38c20fde066af))
* **publish:** add `forcePathStyle` option to `S3Options` ([#8741](https://github.com/electron-userland/electron-builder/issues/8741)) ([eacbbf5](https://github.com/electron-userland/electron-builder/commit/eacbbf593f6ea01a92ffb41d8d28ee5e4e480ea1))



# [](https://github.com/electron-userland/electron-builder/compare/v26.0.0-alpha.6...v) (2024-12-03)


### Bug Fixes

* **deps:** update dependency cross-spawn to v7.0.5 [security] ([#8693](https://github.com/electron-userland/electron-builder/issues/8693)) ([6a6bed4](https://github.com/electron-userland/electron-builder/commit/6a6bed46c428b45105ada071a9cb89b5d4f93d9e))
* **deps:** update dependency eslint to v9.16.0 [security] ([#8717](https://github.com/electron-userland/electron-builder/issues/8717)) ([9381513](https://github.com/electron-userland/electron-builder/commit/9381513df8c2888ebcd999283991bed64b7058e0))
* smart unpack for local module with dll ([#8645](https://github.com/electron-userland/electron-builder/issues/8645)) ([f4d40f9](https://github.com/electron-userland/electron-builder/commit/f4d40f91f1511fc55cbef7c9e7edfddaf6ab67bc))
* **win:** corrupt `.exe` asar integrity file path from cross-platform build ([#8689](https://github.com/electron-userland/electron-builder/issues/8689)) ([1d7f87c](https://github.com/electron-userland/electron-builder/commit/1d7f87c1028fa94c9bb80c167bb1fb87cbc84817))



# [](https://github.com/electron-userland/electron-builder/compare/v26.0.0-alpha.5...v) (2024-11-07)


Expand Down
5 changes: 4 additions & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,10 @@ nav:
- Build Hooks: hooks.md
- Icons: icons.md
- Auto Update: auto-update.md
- Code Signing: code-signing.md
- Code Signing:
- Setup: code-signing-root.md
- Windows: code-signing-win.md
- MacOS: code-signing-mac.md
- Multi Platform Build: multi-platform-build.md

- Tutorials:
Expand Down
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,18 +52,18 @@
"@changesets/cli": "2.25.0",
"@stylistic/eslint-plugin": "^2.8.0",
"@types/node": "^22.7.4",
"@typescript-eslint/eslint-plugin": "^8.7.0",
"@typescript-eslint/parser": "^8.7.0",
"@typescript-eslint/eslint-plugin": "8.17.0",
"@typescript-eslint/parser": "8.17.0",
"conventional-changelog-cli": "5.0.0",
"eslint": "^9.0.0",
"eslint": "9.16.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-prettier": "^5.2.1",
"fs-extra": "10.1.0",
"husky": "7.0.4",
"lint-staged": "15.2.10",
"prettier": "3.3.3",
"typedoc": "^0.26.7",
"typedoc-plugin-markdown": "^4.2.8",
"typedoc-plugin-markdown": "4.2.8",
"typescript": "^5.6.2",
"typescript-json-schema": "0.64.0"
},
Expand Down
41 changes: 41 additions & 0 deletions packages/app-builder-lib/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,46 @@
# app-builder-lib

## 26.0.0-alpha.8

### Minor Changes

- [#8711](https://github.com/electron-userland/electron-builder/pull/8711) [`6f0fb8e4`](https://github.com/electron-userland/electron-builder/commit/6f0fb8e44f035bcd6ff0d6f234b38c20fde066af) Thanks [@hrueger](https://github.com/hrueger)! - Add `host` property to support self-hosted Keygen instances

### Patch Changes

- [#8661](https://github.com/electron-userland/electron-builder/pull/8661) [`6a294c97`](https://github.com/electron-userland/electron-builder/commit/6a294c9725f30cf1b6151363a32b9d1395b0122e) Thanks [@t3chguy](https://github.com/t3chguy)! - chore: remove stale handler for `extend-info` in electronMac plist creation

- [#8727](https://github.com/electron-userland/electron-builder/pull/8727) [`7268c2ee`](https://github.com/electron-userland/electron-builder/commit/7268c2eea3f4a5b5d4f88283585797ce5c41de1c) Thanks [@NoahAndrews](https://github.com/NoahAndrews)! - chore: Rename `vmRequired` variable to `useVmIfNotOnWin`

- [#8714](https://github.com/electron-userland/electron-builder/pull/8714) [`66334502`](https://github.com/electron-userland/electron-builder/commit/66334502a50d1decb15eb3ac3bdcd197b3721036) Thanks [@kttmv](https://github.com/kttmv)! - chore: Remove informal Russian messages in the NSIS installer

- [#8715](https://github.com/electron-userland/electron-builder/pull/8715) [`4c394d54`](https://github.com/electron-userland/electron-builder/commit/4c394d54689f03bbca54a083c7e126d9c83e6ed7) Thanks [@beyondkmp](https://github.com/beyondkmp)! - fix: does not work with NPM workspaces

- Updated dependencies [[`eacbbf59`](https://github.com/electron-userland/electron-builder/commit/eacbbf593f6ea01a92ffb41d8d28ee5e4e480ea1), [`6f0fb8e4`](https://github.com/electron-userland/electron-builder/commit/6f0fb8e44f035bcd6ff0d6f234b38c20fde066af)]:
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]

## 26.0.0-alpha.7

### Patch Changes

- [#8645](https://github.com/electron-userland/electron-builder/pull/8645) [`f4d40f91`](https://github.com/electron-userland/electron-builder/commit/f4d40f91f1511fc55cbef7c9e7edfddaf6ab67bc) Thanks [@beyondkmp](https://github.com/beyondkmp)! - fix: smart unpack for local module with dll

- [#8691](https://github.com/electron-userland/electron-builder/pull/8691) [`5a9141f6`](https://github.com/electron-userland/electron-builder/commit/5a9141f60ac6d51a4b839b73271274bef5c6ca70) Thanks [@mmaietta](https://github.com/mmaietta)! - chore(mac): add back logging of identity name and hash as opposed to just hash

- [#8637](https://github.com/electron-userland/electron-builder/pull/8637) [`667ab2f8`](https://github.com/electron-userland/electron-builder/commit/667ab2f8d5d635b5ab03cd5de06561403135a7f6) Thanks [@mmaietta](https://github.com/mmaietta)! - chore: migrate default recommends and default depends for fpm from app-builder-bin to JS code

- [#8689](https://github.com/electron-userland/electron-builder/pull/8689) [`1d7f87c1`](https://github.com/electron-userland/electron-builder/commit/1d7f87c1028fa94c9bb80c167bb1fb87cbc84817) Thanks [@Lemonexe](https://github.com/Lemonexe)! - fix(win): corrupt asar integrity file path on crossplatform build

- Updated dependencies [[`f4d40f91`](https://github.com/electron-userland/electron-builder/commit/f4d40f91f1511fc55cbef7c9e7edfddaf6ab67bc), [`6a6bed46`](https://github.com/electron-userland/electron-builder/commit/6a6bed46c428b45105ada071a9cb89b5d4f93d9e)]:
- [email protected]
- [email protected]
- [email protected]
- [email protected]

## 26.0.0-alpha.6

### Minor Changes
Expand Down
4 changes: 2 additions & 2 deletions packages/app-builder-lib/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "app-builder-lib",
"description": "electron-builder lib",
"version": "26.0.0-alpha.6",
"version": "26.0.0-alpha.8",
"main": "out/index.js",
"files": [
"out",
Expand Down Expand Up @@ -48,7 +48,7 @@
"dependencies": {
"@develar/schema-utils": "~2.6.5",
"@electron/fuses": "^1.8.0",
"@electron/asar": "3.2.17",
"@electron/asar": "3.2.18",
"@electron/notarize": "2.5.0",
"@electron/osx-sign": "1.3.1",
"@electron/rebuild": "3.7.0",
Expand Down
30 changes: 28 additions & 2 deletions packages/app-builder-lib/scheme.json
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,10 @@
"description": "Relative path to custom extensions xml to be included in an `appmanifest.xml`.",
"type": "string"
},
"customManifestPath": {
"description": "(Advanced Option) Relative path to custom `appmanifest.xml` (file name doesn't matter, it'll be renamed) located in build resources directory.\nSupports the following template macros:\n\n- ${publisher}\n- ${publisherDisplayName}\n- ${version}\n- ${applicationId}\n- ${identityName}\n- ${executable}\n- ${displayName}\n- ${description}\n- ${backgroundColor}\n- ${logo}\n- ${square150x150Logo}\n- ${square44x44Logo}\n- ${lockScreen}\n- ${defaultTile}\n- ${splashScreen}\n- ${arch}\n- ${resourceLanguages}\n- ${extensions}\n- ${minVersion}\n- ${maxVersionTested}",
"type": "string"
},
"displayName": {
"description": "A friendly name that can be displayed to users. Corresponds to [Properties.DisplayName](https://msdn.microsoft.com/en-us/library/windows/apps/br211432.aspx).\nDefaults to the application product name.",
"type": [
Expand Down Expand Up @@ -1021,7 +1025,7 @@
},
"FileAssociation": {
"additionalProperties": false,
"description": "File associations.\n\nmacOS (corresponds to [CFBundleDocumentTypes](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-101685)), NSIS, and MSI only.\n\nOn Windows (NSIS) works only if [nsis.perMachine](https://electron.build./configuration.md#NsisOptions-perMachine) is set to `true`.",
"description": "File associations.\n\nmacOS (corresponds to [CFBundleDocumentTypes](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-101685)), NSIS, and MSI only.\n\nOn Windows (NSIS) works only if [nsis.perMachine](https://www.electron.build/nsis) is set to `true`.",
"properties": {
"description": {
"description": "*windows-only.* The description.",
Expand Down Expand Up @@ -1578,6 +1582,11 @@
"default": "stable",
"description": "The channel."
},
"host": {
"default": "api.keygen.sh",
"description": "Keygen host for self-hosted instances",
"type": "string"
},
"platform": {
"description": "The target Platform. Is set programmatically explicitly during publishing.",
"type": [
Expand Down Expand Up @@ -3891,6 +3900,11 @@
"string"
]
},
"buildUniversalInstaller": {
"default": true,
"description": "Disable building an universal installer of the archs specified in the target configuration\n*Not supported for nsis-web*",
"type": "boolean"
},
"createDesktopShortcut": {
"default": true,
"description": "Whether to create desktop shortcut. Set to `always` if to recreate also on reinstall (even if removed by user).",
Expand Down Expand Up @@ -4191,6 +4205,11 @@
"string"
]
},
"buildUniversalInstaller": {
"default": true,
"description": "Disable building an universal installer of the archs specified in the target configuration\n*Not supported for nsis-web*",
"type": "boolean"
},
"createDesktopShortcut": {
"default": true,
"description": "Whether to create desktop shortcut. Set to `always` if to recreate also on reinstall (even if removed by user).",
Expand Down Expand Up @@ -4615,6 +4634,9 @@
"content-security-policy-report-only": {
"type": "string"
},
"content-type": {
"type": "string"
},
"cookie": {
"anyOf": [
{
Expand Down Expand Up @@ -4705,7 +4727,7 @@
"origin": {
"type": "string"
},
"prgama": {
"pragma": {
"anyOf": [
{
"items": {
Expand Down Expand Up @@ -5382,6 +5404,10 @@
"string"
]
},
"forcePathStyle": {
"description": "When true, force a path-style endpoint to be used where the bucket name is part of the path.\n[Path-style Access](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#path-style-access)",
"type": "boolean"
},
"path": {
"default": "/",
"description": "The directory path.",
Expand Down
2 changes: 1 addition & 1 deletion packages/app-builder-lib/src/asar/asarUtil.ts
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ export class AsarPackager {
links.push({ file: destination, link })
}

for await (const fileSet of fileSets) {
for (const fileSet of fileSets) {
if (this.config.options.smartUnpack !== false) {
detectUnpackedDirs(fileSet, unpackedPaths)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -438,11 +438,11 @@ export class WindowsSignToolManager implements SignManager {
let args: Array<string>
let env = process.env
let vm: VmManager
const vmRequired = configuration.path.endsWith(".appx") || !("file" in configuration.cscInfo!) /* certificateSubjectName and other such options */
const isWin = process.platform === "win32" || vmRequired
const useVmIfNotOnWin = configuration.path.endsWith(".appx") || !("file" in configuration.cscInfo!) /* certificateSubjectName and other such options */
const isWin = process.platform === "win32" || useVmIfNotOnWin
const toolInfo = await this.getToolPath(isWin)
const tool = toolInfo.path
if (vmRequired) {
if (useVmIfNotOnWin) {
vm = await packager.vm.value
args = this.computeSignToolArgs(configuration, isWin, vm)
} else {
Expand Down
5 changes: 0 additions & 5 deletions packages/app-builder-lib/src/electron/electronMac.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,6 @@ export async function createMacApp(packager: MacPackager, appOutDir: string, asa
const helperGPUPlist = plistContent[6]
const helperLoginPlist = plistContent[7]

// if an extend-info file was supplied, copy its contents in first
if (plistContent[8] != null) {
Object.assign(appPlist, plistContent[8])
}

const buildMetadata = packager.config

/**
Expand Down
Loading

0 comments on commit 24ce832

Please sign in to comment.