Skip to content

jsxRuntime pragma does not workΒ #59340

Closed
@clemyan

Description

@clemyan

πŸ”Ž Search Terms

jsxRuntime

πŸ•— Version & Regression Information

  • This is the behavior in every version I tried, and I reviewed the FAQ for entries about jsxRuntime

⏯ Playground Link

https://www.typescriptlang.org/play/?jsx=4&ts=5.6.0-dev.20240717#code/PQKgBAAgVgzgHgJQK4DsAuBLAtgUzAYwBsBDGGDfMEYAKBzgAcB7AJzQKZRnYAkdDCTAOqtCAEzABeMAAoAlFIB8YADwALAIyK+ApmADuosSuCbFAbiA

πŸ’» Code

/* @jsxRuntime classic */
export const HelloWorld = () => <h1>Hello world</h1>;

πŸ™ Actual behavior

The jsxRuntime pragma is not respected and function emit follows the jsx option in the TSConfig.

For example, with "jsx": "react-jsx", the function is emitted as

export const HelloWorld = () => _jsx("h1", { children: "Hello world" })

πŸ™‚ Expected behavior

The jsxRuntime pragma is respected and the function is emitted as

export const HelloWorld = () => React.createElement("h1", null, "Hello world")

Additional information about the issue

The code above is copied verbatim from the TSConfig Reference

Metadata

Metadata

Assignees

Labels

Fix AvailableA PR has been opened for this issueNeeds InvestigationThis issue needs a team member to investigate its status.feature-requestA request for a new feature

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions