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 🙏

© 2025 – Pkg Stats / Ryan Hefner

brs-node

v2.0.0

Published

BrightScript Simulation Engine - Run Roku apps on Node.js or Terminal (CLI)

Readme

BrightScript Simulation Engine for Node.js

An interpreter for the BrightScript language that runs as a CLI and Roku apps in Node.js.

NPM Version License Build Quality Gate Status Slack

Overview

The BrightScript Simulation Engine provides a complete a set of libraries and a command-line interface for executing, testing, and packaging Roku apps on Node.js platforms. Perfect for automation, CI/CD pipelines, development workflows, and server-side BrightScript execution.

🚨 Important:

Since v1.9.0, this package was split from the browser package, to use the simulation engine with web based applications check out the brs-engine package.

Key Features

🖥️ Command Line Interface

  • Interactive REPL - Read-eval-print loop for BrightScript
  • File Execution - Run .brs, .zip, and .bpk files directly
  • Folder Execution - Run BrightScript apps from a folder
  • App Packaging - Create encrypted .bpk packages from .zip files
  • ASCII Rendering - Run Roku apps using ASCII rendering in the terminal
  • Batch Processing - Execute multiple files and automate workflows

⚙️ BrightScript Interpreter

  • Full BrightScript language interpreter, with specs aligned up to Roku OS 15.0
  • Draw 2D API - Full support for the BrightScript 2D drawing components
  • SceneGraph Framework - Experimental support for the Roku SceneGraph components (see section below)
  • Video Playback - Via roVideoPlayer and Video node
  • Audio Playback - Via roAudioResources, roAudioPlayer and Audio node
  • Image Processing - Support for PNG, JPEG, GIF, BMP and WEBP formats

📺 Device Simulation

  • Screen resolutions - Support for various Roku display modes
  • Input Handling - Keyboard and gamepad simulation for remote control input, see docs for more details
  • File System Simulation - Including pkg:/, tmp:/, cachefs:/, common:/ and ext1:/ volumes
  • Registry simulation - Roku device registry emulation saved on browser local storage
  • Micro Debugger - Step-through debugging capabilities, similar to the Roku experience
  • ECP Server - External Control Protocol for remote control
  • SSDP Discovery - Device discovery simulation
  • Localization - Language and region settings
  • Customization - You can customize device features and behaviors, see docs for more details

SceneGraph Extension

The brs-scenegraph extension is integrated to the brs-node package by default. The CLI app loads it so the REPL and apps can run SceneGraph without additional setup. Use the --no-sg flag if you want to disable it for a given CLI session. For your Node.js apps register it manually by calling registerExtension(() => new BrightScriptExtension()). Refer to packages/scenegraph/README.md for more information about the extension package.

⚠️ Note:

SceneGraph extension is currently under development, with pre-release alpha versions available for testing. See the current state of the SceneGraph implementation and other limitations of the engine in the Current Limitations document.

Installation

Global Installation (CLI)

npm install -g brs-node

Project Installation (Library)

npm install brs-node

Libraries

The package libraries require Node.js v22 or higher, and are organized as follows:

| Library File | Description | | --- | --- | | bin/brs.cli.js | Executable CLI application that can be used from the terminal | | bin/brs.node.js | A NodeJS library, that exposes the language interpreter to be used by Node.js applications | | bin/brs.ecp.js | A NodeJS Worker library, used by the CLI to launch the ECP and SSDP services. |

Documentation

Learn how to use the package and its libraries by reading the documents below:

Changelog

Developer Links

License

Copyright © 2019-2025 Marcelo Lv Cabral. All rights reserved.

Licensed under the MIT license.