@sarj/eslint-plugin 15.10.3 → 15.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -14130,6 +14130,7 @@ var typeParameterNames = (...declarations) => {
14130
14130
  var readConstructor = (ctor, declared, typeParameters) => {
14131
14131
  const body2 = ctor.value.body;
14132
14132
  const storedFieldsFrom = /* @__PURE__ */ new Map();
14133
+ const storedMemberFieldsFrom = /* @__PURE__ */ new Map();
14133
14134
  let constructedFields = 0;
14134
14135
  if (body2 !== null && body2 !== void 0) {
14135
14136
  const pending = [...body2.body];
@@ -14163,13 +14164,21 @@ var readConstructor = (ctor, declared, typeParameters) => {
14163
14164
  const fields = storedFieldsFrom.get(source.object.name) ?? /* @__PURE__ */ new Set();
14164
14165
  fields.add(storedField);
14165
14166
  storedFieldsFrom.set(source.object.name, fields);
14167
+ const member = staticMemberName6(source);
14168
+ if (member !== null) {
14169
+ const members = storedMemberFieldsFrom.get(source.object.name) ?? /* @__PURE__ */ new Map();
14170
+ const memberFields = members.get(member) ?? /* @__PURE__ */ new Set();
14171
+ memberFields.add(storedField);
14172
+ members.set(member, memberFields);
14173
+ storedMemberFieldsFrom.set(source.object.name, members);
14174
+ }
14166
14175
  }
14167
14176
  }
14168
14177
  }
14169
14178
  const collaborators = [];
14170
14179
  for (const parameter of ctor.value.params) {
14171
- for (const reference of parameterCollaborators(parameter, declared)) {
14172
- const fields = parameter.type === import_utils69.AST_NODE_TYPES.TSParameterProperty ? [reference.name] : [...storedFieldsFrom.get(reference.name) ?? []];
14180
+ for (const reference of parameterCollaborators(parameter, declared, storedMemberFieldsFrom)) {
14181
+ const fields = parameter.type === import_utils69.AST_NODE_TYPES.TSParameterProperty ? [reference.name] : reference.fields.length > 0 ? reference.fields : [...storedFieldsFrom.get(reference.name) ?? []];
14173
14182
  if (fields.length === 0) continue;
14174
14183
  if (CONFIGISH_TYPE_RE.test(reference.typeName)) continue;
14175
14184
  if (CONFIGISH_NAME_RE.test(reference.name)) continue;
@@ -14182,14 +14191,33 @@ var readConstructor = (ctor, declared, typeParameters) => {
14182
14191
  }
14183
14192
  return { collaborators, constructedFields };
14184
14193
  };
14185
- var parameterCollaborators = (parameter, declared) => {
14194
+ var parameterCollaborators = (parameter, declared, storedMemberFieldsFrom) => {
14186
14195
  let target = parameter;
14187
14196
  if (target.type === import_utils69.AST_NODE_TYPES.AssignmentPattern) target = target.left;
14188
14197
  if (target.type === import_utils69.AST_NODE_TYPES.ObjectPattern) {
14189
14198
  return objectPatternCollaborators(target, declared);
14190
14199
  }
14191
14200
  const named2 = namedParameterCollaborator(parameter);
14192
- return named2 === null ? [] : [named2];
14201
+ if (named2 !== null && !CONFIGISH_NAME_RE.test(named2.name) && !CONFIGISH_TYPE_RE.test(named2.typeName)) return [named2];
14202
+ return namedBagCollaborators(parameter, declared, storedMemberFieldsFrom);
14203
+ };
14204
+ var namedBagCollaborators = (annotated, declared, storedMemberFieldsFrom) => {
14205
+ let target = annotated;
14206
+ if (target.type === import_utils69.AST_NODE_TYPES.TSParameterProperty) target = target.parameter;
14207
+ if (target.type === import_utils69.AST_NODE_TYPES.AssignmentPattern) target = target.left;
14208
+ if (target.type !== import_utils69.AST_NODE_TYPES.Identifier) return [];
14209
+ const members = bagMemberTypes(target.typeAnnotation?.typeAnnotation, declared);
14210
+ if (members === null) return [];
14211
+ const storedMembers = storedMemberFieldsFrom.get(target.name);
14212
+ if (storedMembers === void 0) return [];
14213
+ const collaborators = [];
14214
+ for (const [name, fields] of storedMembers) {
14215
+ if (CONFIGISH_NAME_RE.test(name)) continue;
14216
+ const reference = members.get(name);
14217
+ if (reference === void 0) continue;
14218
+ collaborators.push({ name, ...reference, fields: [...fields] });
14219
+ }
14220
+ return collaborators;
14193
14221
  };
14194
14222
  var namedParameterCollaborator = (annotated) => {
14195
14223
  let target = annotated;
@@ -14220,6 +14248,7 @@ var objectPatternCollaborators = (pattern, declared) => {
14220
14248
  return collaborators;
14221
14249
  };
14222
14250
  var bagMemberTypes = (annotation, declared) => {
14251
+ if (annotation === void 0) return null;
14223
14252
  if (annotation.type === import_utils69.AST_NODE_TYPES.TSTypeLiteral) {
14224
14253
  return propertySignatureTypes(annotation.members);
14225
14254
  }
@@ -16056,7 +16085,7 @@ var rules = {
16056
16085
  };
16057
16086
  var meta = {
16058
16087
  name: "@sarj/eslint-plugin",
16059
- version: "15.10.3"
16088
+ version: "15.10.4"
16060
16089
  };
16061
16090
  var applicationOnlyRules = [
16062
16091
  "no-restricted-library-load",
package/dist/index.d.cts CHANGED
@@ -438,7 +438,7 @@ type FlatPreset = {
438
438
  declare const plugin: {
439
439
  readonly meta: {
440
440
  readonly name: "@sarj/eslint-plugin";
441
- readonly version: "15.10.3";
441
+ readonly version: "15.10.4";
442
442
  };
443
443
  readonly rules: {
444
444
  readonly "iac-source-coupled-test": DocumentedRule<readonly [], "rawSourceOracle">;
package/dist/index.d.ts CHANGED
@@ -438,7 +438,7 @@ type FlatPreset = {
438
438
  declare const plugin: {
439
439
  readonly meta: {
440
440
  readonly name: "@sarj/eslint-plugin";
441
- readonly version: "15.10.3";
441
+ readonly version: "15.10.4";
442
442
  };
443
443
  readonly rules: {
444
444
  readonly "iac-source-coupled-test": DocumentedRule<readonly [], "rawSourceOracle">;
package/dist/index.js CHANGED
@@ -14105,6 +14105,7 @@ var typeParameterNames = (...declarations) => {
14105
14105
  var readConstructor = (ctor, declared, typeParameters) => {
14106
14106
  const body2 = ctor.value.body;
14107
14107
  const storedFieldsFrom = /* @__PURE__ */ new Map();
14108
+ const storedMemberFieldsFrom = /* @__PURE__ */ new Map();
14108
14109
  let constructedFields = 0;
14109
14110
  if (body2 !== null && body2 !== void 0) {
14110
14111
  const pending = [...body2.body];
@@ -14138,13 +14139,21 @@ var readConstructor = (ctor, declared, typeParameters) => {
14138
14139
  const fields = storedFieldsFrom.get(source.object.name) ?? /* @__PURE__ */ new Set();
14139
14140
  fields.add(storedField);
14140
14141
  storedFieldsFrom.set(source.object.name, fields);
14142
+ const member = staticMemberName6(source);
14143
+ if (member !== null) {
14144
+ const members = storedMemberFieldsFrom.get(source.object.name) ?? /* @__PURE__ */ new Map();
14145
+ const memberFields = members.get(member) ?? /* @__PURE__ */ new Set();
14146
+ memberFields.add(storedField);
14147
+ members.set(member, memberFields);
14148
+ storedMemberFieldsFrom.set(source.object.name, members);
14149
+ }
14141
14150
  }
14142
14151
  }
14143
14152
  }
14144
14153
  const collaborators = [];
14145
14154
  for (const parameter of ctor.value.params) {
14146
- for (const reference of parameterCollaborators(parameter, declared)) {
14147
- const fields = parameter.type === AST_NODE_TYPES55.TSParameterProperty ? [reference.name] : [...storedFieldsFrom.get(reference.name) ?? []];
14155
+ for (const reference of parameterCollaborators(parameter, declared, storedMemberFieldsFrom)) {
14156
+ const fields = parameter.type === AST_NODE_TYPES55.TSParameterProperty ? [reference.name] : reference.fields.length > 0 ? reference.fields : [...storedFieldsFrom.get(reference.name) ?? []];
14148
14157
  if (fields.length === 0) continue;
14149
14158
  if (CONFIGISH_TYPE_RE.test(reference.typeName)) continue;
14150
14159
  if (CONFIGISH_NAME_RE.test(reference.name)) continue;
@@ -14157,14 +14166,33 @@ var readConstructor = (ctor, declared, typeParameters) => {
14157
14166
  }
14158
14167
  return { collaborators, constructedFields };
14159
14168
  };
14160
- var parameterCollaborators = (parameter, declared) => {
14169
+ var parameterCollaborators = (parameter, declared, storedMemberFieldsFrom) => {
14161
14170
  let target = parameter;
14162
14171
  if (target.type === AST_NODE_TYPES55.AssignmentPattern) target = target.left;
14163
14172
  if (target.type === AST_NODE_TYPES55.ObjectPattern) {
14164
14173
  return objectPatternCollaborators(target, declared);
14165
14174
  }
14166
14175
  const named2 = namedParameterCollaborator(parameter);
14167
- return named2 === null ? [] : [named2];
14176
+ if (named2 !== null && !CONFIGISH_NAME_RE.test(named2.name) && !CONFIGISH_TYPE_RE.test(named2.typeName)) return [named2];
14177
+ return namedBagCollaborators(parameter, declared, storedMemberFieldsFrom);
14178
+ };
14179
+ var namedBagCollaborators = (annotated, declared, storedMemberFieldsFrom) => {
14180
+ let target = annotated;
14181
+ if (target.type === AST_NODE_TYPES55.TSParameterProperty) target = target.parameter;
14182
+ if (target.type === AST_NODE_TYPES55.AssignmentPattern) target = target.left;
14183
+ if (target.type !== AST_NODE_TYPES55.Identifier) return [];
14184
+ const members = bagMemberTypes(target.typeAnnotation?.typeAnnotation, declared);
14185
+ if (members === null) return [];
14186
+ const storedMembers = storedMemberFieldsFrom.get(target.name);
14187
+ if (storedMembers === void 0) return [];
14188
+ const collaborators = [];
14189
+ for (const [name, fields] of storedMembers) {
14190
+ if (CONFIGISH_NAME_RE.test(name)) continue;
14191
+ const reference = members.get(name);
14192
+ if (reference === void 0) continue;
14193
+ collaborators.push({ name, ...reference, fields: [...fields] });
14194
+ }
14195
+ return collaborators;
14168
14196
  };
14169
14197
  var namedParameterCollaborator = (annotated) => {
14170
14198
  let target = annotated;
@@ -14195,6 +14223,7 @@ var objectPatternCollaborators = (pattern, declared) => {
14195
14223
  return collaborators;
14196
14224
  };
14197
14225
  var bagMemberTypes = (annotation, declared) => {
14226
+ if (annotation === void 0) return null;
14198
14227
  if (annotation.type === AST_NODE_TYPES55.TSTypeLiteral) {
14199
14228
  return propertySignatureTypes(annotation.members);
14200
14229
  }
@@ -16037,7 +16066,7 @@ var rules = {
16037
16066
  };
16038
16067
  var meta = {
16039
16068
  name: "@sarj/eslint-plugin",
16040
- version: "15.10.3"
16069
+ version: "15.10.4"
16041
16070
  };
16042
16071
  var applicationOnlyRules = [
16043
16072
  "no-restricted-library-load",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sarj/eslint-plugin",
3
- "version": "15.10.3",
3
+ "version": "15.10.4",
4
4
  "packageManager": "npm@12.0.2",
5
5
  "description": "Custom ESLint rules for hypermodern TypeScript / React / Next.js projects",
6
6
  "type": "module",