Skip to content

Building from Source

RadicalMuffinMan edited this page Jul 31, 2026 · 2 revisions

Building from Source

Moonfin for Roku is written in BrighterScript and built with the brighterscript compiler into a sideloadable .zip.

Prerequisites

  • Node.js 16 or newer
  • npm
  • BrighterScript, if you want the compiler available globally: npm install -g brighterscript

Steps

  1. Clone the repository:
git clone https://github.com/Moonfin-Client/Roku.git
cd Roku
  1. Install dependencies:
npm install
  1. Build:
npm run build

The build clears build/ and out/, then transpiles the project according to bsconfig.json. The output lands at out/moonfin-roku-v{version}.zip, where the version comes from package.json.

Install that zip through the Developer Mode web interface, see Installation and Sideloading.

Deploying to a device

roku-deploy is included as a dev dependency, so you can push a build straight to a Roku on your network instead of uploading it by hand. It reads your device IP and developer password from its own config, see the roku-deploy documentation for the options.

Configuration files

File What it controls
bsconfig.json Build configuration, source globs, and output settings
bsconfig-tests.json Build configuration used for test runs
bsfmt.json Formatting rules, enforced on contributions
bslint.json Lint rules for @rokucommunity/bslint
manifest Roku channel manifest, including version and splash assets

Clone this wiki locally