npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

rotor-framework

v0.7.5

Published

Roku toolkit library providing a ViewBuilder, full UI lifecycle with focus handling and many core features, plus MVI-based state management.

Readme

Rotor Framework

build status Coverage Status npm version License: Apache 2.0 Slack

Rotor is a modular, ViewModel-first UI framework for Roku applications built with BrighterScript and SceneGraph. It is lightweight and designed to intuitively speed up development time while simplifying both the implementation and long-term maintenance process. It features a rich ViewBuilder system and a Roku-friendly implementation of the MVI (Model-View-Intent) design pattern. It helps developers structure large-scale apps with reusable components, state-driven logic, and optimized rendering.

🌱


🚀 Key Features

  • ViewBuilder system: Declarative and extensible view construction with a flexible, code-based template system, automatic full lifecycle management, and a virtual node tree abstraction.
  • Roku-friendly MVI design pattern: Predictable state, clear separation of concerns, and cross-thread compatibility.
  • Component-based UI: Isolated, reusable UI widgets and view models.
  • i18n support: Locale-aware interface with flexible language resource injection.
  • Integrated Animate Library

🎯 Quick Start with Starter Template

Want to get started quickly? Check out rotor-starter - a ready-to-use project template with Rotor Framework pre-configured, sample components, and best practices built in.


📦 Installation

Prerequisites

Rotor Framework requires BrighterScript v1. Install the latest version:

npm install --save-dev brighterscript@next @rokucommunity/bslint@next

Install Rotor Framework

Manual installation:

  1. Download the latest rotor-framework.zip from GitHub Releases
  2. Extract the ZIP into your project's source/ directory (this will create a rotor-framework/ folder)
  3. Import Rotor in your main file:

ROPM install:

  • Note: You must install without prefix by adding this to package.json
  • Don't worry everything is in the Rotor namespace by default, so this is the only name reserved by the framework.
ropm install rotor-framework
"ropm": {
    "noprefix": ["rotor-framework"]
}

⚡ Quick usage

import "pkg:/source/RotorFramework.bs"

frameworkInstance = new Rotor.Framework()

frameworkInstance.render([
    {
        id: "helloLabel", ' optional
        nodeType: "Label",
        fields: {
            text: "Hello World!",
            color: "#CCCCCC"
        }
    }
])

Token-efficient documentation for AI

You can find 🌱 symbols in all documentation pages. These symbols link to AI-optimized summaries of the respective documentation.

📖 Read more about token savings


📚 Learn More

Version

Framework Core

ViewBuilder Reference

ViewBuilder Plugins

MVI Documentation

i18N Documentation


🔧 Requirements

  • Roku SceneGraph (firmware 10.5+ recommended)
  • BrighterScript V1

📄 Licensing

Rotor Framework is available under a dual license model:

Open Source License (Apache 2.0)

The source code is licensed under the Apache License 2.0. This is a permissive open source license that allows you to:

  • Use Rotor Framework in commercial and non-commercial applications
  • Modify the source code for your own purposes
  • Distribute your applications without sharing your application source code
  • Include Rotor Framework in proprietary products

The Apache 2.0 license requires you to:

  • Include a copy of the license in distributions
  • Provide attribution in a NOTICE file (if included) or documentation
  • State any modifications you made to the framework source files

Commercial License

A separate commercial license is available for organizations that require:

  • Use of the "Rotor Framework" trademark in product branding or marketing
  • White-label or OEM distribution arrangements
  • Resale or redistribution of the framework as a standalone product
  • Official support, warranty, or indemnification

For commercial licensing inquiries, please contact the maintainer.

Trademark

"Rotor Framework" is a trademark. Use of the name is governed by our Trademark Policy, which is separate from the code license. In summary:

  • You may state that your product is "built with Rotor Framework"
  • You may not imply official endorsement or use the name in your product branding without permission

Attribution (Optional)

Attribution is not required under the Apache 2.0 license for applications built with Rotor Framework. However, if you find this framework useful, we encourage you to include a voluntary attribution such as:

Built with Rotor Framework

or

Powered by Rotor Framework

This helps others discover the project and supports the open source community. Thank you for considering it.


Copyright 2025 Balazs Molnar