🚀 Socket Launch Week 🚀 Day 2: Introducing Repository Labels and Security Policies.Learn More
Socket
Sign inDemoInstall
Socket

eslint-plugin-jsx-falsy

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eslint-plugin-jsx-falsy

Avoid accidentally rendering falsy values in your JSX.

1.0.0
latest
Source
npm
Version published
Weekly downloads
2.8K
-4.44%
Maintainers
1
Weekly downloads
 
Created
Source

eslint-plugin-jsx-falsy

Avoid accidentally rendering falsy values in your JSX. Only works with @typescript-eslint/parser, and uses type information.

Exposes a single eslint rule, no-falsy-and, that errors if the left side of an inline && expression in JSX is a string or number. These expressions can cause unwanted values to render, and can even cause some crashes in React Native, when the string or number is falsy ("" or 0).

Examples

function MyComponent(props: {
  str: string;
  num: number;
  maybeString: string | null;
  maybeObj: {} | null;
}) {
  return (
    <div>
      {props.str && <ComponentX /> /* error */}
      {!!props.str && <ComponentX /> /* no error */}
      {props.maybeString && <ComponentX /> /* error */}
      {props.maybeObj && <ComponentX /> /* no error */}
      {props.num && <ComponentX /> /* error */}
    </div>
  );
}

Installation

You'll first need to install ESLint and @typescript-eslint/parser:

$ yarn add --dev eslint @typescript-eslint/parser

Next, install eslint-plugin-jsx-falsy:

$ yarn add --dev eslint-plugin-jsx-falsy

Note: If you installed ESLint globally (using yarn global or npm install -g) then you must also install eslint-plugin-jsx-falsy globally.

Usage

Add jsx-falsy to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix. Note that the rule won't work unless project is specified in parserOptions, since this rule uses type information (more details here).

{
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "project": ["./tsconfig.json"]
  },
  "plugins": ["jsx-falsy"]
}

Then configure the rules you want to use under the rules section.

{
  "rules": {
    "jsx-falsy/no-falsy-and": "error"
  }
}

Keywords

eslint

FAQs

Package last updated on 02 Feb 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts