electron / electron/forge

Is Electron Forge's initialization too opinionated?

Open
#3,638 2 comments 2 reactions 0 assignees View on GitHub
cli import initialization
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

Electron Forge, by default, pulls in some things that not everybody needs. The two that I've just found:
- The import script always initializes a git repository if it doesn't find one. This is an annoyance for developers who are using some other version control software.
- Both the import script and the quick start templates always pull in electron-squirrel-startup as a dependency. This is an annoyance for someone wishing to use other means of distribution such as the Microsoft Store where no such installer tool is needed.

### Proposed solution

The Electron Forge import script and templates should not pull in stuff that some developers will then have to remove.

### Alternatives considered

These could also be optional arguments to the import script for example.

### Additional information

It is also worth considering the situation of someone that's quite new to Electron development. Searching for the 'best practices' will probably lead them to Electron Forge and its templates, which then proceed to pull in a whole host of technologies, for which the motivation or rationale is not really explained anywhere. It's just "This is how everybody does it and don't ask questions". I think this creates a frustrating developer experience and an unhealthy culture of "shut up and follow the pack".

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.