Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: TypeScriptToLua/TypeScriptToLua
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master@{1day}
Choose a base ref
...
head repository: TypeScriptToLua/TypeScriptToLua
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
  • 4 commits
  • 14 files changed
  • 1 contributor

Commits on Apr 16, 2026

  1. Fix/object assign non table source (#1642) (#1710)

    * fix Object.assign crashing when source is a non-table value
    
    `{ ...(cond && obj) }` short-circuits to `false` when `cond` is falsy. JS
    treats this as a no-op (Object.assign coerces primitives to wrapper objects
    with no own enumerable properties), but `__TS__ObjectAssign` was iterating
    every source unconditionally, so `pairs(false)` errored at runtime.
    
    Skip non-table sources, matching the spec for null/undefined/primitive args.
    
    * refactor __TS__ObjectAssign to emit cleaner Lua
    
    Invert the type guard so it nests the spread loop instead of using `continue`,
    which lowered to a `repeat ... until true` + `break` dance. Same behavior,
    the bundled helper now reads like the hand-written original.
    RealColdFry authored Apr 16, 2026
    Configuration menu
    Copy the full SHA
    c3b3a8b View commit details
    Browse the repository at this point in the history
  2. fix array destructuring prefix operator side effects (#1405) (#1708)

    * fix array destructuring not preserving evaluation order with side effects (#1405)
    
    * add more test cases for array destructuring side effects
    RealColdFry authored Apr 16, 2026
    Configuration menu
    Copy the full SHA
    781db84 View commit details
    Browse the repository at this point in the history
  3. fix return, break and continue inside try in async functions (#1706) (#…

    …1707)
    
    * fix return, break and continue inside try in async functions (#1706)
    
    * more tests
    
    * add multi-return test for async try
    
    * simplify
    
    * reorder functions
    RealColdFry authored Apr 16, 2026
    Configuration menu
    Copy the full SHA
    5753d6c View commit details
    Browse the repository at this point in the history
  4. fix dots in file/directory names breaking Lua require resolution (#1445

    …) (#1702)
    
    * fix dots in file/directory names breaking Lua require resolution (#1445)
    
    Lua's require() uses dots as path separators, so a file at Foo.Bar/index.lua
    is unreachable via require("Foo.Bar.index") since Lua looks for Foo/Bar/index.lua.
    Expand dotted path segments into nested directories in the emit output, and emit
    a diagnostic when this expansion causes output path collisions.
    
    * replace dots with underscores in output paths instead of expanding to nested directories
    
    * more tests
    RealColdFry authored Apr 16, 2026
    Configuration menu
    Copy the full SHA
    2fc2e99 View commit details
    Browse the repository at this point in the history
Loading