electron / electron/forge

Feature Request: Support a minimumSystemVersion property in forge.config.js

Open
#3,338 0 comments 2 reactions 0 assignees View on GitHub
config platform/macOS
Dominant language
TypeScript
Stars
7.1k
Forks
641
Avg merge
3d 1h
Merged PRs (30d)
30

Description

### Pre-flight checklist

- [X] I have read the [contribution documentation](https://github.com/electron/forge/blob/main/CONTRIBUTING.md) for this project.
- [X] I agree to follow the [code of conduct](https://github.com/electron/electron/blob/main/CODE_OF_CONDUCT.md) that this project uses.
- [X] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

### Problem description

In other electron build systems it's possible to specify the minimum system version in their OSX-specific properties. This value is then typically inserted into the `Info.plist` file that is supplied within Mac apps, and is sometimes (depending on the version of OSX) enforced at the system level when the user launches the application. Putting such a property in a config file could in theory also allow developers to gain access to the property at runtime to enforce the minimum system version at that level as well. This is very useful when providing Electron apps to beta users for testing that may be running all manner of older systems.

### Proposed solution

In `forge.config.js`, it would be convenient to specify:

```
module.exports = {
packagerConfig: {
minimumSystemVersion: "11.0"
}
}
```

or "`minimumOSXSystemVersion`" to allow a similar property for other platforms in the future.

### Alternatives considered

Currently to add this property to built apps, the developer needs to put the information in an `Info.plist` file and then specify that file via the `extendInfo` property, which is cumbersome and not that clearly documented (for those looking for the required `Info.plist` key/value).

### Additional information

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.