Files
bun.sh/test/bundler
Dylan Conway 52629145ca fix(parser): TSX arrow function bugfix (#23082)
### What does this PR do?
Missing `.t_equals` and `.t_slash` checks. This matches esbuild.

```go
// Returns true if the current less-than token is considered to be an arrow
// function under TypeScript's rules for files containing JSX syntax
func (p *parser) isTSArrowFnJSX() (isTSArrowFn bool) {
	oldLexer := p.lexer
	p.lexer.Next()

	// Look ahead to see if this should be an arrow function instead
	if p.lexer.Token == js_lexer.TConst {
		p.lexer.Next()
	}
	if p.lexer.Token == js_lexer.TIdentifier {
		p.lexer.Next()
		if p.lexer.Token == js_lexer.TComma || p.lexer.Token == js_lexer.TEquals {
			isTSArrowFn = true
		} else if p.lexer.Token == js_lexer.TExtends {
			p.lexer.Next()
			isTSArrowFn = p.lexer.Token != js_lexer.TEquals && p.lexer.Token != js_lexer.TGreaterThan && p.lexer.Token != js_lexer.TSlash
		}
	}

	// Restore the lexer
	p.lexer = oldLexer
	return
}
```

fixes #19697
### How did you verify your code works?
Added some tests.
2025-09-29 05:10:16 -07:00
..
2024-06-27 14:56:07 -07:00
2025-04-10 14:58:46 -07:00