Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MakerDMG config requiring appPath even thought it is never used in typescript project #3712

Open
3 tasks done
eXhumer opened this issue Sep 21, 2024 · 2 comments
Open
3 tasks done

Comments

@eXhumer
Copy link

eXhumer commented Sep 21, 2024

Pre-flight checklist

  • I have read the contribution documentation for this project.
  • I agree to follow the code of conduct that this project uses.
  • I have searched the issue tracker for a bug that matches the one I want to file, without success.

Electron Forge version

7.5.0

Electron version

v32.1.1

Operating system

macOS 15.1 Beta (24B5046f)

Last known working Electron Forge version

7.4.0

Expected behavior

Being able to create a DMG installer without having to specify a fake appPath in config needing to satisfy type check.

Actual behavior

Additional config property appPath being needed to add to the config to satisfy type check. This appPath is never used for anything other than to satisfy the type check as appPath is always overridden in the make method.

appPath: path.resolve(dir, `${appName}.app`),

Steps to reproduce

  1. Add @electron-forge/[email protected] to package.json in a typescript forge project.
  2. Add MakerDMG to forge.config.ts with empty config object, typescript will complain about appPath not being present.

Additional information

875ee54 upgraded electron-installer-dmg from 4.0.0 to 5.0.1.

MakerDMGConfig was modified to extend ElectronInstallerDMGOptions from electron-installer-dmg, which requires appPath by default to be included in the config.

@hichemfantar
Copy link

same issue here and it's not documented https://js.electronforge.io/interfaces/_electron_forge_maker_dmg.MakerDMGConfig.html

@MarshallOfSound do you think you can take a look at this? because i'm trying to modify the installer icon but i'm being forced to specify an app path

@nikwen
Copy link

nikwen commented Nov 27, 2024

Seeing this, too.

Workaround:

    // @ts-expect-error - https://github.com/electron/forge/issues/3712
    new MakerDMG({
      icon: "./my/path",
    }),

This can probably be fixed by applying the same logic that was applied to the name attribute here:

export type MakerDMGConfig = Omit<ElectronInstallerDMGOptions, 'name'> & { name?: string };

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants