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
electrondirectory. - Run
yarn build/yarn watchto build assets. They are placed into theappdirectory. - Run
yarn startto start the app in debug mode. UseCtrl+Shift+Ito open the Chromium debugger.
See https://electron.atom.io/docs/tutorial/application-distribution/
- Run
yarn build:distto create a minified production build. - Run
yarn run pack. The generated installer is placed into thedistdirectory.- 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.
zipis required to be installed. - On Linux you can add a GPG key for signing and its password as arguments.
mksquashfsandzsyncmakeare required to be installed.
- Change into the
mobiledirectory. - Run
yarn build/yarn watchto build assets. They are placed into thewwwdirectory. - For Android, change into the
androiddirectory and run./gradlew assembleDebug. The generated APK is placed intoapp/build/outputs/apk. - For iOS, change into the
iosdirectory and openF-Chat.xcodeprojusing XCode. From there, simply run the app using the play button.
- Change into the
webchatdirectory. - Run
yarn build/yarn watchto build assets. They are placed into thedistdirectory. - 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
scssdirectory. - Run
yarn install. - Run
yarn build themes/chat/{name}.scss. - Your theme file will be placed into the
scss/cssdirectory.
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.