close

default-param-last

Unreleased

Configuration

rslint.config.ts
import { defineConfig, js } from '@rslint/core';

export default defineConfig([
  js.configs.recommended,
  {
    rules: {
      'default-param-last': 'error',
    },
  },
]);

Rule Details

Default parameters are most useful at the end of a parameter list, where callers can omit them. This rule reports default or optional parameters followed by required parameters.

Examples of incorrect code for this rule:

function createUser(isAdmin = false, id) {}

function connect(host = "localhost", port) {}

Examples of correct code for this rule:

function createUser(id, isAdmin = false) {}

function connect(port, host = "localhost") {}

The rule also supports TypeScript optional parameters and parameter properties.

Examples of incorrect TypeScript code for this rule:

function format(value?: string, radix: number) {}

class Client {
  constructor(public endpoint = "localhost", private retries: number) {}
}

Examples of correct TypeScript code for this rule:

function format(radix: number, value?: string) {}

class Client {
  constructor(private retries: number, public endpoint = "localhost") {}
}

Original Documentation