mkotsollaris / eslint-plugin-no-explicit-undefined

Eslint rule to prevent undefined declaration in favor of optional chaining (?) operator in Typescript

Home Page:https://menelaos.dev/eslint-plugin-no-explicit-undefined

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ESLint Plugin: eslint-plugin-no-explicit-undefined

Disallow the use of undefined as an explicit type in TypeScript and instead use optional operator (?) instead.

πŸ“š Rule Examples

This rule disallows the use of undefined as an explicit type in TypeScript. Instead, developers should use optional properties or null.

Examples of incorrect code for this rule ❌

function example(param: string | undefined) {}
class Test { constructor(public prop: string | undefined) {} }
interface Example { prop: string | undefined; }

Examples of correct code for this rule βœ…

function example(param?: string) {} 
class Test { constructor(public prop?: string) {} }
interface Example { prop?: string; }

πŸš€ Installation

Install the package using npm:

npm install eslint-plugin-no-explicit-undefined --save-dev

Install the package using yarn:

yarn add eslint-plugin-no-explicit-undefined --dev

Install the package using pnpm:

pnpm install eslint-plugin-no-explicit-undefined --save-dev

πŸ“ Configuration

To configure the rule, add it to your ESLint configuration file (.eslintrc.json, .eslintrc.js, etc.):

{
  "extends": ["custom"],
  "plugins": ["no-undefined-type-declaration"],
  "rules": {
    "no-undefined-type-declaration/no-undefined-type": "error"
  }
}

πŸ“ƒ License

MIT

About

Eslint rule to prevent undefined declaration in favor of optional chaining (?) operator in Typescript

https://menelaos.dev/eslint-plugin-no-explicit-undefined


Languages

Language:JavaScript 100.0%