Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

maestro-roku

Package Overview
Dependencies
Maintainers
1
Versions
215
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

maestro-roku

A development platform for building roku channels in brighterscript

  • 0.72.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

A development platform for building roku channels in brighterscript

build GitHub NPM Version

Why maestro?

Maestro Makes roku development easier, especially for experienced software engineers from other platforms

I believe that experienced developers from android, ios, c#, web, node, etc, should be able to be productive on a roku app in no more than a week, just as they would on any other platform. So I wrote maestro to make that possible.

Maestro is built to:

  • Raise velocity
  • Increase productivity
  • Reduce learning
  • Simply cross-skilling
  • Make roku development more fun
  • Produce roku apps that can be maintained by non roku developer
  • Produce roku apps that can be unit tested easily
  • Write code that can be tested and breakpoint debugged, outside of SG views (which are slow as hell, and prone to crashing when breakpoint debugging)

Quick start

Docs

Maestro-roku docs can be found here

IMPORTANT!! ropm hook

Because of the way that maestro plugin generates certain files, ropm can will cause errors when you install maestro. You will have to include a script to fix any of these broken files, and run it after you ropm hook.

files

scripts/maestro-ropm-hook.js
/* eslint-disable github/array-foreach */
/* eslint-disable @typescript-eslint/no-var-requires */
/* eslint-disable @typescript-eslint/no-require-imports */
const fs = require('fs-extra');
const path = require('path');

let sourceDir = path.join(__dirname, '..', 'src', 'components', 'roku_modules', 'maestro');

try {
    fs.readdirSync(sourceDir).forEach(file => {
        let filePath = path.join(sourceDir, file);
        if (filePath.endsWith('Task.xml')) {

            let text = fs.readFileSync(filePath, 'utf8');
            let r = /\/roku_modules\/rokucommunity_bslib/gim;
            text = text.replace(r, '/roku_modules/maestro');
            fs.writeFileSync(filePath, text);
        }
    });
} catch (e) {
}

package.json

Change your ropm task, as follows. in package.json, scripts:

"ropm": "node scripts/maestro-ropm-hook.js ropm copy",

Keywords

FAQs

Package last updated on 08 Nov 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc