Download Latest Version v3.0.0 source code.tar.gz (204.7 kB)
Email in envelope

Get an email when there's a new version of roblox-ts

Home / v3.0.0
Name Modified Size InfoDownloads / 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
  • --optimizedLoops flag is now enabled by default
    • this will optimize loops like for (let i = 1; i <= 10; i++) {} into for 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
  • Improve emit for a.b() and a[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 the catch 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 following json "jsx": "react", "jsxFactory": "Roact.jsx", "jsxFragmentFactory": "Roact.Fragment",
  • 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.
Source: README.md, updated 2024-09-12