Skip to content

Latest commit

 

History

History
102 lines (68 loc) · 2.76 KB

File metadata and controls

102 lines (68 loc) · 2.76 KB

Development Setup

This is a guide to running the Zulip desktop app from source, in order to contribute to developing it.

Prerequisites

To build and run the app from source, you'll need the following:

Ubuntu/Linux and other Debian-based distributions

On a system running Debian, Ubuntu, or another Debian-based Linux distribution, you can install all dependencies through the package manager (see here for more on the first command):

$ curl -sL https://deb.nodesource.com/setup_24.x | sudo -E bash -
$ sudo apt install git nodejs python build-essential
$ corepack enable

MacOS

On a system running MacOS, you can refer to official nodejs docs to install nodejs. To ensure Node.js has been installed, run node -v in terminal to know your node version.

Windows

  • Download Node.js for Windows and install it. You can refer to the official docs here to do so. To ensure Node.js has been installed, run node -v in Git Bash to know your node version.
  • Also, install Windows-Build-Tools to compile native node modules by using
    $ npm install --global windows-build-tools

Download, build, and run

Clone the source locally:

$ git clone https://github.com/zulip/zulip-desktop
$ cd zulip-desktop

Install project dependencies:

$ pnpm install

Start the app:

$ node --run dev

Run tests:

$ node --run test

How to contribute?

Feel free to fork this repository, test it locally and then report any bugs you find in the issue tracker.

You can read more about making contributions in our Contributing Guide.

Making a release

To package the app into an installer:

node --run dist

This command will produce distributable packages or installers for the operating system you're running on:

  • on Windows, a .7z nsis file and a .exe WebSetup file
  • on macOS, a .dmg file
  • on Linux, a plain .zip file as well as a .deb file, .snap file and an AppImage file.

To generate all three types of files, you will need all three operating systems.

The output distributable packages appear in the dist/ directory.