maestro-roku

0.72.0 • Public • Published

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",

Package Sidebar

Install

npm i maestro-roku

Weekly Downloads

218

Version

0.72.0

License

MIT

Unpacked Size

1.22 MB

Total Files

371

Last publish

Collaborators

  • georgejecook