Your Digital Media Has Never Looked So Good

 
NND
Topic Author
Posts: 8
Joined: Tue Nov 08, 2016 3:06 pm

New code linting tool for BrightScript

Wed Nov 21, 2018 4:18 pm

If you are interested in improving your coding style and consistency and maybe catching a bug or two check out BrsLint. BrsLint is a tool that parses brightscript and checks code against predefined rules. It also performs static analysts to identify situations that can cause runtime errors, like accessing undefined variable.
BrsLint is written in javascript and works on Windows, macOS and Linux. See it here: https://www.npmjs.com/package/brslint
 
owen777
Posts: 11
Joined: Fri Nov 17, 2017 4:24 am

Re: New code linting tool for BrightScript

Thu Dec 06, 2018 2:07 am

Hey,
appreciate the job, but, let me be honest with you, it's just another not-so-useful brightscript linter. It misses a lot of very basic rules like indentations, trailing commas, multi spaces, empty lines and so on. Anyway, I really like the "function_too_big" rule which I'd call "fresh" in this hundreds-lines brightscript functions world. By the way, rules documentation would be nice to have.

Unfortunately, all available brightscript linting tools are quite limited and for our project we had to go the eslint + custom rules way - highly recommend.
 
NND
Topic Author
Posts: 8
Joined: Tue Nov 08, 2016 3:06 pm

Re: New code linting tool for BrightScript

Fri Dec 07, 2018 1:56 am

You can add some of the rules you've mentioned relatively easily. Unfortunately I don't have time to spend adding bunch of the new rules, but I would take a PR with new rules.
I am not sure how eslint supposed to help considering that JavaScript and BrightScript have different syntax?
 
owen777
Posts: 11
Joined: Fri Nov 17, 2017 4:24 am

Re: New code linting tool for BrightScript

Fri Dec 07, 2018 5:02 am

I forgot to mention - using https://github.com/RokuRoad/bright as parser
 
NND
Topic Author
Posts: 8
Joined: Tue Nov 08, 2016 3:06 pm

Re: New code linting tool for BrightScript

Fri Dec 07, 2018 9:48 pm

It is nice to have choices for BrightScript parsing for sure. Three years ago my only option was to create my own tools.
I looked at RokuRoad's parser and while it is pretty solid it did fail on few of my samples. For example it fails on `foo()()`.
Also on code with conditional compilation like this:
#if false
 My comments here
#endif

Who is online

Users browsing this forum: No registered users and 3 guests