Skip to content

Commit 83eb7f8

Browse files
committed
feat(prefer-svelte-reactivity): reporting public properties
1 parent 186064d commit 83eb7f8

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

.changeset/lovely-carpets-clean.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'eslint-plugin-svelte': minor
3+
---
4+
5+
feat(prefer-svelte-reactivity): reporting public properties

packages/eslint-plugin-svelte/src/rules/prefer-svelte-reactivity.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,10 @@ export default createRule('prefer-svelte-reactivity', {
130130
});
131131
}
132132
}
133-
if (findEnclosingReturn(node) !== null) {
133+
if (
134+
findEnclosingReturn(node) !== null ||
135+
findEnclosingPropertyDefinition(node)?.accessibility === 'public'
136+
) {
134137
context.report({
135138
messageId,
136139
node
@@ -188,16 +191,20 @@ function findAncestorOfTypes<T extends string>(
188191
return findAncestorOfTypes(node.parent, types);
189192
}
190193

191-
function findEnclosingReturn(node: TSESTree.Node): TSESTree.ReturnStatement | null {
192-
return findAncestorOfTypes(node, ['ReturnStatement']);
193-
}
194-
195194
function findEnclosingFunction(
196195
node: TSESTree.Node
197196
): TSESTree.ArrowFunctionExpression | TSESTree.FunctionDeclaration | null {
198197
return findAncestorOfTypes(node, ['ArrowFunctionExpression', 'FunctionDeclaration']);
199198
}
200199

200+
function findEnclosingPropertyDefinition(node: TSESTree.Node): TSESTree.PropertyDefinition | null {
201+
return findAncestorOfTypes(node, ['PropertyDefinition']);
202+
}
203+
204+
function findEnclosingReturn(node: TSESTree.Node): TSESTree.ReturnStatement | null {
205+
return findAncestorOfTypes(node, ['ReturnStatement']);
206+
}
207+
201208
function isDateMutable(referenceTracker: ReferenceTracker, ctorNode: TSESTree.Expression): boolean {
202209
return !referenceTracker
203210
.iteratePropertyReferences(ctorNode, {

0 commit comments

Comments
 (0)