Skip to main content

max-params

Enforce a maximum number of parameters in function definitions.

This rule extends the base eslint/max-params rule. This version adds support for TypeScript this parameters so they won't be counted as a parameter.

How to Use

eslint.config.mjs
export default tseslint.config({
rules: {
// Note: you must disable the base rule as it can report incorrect errors
"max-params": "off",
"@typescript-eslint/max-params": "error"
}
});

Try this rule in the playground ↗

Options

See eslint/max-params's options.

This rule adds the following options:

interface Options extends BaseMaxParamsOptions {
countVoidThis?: boolean;
}

const defaultOptions: Options = {
...baseMaxParamsOptions,
countVoidThis: false,
};

countVoidThis

Whether to count a this declaration when the type is void. Default: false.

Example of a code when countVoidThis is set to false and max is 1:

function hasNoThis(this: void, first: string, second: string) {
// ...
}
Open in Playground

Resources

Taken with ❤️ from ESLint core.