sjbarag / brs

An interpreter for the BrightScript language that runs on non-Roku platforms.
MIT License
114 stars 43 forks source link

feat(scenegraph,lex,parse): Add support for <ComponentLibrary/> #590

Closed sjbarag closed 3 years ago

sjbarag commented 3 years ago

The <ComponentLibrary/> component loads a set of namespaced components from a location declared in its uri field. Some remote resources can be loaded, but they require signing and packaging -- both of which are out of scope for this project. Load pkg:/-local component libraries, which rely only on .zip compression for packaging.

fixes #589

sjbarag commented 3 years ago

Draft PR because I think I forgot to reject non-pkg:/ URIs

sjbarag commented 3 years ago

This looks great I just have one question: do we need to version the zip package if you're already including the shell script?

I'd rather avoid adding that script to the build pipeline. It's fastish and pretty simple, but that .zip is going to change so rarely that doesn't feel terribly worth it. I'm happy to add it in anyway if you disagree though 😄