Contributing
This extension depends on several other RokuCommunity projects.
- BrighterScript - provides the language server and much of the realtime valdation you see when editing code.
- roku-debug - Provides all the debug session functionality (like connecting via telnet, setting breakpoints, etc)
- roku-deploy - Handles the packaging of roku projects and other device tasks (like sending keyboard commands to the device)
- brighterscript-formatter - Used to format code when the "Format Document" command is run in vscode.
Wiring all of these up manually is a bit tedious, so we provide a simple way to quickly get started:
The easy way
In a terminal, you can execute the following commands to get completely up and running.
mkdir RokuCommunity && cd RokuCommunity && git clone https://github.com/rokucommunity/vscode-brightscript-language && cd vscode-brightscript-language && npm run install-local
This will do the following automatically for you:
- create a dedicated
RokuCommunity/
folder to keep these related projects - Clone all necessary repositories at the same folder level
- Install and build each dependency
- Update this project's
package.json
to point to the local projects using a relative file scheme (i.e."roku-deploy": "file:../roku-deploy"
) - delete each dependency's folder in this project's node_modules folder to prevent conflicts.
- run
npm install
in the root of this project.
The manual way
You only need to install local copies of projects you actually want to work on. You can leave the others as npm modules. This workflow will show the process of installing all projects.
Clone the following projects to the parent folder as this project. (i.e.
C:\projects\vscode-brightscript language
,C:\projects\brighterscript
, etc...)Inside each of the cloned repositories, run
npm install && npm run build
In
vscode-brightscript-language/node_modules
, delete any folders matching the above project namesOpen
vscode-brightscript-language/package.json
and edit thedependencies
to look like this:{ "dependencies": { //... "brighterscript": "file:../brighterscript", "brighterscript-formatter": "file:../brighterscript-formatter", "roku-debug": "file:../roku-debug", "roku-deploy": "file:../roku-debug", //... } }
In the
vscode-brightscript-language
foldernpm install && npm run build
You're all set! Open the
vscode-brightscript-language
folder in vscode to start debugging.
View our developer guidelines for more information on how to contribute to this extension.
You can also chat with us on slack. (We're in the #vscode-bs-lang-ext channel).
Releases (Project Admins)
If you need to deploy a release of any of the RokuCommunity projects, you can do the following:
- clone the vscode-brightscript-language project
git clone https://github.com/rokucommunity/vscode-brightscript-language cd vscode-brightscript-language
- Run the
releases
npm script and follow the promptsnpm run releases
- For every changed project, you'll see a prompt to edit the changelog.
- Change
UNRELEASED
to the semantic version you want to use, save the changelog, then back in the terminal press enter on your keyboard to initialize the release. - Delete delete any lines from the changelog that aren't overly important to the user (as changelogs should be for humans), since this process populates the changelog with every commit to the master branch for the current project and all commits to changed RokuCommunity dependencies.
- Change