TS17017
TypeScriptERRORNotableTypeHIGH confidence

An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments.

Production Risk

Build will fail; resolve before shipping.

What this means

A TypeScript diagnostic (TS17017): An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments.. This diagnostic is emitted by the TypeScript compiler when an @jsxFrag pragma is required when using an @jsx pragma with JSX fragments..

Why it happens
  1. 1JSX syntax used without enabling '--jsx' compiler option
  2. 2Missing React or JSX runtime import
How to reproduce

TypeScript compiler reports TS17017 during type checking.

trigger — this will error
trigger — this will error
// Triggers TS17017
// An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments.

expected output

error TS17017: An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments.

Fix

Enable JSX in tsconfig.json

WHEN Using JSX syntax in TypeScript files

Enable JSX in tsconfig.json
// tsconfig.json
{
  "compilerOptions": {
    "jsx": "react-jsx"  // or "react", "preserve", etc.
  }
}

Why this works

The '--jsx' option tells TypeScript how to transform JSX; choose 'react-jsx' for React 17+ or 'react' for older versions.

Sources
Official documentation ↗

TypeScript Compiler Diagnostics

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All TypeScript errors