Copyright (c) 2024 Dan Salvato LLC
Licensed under the Apache License, Version 2.0. See LICENSE.
The build process is intended to be performed using CI via GitHub Actions. However, the individual steps can be performed manually should you wish.
- node 18+
- pnpm 8+
- git
There is a special build script called build.sh
for building from
a prepared source archive. Just:
- Ensure you have the requirements installed on your machine.
- Ensure
build.sh
is executable and run it:chmod +x build.sh ./build.sh
- Find the unpacked extension in the
dist
folder.
That's it. You're done! You can now zip the extension, if you need to, or do anything else.
These instructions assume you're working from a clean checkout of the Extension repository itself, without any pre-downloaded source.
- Ensure you have the requirements installed on your machine.
- Run the following
git
commands to download the latest source code from FrankerFaceZ's repositories:git clone https://github.com/FrankerFaceZ/FrankerFaceZ.git client git clone https://github.com/FrankerFaceZ/Add-Ons.git addons
- Run these commands to calculate the correct version information based
on the state of the git repositories:
chmod +x scripts/calculate-version.sh ./scripts/calculate-version.sh
- Run this command to load the appropriate environmental variables:
source ffz_env
- Build the main client.
cd client pnpm install pnpm build:ext cd ..
- Build the add-ons.
cd addons pnpm install pnpm build:ext cd ..
- Ensure you don't have a
dist
folder. Delete it if you do with:rm -rf dist
- Copy the build output from steps 5 and 6 into the
dist
folder:chmod +x scripts/copy-output.sh ./scripts/copy-output.sh
- Update the version in the manifest.
node scripts/update-manifest.js
- Find the unpacked extension in the
dist
folder.
That's it. You're done! You can now zip the extension, if you need to, or do anything else.