@futdevpro/dynamo-eslint 1.20.51 → 1.20.57

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.
Files changed (40) hide show
  1. package/README.md +35 -2
  2. package/build/configs/ngx.d.ts +6 -0
  3. package/build/configs/ngx.d.ts.map +1 -1
  4. package/build/configs/ngx.js +20 -0
  5. package/build/configs/ngx.js.map +1 -1
  6. package/build/plugin/index.d.ts +1 -0
  7. package/build/plugin/index.d.ts.map +1 -1
  8. package/build/plugin/index.js +2 -0
  9. package/build/plugin/index.js.map +1 -1
  10. package/build/plugin/rules/angular/empty-state-guard.util.d.ts +58 -0
  11. package/build/plugin/rules/angular/empty-state-guard.util.d.ts.map +1 -0
  12. package/build/plugin/rules/angular/empty-state-guard.util.js +158 -0
  13. package/build/plugin/rules/angular/empty-state-guard.util.js.map +1 -0
  14. package/build/plugin/rules/angular/empty-state-requires-guard.d.ts +10 -0
  15. package/build/plugin/rules/angular/empty-state-requires-guard.d.ts.map +1 -0
  16. package/build/plugin/rules/angular/empty-state-requires-guard.js +61 -0
  17. package/build/plugin/rules/angular/empty-state-requires-guard.js.map +1 -0
  18. package/build/plugin/rules/angular/ui-building-blocks-baseline.interface.d.ts +5 -0
  19. package/build/plugin/rules/angular/ui-building-blocks-baseline.interface.d.ts.map +1 -1
  20. package/build/plugin/rules/angular/ui-building-blocks-element.interface.d.ts +5 -0
  21. package/build/plugin/rules/angular/ui-building-blocks-element.interface.d.ts.map +1 -1
  22. package/build/plugin/rules/angular/ui-building-blocks-rule-context.util.js +1 -1
  23. package/build/plugin/rules/angular/ui-building-blocks-rule-context.util.js.map +1 -1
  24. package/build/plugin/rules/angular/ui-building-blocks.util.d.ts +10 -1
  25. package/build/plugin/rules/angular/ui-building-blocks.util.d.ts.map +1 -1
  26. package/build/plugin/rules/angular/ui-building-blocks.util.js +44 -4
  27. package/build/plugin/rules/angular/ui-building-blocks.util.js.map +1 -1
  28. package/build/plugin/rules/prefer-enum-over-string-union.d.ts.map +1 -1
  29. package/build/plugin/rules/prefer-enum-over-string-union.js +5 -42
  30. package/build/plugin/rules/prefer-enum-over-string-union.js.map +1 -1
  31. package/build/plugin/rules/prefer-interface-over-duplicate-types.d.ts.map +1 -1
  32. package/build/plugin/rules/prefer-interface-over-duplicate-types.js +31 -19
  33. package/build/plugin/rules/prefer-interface-over-duplicate-types.js.map +1 -1
  34. package/build/scripts/lint-strict.d.ts +62 -0
  35. package/build/scripts/lint-strict.d.ts.map +1 -0
  36. package/build/scripts/lint-strict.js +151 -0
  37. package/build/scripts/lint-strict.js.map +1 -0
  38. package/build/scripts/ui-building-blocks-baseline.js +17 -2
  39. package/build/scripts/ui-building-blocks-baseline.js.map +1 -1
  40. package/package.json +4 -3
