Skip to main content

React project

Setting up Markuplint for a React (JSX/TSX) project.

What you need

Install Markuplint with the JSX parser and React spec:

npm install -D markuplint @markuplint/jsx-parser @markuplint/react-spec

Configuration

.markuplintrc
{
"extends": ["markuplint:recommended-react"],
"parser": {
"\\.[jt]sx$": "@markuplint/jsx-parser"
},
"specs": {
"\\.[jt]sx$": "@markuplint/react-spec"
}
}

This configuration:

  • Applies the recommended-react preset (includes all base presets + React-specific rules like no-hard-code-id)
  • Parses .jsx and .tsx files with the JSX parser
  • Recognizes React-specific attributes (key, className, htmlFor, etc.) via the React spec

With Pretenders

If you want Markuplint to validate your custom components as if they were native HTML elements, add the Pretenders configuration. We recommend using automatic scanning — it discovers component-to-element mappings from your source files, so you don't need to maintain them manually:

.markuplintrc
{
"extends": ["markuplint:recommended-react"],
"parser": {
"\\.[jt]sx$": "@markuplint/jsx-parser"
},
"specs": {
"\\.[jt]sx$": "@markuplint/react-spec"
},
"pretenders": {
"scan": [
{
"files": "./src/components/**/*.tsx"
}
]
}
}
tip

The scan feature was introduced in v5. It replaces the need to manually list every component mapping — just point it at your component directory and Markuplint handles the rest.