Skip to content
Closed
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
14 commits
Select commit Hold shift + click to select a range
19ee305
feat(biome_js_analyze): align no_unused_private_class_members_with_se…
vladimir-ivanov Sep 28, 2025
0b4b6be
feat(biome_js_analyze): align no_unused_private_class_members_with_se…
vladimir-ivanov Sep 29, 2025
0b50aad
Merge branch 'main' into feat/no_unused_private_class_members_semanti…
vladimir-ivanov Sep 29, 2025
a66a6c9
Update .changeset/no_unused_private_class_members_amended.md
vladimir-ivanov Sep 29, 2025
7d7ff8f
Update crates/biome_js_analyze/tests/specs/correctness/noUnusedPrivat…
vladimir-ivanov Sep 29, 2025
01e7abb
Update crates/biome_js_analyze/src/lint/correctness/no_unused_private…
vladimir-ivanov Sep 29, 2025
b937419
feat(biome_js_analyze): align no_unused_private_class_members_with_se…
vladimir-ivanov Sep 29, 2025
adfd844
feat(biome_js_analyze): align no_unused_private_class_members_with_se…
vladimir-ivanov Sep 29, 2025
0c5c7ae
feat(biome_js_analyze): align no_unused_private_class_members_with_se…
vladimir-ivanov Sep 30, 2025
84c91b3
feat(biome_js_analyze): align no_unused_private_class_members_with_se…
vladimir-ivanov Oct 3, 2025
dcdad70
feat(biome_js_analyze): align no_unused_private_class_members_with_se…
vladimir-ivanov Oct 3, 2025
6e444ec
Merge branch 'main' into feat/no_unused_private_class_members_semanti…
vladimir-ivanov Oct 4, 2025
34e433f
feat(biome_js_analyze): align no_unused_private_class_members_with_se…
vladimir-ivanov Oct 4, 2025
38035b9
feat(biome_js_analyze): align no_unused_private_class_members_with_se…
vladimir-ivanov Oct 5, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions .changeset/no_unused_private_class_members_amended.md
Comment thread
vladimir-ivanov marked this conversation as resolved.
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
"@biomejs/biome": patch
---

Changed [`noUnusedPrivateClassMembers`](https://biomejs.dev/linter/rules/no-unused-private-class-members/) to align more fully with meaningful reads.

#### Invalid examples (previously valid)

```ts
class UsedMember {
get #usedAccessor() {}
set #usedAccessor(value) {}

method() {
// no return statement so no meaningful read
this.#usedAccessor = 42;
}
}

class UsedMember {
#usedInInnerClass;

method(a) {
return class {
// not really used, a is not reference to this scope
foo = a.#usedInInnerClass;
}
}
}

class UsedMember {
set #accessorUsedInMemberAccess(value) {} // <- unused

method(a) {
// there is no getter, so this is not a read at all
[this.#accessorUsedInMemberAccess] = a;
}
}

class UsedMember {
#usedInInnerClass;

method(a) {
return class {
foo = a.#usedInInnerClass;
}
}
}

class C {
set #x(value) {
doSomething(value);
}

foo() {
// no return statement so not a meaningful read.
this.#x = 1;
}
}
```

#### Valid example (Previously invalid)

```js
class Foo {
#usedOnlyInWriteStatement = 5;
method() {
// this is both meaningful read and write.
this.#usedOnlyInWriteStatement += 42;
}
}
```
Loading
Loading