Filters is a Twitch Extension that allows viewers to add and modify filters to the video of the stream.
Releases can be found on the Releases Page and are created using Git Tagging using any v*
tags to correspond to a Release.
Issues and bug reports can be filed on the GitHub Issues Page.
Contributions are welcome! Get started by forking the repo, working on your contribution, and filing a pull request when you're ready.
- Ensure NodeJS is installed on your system.
- Run
npm install
to install dependencies.
Local development uses Rspack Dev Server to allow for local development and uses Mirage JS for locally mocking calls to the Twitch API. The following commands are available:
npm run dev
- Spins up a local development server and have the overlay open in the browser.
npm run dev:config
- Does the same thing as
npm run dev
except opens the config page by default instead.
- Does the same thing as
This extension uses @lit/localize to handle localization based on the configuration defined in the @lit/localize localization schema including what languages are supported. The following commands are available:
npm run localize:extract
- Extracts and updates strings marked for localization into
.xlf
files in thexliff
directory. - This command will not replace existing translations in the
.xlf
files and only adds new strings.
- Extracts and updates strings marked for localization into
npm run localize:build
- Uses the
.xlf
files build.ts
files used by the build into thesrc/generated
directory.
- Uses the
This extension uses Rspack to handle building and packaging the extension and the following commands are available:
npm run build
- Builds the extension and puts the resulting build in the
dist
directory.
- Builds the extension and puts the resulting build in the
npm run package
- Packages the
dist
directory into a.zip
file suitable for uploading into the Twitch Developer Console. .zip
file will be in the format offilters-twitch-extension-<VERSION>.zip
.
- Packages the
npm run prod
- Runs
npm run build
followed bynpm run package
in one command.
- Runs
npm run clean
- Deletes any existing build artifacts.
dist
directoryfilters-twitch-extension-<VERSION>.zip
file
- Deletes any existing build artifacts.
The source code is licensed under The MIT License. The Filters image is used under a purchased Royalty-Free Commercial License from The Noun Project.
Filters is cobbled together by Zac Lovoy (aka BigZoz on Twitch) and is the same goober who brought you YarpBot, which you should check out because it's cool and I don't have a Soundcloud to link to here.
Created for the Twitch Streamer Tools Hackathon 2024.