From c724b3fece2027798daaf4f6530d696d60215ede Mon Sep 17 00:00:00 2001 From: LongYinan Date: Tue, 27 Feb 2024 14:41:39 +0000 Subject: [PATCH] build(electron): fix dmg maker (#5922) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## **Type** enhancement ___ ## **Description** - Introduced a custom DMG packaging solution `@affine/appdmg-patch` for Electron applications. - Implemented a new TypeScript class `MakerDmg` to handle the custom packaging logic, including support for custom backgrounds, icons, and app positioning within the DMG. - Updated Electron Forge configuration to use the new `@affine/appdmg-patch` package instead of `@electron-forge/maker-dmg`. - Adjusted package dependencies in `packages/frontend/electron/package.json`, adding `@affine/appdmg-patch` and removing `@electron-forge/maker-dmg`. ___ ## **Changes walkthrough**
Relevant files
Enhancement
index.ts
Implement Custom DMG Packaging Logic                                         

tools/appdmg-patch/index.ts
  • Introduced a new class MakerDmg extending MakerBase with support for
    custom DMG packaging.
  • Implemented custom DMG packaging logic including background, icon, and
    app positioning.
  • Added support for custom contents configuration to define the DMG
    layout.
  • +80/-0   
    Configuration changes
    forge.config.mjs
    Update Electron Forge Configuration for Custom DMG Packaging

    packages/frontend/electron/forge.config.mjs
  • Replaced @electron-forge/maker-dmg with @affine/appdmg-patch in the
    makers configuration.
  • Adjusted DMG icon size and background configuration.
  • +2/-3     
    package.json
    Introduce Package Configuration for Custom DMG Packaging 

    tools/appdmg-patch/package.json
  • Created a new package @affine/appdmg-patch with necessary dependencies
    for custom DMG packaging.
  • +16/-0   
    Dependencies
    package.json
    Update Package Dependencies for Electron Frontend               

    packages/frontend/electron/package.json
  • Added @affine/appdmg-patch to devDependencies.
  • Removed @electron-forge/maker-dmg from devDependencies.
  • +1/-1     
    ___ > ✨ **PR-Agent usage**: >Comment `/help` on the PR to get a list of all available PR-Agent tools and their descriptions --- package.json | 2 +- yarn.lock | 18 +++++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 4174ff903d..c5fec547f8 100644 --- a/package.json +++ b/package.json @@ -170,7 +170,7 @@ "which-typed-array": "npm:@nolyfill/which-typed-array@latest", "next-auth@^4.24.5": "patch:next-auth@npm%3A4.24.5#~/.yarn/patches/next-auth-npm-4.24.5-8428e11927.patch", "@reforged/maker-appimage/@electron-forge/maker-base": "7.3.0", - "macos-alias": "npm:macos-alias-building@latest", + "macos-alias": "npm:@napi-rs/macos-alias@latest", "fs-xattr": "npm:@napi-rs/xattr@latest", "@radix-ui/react-dialog": "npm:@radix-ui/react-dialog@latest" } diff --git a/yarn.lock b/yarn.lock index fb14611972..65178ffb1d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7507,6 +7507,13 @@ __metadata: languageName: node linkType: hard +"@napi-rs/macos-alias-darwin-universal@npm:0.0.3": + version: 0.0.3 + resolution: "@napi-rs/macos-alias-darwin-universal@npm:0.0.3" + conditions: os=darwin + languageName: node + linkType: hard + "@napi-rs/simple-git-android-arm-eabi@npm:0.1.16": version: 0.1.16 resolution: "@napi-rs/simple-git-android-arm-eabi@npm:0.1.16" @@ -25994,9 +26001,14 @@ __metadata: languageName: node linkType: hard -"macos-alias@npm:macos-alias-building@latest": - version: 0.2.14 - resolution: "macos-alias-building@npm:0.2.14" +"macos-alias@npm:@napi-rs/macos-alias@latest": + version: 0.0.3 + resolution: "@napi-rs/macos-alias@npm:0.0.3" + dependencies: + "@napi-rs/macos-alias-darwin-universal": "npm:0.0.3" + dependenciesMeta: + "@napi-rs/macos-alias-darwin-universal": + optional: true conditions: os=darwin languageName: node linkType: hard