BetterDiscord Installer
Overview | Development | Contributors
A simple standalone program which automates the installation, removal and maintenance of BetterDiscord.
Overview
This repository contains the source code for the BetterDiscord installer. This installer is written with electron-webpack and Svelte 3.
Downloads
These will link you to the latest builds found in the releases tab of this repository.
Windows (7+) | macOS (10.10+) | Linux |
---|
Codebase
.
├──assets // Contains static assets (such as images) used by the installer.
| └──images // Images (logos, backgrounds, etc...) used by the installer.
├──scripts // Scripts needed for development and contributing.
└──src // The installer's source code.
├──main // Electron "main" process. Creates and configures the BrowserWindow.
└──renderer // Electron "renderer" process. Contains most components and scripts.
├──actions // Scripts performed by the installer such as installing, repairing and uninstalling.
| └──utils // Common utilities used by installer actions (such as killing discord).
├──common // Common UI components such as buttons, checkboxes, radios, etc...
├──pages // Component files for each page in the installer's setup process.
├──stores // Svelte store used for storing global data.
| └──types // Used for defining custom svelte stores.
└──transitions // Contains custom Svelte transitions and animations.
Development
This is a tutorial designed for people looking to contribute to, or work directly with the installer's source code. If you are just looking to download and install BetterDiscord, visit the releases page of this repository.
Prerequisites
Building
1: Clone the repository.
git clone https://github.com/BetterDiscord/installer && cd installer
This will create a local copy of this repository and navigate you to the root folder of the repository.
2: Install Dependencies
Run this command at the root folder to install dependencies:
yarn install
3: Run Build Script
To run the installer in development mode, simply run the following command:
yarn dev
Additional Scripts
Linting
This project uses ESLint. Run this command to lint your changes:
yarn lint
Compiling & Distribution
yarn dist
Contributors
For information on contributing to this project, please see CONTRIBUTING.md.