bsc-plugin-auto-findnode

0.1.0 • Public • Published

bsc-plugin-auto-findnode

A BrighterScript plugin that auto-injects m.top.findNode() calls in your component init() functions

build status coverage status monthly downloads npm version license Slack

Installation

  1. Install the package via npm:
npm install bsc-plugin-auto-findnode
  1. Add the plugin to your bsconfig.json
{
    "plugins": [
        "bsc-plugin-auto-findnode"
    ]
}
  1. Run brighterscript like normal, and the plugin will work!
npx bsc

How it works

  1. find every xml file in the project
  2. find every element with an ID in that xml file
  3. find the init() function for each scope (or create one in a new file)
  4. inject m.<elementId> = m.top.findNode("<elementId>") into the init function

For example:

Before:

pkg:/components/ZombieKeyboard.xml

<component name="ZombieKeyboard">
    <children>
        <label id="helloZombieText" />
    </children>
    <script uri="ZombieKeyboard.brs" />
</component>

pkg:/components/ZombieKeyboard.brs

sub init()
    print "init for the keyboard!"
end sub

After:

pkg:/components/ZombieKeyboard.xml

<component name="ZombieKeyboard">
    <children>
        <label id="helloZombieText" />
    </children>
    <script uri="ZombieKeyboard.brs" />
</component>

pkg:/components/ZombieKeyboard.brs

sub init()
    m.helloZombieText = m.top.findNode("helloZombieText")
    print "init for the keyboard!"
end sub

Readme

Keywords

none

Package Sidebar

Install

npm i bsc-plugin-auto-findnode

Weekly Downloads

18

Version

0.1.0

License

ISC

Unpacked Size

146 kB

Total Files

25

Last publish

Collaborators

  • twitchbronbron
  • tylerattkss