Skip to content

Commit 7667f9d

Browse files
committed
change default minOcurrences to 3; small code clean up
1 parent 9b6f232 commit 7667f9d

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

plugins/rules/memberAccess.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,11 @@ const noRepeatedMemberAccess = createRule({
5151
"Member chain '{{ chain }}' accessed {{ count }} times. Extract to variable.",
5252
},
5353
},
54-
defaultOptions: [{ minOccurrences: 2 }],
54+
defaultOptions: [{ minOccurrences: 3 }],
5555

5656
create(context, [options]) {
5757
const sourceCode = context.sourceCode;
58-
const minOccurrences = options?.minOccurrences ?? 2;
58+
const minOccurrences = options.minOccurrences;
5959

6060
// Track which chains have already been reported to avoid duplicate reports
6161
const reportedChains = new Set<string>();
@@ -193,7 +193,7 @@ const noRepeatedMemberAccess = createRule({
193193
return result;
194194
}
195195

196-
// Tracks which chains are modified in code to avoid incorrect optimizations
196+
// Tracks which chains are modified in code
197197
//
198198
// Examples of modifications:
199199
// 1. obj.prop = value; // Direct assignment
@@ -259,9 +259,6 @@ const noRepeatedMemberAccess = createRule({
259259
// Skip single-level chains
260260
if (!chain.includes(".")) continue;
261261

262-
// Skip any chain that contains array access
263-
if (chain.includes("[") && chain.includes("]")) continue;
264-
265262
const record = scopeData.chains.get(chain) || {
266263
count: 0,
267264
nodes: [],

tests/rules/noRepeatedMemberAccess.test.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ export namespace Constants {
193193
code: `
194194
const v1 = ctx.data.v1;
195195
const v2 = ctx.data.v2;
196+
const v3 = ctx.data.v3;
196197
`,
197198
errors: [{ messageId: "repeatedAccess" }],
198199
},
@@ -210,6 +211,7 @@ export namespace Constants {
210211
constructor() {
211212
this.profile = service.user.profile
212213
this.log = service.user.logger
214+
this.cat = service.user.cat
213215
}
214216
}`,
215217
errors: [{ messageId: "repeatedAccess" }],
@@ -219,6 +221,7 @@ export namespace Constants {
219221
code: `
220222
function demo() {
221223
console.log(obj.a.b.c);
224+
let x = obj.a.b;
222225
return obj.a.b.d;
223226
}
224227
`,

0 commit comments

Comments
 (0)