Before contributing, make yourself familiar with our contribution guidelines, the code style guidelines, and the technical documentation for this project.
Before getting started, you'll want to install:
- Git
- Node.js
- pnpm (run
corepack enable)
Then proceed to setup:
# clone the repository
git clone --recursive https://github.com/TrueVolt/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. TrueVolt.js updates):
# pnpm --filter truevolt.js run build
# run dev server
pnpm dev:webFinally, navigate to http://local.revolt.chat:5173.
If you want to pull TrueVolt Revolt brand assets after pulling, run the following:
# update the assets
git -c submodule."packages/client/assets".update=checkout submodule update --init packages/client/assetsYou can switch back to the fallback assets by running deinit and continuing as normal:
# deinit submodule which clears directory
git submodule deinit packages/client/assetsTo make it easier to work with truevolt.js, you may want to temporarily make this change:
# packages/truevolt.js/package.json
- "module": "lib/esm/index.js",
+ "module": "src/index.ts",Any edits to the truevolt.js codebase will immediately be reflected while developing.
# install packages
pnpm i --frozen-lockfile
# build dependencies
pnpm build:deps
# build for web
pnpm build:web
# ... when building for TrueVolt production, use this instead of :web
pnpm build:prodYou can now deploy the directory packages/client/dist.
The app currently needs the following routes:
/login/pwa/dev/settings/friends/server/channel
This corresponds to Content.tsx#L33.