Mattermost Desktop Development Guides
- C++ environment which supports C++11 (e.g. VS 2015, Xcode, GCC)
- Python 2.7
- Node.js 8.2.0 or later
After installation, dependencies of
src/ directory are also installed.
$ npm install
$ npm run build
After building is done, you can execute the application with
Package specific files of
src/ directory as distributable formats with
Files are defined in
Packages will be generated into
$ npm run package:<all | windows | mac | linux>
Need to install some software required by
electron-builder to build packages.
Please see electron-builder wiki for detailed description.
Minimum requirements for current platform:
- Windows: Nothing.
brew install gnu-tar
- Linux (64 bit):
xz-utilsif Ubuntu is used.
Set environment variables to build trusted packages. Please see electron-builder wiki for detailed description.
Quoted from the wiki:
||The HTTPS link (or base64-encoded data, or
||The password to decrypt the certificate given in
||macOS-only Name of certificate (to retrieve from login.keychain). Useful on a development machine (not on CI) if you have several identities (otherwise don't specify it).|
Execute automated tests.
$ npm test
There are two steps in
$ npm run test:app
Test coding style:
$ npm run lint:js
npm run watch
Reload the application automatically when you have saved source codes. When using this mode, you can use "React Developer Tools" in the Developer Tools window.
- node_modules/ - Third party Node.js modules to develop and build the application.
- release/ - Packaged distributable applications.
- src/node_modules/ - Third party Node.js modules to use in the application.