Is Electron Forge's initialization too opinionated?
- 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
Assessment
This issue has not been assessed yet.