Asynchronous toolkit targetting Electron Forge API and from-scratch approach for packaging.
ReForged is a project that tries to design its toolkit system for Electron software packaging on top Electron Forge, while in contrast to Forge, focusing on software packaging implementations done from scratch. It is structured as NPM module-based monorepo, like Forge itself is.
This approach has quite a few advantages: it allows a bit more centralised development of packaging that is free of upstream issues, which was a bit of hussle for Forge in the past, as many of the issues were actually problems with dependant packages that Forge utilises and/or wraps. Additionally, since it is a non-wrapper approach, it allows anyone involved in development to understand the whole process for a given tool and to centralise the code for it under the same organizational unit, which speeds up the code research and bug fixing drastically. There are also some minor benefits, like platform and architecture independent behavior (due to majority of logic being implemented in TypeScript), as long as required toolset can be provided.
At the same time, you might see a major flaw of this approach: as reimplementation, it might not always follow the packaging standards up to date, or offer full feature set. For commercial-grade software that depends on estabilished solutions, you might preffer chosing Forge approach and tooling.
A direct implementation of AppImage packaging for Forge,
doing entire packaging from scratch like appimagetool. It supports
only the SquashFS packaged applications, although it might be considered
to implement other backends as well in the future (feedback is welcome!).
It should also be asynchronous and RAM-focused for storage and IO to offer
competetive performance, while being TypeScript-written makes it platform
independent solution (as long as platform support neccesary toolkits).
Allows you to define additional executable/script that runs before Electron. Currently limited to Linux and with unstable API (as defined by SemVer zero-versioning).
Provides common interfaces to standardise maker configuration properties across common platforms, allowing for contract promises to set up ReForged makers always the same way for the most part. You might also depend on this package if you want to implement your own makers and offer similar promises like ReForged does.
This project follows REUSE specification to match copyrighted material
to software licenses and copyright. You might see overall list of
licenses used in this project in LICENSES/ folder.