diff --git a/.yarnrc.yml b/.yarnrc.yml index fdb215c911..410a0f6f98 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -12,3 +12,4 @@ npmPreapprovedPackages: - '@electron/*' - '@electron-forge/*' - 'electron' + - update-electron-app diff --git a/forge.config.ts b/forge.config.ts index 017a6aa7b3..a22b5e96b7 100644 --- a/forge.config.ts +++ b/forge.config.ts @@ -1,6 +1,7 @@ import * as path from 'node:path'; import { FuseV1Options, FuseVersion } from '@electron/fuses'; +import { MakerMSIX } from '@electron-forge/maker-msix'; import { FusesPlugin } from '@electron-forge/plugin-fuses'; import type { ForgeConfig } from '@electron-forge/shared-types'; @@ -136,6 +137,22 @@ const config: ForgeConfig = { : undefined, }), }, + new MakerMSIX({ + manifestVariables: { + // publisher: TODO: I don't know the actual value for the cert', + packageIdentity: 'ElectronCommunity.ElectronFiddle', + appExecutable: 'electron-fiddle.exe', + publisherDisplayName: 'Electron Community', + packageDisplayName: 'Electron Fiddle', + appDisplayName: 'Electron Fiddle', + packageDescription: packageJson.description, + }, + windowsSignOptions: process.env.CERT_FINGERPRINT + ? { + signWithParams: `/sha1 ${process.env.CERT_FINGERPRINT} /tr http://timestamp.digicert.com /td SHA256 /fd SHA256`, + } + : undefined, + }), { name: '@electron-forge/maker-zip', platforms: ['darwin'], diff --git a/package.json b/package.json index 66deda0182..90f5baf67d 100644 --- a/package.json +++ b/package.json @@ -71,11 +71,12 @@ "sfw": "^2.0.4", "shell-env": "^4.0.3", "tmp": "0.2.5", - "update-electron-app": "^3.0.0" + "update-electron-app": "^3.2.0" }, "devDependencies": { "@electron-forge/cli": "8.0.0-alpha.8", "@electron-forge/maker-deb": "8.0.0-alpha.8", + "@electron-forge/maker-msix": "8.0.0-alpha.8", "@electron-forge/maker-rpm": "8.0.0-alpha.8", "@electron-forge/maker-squirrel": "8.0.0-alpha.8", "@electron-forge/maker-zip": "8.0.0-alpha.8", diff --git a/yarn.lock b/yarn.lock index 795f1688a1..5fd7a4fdf1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -488,6 +488,19 @@ __metadata: languageName: node linkType: hard +"@electron-forge/maker-msix@npm:8.0.0-alpha.8": + version: 8.0.0-alpha.8 + resolution: "@electron-forge/maker-msix@npm:8.0.0-alpha.8" + dependencies: + "@electron-forge/core-utils": "npm:8.0.0-alpha.8" + "@electron-forge/maker-base": "npm:8.0.0-alpha.8" + "@electron-forge/shared-types": "npm:8.0.0-alpha.8" + electron-windows-msix: "npm:^2.0.4" + fs-extra: "npm:^10.0.0" + checksum: 10c0/357a780298d7e21825fe201a4f978a15b0b3d56b3a310c90fe99358b20f2ca66f8ac9c83e14cc49c57538743e60bd3353c47cd7f3df366c815c2f6089ceffa07 + languageName: node + linkType: hard + "@electron-forge/maker-rpm@npm:8.0.0-alpha.8": version: 8.0.0-alpha.8 resolution: "@electron-forge/maker-rpm@npm:8.0.0-alpha.8" @@ -893,7 +906,7 @@ __metadata: languageName: node linkType: hard -"@electron/windows-sign@npm:^1.1.2": +"@electron/windows-sign@npm:^1.1.2, @electron/windows-sign@npm:^1.2.2": version: 1.2.2 resolution: "@electron/windows-sign@npm:1.2.2" dependencies: @@ -5517,6 +5530,7 @@ __metadata: "@blueprintjs/select": "npm:^3.15.0" "@electron-forge/cli": "npm:8.0.0-alpha.8" "@electron-forge/maker-deb": "npm:8.0.0-alpha.8" + "@electron-forge/maker-msix": "npm:8.0.0-alpha.8" "@electron-forge/maker-rpm": "npm:8.0.0-alpha.8" "@electron-forge/maker-squirrel": "npm:8.0.0-alpha.8" "@electron-forge/maker-zip": "npm:8.0.0-alpha.8" @@ -5601,7 +5615,7 @@ __metadata: ts-loader: "npm:^9.4.4" tsx: "npm:^4.20.3" typescript: "npm:^5.8.3" - update-electron-app: "npm:^3.0.0" + update-electron-app: "npm:^3.2.0" vitest: "npm:^4.1.0" webpack: "npm:^5.104.1" dependenciesMeta: @@ -5684,6 +5698,20 @@ __metadata: languageName: node linkType: hard +"electron-windows-msix@npm:^2.0.4": + version: 2.0.4 + resolution: "electron-windows-msix@npm:2.0.4" + dependencies: + "@electron/windows-sign": "npm:^1.2.2" + "@malept/cross-spawn-promise": "npm:^2.0.0" + chalk: "npm:^3.0.0" + debug: "npm:^4.4.1" + fs-extra: "npm:^11.2.0" + xml-escape: "npm:^1.1.0" + checksum: 10c0/2fe28f34920534c45ad9e8424ce3c687862f332190df241101c72f87ea438eff7c71f313bc96f5961d2adee62ef06874d61ab8b71d044de4aaed216665f6965c + languageName: node + linkType: hard + "electron-winstaller@npm:^5.3.0": version: 5.3.1 resolution: "electron-winstaller@npm:5.3.1" @@ -6875,6 +6903,17 @@ __metadata: languageName: node linkType: hard +"fs-extra@npm:^11.2.0": + version: 11.3.4 + resolution: "fs-extra@npm:11.3.4" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/e08276f767a62496ae97d711aaa692c6a478177f24a85979b6a2881c9db9c68b8c2ad5da0bcf92c0b2a474cea6e935ec245656441527958fd8372cb647087df0 + languageName: node + linkType: hard + "fs-extra@npm:^7.0.1": version: 7.0.1 resolution: "fs-extra@npm:7.0.1" @@ -8292,7 +8331,7 @@ __metadata: languageName: node linkType: hard -"is-url@npm:^1.1.0, is-url@npm:^1.2.4": +"is-url@npm:^1.1.0": version: 1.2.4 resolution: "is-url@npm:1.2.4" checksum: 10c0/0157a79874f8f95fdd63540e3f38c8583c2ef572661cd0693cda80ae3e42dfe8e9a4a972ec1b827f861d9a9acf75b37f7d58a37f94a8a053259642912c252bc3 @@ -13667,14 +13706,13 @@ __metadata: languageName: node linkType: hard -"update-electron-app@npm:^3.0.0": - version: 3.0.0 - resolution: "update-electron-app@npm:3.0.0" +"update-electron-app@npm:^3.2.0": + version: 3.2.0 + resolution: "update-electron-app@npm:3.2.0" dependencies: github-url-to-object: "npm:^4.0.4" - is-url: "npm:^1.2.4" ms: "npm:^2.1.1" - checksum: 10c0/5e0b9ce8fd2cbcf6ea64d8029f90d90394facf05d86c8dceda5dba79af6e21522ef4f37f212982be781f488d497882529d9b11b91174159f6567a24039c76e6a + checksum: 10c0/b8e29d384d5ae5c65705879863afe662fb5853c4350ebd8f7dab1a0c1db6413096b43d9b27a1f6215ce93d8424a8945be0b6b527f9e51cdf5201ff2b33541f90 languageName: node linkType: hard @@ -14386,6 +14424,13 @@ __metadata: languageName: node linkType: hard +"xml-escape@npm:^1.1.0": + version: 1.1.0 + resolution: "xml-escape@npm:1.1.0" + checksum: 10c0/973cef0e383c373d1ccbacbba33ac49e7f2afd60d2710ed1308e153d2aa3b3189477f79315eb10eed43b7221add040a5eab18107170b658559e4d29ce7653a76 + languageName: node + linkType: hard + "xml-name-validator@npm:^5.0.0": version: 5.0.0 resolution: "xml-name-validator@npm:5.0.0"