https://github.com/revoltchat/frontend
Monorepo for Revolt's frontend.
https://github.com/revoltchat/frontend
Last synced: about 1 year ago
JSON representation
Monorepo for Revolt's frontend.
- Host: GitHub
- URL: https://github.com/revoltchat/frontend
- Owner: revoltchat
- License: agpl-3.0
- Created: 2022-09-19T16:55:07.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-05-12T17:06:01.000Z (about 1 year ago)
- Last Synced: 2025-05-12T18:24:00.139Z (about 1 year ago)
- Language: TypeScript
- Homepage: https://revolt.chat
- Size: 34.7 MB
- Stars: 328
- Watchers: 17
- Forks: 77
- Open Issues: 112
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Revolt Frontend
[](https://github.com/revoltchat/frontend/stargazers)
[](https://github.com/revoltchat/frontend/network/members)
[](https://github.com/revoltchat/frontend/pulls)
[](https://github.com/revoltchat/frontend/issues)
[](https://github.com/revoltchat/frontend/graphs/contributors)
[](https://github.com/revoltchat/frontend/blob/main/LICENSE)
The official web client powering https://revolt.chat/app, built with Solid.js 💖.
## Development Guide
Before contributing, make yourself familiar with [our contribution guidelines](https://developers.revolt.chat/contrib.html), the [code style guidelines](./GUIDELINES.md), and the [technical documentation for this project](https://revoltchat.github.io/frontend/).
Before getting started, you'll want to install:
- Git
- Node.js
- pnpm (run `corepack enable`)
Then proceed to setup:
```bash
# clone the repository
git clone --recursive https://github.com/revoltchat/frontend client
cd client
# update submodules if you pull new changes
# git submodule init && git submodule update
# install all packages
pnpm i --frozen-lockfile
# build deps:
pnpm build:deps
# or build a specific dep (e.g. revolt.js updates):
# pnpm --filter revolt.js run build
# run dev server
pnpm dev:web
```
Finally, navigate to http://local.revolt.chat:5173.
### Pulling in Revolt's assets
If you want to pull in Revolt brand assets after pulling, run the following:
```bash
# update the assets
git -c submodule."packages/client/assets".update=checkout submodule update --init packages/client/assets
```
You can switch back to the fallback assets by running deinit and continuing as normal:
```bash
# deinit submodule which clears directory
git submodule deinit packages/client/assets
```
### Faster iteration with Revolt.js
To make it easier to work with `revolt.js`, you may want to temporarily make this change:
```diff
# packages/revolt.js/package.json
- "module": "lib/esm/index.js",
+ "module": "src/index.ts",
```
Any edits to the revolt.js codebase will immediately be reflected while developing.
## Deployment Guide
### Build the app
```bash
# install packages
pnpm i --frozen-lockfile
# build dependencies
pnpm build:deps
# build for web
pnpm build:web
# ... when building for Revolt production, use this instead of :web
pnpm build:prod
```
You can now deploy the directory `packages/client/dist`.
### Routing Information
The app currently needs the following routes:
- `/login`
- `/pwa`
- `/dev`
- `/settings`
- `/friends`
- `/server`
- `/channel`
This corresponds to [Content.tsx#L33](packages/client/src/index.tsx).