This is a guide to running the Zulip desktop app from a source tree, in order to contribute to developing it.
To build and run the app from source, you'll need the following:
- Git
- Node.js >= v6.9.0
- Python (v2.7.x recommended)
- A C++ compiler compatible with C++11
- Development headers for the libXext, libXtst, and libxkbfile libraries
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_6.x | sudo -E bash -
$ sudo apt install git nodejs python build-essential libxext-dev libxtst-dev libxkbfile-dev
Other developers run the app on Windows, macOS, and possibly other OSes. PRs to add specific instructions to this doc are welcome!
On Windows, your C++ compiler should be Visual Studio 2015 or later.
Clone the source locally:
$ git clone https://github.com/zulip/zulip-electron
$ cd zulip-electron
Install project dependencies:
$ npm install
Start the app:
$ npm start
Start and watch changes:
$ npm run dev
If you have any problems running the app, see the most common issues.
To package the app into an installer:
npm run dist
This command will produce distributable packages or installers for the operating system you're running on:
- on Windows, a Windows installer file
- on macOS, a
.dmg
file - on Linux, a plain
.zip
file as well as a.deb
file and anAppImage
file. To generate all three types, you will need all three operating systems.
The output files appear in the dist/
directory.