Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

eslint-plugin-require-explicit-generics

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eslint-plugin-require-explicit-generics

Force configured functions to include explicit generics

  • 1.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

eslint-plugin-require-explicit-generics

Allow configured functions to require explicit generics.

Why?

Some libraries are over-permissive with their types, allowing generics to be omitted defaulting them to the any type. To prevent accidentally relying on this behaviour: this plugin allows you to specify a list of functions and constructors that MUST have explicit generics set.

Example

If you list myFunction in your .eslintrc.js:

myFunction(); // ❌ ESLint: Function 'myFunction' must be called with explicit generics...
myFunction<SomeType>(); // ✅ ESLint: Pass

Installation

First install ESLint:

# npm 
npm install eslint --save-dev

# yarn 
yarn add eslint --dev

Next, install eslint-plugin-require-explicit-generics

# npm
npm install eslint-plugin-require-explicit-generics --save-dev

# yarn
yarn add eslint-plugin-require-explicit-generics --dev

Configuration (REQUIRED)

In your .estlintrc.js add "require-explicit-generics" to the plugin list.

plugins: [
  "require-explicit-generics",
],

Then in the rules section set "require-explicit-generics/require-explicit-generics" pass the log level (either "error" or "warning"), then the list of functions to check.

rules: {
  "require-explicit-generics/require-explicit-generics": [
    "error",
    // List your functions here
    [ "myFunction", "myVar.myOtherFunction" ]
  ]
},

You can also use a map to define how many generics to expect for each function.

rules: {
  "require-explicit-generics/require-explicit-generics": [
    "error",
    { "myFunction": 3, "myVar.myOtherFunction": 1 }
  ]
},
myVar.myOtherFunction(); // Function 'myVar.myOtherFunction' must be called with generics...
myFunction<TypeA>(); // Function 'myOtherFunction' called with too few explicit generics...

FAQs

Package last updated on 12 Nov 2023

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc