Back to Biomejs

useConsistentMemberAccessibility

src/content/docs/linter/rules/use-consistent-member-accessibility.mdx

latest27.8 KB
Original Source

import { Tabs, TabItem } from '@astrojs/starlight/components';

<Tabs> <TabItem label="TypeScript and TSX" icon="seti:typescript"> ## Summary - Rule available since: `v1.9.0` - Diagnostic Category: [`lint/style/useConsistentMemberAccessibility`](/reference/diagnostics#diagnostic-category) - This rule isn't recommended, so you need to enable it. - This rule doesn't have a fix. - The default severity of this rule is [**information**](/reference/diagnostics#information). - Sources: - Same as [`@typescript-eslint/explicit-member-accessibility`](https://typescript-eslint.io/rules/explicit-member-accessibility)

How to configure

json
{
	"linter": {
		"rules": {
			"style": {
				"useConsistentMemberAccessibility": "error"
			}
		}
	}
}

Description

Require consistent accessibility modifiers on class properties and methods.

TypeScript allows placing explicit public, protected, and private accessibility modifiers in front of class members. The modifiers exist solely in the type system and just serve to describe who is allowed to access those members. Leaving off accessibility modifiers makes for less code to read and write. Members are public by default.

However, adding in consistent accessibility modifiers can be helpful in codebases with many classes for enforcing proper privacy of members. Some developers also find it preferable for code readability to keep member publicity explicit.

Examples

Invalid

"accessibility": "noPublic" (default value)

Use the following configuration to disallow all explicit public modifiers:

json
{
	"linter": {
		"rules": {
			"style": {
				"useConsistentMemberAccessibility": {
					"options": {
						"accessibility": "noPublic"
					}
				}
			}
		}
	}
}

The following patterns are considered incorrect code with noPublic:

ts
class Animal {
  public constructor(breed, name) {
    // ...
  }
}
<pre class="language-text"><code class="language-text">code-block.ts:2:3 <a href="https://biomejs.dev/linter/rules/use-consistent-member-accessibility">lint/style/useConsistentMemberAccessibility</a> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">The </span><span style="color: lightgreen;"><strong>public</strong></span><span style="color: lightgreen;"> modifier is disallowed.</span> <strong>1 │ </strong>class Animal &#123; <strong><span style="color: Tomato;">&gt;</span></strong> <strong>2 │ </strong> public constructor(breed, name) &#123; <strong> │ </strong> <strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong> <strong>3 │ </strong> // ... <strong>4 │ </strong> &#125; <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">Remove the accessibility modifier.</span> </code></pre>
ts
class Animal {
  constructor(
    public breed,
    name,
  ) {
    // ...
  }
}
<pre class="language-text"><code class="language-text">code-block.ts:3:5 <a href="https://biomejs.dev/linter/rules/use-consistent-member-accessibility">lint/style/useConsistentMemberAccessibility</a> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">The </span><span style="color: lightgreen;"><strong>public</strong></span><span style="color: lightgreen;"> modifier is disallowed.</span> <strong>1 │ </strong>class Animal &#123; <strong>2 │ </strong> constructor( <strong><span style="color: Tomato;">&gt;</span></strong> <strong>3 │ </strong> public breed, <strong> │ </strong> <strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong> <strong>4 │ </strong> name, <strong>5 │ </strong> ) &#123; <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">Remove the accessibility modifier.</span> </code></pre>
ts
class Animal {
  public animalName: string;
}
<pre class="language-text"><code class="language-text">code-block.ts:2:3 <a href="https://biomejs.dev/linter/rules/use-consistent-member-accessibility">lint/style/useConsistentMemberAccessibility</a> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">The </span><span style="color: lightgreen;"><strong>public</strong></span><span style="color: lightgreen;"> modifier is disallowed.</span> <strong>1 │ </strong>class Animal &#123; <strong><span style="color: Tomato;">&gt;</span></strong> <strong>2 │ </strong> public animalName: string; <strong> │ </strong> <strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong> <strong>3 │ </strong>&#125; <strong>4 │ </strong> <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">Remove the accessibility modifier.</span> </code></pre>
ts
class Pet {
  public get name(): string {
    return this.animalName;
  }
}
<pre class="language-text"><code class="language-text">code-block.ts:2:3 <a href="https://biomejs.dev/linter/rules/use-consistent-member-accessibility">lint/style/useConsistentMemberAccessibility</a> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">The </span><span style="color: lightgreen;"><strong>public</strong></span><span style="color: lightgreen;"> modifier is disallowed.</span> <strong>1 │ </strong>class Pet &#123; <strong><span style="color: Tomato;">&gt;</span></strong> <strong>2 │ </strong> public get name(): string &#123; <strong> │ </strong> <strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong> <strong>3 │ </strong> return this.animalName; <strong>4 │ </strong> &#125; <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">Remove the accessibility modifier.</span> </code></pre>
ts
class Pet {
  public set name(value: string) {
    this.animalName = value;
  }
}
<pre class="language-text"><code class="language-text">code-block.ts:2:3 <a href="https://biomejs.dev/linter/rules/use-consistent-member-accessibility">lint/style/useConsistentMemberAccessibility</a> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">The </span><span style="color: lightgreen;"><strong>public</strong></span><span style="color: lightgreen;"> modifier is disallowed.</span> <strong>1 │ </strong>class Pet &#123; <strong><span style="color: Tomato;">&gt;</span></strong> <strong>2 │ </strong> public set name(value: string) &#123; <strong> │ </strong> <strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong> <strong>3 │ </strong> this.animalName = value; <strong>4 │ </strong> &#125; <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">Remove the accessibility modifier.</span> </code></pre>
ts
class Dog {
  public walk() {
    // ...
  }
}
<pre class="language-text"><code class="language-text">code-block.ts:2:3 <a href="https://biomejs.dev/linter/rules/use-consistent-member-accessibility">lint/style/useConsistentMemberAccessibility</a> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">The </span><span style="color: lightgreen;"><strong>public</strong></span><span style="color: lightgreen;"> modifier is disallowed.</span> <strong>1 │ </strong>class Dog &#123; <strong><span style="color: Tomato;">&gt;</span></strong> <strong>2 │ </strong> public walk() &#123; <strong> │ </strong> <strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong> <strong>3 │ </strong> // ... <strong>4 │ </strong> &#125; <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">Remove the accessibility modifier.</span> </code></pre>

"accessibility": "explicit"

Use the following configuration to enforce the presence of explicit modifiers wherever possible:

json
{
	"linter": {
		"rules": {
			"style": {
				"useConsistentMemberAccessibility": {
					"options": {
						"accessibility": "explicit"
					}
				}
			}
		}
	}
}

The following patterns are considered incorrect code with accessibility set to explicit:

ts
class Animal {
  constructor( // Invalid: Missing accessibility modifier
    public breed,
    name,
  ) {
    this.animalName = name;
  }
  private animalName: string; // OK: Modifier must be present
  public get name(): string { // OK: Modifier must be present
    return this.animalName;
  }
  public set name(value: string) { // OK: Modifier must be present
    this.animalName = value;
  }
  protected walk() { // OK: Modifier must be present
    // ...
  }
}
<pre class="language-text"><code class="language-text">code-block.ts:2:3 <a href="https://biomejs.dev/linter/rules/use-consistent-member-accessibility">lint/style/useConsistentMemberAccessibility</a> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">Missing accessibility modifier on this member.</span> <strong>1 │ </strong>class Animal &#123; <strong><span style="color: Tomato;">&gt;</span></strong> <strong>2 │ </strong> constructor( // Invalid: Missing accessibility modifier <strong> │ </strong> <strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong> <strong><span style="color: Tomato;">&gt;</span></strong> <strong>3 │ </strong> public breed, <strong><span style="color: Tomato;">&gt;</span></strong> <strong>4 │ </strong> name, <strong><span style="color: Tomato;">&gt;</span></strong> <strong>5 │ </strong> ) &#123; <strong><span style="color: Tomato;">&gt;</span></strong> <strong>6 │ </strong> this.animalName = name; <strong><span style="color: Tomato;">&gt;</span></strong> <strong>7 │ </strong> &#125; <strong> │ </strong> <strong><span style="color: Tomato;">^</span></strong> <strong>8 │ </strong> private animalName: string; // OK: Modifier must be present <strong>9 │ </strong> public get name(): string &#123; // OK: Modifier must be present <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">Use </span><span style="color: lightgreen;"><strong>public</strong></span><span style="color: lightgreen;"> to explicitly make a member public.</span> </code></pre>

"accessibility": "none"

Use the following configuration to disallow all explicit visibility modifiers:

json
{
	"linter": {
		"rules": {
			"style": {
				"useConsistentMemberAccessibility": {
					"options": {
						"accessibility": "none"
					}
				}
			}
		}
	}
}

The following patterns are considered incorrect code with accessibility set to none:

ts
class Animal {
  protected constructor(breed, name) {
    // ...
  }
}
<pre class="language-text"><code class="language-text">code-block.ts:2:3 <a href="https://biomejs.dev/linter/rules/use-consistent-member-accessibility">lint/style/useConsistentMemberAccessibility</a> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">Accessibility modifiers are disallowed.</span> <strong>1 │ </strong>class Animal &#123; <strong><span style="color: Tomato;">&gt;</span></strong> <strong>2 │ </strong> protected constructor(breed, name) &#123; <strong> │ </strong> <strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong> <strong>3 │ </strong> // ... <strong>4 │ </strong> &#125; <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">Remove the accessibility modifier.</span> </code></pre>
ts
class Animal {
  constructor(
    protected breed,
    name,
  ) {
    // ...
  }
}
<pre class="language-text"><code class="language-text">code-block.ts:3:5 <a href="https://biomejs.dev/linter/rules/use-consistent-member-accessibility">lint/style/useConsistentMemberAccessibility</a> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">Accessibility modifiers are disallowed.</span> <strong>1 │ </strong>class Animal &#123; <strong>2 │ </strong> constructor( <strong><span style="color: Tomato;">&gt;</span></strong> <strong>3 │ </strong> protected breed, <strong> │ </strong> <strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong> <strong>4 │ </strong> name, <strong>5 │ </strong> ) &#123; <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">Remove the accessibility modifier.</span> </code></pre>
ts
class Animal {
  private animalName: string;
}
<pre class="language-text"><code class="language-text">code-block.ts:2:3 <a href="https://biomejs.dev/linter/rules/use-consistent-member-accessibility">lint/style/useConsistentMemberAccessibility</a> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">Accessibility modifiers are disallowed.</span> <strong>1 │ </strong>class Animal &#123; <strong><span style="color: Tomato;">&gt;</span></strong> <strong>2 │ </strong> private animalName: string; <strong> │ </strong> <strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong> <strong>3 │ </strong>&#125; <strong>4 │ </strong> <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">Remove the accessibility modifier.</span> </code></pre>
ts
class Animal {
  protected get name(): string {
    return this.animalName;
  }
}
<pre class="language-text"><code class="language-text">code-block.ts:2:3 <a href="https://biomejs.dev/linter/rules/use-consistent-member-accessibility">lint/style/useConsistentMemberAccessibility</a> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">Accessibility modifiers are disallowed.</span> <strong>1 │ </strong>class Animal &#123; <strong><span style="color: Tomato;">&gt;</span></strong> <strong>2 │ </strong> protected get name(): string &#123; <strong> │ </strong> <strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong> <strong>3 │ </strong> return this.animalName; <strong>4 │ </strong> &#125; <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">Remove the accessibility modifier.</span> </code></pre>
ts
class Pet {
  private set name(value: string) {
    this.animalName = value;
  }
}
<pre class="language-text"><code class="language-text">code-block.ts:2:3 <a href="https://biomejs.dev/linter/rules/use-consistent-member-accessibility">lint/style/useConsistentMemberAccessibility</a> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">Accessibility modifiers are disallowed.</span> <strong>1 │ </strong>class Pet &#123; <strong><span style="color: Tomato;">&gt;</span></strong> <strong>2 │ </strong> private set name(value: string) &#123; <strong> │ </strong> <strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong> <strong>3 │ </strong> this.animalName = value; <strong>4 │ </strong> &#125; <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">Remove the accessibility modifier.</span> </code></pre>
ts
class Dog {
  public walk() {
    // ...
  }
}
<pre class="language-text"><code class="language-text">code-block.ts:2:3 <a href="https://biomejs.dev/linter/rules/use-consistent-member-accessibility">lint/style/useConsistentMemberAccessibility</a> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">Accessibility modifiers are disallowed.</span> <strong>1 │ </strong>class Dog &#123; <strong><span style="color: Tomato;">&gt;</span></strong> <strong>2 │ </strong> public walk() &#123; <strong> │ </strong> <strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong><strong><span style="color: Tomato;">^</span></strong> <strong>3 │ </strong> // ... <strong>4 │ </strong> &#125; <strong><span style="color: lightgreen;">ℹ</span></strong> <span style="color: lightgreen;">Remove the accessibility modifier.</span> </code></pre>

Valid

The following patterns are considered correct code with the default options noPublic:

json
{
	"linter": {
		"rules": {
			"style": {
				"useConsistentMemberAccessibility": {
					"options": {
						"accessibility": "noPublic"
					}
				}
			}
		}
	}
}

ts
class Animal {
  constructor(
    private breed,
    name,
  ) {
    this.animalName = name;
  }
  private animalName: string; // Property
  get name(): string {
    // get accessor
    return this.animalName;
  }
  set name(value: string) {
    // set accessor
    this.animalName = value;
  }
  protected walk() {
    // method
  }
}

The following patterns are considered correct code with the accessibility set to explicit:

json
{
	"linter": {
		"rules": {
			"style": {
				"useConsistentMemberAccessibility": {
					"options": {
						"accessibility": "explicit"
					}
				}
			}
		}
	}
}

ts
class Animal {
  public constructor(
    public breed,
    name,
  ) {
    // Parameter property and constructor
    this.animalName = name;
  }
  private animalName: string; // Property
  public get name(): string {
    // get accessor
    return this.animalName;
  }
  public set name(value: string) {
    // set accessor
    this.animalName = value;
  }
  protected walk() {
    // method
  }
}

The following patterns are considered correct code with the accessibility set to none:

json
{
	"linter": {
		"rules": {
			"style": {
				"useConsistentMemberAccessibility": {
					"options": {
						"accessibility": "none"
					}
				}
			}
		}
	}
}

ts
class Animal {
  constructor(
    breed,
    name,
  ) {
    // Parameter property and constructor
    this.name = name;
  }
  animalName: string; // Property
  get name(): string {
    // get accessor
    return this.animalName;
  }
  set name(value: string) {
    // set accessor
    this.animalName = value;
  }
  walk() {
    // method
  }
}

Options

The rule supports the following options:

json
{
	"linter": {
		"rules": {
			"style": {
				"useConsistentMemberAccessibility": {
					"options": {
						"accessibility": "explicit"
					}
				}
			}
		}
	}
}

accessibility

This option determines the required accessibility modifiers on class properties and methods. It can be set to one of the following values:

  • noPublic - forbid the use of the public modifier.
  • explicit - requires an accessibility modifier for every member where it is permitted.
  • none - forbid all accessibility modifiers (public, protected, private).

Default: noPublic

</TabItem> </Tabs>