{"id":13616393,"url":"https://github.com/sky-uk/bslint","last_synced_at":"2026-01-14T07:45:02.023Z","repository":{"id":57416477,"uuid":"65284411","full_name":"sky-uk/bslint","owner":"sky-uk","description":"A linter for the BrightScript language.","archived":true,"fork":false,"pushed_at":"2018-12-19T16:52:34.000Z","size":717,"stargazers_count":24,"open_issues_count":14,"forks_count":8,"subscribers_count":8,"default_branch":"master","last_synced_at":"2026-01-04T04:54:17.504Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sky-uk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-08-09T09:59:42.000Z","updated_at":"2024-06-04T10:37:39.000Z","dependencies_parsed_at":"2022-09-26T17:11:24.250Z","dependency_job_id":null,"html_url":"https://github.com/sky-uk/bslint","commit_stats":null,"previous_names":[],"tags_count":42,"template":false,"template_full_name":null,"purl":"pkg:github/sky-uk/bslint","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky-uk%2Fbslint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky-uk%2Fbslint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky-uk%2Fbslint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky-uk%2Fbslint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sky-uk","download_url":"https://codeload.github.com/sky-uk/bslint/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky-uk%2Fbslint/sbom","scorecard":{"id":830396,"data":{"date":"2025-08-11","repo":{"name":"github.com/sky-uk/bslint","commit":"4c311ec8b441a556ab761adb3306879bdd795b05"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Maintained","score":0,"reason":"project is archived","details":["Warn: Repository is archived."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":3,"reason":"Found 10/30 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 21 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-23T17:38:14.951Z","repository_id":57416477,"created_at":"2025-08-23T17:38:14.951Z","updated_at":"2025-08-23T17:38:14.951Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28413486,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T05:26:33.345Z","status":"ssl_error","status_checked_at":"2026-01-14T05:21:57.251Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T20:01:27.927Z","updated_at":"2026-01-14T07:45:02.007Z","avatar_url":"https://github.com/sky-uk.png","language":"Python","funding_links":[],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"readme":"## BrightScript Linter\n[![CircleCI](https://circleci.com/gh/sky-uk/bslint/tree/master.svg?style=shield\u0026circle-token=a9218a324d2d7bebd187a00fdc170b6a11a17462)](https://circleci.com/gh/sky-uk/bslint/tree/master)\n\n*We're hiring!*\n[http://developers.sky.com](http://developers.sky.com)\n\n# Description\n\nThis is a tool for linting BrightScript.\n\nThis tool has been made because there aren't any tools currently available to help developers keep their coding standards consistent.\nThe linter validates against the official [BrightScript Language Reference](https://sdkdocs.roku.com/display/sdkdoc/BrightScript+Language+Reference).\nCurrently the linter only lexes the file and validates styling. We are actively developing a parser which will be integrated into this project.\n\n# Installing bslint via pip3\n\nThe package is published on pip3, to install follow the steps below:\n\n1. Ensure that you've got Python3 installed on your machine (https://www.python.org/downloads/).\n   To check if python3 is already installed, run `python3 -V` in your terminal.\n\n2. Install `bslint` by running the following command in terminal `pip3 install bslint`.\n\n#Upgrading bslint via pip3\n\nTo upgrade `bslint` run the following command in terminal `pip3 install bslint --upgrade`.\n\n# Running bslint from terminal\n\nTo run `bslint` from the terminal, `cd` to the directory that you wish to lint and run the command `bslint`.\n\n## Basic Options\n\nYou can run `bslint` in multiple ways:\n* `bslint` -\u003e Executes on the current directory and all subdirectories\n* `bslint -p \u003cdirectory_path\u003e` -\u003e Executes on the specified directory (if directory is not in the ignore list)\n* `bslint -p \u003cfile_path\u003e` -\u003e Executes only on the specified file (even if the parent directory is in the ignore list)\n* `bslint -l` -\u003e will only check the code for styling warnings, therefore not giving any errors.  \n   You can combine the `-p` flag with the `-l` if you want to only lex a specific folder or directory.(e.g. `bslint -p     \u003cfile_path\u003e -l` \n* `bslint -v` -\u003e will give you the current version. \nFor a general overview of all the possible commands you can always type `bslint -h` or `bslint --help`\n\n\n## Advanced Options\n\nYou can create a .bslintrc file, this MUST be in the same directory as your manifest file. \nThe .bslintrc file must be valid JSON.\nIn this file you can specify specific directories you want to ignore each time and override the default styling rules checks. \n\n**Every key in the .bslintrc file is optional (except for ignore, which can be left as an empty array )**\n\n```json\n{\n    \"ignore\": [\"components\", \"src/subdirectory_name\"],\n    \"spell_check\": {\n        \"active\": true,\n        \"params\": {\n            \"dictionary\": \"en_GB\"\n        }\n    }\n}\n```\n\nFor a full list of styling rules, view the default config file in bslint/config in the Github source code\n\n\n\n## Watching for Changes\n\nIf you want to run the linter each time a file changes then refer to this page in the wiki: https://github.com/sky-uk/bslint/wiki/Watching-For-Changes\n\n## Roku SDK Documentation\n[BrightScript Language Reference](https://sdkdocs.roku.com/display/sdkdoc/BrightScript+Language+Reference)\n\n## Support Channel\nIf you have any questions try contacting us on [Gitter](https://gitter.im/bslint/Lobby?utm_source=share-link\u0026utm_medium=link\u0026utm_campaign=share-link)\n\n\n## Team Members\n\nName |  Github\n------------ | -------------\nShane Bloomer |  [@sbsky](http://github.com/sbsky)\nJack Ingleton | [@JackIngleton](http://github.com/JackIngleton)\nZac Robinson | [@zac-robinson](https://github.com/zac-robinson)\nDaniele Sassoli | [@DanieleSassoli](https://github.com/DanieleSassoli)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsky-uk%2Fbslint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsky-uk%2Fbslint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsky-uk%2Fbslint/lists"}