Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Disabling `@typescript-eslint/explicit-member-accessibility` for interface's getters/setters

Eslint produces errors with

"@typescript-eslint/explicit-member-accessibility": [
  "error",
    {
      "accessibility": "explicit",
      "overrides": {
        "accessors": "explicit",
        "constructors": "no-public",
        "methods": "explicit",
        "properties": "explicit",
        "parameterProperties": "explicit"
      }
    }
  ],

When I declare this interface (ts 4.3.5)

export interface IFoo {
    get bar(): number;
    set bar(value: number);
}

I get these errors

@typescript-eslint/explicit-member-accessibility: Missing accessibility modifier on get property accessor bar.
@typescript-eslint/explicit-member-accessibility: Missing accessibility modifier on set property accessor bar.

Packages versions used

"typescript": "4.3.5",
"eslint": "7.32.0",
"@typescript-eslint/eslint-plugin": "4.29.2",
"@typescript-eslint/parser": "4.23.0"

Is there something I did wrong? Is this not yet supported by eslint?

like image 627
Vladyslav Yazykov Avatar asked Jan 20 '26 22:01

Vladyslav Yazykov


1 Answers

It must help you "accessors": "off",

This is my eslint config.

`"@typescript-eslint/explicit-member-accessibility": [
          "error",
          {
            "accessibility": "explicit",
            "overrides": {
              "accessors": "off",
              "constructors": "no-public",
              "methods": "explicit",
              "properties": "explicit",
              "parameterProperties": "explicit"
            }
          }
        ]`

documentation link https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/explicit-member-accessibility.md

working rule screenshot

like image 154
kmokry Avatar answered Jan 22 '26 18:01

kmokry