Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
README.md | 2024-09-12 | 3.2 kB | |
v3.0.0 source code.tar.gz | 2024-09-12 | 204.7 kB | |
v3.0.0 source code.zip | 2024-09-12 | 350.8 kB | |
Totals: 3 Items | 558.8 kB | 11 |
- TypeScript dependency updated to 5.5.3 (#2617, [#2648], [#2716], [#2736])
- Generic JSX (#2404)
- JSX can now be used for any library which matches
React.createElement()
syntax
- JSX can now be used for any library which matches
--optimizedLoops
flag is now enabled by default- this will optimize loops like
for (let i = 1; i <= 10; i++) {}
intofor i = 1, 10 do end
- please report any issues here
- if necessary, you can run the compiler with
--optimizedLoops=false
to return to the old behavior
- this will optimize loops like
- Improve emit for
a.b()
anda[b]()
(#2623) - Fixed bug where
noMacroExtends
diagnostic would never be reported (#2587) - Fixed bug where
noRobloxSymbolInstanceof
diagnostic would not always be reported (#2672) - Fixed watch mode error for files with "unsupported extensions" (#2701)
- Fixed multiline template string bug on Windows (roblox-ts/luau-ast#483)
- Fixed template string unicode escape sequence bug (roblox-ts/luau-ast#483)
- Fixed optional arguments when spreading into macro (#2528)
- Fixed nested classes not getting hoisted (#2728)
- Pinned exact versions of @roblox-ts dependencies (#2724)
- Fixed bug where error was not rethrown after a
finally
block (#2726) - Fixed bug where
finally
block was not run if thecatch
block errored (#2726) - Fixed importing directories that are symlinked twice (#2704)
- Moved all
@types/*
to devDependencies (#2737) - Corrected parameter decorator name argument (#2460)
- Corrected decorator execution ordering (#2759)
- Fixed
export {}
not working on imported variables (#2796) - Fixed statements before super breaking class initialization (#2778)
- Fixed internal transformPaths transformer (#2800)
- Added support for
.luau
file extension (#2802) - Fix typo in issue [#1149]'s diagnostic (#2649)
- Added an error if
types
is not found in tsconfig.json (#2533)
Breaking Changes
- To continue using
@rbxts/roact
+ JSX- roblox-ts 3.0.0+ will require
@rbxts/roact
3.0.1+ - Class components must be tagged with
@Roact.ClassComponent
- Top-level JSX expressions no longer support
Key
. To preserve previous behavior, you should wrap it in a fragment:tsx <><screengui Key="ScreenGui" />
- In
tsconfig.json
you should set the followingjson "jsx": "react", "jsxFactory": "Roact.jsx", "jsxFragmentFactory": "Roact.Fragment",
- roblox-ts 3.0.0+ will require
- Upgraded bundled
roblox-lua-promise
from 3.2.1 to 4.0.0. See possible breaking changes here. - The TypeScript update includes a few edge-case breaking changes: 5.4 and 5.5
- roblox-ts will emit compiled files as
.luau
by default. You can keep the old behaviour by running with--luau=false
. - Parameter decorators will now be called with the name of the method, instead of the name of the parameter. This matches TypeScript behaviour.