@@ -32,6 +32,7 @@ class UiBuildingBlocks_Util {
32
32
  static ruleIds = [
33
33
  '@futdevpro/dynamo/scroll-container-min-h-0',
34
34
  '@futdevpro/dynamo/module-load-failed-branch',
35
+ '@futdevpro/dynamo/empty-state-requires-guard',
35
36
  ];
36
37
  /**
37
38
  * A loading state in a template. Deliberately NOT a bare spinner / progress bar (status indicators, determinate
@@ -44,7 +45,14 @@ class UiBuildingBlocks_Util {
44
45
  static failedPattern = new RegExp('@(?:if|else if)\\s*\\([^)]*(?:[eE]rror|[fF]ail)(?!s\\b)|'
45
46
  + '\\*ngIf\\s*=\\s*"[^"]*(?:[eE]rror|[fF]ail)(?!s\\b)|'
46
47
  + '<[a-z][\\w-]*(?:load-?failed|load-error|error-state)\\b|'
47
- + 'data-testid="[^"]*load[a-z-]*(?:error|failed)');
48
+ + 'data-testid="[^"]*load[a-z-]*(?:error|failed)|'
49
+ // BFR-MASTERPROMPTER-075 ⓑ: the three-state idiom `@if (loading) {…} @else if (data) {…} @else { …-error }` —
50
+ // the closing `@else` branch (⛔ `@else if`) carrying an error / failed test-id, before the next control-flow block
51
+ + '@else\\s*\\{[^@]*?data-testid="[^"]*-(?:error|failed)"');
52
+ /** BFR-MASTERPROMPTER-075 ⓐ: the `[dynamo-overlay]` directive attribute (runtime `position: absolute`). */
53
+ static outOfFlowAttribute = /(?:^|\s)dynamo-overlay(?=[\s=/]|$)/;
54
+ /** BFR-MASTERPROMPTER-075 ⓒ: a loading match whose condition is the bare `loading` flag (`@if (loading)`). */
55
+ static subFrameLoadingCondition = /\(\s*!?\s*loading\s*$/;
48
56
  static voidTags = new Set([
49
57
  'area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'source', 'track', 'wbr',
50
58
  ]);
@@ -110,6 +118,7 @@ class UiBuildingBlocks_Util {
110
118
  .test(attributes),
111
119
  offset: template.offset + match.index,
112
120
  parent: stack[stack.length - 1],
121
+ outOfFlow: UiBuildingBlocks_Util.outOfFlowAttribute.test(attributes),
113
122
  };
114
123
  result.push(element);
115
124
  if (!attributes.trim().endsWith('/') && !UiBuildingBlocks_Util.voidTags.has(tag)) {
@@ -146,7 +155,7 @@ class UiBuildingBlocks_Util {
146
155
  return;
147
156
  }
148
157
  const bases = UiBuildingBlocks_Util.bases(ancestor);
149
- if (bases.includes('absolute') || bases.includes('fixed')) {
158
+ if (bases.includes('absolute') || bases.includes('fixed') || ancestor.outOfFlow) {
150
159
  // out of the flex flow: its height comes from the containing block, not from this chain
151
160
  return;
152
161
  }
@@ -169,14 +178,36 @@ class UiBuildingBlocks_Util {
169
178
  UiBuildingBlocks_Util.templates(text, filename).forEach((template) => {
170
179
  const code = UiBuildingBlocks_Util.blankComments(template.text);
171
180
  const regex = new RegExp(UiBuildingBlocks_Util.loadingPattern.source, 'g');
181
+ const subFrame = UiBuildingBlocks_Util.isSubFrameComponent(text, filename);
172
182
  let match = regex.exec(code);
173
183
  while (match !== null) {
174
- result.push(template.offset + match.index);
184
+ // BFR-MASTERPROMPTER-075 ⓒ: a `DyNX_SubFrame` component's bare `loading` is its ROUTE-CHANGE flag
185
+ // (`updateState(url, loading)`), ⛔ a data load — a failed branch cannot belong to it
186
+ if (!(subFrame && UiBuildingBlocks_Util.subFrameLoadingCondition.test(match[0]))) {
187
+ result.push(template.offset + match.index);
188
+ }
175
189
  match = regex.exec(code);
176
190
  }
177
191
  });
178
192
  return result;
179
193
  }
194
+ /**
195
+ * BFR-MASTERPROMPTER-075 ⓒ: the component (inline template: this file; external template: its sibling `.ts`)
196
+ * extends `DyNX_SubFrame_Component`. An unreadable sibling ⇒ `false` (measure, never silence).
197
+ */
198
+ static isSubFrameComponent(text, filename) {
199
+ const extendsSubFrame = /\bextends\s+DyNX_SubFrame_Component\b/;
200
+ if (filename.endsWith('.ts')) {
201
+ return extendsSubFrame.test(text);
202
+ }
203
+ const sibling = filename.replace(/\.html$/, '.ts');
204
+ try {
205
+ return sibling !== filename && (0, fs_1.existsSync)(sibling) && extendsSubFrame.test((0, fs_1.readFileSync)(sibling, 'utf8'));
206
+ }
207
+ catch {
208
+ return false;
209
+ }
210
+ }
180
211
  /** ② Whether a file's templates show a failed / error state. */
181
212
  static hasFailedBranch(text, filename) {
182
213
  return UiBuildingBlocks_Util.templates(text, filename).some((template) => UiBuildingBlocks_Util.failedPattern.test(UiBuildingBlocks_Util.blankComments(template.text)));
@@ -237,7 +268,7 @@ class UiBuildingBlocks_Util {
237
268
  /** Reads the committed baseline (missing file = empty baseline; a broken file THROWS — never a silent pass). */
238
269
  static readBaseline(baselinePath) {
239
270
  if (!(0, fs_1.existsSync)(baselinePath)) {
240
- return { scrollerTags: [], scrollContainers: {}, modulesWithoutLoadFailedBranch: [] };
271
+ return { scrollerTags: [], scrollContainers: {}, modulesWithoutLoadFailedBranch: [], emptyStatesWithoutGuard: {} };
241
272
  }
242
273
  const stamp = UiBuildingBlocks_Util.stamp(baselinePath);
243
274
  const cached = UiBuildingBlocks_Util.baselineCache.get(baselinePath);
@@ -249,6 +280,7 @@ class UiBuildingBlocks_Util {
249
280
  const settings = field('settings');
250
281
  const scrollContainers = field('scrollContainers');
251
282
  const modules = field('modulesWithoutLoadFailedBranch');
283
+ const emptyStates = field('emptyStatesWithoutGuard');
252
284
  if (!scrollContainers || typeof scrollContainers !== 'object' || !Array.isArray(modules)) {
253
285
  throw new Error(`UI-building-blocks baseline ${baselinePath} has no "scrollContainers" object / `
254
286
  + '"modulesWithoutLoadFailedBranch" array — regenerate it with `npx dynamo-ui-building-blocks-baseline`.');
@@ -260,6 +292,14 @@ class UiBuildingBlocks_Util {
260
292
  modulesWithoutLoadFailedBranch: modules.filter((m) => typeof m === 'string')
261
293
  .map((m) => UiBuildingBlocks_Util.normalize(m)),
262
294
  };
295
+ // BFR-QA-003: optional — a baseline generated before the rule existed simply has none (the preset keeps the rule off)
296
+ if (emptyStates && typeof emptyStates === 'object') {
297
+ baseline.emptyStatesWithoutGuard = {};
298
+ Object.entries(emptyStates).forEach(([key, value]) => {
299
+ baseline.emptyStatesWithoutGuard[UiBuildingBlocks_Util.normalize(key)] =
300
+ typeof value === 'number' && Number.isInteger(value) && value > 0 ? value : 0;
301
+ });
302
+ }
263
303
  Object.entries(scrollContainers).forEach(([key, value]) => {
264
304
  baseline.scrollContainers[UiBuildingBlocks_Util.normalize(key)] =
265
305
  typeof value === 'number' && Number.isInteger(value) && value > 0 ? value : 0;
@@ -1 +1 @@
1
- {"version":3,"file":"ui-building-blocks.util.js","sourceRoot":"","sources":["../../../../src/plugin/rules/angular/ui-building-blocks.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui-building-blocks.util.js","sourceRoot":"","sources":["../../../../src/plugin/rules/angular/ui-building-blocks.util.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prefer-enum-over-string-union.d.ts","sourceRoot":"","sources":["../../../src/plugin/rules/prefer-enum-over-string-union.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAO9B,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,UAmUhB,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"prefer-enum-over-string-union.d.ts","sourceRoot":"","sources":["../../../src/plugin/rules/prefer-enum-over-string-union.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAO9B,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,UAqRhB,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -25,9 +25,11 @@ const rule = {
25
25
  },
26
26
  ],
27
27
  messages: {
28
- preferEnum: 'Consider using an enum instead of a union type of {{count}} string literals.',
28
+ preferEnum: 'Consider using an enum (e.g. {{enumName}}) instead of a union type of {{count}} string literals.',
29
29
  },
30
- fixable: 'code',
30
+ // NO `fixable`: an automatic union → enum rewrite is never safe — string literals are not assignable to a string
31
+ // enum, so every caller passing `'active'` would stop compiling. The old fixer was worse: it replaced the alias'
32
+ // right-hand side with its OWN name (`type X = X;` → TS2456) and never emitted the enum (BFR-WARFACTORY-014 find).
31
33
  },
32
34
  create(context) {
33
35
  const options = context.options[0] || {};
@@ -117,25 +119,6 @@ const rule = {
117
119
  return 'StatusEnum';
118
120
  }
119
121
  }
120
- /**
121
- * Generate enum values from string literals
122
- */
123
- function generateEnumValues(node) {
124
- if (node.type !== 'TSUnionType' || !node.types) {
125
- return [];
126
- }
127
- return node.types
128
- .filter((type) => type.type === 'TSLiteralType' &&
129
- typeof type.literal?.value === 'string')
130
- .map((type) => {
131
- const value = type.literal.value;
132
- // Convert to PascalCase for enum key
133
- return value
134
- .split(/[-_\s]+/)
135
- .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
136
- .join('');
137
- });
138
- }
139
122
  /**
140
123
  * Report violation with enum suggestion
141
124
  */
@@ -143,32 +126,12 @@ const rule = {
143
126
  const stringLiteralCount = unionNode.types.filter((type) => type.type === 'TSLiteralType' &&
144
127
  typeof type.literal?.value === 'string').length;
145
128
  const enumName = generateEnumName(node, parent);
146
- const enumValues = generateEnumValues(unionNode);
147
129
  context.report({
148
130
  node: unionNode,
149
131
  messageId: 'preferEnum',
150
132
  data: {
151
133
  count: stringLiteralCount.toString(),
152
- },
153
- fix(fixer) {
154
- try {
155
- const enumDeclaration = `enum ${enumName} {\n ${enumValues.map((key, index) => {
156
- const value = unionNode.types[index].literal.value;
157
- return `${key} = '${value}'`;
158
- }).join(',\n ')}\n}`;
159
- // For type aliases, replace the entire declaration
160
- if (parent?.type === 'TSTypeAliasDeclaration') {
161
- const typeText = context.sourceCode.getText(parent);
162
- const newText = typeText.replace(/=.*/, `= ${enumName};`);
163
- return fixer.replaceText(parent, newText);
164
- }
165
- // For other cases, suggest enum creation (no auto-fix for now)
166
- return null;
167
- }
168
- catch (fixError) {
169
- console.error('[prefer-enum-over-string-union] Error in fix function:', fixError);
170
- return null;
171
- }
134
+ enumName: enumName,
172
135
  },
173
136
  });
174
137
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prefer-enum-over-string-union.js","sourceRoot":"","sources":["../../../src/plugin/rules/prefer-enum-over-string-union.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prefer-enum-over-string-union.js","sourceRoot":"","sources":["../../../src/plugin/rules/prefer-enum-over-string-union.ts"],"names":[],"mappings":";;AAOA,MAAM,IAAI,GAAoB;IAC5B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,+DAA+D;YAC5E,WAAW,EAAE,IAAI;SAClB;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,CAAC;wBACV,OAAO,EAAE,CAAC;qBACX;oBACD,gBAAgB,EAAE;wBAChB,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,KAAK;qBACf;iBACF;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,kGAAkG;SAC/G;QACD,iHAAiH;QACjH,iHAAiH;QACjH,mHAAmH;KACpH;IACD,MAAM,CAAC,OAAO;QACZ,MAAM,OAAO,GAAgB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,SAAS,GAAW,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;QACjD,MAAM,gBAAgB,GAAY,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC;QAEpE;;WAEG;QACH,SAAS,oBAAoB,CAAC,IAAS;YACrC,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAChC,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAS,EAAE,EAAE,CACpC,IAAI,CAAC,IAAI,KAAK,eAAe;gBAC7B,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,QAAQ,CACxC,CAAC;QACJ,CAAC;QAED;;WAEG;QACH,SAAS,cAAc,CAAC,IAAS;YAC/B,IAAI,CAAC;gBACH,2CAA2C;gBAC3C,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAc,EAAE,EAAE;wBAChE,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;wBAExC,OAAO,UAAU,EAAE,IAAI,KAAK,gBAAgB;4BACrC,UAAU,CAAC,MAAM,EAAE,IAAI,KAAK,OAAO,CAAC;oBAC7C,CAAC,CAAC,CAAC;oBAEH,IAAI,iBAAiB,EAAE,CAAC;wBACtB,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBAED,2DAA2D;gBAC3D,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;oBAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;oBAEjC,uBAAuB;oBACvB,IAAI,MAAM,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;wBAC7B,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,gCAAgC;oBAChC,IAAI,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,OAAO,IAAI,MAAM,EAAE,QAAQ,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;wBAC9E,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBAED,OAAO,KAAK,CAAC;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,+DAA+D,EAAE,KAAK,CAAC,CAAC;gBAEtF,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED;;WAEG;QACH,SAAS,cAAc,CAAC,IAAS;YAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC/C,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CACzD,IAAI,CAAC,IAAI,KAAK,eAAe;gBAC7B,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,QAAQ,CACxC,CAAC,MAAM,CAAC;YAET,OAAO,kBAAkB,IAAI,SAAS,CAAC;QACzC,CAAC;QAED;;WAEG;QACH,SAAS,gBAAgB,CAAC,IAAS,EAAE,MAAW;YAC9C,IAAI,CAAC;gBACH,sCAAsC;gBACtC,IAAI,MAAM,EAAE,IAAI,KAAK,wBAAwB,IAAI,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;oBACjE,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;gBACxB,CAAC;gBAED,6CAA6C;gBAC7C,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;oBAC1D,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;gBACjF,CAAC;gBAED,mDAAmD;gBACnD,IAAI,MAAM,EAAE,IAAI,KAAK,oBAAoB,IAAI,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;oBAC9D,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;gBACrF,CAAC;gBAED,mBAAmB;gBACnB,OAAO,YAAY,CAAC;YACtB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,6DAA6D,EAAE,KAAK,CAAC,CAAC;gBAEpF,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC;QAED;;WAEG;QACH,SAAS,eAAe,CAAC,IAAS,EAAE,MAAW,EAAE,SAAc;YAC7D,MAAM,kBAAkB,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAC9D,IAAI,CAAC,IAAI,KAAK,eAAe;gBAC7B,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,QAAQ,CACxC,CAAC,MAAM,CAAC;YAET,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAEhD,OAAO,CAAC,MAAM,CAAC;gBACb,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,YAAY;gBACvB,IAAI,EAAE;oBACJ,KAAK,EAAE,kBAAkB,CAAC,QAAQ,EAAE;oBACpC,QAAQ,EAAE,QAAQ;iBACnB;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,eAAe;YACf,sBAAsB,CAAC,IAAS;gBAC9B,IAAI,CAAC;oBACH,IAAI,gBAAgB,EAAE,CAAC;wBACrB,OAAO;oBACT,CAAC;oBAED,IAAI,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;wBACrF,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;oBAClE,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,0EAA0E,EAAE,KAAK,CAAC,CAAC;gBACnG,CAAC;YACH,CAAC;YAED,4BAA4B;YAC5B,mBAAmB,CAAC,IAAS;gBAC3B,IAAI,CAAC;oBACH,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;wBACzB,OAAO;oBACT,CAAC;oBAED,IAAI,IAAI,CAAC,cAAc;wBACnB,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;wBACxD,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC;wBACvD,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;oBACzE,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,uEAAuE,EAAE,KAAK,CAAC,CAAC;gBAChG,CAAC;YACH,CAAC;YAED,mBAAmB;YACnB,kBAAkB,CAAC,IAAS;gBAC1B,IAAI,CAAC;oBACH,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;wBACzB,OAAO;oBACT,CAAC;oBAED,IAAI,IAAI,CAAC,cAAc;wBACnB,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;wBACxD,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC;wBACvD,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;oBACzE,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,sEAAsE,EAAE,KAAK,CAAC,CAAC;gBAC/F,CAAC;YACH,CAAC;YAED,sBAAsB;YACtB,mBAAmB,CAAC,IAAS;gBAC3B,IAAI,CAAC;oBACH,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;4BACjC,IAAI,KAAK,CAAC,cAAc;gCACpB,oBAAoB,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;gCACzD,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC;gCACxD,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;4BACpE,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,uEAAuE,EAAE,KAAK,CAAC,CAAC;gBAChG,CAAC;YACH,CAAC;YAED,4BAA4B;YAC5B,uBAAuB,CAAC,IAAS;gBAC/B,IAAI,CAAC;oBACH,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;4BACjC,IAAI,KAAK,CAAC,cAAc;gCACpB,oBAAoB,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;gCACzD,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC;gCACxD,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;4BACpE,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,2EAA2E,EAAE,KAAK,CAAC,CAAC;gBACpG,CAAC;YACH,CAAC;YAED,wBAAwB;YACxB,kBAAkB,CAAC,IAAS;gBAC1B,IAAI,CAAC;oBACH,IAAI,IAAI,CAAC,cAAc;wBACnB,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;wBACxD,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC;wBACvD,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;oBACzE,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,sEAAsE,EAAE,KAAK,CAAC,CAAC;gBAC/F,CAAC;YACH,CAAC;YAED,oBAAoB;YACpB,iBAAiB,CAAC,IAAS;gBACzB,IAAI,CAAC;oBACH,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;4BACjC,IAAI,KAAK,CAAC,cAAc;gCACpB,oBAAoB,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;gCACzD,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC;gCACxD,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;4BACpE,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,qEAAqE,EAAE,KAAK,CAAC,CAAC;gBAC9F,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,kBAAe,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prefer-interface-over-duplicate-types.d.ts","sourceRoot":"","sources":["../../../src/plugin/rules/prefer-interface-over-duplicate-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAY9B,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,UA2ShB,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"prefer-interface-over-duplicate-types.d.ts","sourceRoot":"","sources":["../../../src/plugin/rules/prefer-interface-over-duplicate-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAiB9B,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,UAkThB,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -16,12 +16,19 @@ const rule = {
16
16
  minimum: 2,
17
17
  default: 3,
18
18
  },
19
+ interfacePrefix: {
20
+ type: 'string',
21
+ minLength: 1,
22
+ },
19
23
  },
20
24
  additionalProperties: false,
21
25
  },
22
26
  ],
23
27
  messages: {
24
- preferInterface: 'Object type used {{count}} times. Consider creating interface "{{interfaceName}}"}}',
28
+ preferInterface: 'Object type used {{count}} times. Consider creating interface "{{interfaceName}}"',
29
+ // BFR-DYNCLI-001: no FDP-conform name can be derived (no `interfacePrefix`, or no property keys) ⇒ report only
30
+ preferInterfaceNoFix: 'Object type used {{count}} times. Extract it into a named, module-prefixed interface'
31
+ + ' (e.g. "{{suggestion}}") — auto-fix runs only with the `interfacePrefix` option.',
25
32
  },
26
33
  // BFR-ADVENTOR-009 (2. lépcső): a fixer forrás-szöveg-megőrzőre átírva (`sourceCode.getText` per property)
27
34
  // → a komplex/union/qualified/function típusok EXAKT megőrződnek, a generált interface ÉRVÉNYES TS. Ezért
@@ -104,21 +111,6 @@ const rule = {
104
111
  return 'complex';
105
112
  }
106
113
  }
107
- /**
108
- * Generate interface name based on context
109
- */
110
- function generateInterfaceName(signature, usageCount) {
111
- // Try to extract meaningful name from signature
112
- const properties = signature.split(';');
113
- if (properties.length === 1) {
114
- const prop = properties[0].split(':')[0].replace('readonly ', '').replace('?', '');
115
- if (prop && prop !== 'unknown') {
116
- return `${prop.charAt(0).toUpperCase() + prop.slice(1)}Interface`;
117
- }
118
- }
119
- // Fallback to generic name
120
- return `GeneratedInterface${usageCount}`;
121
- }
122
114
  /**
123
115
  * Check if interface name conflicts with existing identifiers
124
116
  */
@@ -169,8 +161,10 @@ const rule = {
169
161
  .map((m) => String(m.key?.name ?? m.key?.value ?? ''))
170
162
  .filter((k) => !!k)
171
163
  .slice(0, 3);
164
+ // no property keys ⇒ no meaningful name (the former `Generated_Interface` / `GeneratedInterfaceN` fallback
165
+ // wrote meaningless, convention-breaking names into the source — BFR-DYNCLI-001)
172
166
  if (!keys.length) {
173
- return 'Generated_Interface';
167
+ return undefined;
174
168
  }
175
169
  const pascal = keys
176
170
  .map((k) => k.charAt(0).toUpperCase() + k.slice(1))
@@ -202,8 +196,26 @@ const rule = {
202
196
  // Process all collected type usages
203
197
  for (const [signature, usages] of typeUsages) {
204
198
  if (usages.length >= threshold) {
205
- // beszédes név a property-kulcsokból (ütközés-mentesre pontosítva)
206
- const interfaceName = generateUniqueInterfaceName(deriveInterfaceName(usages[0].node));
199
+ // beszédes név a property-kulcsokból; BFR-DYNCLI-001: FDP-konform (modul-prefixes) név CSAK az
200
+ // `interfacePrefix` opcióval vezethető le — enélkül (vagy kulcsok nélkül) a szabály csak jelez, ⛔ fixel
201
+ const derived = deriveInterfaceName(usages[0].node);
202
+ const prefix = options.interfacePrefix;
203
+ const interfaceName = derived && prefix
204
+ ? generateUniqueInterfaceName(`${prefix}${derived}`)
205
+ : undefined;
206
+ if (!interfaceName) {
207
+ for (const usage of usages) {
208
+ context.report({
209
+ node: usage.node,
210
+ messageId: 'preferInterfaceNoFix',
211
+ data: {
212
+ count: usages.length.toString(),
213
+ suggestion: derived ? `<ModulePrefix>_${derived}` : '<ModulePrefix>_<Name>_Interface',
214
+ },
215
+ });
216
+ }
217
+ continue;
218
+ }
207
219
  // a törzs a FORRÁS-SZÖVEGBŐL (getText) — a komplex/union/qualified típusok EXAKT megőrződnek
208
220
  const interfaceBody = buildInterfaceBody(usages[0].node);
209
221
  // Report on each usage
@@ -1 +1 @@
1
- {"version":3,"file":"prefer-interface-over-duplicate-types.js","sourceRoot":"","sources":["../../../src/plugin/rules/prefer-interface-over-duplicate-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prefer-interface-over-duplicate-types.js","sourceRoot":"","sources":["../../../src/plugin/rules/prefer-interface-over-duplicate-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * @fileoverview Strict lint entry point — `dynamo-lint-strict` (BFR-WARFACTORY-003)
4
+ *
5
+ * Runs ESLint (flat config, the project's own `eslint.config.*`) and sets the process exit code from the
6
+ * AGGREGATED result counters — never from a wrapper's own success path:
7
+ *
8
+ * | exit | meaning |
9
+ * |---|---|
10
+ * | `0` | 0 errors (incl. fatal/parsing errors) and the warnings are within the budget |
11
+ * | `1` | at least one error, OR more warnings than `--max-warnings` |
12
+ * | `2` | lint could not run (config error, NO file linted, crash) — never reported as a pass |
13
+ *
14
+ * **Warning budget:** without `--max-warnings` warnings are reported but do not fail (the budget is unlimited);
15
+ * `--max-warnings 0` is the zero-warning gate; `--max-warnings <n>` a ratchet for a known backlog.
16
+ *
17
+ * **`.eslintignore`:** flat config does NOT read it (ESLint 9) — files listed there ARE linted. If one exists, the
18
+ * run says so loudly and points at the `ignores` migration; it does not fail on it.
19
+ *
20
+ * @usage
21
+ * ```bash
22
+ * dynamo-lint-strict [patterns...] [--max-warnings <n>] [--json]
23
+ * dynamo-lint-strict src --max-warnings 0
24
+ * dynamo-lint-strict --json # last stdout line: machine-readable summary (CI)
25
+ * ```
26
+ */
27
+ import { ESLint } from 'eslint';
28
+ /** Parsed command-line options of `dynamo-lint-strict`. */
29
+ export interface DyESL_LintStrictOptions_Interface {
30
+ patterns: string[];
31
+ /** `undefined` = unlimited warning budget */
32
+ maxWarnings?: number;
33
+ json: boolean;
34
+ }
35
+ /** Aggregated result of one strict lint run. */
36
+ export interface DyESL_LintStrictSummary_Interface {
37
+ errorCount: number;
38
+ fatalErrorCount: number;
39
+ warningCount: number;
40
+ fileCount: number;
41
+ maxWarnings: number | null;
42
+ legacyEslintignore: boolean;
43
+ passed: boolean;
44
+ exitCode: number;
45
+ }
46
+ /** Strict lint runner — pure helpers (unit-testable) + the CLI `run`. */
47
+ export declare class DyESL_LintStrict_Util {
48
+ /**
49
+ * Parses `[patterns...] [--max-warnings <n>] [--json]`.
50
+ * @throws Error on an invalid / missing `--max-warnings` value or an unknown option
51
+ */
52
+ static parseArgs(argv: string[]): DyESL_LintStrictOptions_Interface;
53
+ /** Aggregates the ESLint results into the summary + the exit code (0 pass / 1 fail). */
54
+ static summarize(results: ESLint.LintResult[], maxWarnings: number | undefined, legacyEslintignore: boolean): DyESL_LintStrictSummary_Interface;
55
+ /** Human-readable one-line verdict. */
56
+ static formatVerdict(summary: DyESL_LintStrictSummary_Interface): string;
57
+ /**
58
+ * Runs the strict lint in `cwd` and returns the exit code (0 / 1 / 2). Output goes to stdout/stderr.
59
+ */
60
+ static run(argv: string[], cwd?: string): Promise<number>;
61
+ }
62
+ //# sourceMappingURL=lint-strict.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint-strict.d.ts","sourceRoot":"","sources":["../../src/scripts/lint-strict.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAKH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,2DAA2D;AAC3D,MAAM,WAAW,iCAAiC;IAChD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,gDAAgD;AAChD,MAAM,WAAW,iCAAiC;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,yEAAyE;AACzE,qBAAa,qBAAqB;IAEhC;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,iCAAiC;IA6BnE,wFAAwF;IACxF,MAAM,CAAC,SAAS,CACd,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAC5B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,kBAAkB,EAAE,OAAO,GAC1B,iCAAiC;IAsBpC,uCAAuC;IACvC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,iCAAiC,GAAG,MAAM;IAQxE;;OAEG;WACU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,CAAC;CAkD/E"}