Skip to content
SpacingBat3Public

About

A set of :electron: Electron Forge tools, makers and publishers, with goal to craft them as much from scratch as possible.

Topics

Resources

Stars

45 stars

Watchers

1 watching

Forks

Repository files navigation

REUSE status CodeCov

ReForged Icon

ReForged

Asynchronous toolkit targetting Electron Forge API and from-scratch approach for packaging.

About

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.

Components

Public

@reforged/maker-appimage

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).

@reforged/plugin-launcher

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).

Development

@reforged/maker-types

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.

License

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.

About

A set of :electron: Electron Forge tools, makers and publishers, with goal to craft them as much from scratch as possible.

Topics

Resources

Stars

45 stars

Watchers

1 watching

Forks

Sponsor this project

Used by

Contributors

Languages