All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.7.6 - 2024-10-18
- upgrade to [email protected]. Notable changes since 0.67.7:
- Fix namespace-relative transpile bug for standalone file (brighterscript#1324)
- Prevent crash when ProgramBuilder.run called with no options (brighterscript#1316)
1.7.5 - 2024-09-26
- upgrade to [email protected]. Notable changes since 0.67.4:
1.7.4 - 2024-07-24
- upgrade to [email protected]. Notable changes since 0.67.2:
- Fix crash with missing scope (brighterscript#1234)
- Flag using devDependency in production code (brighterscript#1222)
1.7.3 - 2024-06-03
- upgrade to [email protected]. Notable changes since 0.67.1:
- Fix crash with optional chaining in signature help (brighterscript#1207)
1.7.2 - 2024-05-16
- fix-node14 (#91)
- upgrade to [email protected]. Notable changes since 0.65.27:
- Fix crash when diagnostic is missing range (brighterscript#1174)
1.7.1 - 2024-03-27
- upgrade to [email protected]. Notable changes since 0.65.25:
- Upgade LSP packages (brighterscript#1117)
- Increase max param count to 63 (brighterscript#1112)
- Prevent unused variable warnings on ternary and null coalescence expressions (brighterscript#1101)
1.7.0 - 2024-03-07
insertSpaceAfterConditionalCompileSymbol
property, fix conditional compile formatting (#87)
- upgrade to [email protected]. Notable changes since 0.65.23:
- Support when tokens have null ranges (brighterscript#1072)
- Support whitespace in conditional compile keywords (brighterscript#1090)
1.6.41 - 2024-02-29
- upgrade to [email protected]. Notable changes since 0.65.19:
- TBD-204: Empty interfaces break the parser (brighterscript#1082)
- Allow v1 syntax: built-in types for class member types and type declarations on lhs (brighterscript#1059)
- Move
coveralls-next
to a devDependency since it's not needed at runtime (brighterscript#1051) - Fix parsing issues with multi-index IndexedSet and IndexedGet (brighterscript#1050)
1.6.40 - 2024-01-30
- upgrade to [email protected]. Notable changes since 0.65.18:
- Backport v1 syntax changes (brighterscript#1034)
1.6.39 - 2024-01-25
- allow spacing on dotted get paths (#83)
- upgrade to [email protected]. Notable changes since 0.65.17:
- Prevent overwriting the Program._manifest if already set on startup (brighterscript#1027)
- Improving null safety: Add FinalizedBsConfig and tweak plugin events (brighterscript#1000)
1.6.38 - 2024-01-16
- upgrade to [email protected]. Notable changes since 0.65.16:
- adds support for libpkg prefix (brighterscript#1017)
- Assign .program to the builder BEFORE calling afterProgram (brighterscript#1011)
1.6.37 - 2024-01-08
- upgrade to [email protected]. Notable changes since 0.65.12:
- Prevent errors when using enums in a file that's not included in any scopes (brighterscript#995)
1.6.36 - 2023-12-07
- upgrade to [email protected]. Notable changes since 0.65.9:
- Add
optional
modifier for interface and class members (brighterscript#955) - Correct RANGE in template string when dealing with quotes in annotations (brighterscript#975)
- Enums as class initial values (brighterscript#950)
- Add
1.6.35 - 2023-11-08
- upgrade to [email protected]. Notable changes since 0.65.8:
- Fix issue with unary expression parsing (brighterscript#938)
- ci: Don't run
test-related-projects
on release since it already ran on build (#brighterscript157fc2e)
1.6.34 - 2023-10-06
- upgrade to [email protected]. Notable changes since 0.65.7:
- Bump postcss from 8.2.15 to 8.4.31 (brighterscript#928)
- Add interface parameter support (brighterscript#924)
- Better typing for
Deferred
(brighterscript#923)
1.6.33 - 2023-09-28
- Sort imports (#75)
- upgrade to [email protected]
1.6.32 - 2023-09-11
- upgrade to [email protected]. Notable changes since 0.65.4:
- Fix crashes in util for null ranges (brighterscript#869)
1.6.31 - 2023-07-24
- Bump word-wrap from 1.2.3 to 1.2.4 (#74)
- upgrade to [email protected]. Notable changes since 0.65.1:
- Bump word-wrap from 1.2.3 to 1.2.4 (brighterscript#851)
- Bump semver from 5.7.1 to 5.7.2 (brighterscript#837)
- Prevent crashing when diagnostic is missing range. (brighterscript#832)
- Prevent crash when diagnostic is missing range (brighterscript#831)
1.6.30 - 2023-07-05
- upgrade to [email protected]. Notable changes since 0.65.0:
- Fix injection of duplicate super calls into classes (brighterscript#823)
1.6.29 - 2023-05-17
- upgrade to [email protected]
1.6.28 - 2023-05-10
- upgrade to [email protected]
1.6.27 - 2023-04-28
- upgrade to [email protected]. Notable changes since 0.64.2:
- Improves performance in symbol table fetching (brighterscript#797)
1.6.26 - 2023-04-18
- upgrade to [email protected]. Notable changes since 0.64.1:
- Fix namespace-relative enum value (brighterscript#793)
1.6.25 - 2023-04-14
- upgrade to [email protected]. Notable changes since 0.62.0:
- Bump xml2js from 0.4.23 to 0.5.0 (brighterscript#790)
1.6.24 - 2023-03-17
- upgrade to [email protected]. Notable changes since 0.61.3:
- Fix crash when func has no block (brighterscript#774)
- Move not-referenced check into ProgramValidator (brighterscript#773)
- indent format issue related to optional chaining array access (#71)
1.6.23 - 2023-01-12
- upgrade to [email protected]
1.6.22 - 2022-12-15
- Bump qs from 6.5.2 to 6.5.3 (#64)
1.6.21 - 2022-12-15
- upgrade to [email protected]. Notable changes since 0.61.1:
- Bump qs from 6.5.2 to 6.5.3 (brighterscript#758)
- indentation related to
continue for
andcontinue while
(#65)
1.6.20 - 2022-12-08
- upgrade to [email protected]. Notable changes since 0.60.4:
- Ensure enums and interfaces persist in typedefs (brighterscript#757)
- Fix exception while validating continue statement (brighterscript#752)
- Add missing visitor params for DottedSetStatement (brighterscript#748)
- Flag incorrectly nested statements (brighterscript#747)
- Prevent a double
super
call in subclasses (brighterscript#740) - Fixes issues with Roku doc scraper and adds missing components (brighterscript#736)
- Cache
getCallableByName
(brighterscript#739) - Prevent namespaces being used as variables (brighterscript#738)
- Refactor SymbolTable and AST parent logic (brighterscript#732)
- Fix crash in
getDefinition
(brighterscript#734)
1.6.19 - 2022-10-28
- upgrade to [email protected]. Notable changes since 0.60.3:
- Allow
continue
as local var (brighterscript#730) - Add name to symbol table (brighterscript#728)
- Allow
1.6.18 - 2022-10-20
- upgrade to [email protected]. Notable changes since 0.59.0:
- better parse recover for unknown func params (brighterscript#722)
- Fix if statement block var bug (brighterscript#698)
- Beter location for bs1042 (brighterscript#719)
- Allow nested namespaces (brighterscript#708)
1.6.17 - 2022-10-03
- upgrade to [email protected]. Notable changes since 0.57.0:
- Syntax and transpile support for continue statement (brighterscript#697)
1.6.16 - 2022-09-02
- Split formatter into separate processors (#57)
- Break
process
into smaller functions (#59) - Rename all
Formatter
process
methods toformat
(#60)
- mod keywordCase formatting (#62)
- Parse all code as brighterscript to improve formatting context (#61)
- upgrade to [email protected]. Notable changes since 0.56.0:
- Allow
mod
as an aa prop, aa member identifier kinds forced to Identifier (brighterscript#684)
- Allow
1.6.15 - 2022-08-24
- upgrade to [email protected]. Notable changes since 0.55.1:
1.6.14 - 2022-08-12
- upgrade to [email protected]. Notable changes since 0.53.1:
- Fix typescript error for ast parent setting (brighterscript#659)
1.6.13 - 2022-07-16
- Bump moment from 2.29.2 to 2.29.4 (#56)
- Fix import statement formatting. (#55)
- upgrade to [email protected]. Notable changes since 0.48.0:
- New Language Feature: Constants (brighterscript#632)
- Use
util.createLocation
, notLocation.create()
(brighterscript#637) - Fix missing range on interface statement (brighterscript#623)
- Catch class circular extends (brighterscript#619)
- Load projects based on bsconfig.json presence (brighterscript#613)
- Better super handling (brighterscript#590)
- Don't push synthetic constructor into each class (brighterscript#586)
- Allow interfaces and enums as function param types (brighterscript#580)
1.6.12 - 2022-04-13
- updated to [email protected]
- adds syntax support for optional chaining operator
1.6.11 - 2022-04-07
- updated to [email protected]
1.6.10 - 2022-03-17
- updated to [email protected]
1.6.9 - 2022-02-24
- updated to [email protected]
- fixed significant memory leak brighterscript#527
1.6.8 - 2022-02-11
- updated to [email protected]
- properly indent enums and enum members
1.6.7 - 2022-02-01
- ensures that
removeWhitespace
function looks at all tokens to the right (#49)
1.6.6 - 2022-01-28
- updated to [email protected]
- properly formats an interface that includes subs and functions (#46)
- better support for appropriate whitespace between minus and numbers/identifiers (#47)
1.6.5 - 2022-01-14
- updated to [email protected]
interface
indentation (#45)
1.6.4 - 2022-01-05
- updated to [email protected]
- formatting issue with ternary operator and square brace in the consequent (#44)
1.6.3 - 2021-10-27
- updated to [email protected]
1.6.2 - 2021-09-17
- updated to [email protected]
1.6.1 - 2021-06-21
- updated to [email protected]
- several npm security vulnerabilities
1.6.0 - 2020-11-25
- formatting support for
try
/catch
/throw
/end try
- updated to [email protected]
1.5.5 - 2020-10-28
- formatting support for BrighterScript annotations
- updated to [email protected]
- use BrighterScript's AST walking functionality for improved performance
1.5.4 - 2020-07-29
- bug that was not including
bsconfig.schema.json
in the npm package when published (because it was not included in thefiles
array inpackage.json
).
1.5.3 - 2020-07-19
bsfmt.schema.json
file in the package for use in tooling.
1.5.2 - 2020-07-19
- export
Runner
fromindex.ts
directly to simplify API usage.
1.5.1 - 2020-07-19
- public method
Runner#getBsfmtOptions
which allows external api consumers to use the standard file loading logic. - cli option to disable
bsfmt.json
loading. - cli option to provide custom
bsfmt.json
path.
- removed method
Runner#loadOptionsFromFile
introduced in v1.5.0 in favor ofgetBsfmtOptions
. Although this is technically a breaking change, it is very unlikely that anyone is actively calling that new method.
1.5.0 - 2020-07-18
- command line interface (CLI) to support running the formatter against projects from a terminal.
- support for loading config options from a bsfmt.json file found in the same working directory.
1.4.0 - 2020-05-29
- new method to generate source maps during format.
- new option
insertSpaceBetweenAssociativeArrayLiteralKeyAndColon
which will ensure exactly 1 or 0 spaces between an associative array key and its trailing colon. (#17)
- bugs related to formatting single-line if statements (#13)
1.3.0 - 2020-05-21
- new option
formatMultiLineObjectsAndArrays
which inserts newlines and indents multi-line objects and arrays
1.2.0 - 2020-05-20
- new option
insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces
which...does what it says. (#16
- TypeScript transpile now targets ES2017, so this library now requires a minimum of NodeJS version 8.
- incorrect indent when using
class
,endclass
,namespace
,endnamespace
as an object property (#18)
1.1.8 - 2020-05-11
- bug that would incorrectly add spacing between a negative sign and a number if it's the first entry in an array (#14)
- bug that would incorrectly add spacing to the left of a negative sign if preceeded by a left curly bracket or left paren.
- Prevent indent after lines with indexed getter function call (i.e.
someObj[someKey]()
) (#15)
1.1.7 - 2020-05-11
- upgraded to [email protected]
1.1.6 - 2020-05-04
- issue where object properties named
next
would incorrectly cause a de-indent (#12)
1.1.5 - 2020-05-01
- new formatting option
typeCaseOverride
which works just likekeywordCaseOverride
but only for type tokens.
- conditional compile
keywordCaseOverride
andtypeCaseOverride
characters now support using the literal tokens#if
,#else
, etc...
1.1.4 - 2020-05-01
- incorrect indent of upper-case two-word conditional compile blocks
#ELSE IF
and#END IF
.
- upgraded to [email protected]
1.1.3 - 2020-05-01
- Unwanted spacing between a negative sign and a number whenever preceeded by a comma (#8)
- Remove whitespace preceeding a comma within a statement (#5)
- Remove leading whitespace around
++
and--
(#10) - bug when providing
null
to keywordCaseOverride would case crash - Fix bug with titleCase not being properly handled.
- Only indent once for left square bracket and left square curly brace on the same line (#6)
1.1.2 - 2020-04-29
- upgraded to [email protected]
1.1.1 - 2020-04-27
- bug that was losing an indent level when indenting
foreach
statements
1.1.0 - 2020-04-23
- indent support for class and namespace
- keyword case support for class, namespace, and import keywords
- Now uses BrighterScript for lexing and parsing.
1.0.2 - 2019-09-18
- upgraded to brightscript-parser@1.2.1
- bug that was de-indending lines after lines ending with
end
(likesometing.end\nif
)
1.0.1 - 2019-09-17
- bug where empty lines are padded with indent spaces #1
1.0.0 - 2019-09-17
- initial project release
- converted from brightscript-formatter