This repository contains the open source parts of F-list and F-Chat 3.0. All necessary files to build F-Chat 3.0 as an Electron, mobile or web application are included.
- Clone the repo
- Install Yarn
- Change into the cloned directory and run
yarn install
. If you only want to make a custom theme, you do not need to do this! - IntelliJ IDEA is recommended for development.
- To build native Node assets, you will need to install Python 2.7 and the Visual C++ 2015 Build tools. More information can be found in the node-gyp docs.
- Change into the
electron
directory. - Run
yarn build
/yarn watch
to build assets. They are placed into theapp
directory. - Run
yarn start
to start the app in debug mode. UseCtrl+Shift+I
to open the Chromium debugger.
See https://electron.atom.io/docs/tutorial/application-distribution/
- Run
yarn build:dist
to create a minified production build. - Run
yarn run pack
. The generated installer is placed into thedist
directory.- On Windows you can add the path to and password for a code signing certificate as arguments.
- On Mac you can add your code signing identity as an argument.
zip
is required to be installed. - On Linux you can add a GPG key for signing and its password as arguments.
mksquashfs
andzsyncmake
are required to be installed.
- Change into the
mobile
directory. - Run
yarn build
/yarn watch
to build assets. They are placed into thewww
directory. - For Android, change into the
android
directory and run./gradlew assembleDebug
. The generated APK is placed intoapp/build/outputs/apk
. - For iOS, change into the
ios
directory and openF-Chat.xcodeproj
using XCode. From there, simply run the app using the play button.
- Change into the
webchat
directory. - Run
yarn build
/yarn watch
to build assets. They are placed into thedist
directory. - The compiled main.js file can be included by an HTML file that is expected to provide a global
const chatSettings: {account: string, theme: string, characters: ReadonlyArray<string>, defaultCharacter: string | null};
. It should also normalize the page to 100% height.
See the wiki for instructions on how to create a custom theme.
- Change into the
scss
directory. - Run
yarn install
. - Run
yarn build themes/chat/{name}.scss
. - Your theme file will be placed into the
scss/css
directory.
Note: Adding and upgrading dependencies should only be done with prior consideration and subsequent testing.
That's why yarn.lock
exists and is version controlled.
To upgrade NPM dependencies, run yarn upgrade
locally. Run yarn outdated
to see pending upgrades.