@futdevpro/dynamo-eslint 1.20.51 → 1.20.55

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 (37) hide show
  1. package/README.md +22 -0
  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-interface-over-duplicate-types.d.ts.map +1 -1
  29. package/build/plugin/rules/prefer-interface-over-duplicate-types.js +31 -19
  30. package/build/plugin/rules/prefer-interface-over-duplicate-types.js.map +1 -1
  31. package/build/scripts/lint-strict.d.ts +62 -0
  32. package/build/scripts/lint-strict.d.ts.map +1 -0
  33. package/build/scripts/lint-strict.js +151 -0
  34. package/build/scripts/lint-strict.js.map +1 -0
  35. package/build/scripts/ui-building-blocks-baseline.js +17 -2
  36. package/build/scripts/ui-building-blocks-baseline.js.map +1 -1
  37. 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-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"}
@@ -0,0 +1,151 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * @fileoverview Strict lint entry point — `dynamo-lint-strict` (BFR-WARFACTORY-003)
5
+ *
6
+ * Runs ESLint (flat config, the project's own `eslint.config.*`) and sets the process exit code from the
7
+ * AGGREGATED result counters — never from a wrapper's own success path:
8
+ *
9
+ * | exit | meaning |
10
+ * |---|---|
11
+ * | `0` | 0 errors (incl. fatal/parsing errors) and the warnings are within the budget |
12
+ * | `1` | at least one error, OR more warnings than `--max-warnings` |
13
+ * | `2` | lint could not run (config error, NO file linted, crash) — never reported as a pass |
14
+ *
15
+ * **Warning budget:** without `--max-warnings` warnings are reported but do not fail (the budget is unlimited);
16
+ * `--max-warnings 0` is the zero-warning gate; `--max-warnings <n>` a ratchet for a known backlog.
17
+ *
18
+ * **`.eslintignore`:** flat config does NOT read it (ESLint 9) — files listed there ARE linted. If one exists, the
19
+ * run says so loudly and points at the `ignores` migration; it does not fail on it.
20
+ *
21
+ * @usage
22
+ * ```bash
23
+ * dynamo-lint-strict [patterns...] [--max-warnings <n>] [--json]
24
+ * dynamo-lint-strict src --max-warnings 0
25
+ * dynamo-lint-strict --json # last stdout line: machine-readable summary (CI)
26
+ * ```
27
+ */
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.DyESL_LintStrict_Util = void 0;
30
+ const fs_1 = require("fs");
31
+ const path_1 = require("path");
32
+ const eslint_1 = require("eslint");
33
+ /** Strict lint runner — pure helpers (unit-testable) + the CLI `run`. */
34
+ class DyESL_LintStrict_Util {
35
+ /**
36
+ * Parses `[patterns...] [--max-warnings <n>] [--json]`.
37
+ * @throws Error on an invalid / missing `--max-warnings` value or an unknown option
38
+ */
39
+ static parseArgs(argv) {
40
+ const options = { patterns: [], json: false };
41
+ for (let i = 0; i < argv.length; i++) {
42
+ const arg = argv[i];
43
+ if (arg === '--json') {
44
+ options.json = true;
45
+ }
46
+ else if (arg === '--max-warnings') {
47
+ const value = Number(argv[i + 1]);
48
+ if (argv[i + 1] === undefined || !Number.isInteger(value) || value < 0) {
49
+ throw new Error(`--max-warnings needs a non-negative integer (got: ${argv[i + 1] ?? 'nothing'})`);
50
+ }
51
+ options.maxWarnings = value;
52
+ i++;
53
+ }
54
+ else if (arg.startsWith('-')) {
55
+ throw new Error(`unknown option: ${arg}`);
56
+ }
57
+ else {
58
+ options.patterns.push(arg);
59
+ }
60
+ }
61
+ if (!options.patterns.length) {
62
+ options.patterns.push('.');
63
+ }
64
+ return options;
65
+ }
66
+ /** Aggregates the ESLint results into the summary + the exit code (0 pass / 1 fail). */
67
+ static summarize(results, maxWarnings, legacyEslintignore) {
68
+ const errorCount = results.reduce((sum, r) => sum + r.errorCount, 0);
69
+ const fatalErrorCount = results
70
+ .reduce((sum, r) => sum + r.fatalErrorCount, 0);
71
+ const warningCount = results
72
+ .reduce((sum, r) => sum + r.warningCount, 0);
73
+ // a `fatalErrorCount` az `errorCount` RÉSZE (ESLint 9) — külön is számoljuk, hogy a parsing-hiba látsszon
74
+ const overBudget = maxWarnings !== undefined && warningCount > maxWarnings;
75
+ const passed = !errorCount && !fatalErrorCount && !overBudget;
76
+ return {
77
+ errorCount: errorCount,
78
+ fatalErrorCount: fatalErrorCount,
79
+ warningCount: warningCount,
80
+ fileCount: results.length,
81
+ maxWarnings: maxWarnings ?? null,
82
+ legacyEslintignore: legacyEslintignore,
83
+ passed: passed,
84
+ exitCode: passed ? 0 : 1,
85
+ };
86
+ }
87
+ /** Human-readable one-line verdict. */
88
+ static formatVerdict(summary) {
89
+ const budget = summary.maxWarnings === null ? 'unlimited' : `${summary.maxWarnings}`;
90
+ return `[dynamo-lint-strict] ${summary.passed ? 'PASS' : 'FAIL'} — errors: ${summary.errorCount}`
91
+ + ` (fatal: ${summary.fatalErrorCount}) · warnings: ${summary.warningCount} (budget: ${budget})`
92
+ + ` · files: ${summary.fileCount}`;
93
+ }
94
+ /**
95
+ * Runs the strict lint in `cwd` and returns the exit code (0 / 1 / 2). Output goes to stdout/stderr.
96
+ */
97
+ static async run(argv, cwd = process.cwd()) {
98
+ let options;
99
+ try {
100
+ options = DyESL_LintStrict_Util.parseArgs(argv);
101
+ }
102
+ catch (error) {
103
+ console.error(`[dynamo-lint-strict] usage error: ${error instanceof Error ? error.message : String(error)}`);
104
+ return 2;
105
+ }
106
+ const legacyEslintignore = (0, fs_1.existsSync)((0, path_1.join)(cwd, '.eslintignore'));
107
+ if (legacyEslintignore) {
108
+ console.error('[dynamo-lint-strict] ⚠️ .eslintignore found — ESLint 9 flat config does NOT read it, the files'
109
+ + ' listed there ARE linted. Move the patterns into an `ignores` entry of eslint.config.* and delete the file.');
110
+ }
111
+ try {
112
+ const eslint = new eslint_1.ESLint({ cwd: cwd });
113
+ const results = await eslint.lintFiles(options.patterns);
114
+ // üres futás ⛔ zöld: az ESLint `errorOnUnmatchedPattern`-je MÉRTEN nem megbízható (nem létező mappára 5/5
115
+ // futásban 0 fájlt adott vissza, hiba nélkül) — ezért a kapu maga ellenőrzi
116
+ if (!results.length) {
117
+ console.error(`[dynamo-lint-strict] no file was linted for: ${options.patterns.join(' ')} (exit 2)`
118
+ + ' — an empty run is not a pass. Check the patterns and the `ignores` of eslint.config.*.');
119
+ return 2;
120
+ }
121
+ const summary = DyESL_LintStrict_Util.summarize(results, options.maxWarnings, legacyEslintignore);
122
+ const formatter = await eslint.loadFormatter('stylish');
123
+ const formatted = await formatter.format(results);
124
+ if (formatted) {
125
+ console.log(formatted);
126
+ }
127
+ console.log(DyESL_LintStrict_Util.formatVerdict(summary));
128
+ if (options.json) {
129
+ console.log(JSON.stringify(summary));
130
+ }
131
+ return summary.exitCode;
132
+ }
133
+ catch (error) {
134
+ // a lint NEM futott le ⇒ ⛔ soha nem „zöld"
135
+ console.error('[dynamo-lint-strict] lint could not run (exit 2):', error instanceof Error ? error.message : String(error));
136
+ return 2;
137
+ }
138
+ }
139
+ }
140
+ exports.DyESL_LintStrict_Util = DyESL_LintStrict_Util;
141
+ if (require.main === module) {
142
+ DyESL_LintStrict_Util.run(process.argv.slice(2))
143
+ .then((code) => {
144
+ process.exitCode = code;
145
+ })
146
+ .catch((error) => {
147
+ console.error('[dynamo-lint-strict] crashed (exit 2):', error);
148
+ process.exitCode = 2;
149
+ });
150
+ }
151
+ //# sourceMappingURL=lint-strict.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint-strict.js","sourceRoot":"","sources":["../../src/scripts/lint-strict.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ const fast_glob_1 = tslib_1.__importDefault(require("fast-glob"));
24
24
  const fs_1 = require("fs");
25
25
  const path = tslib_1.__importStar(require("path"));
26
26
  const ui_building_blocks_util_1 = require("../plugin/rules/angular/ui-building-blocks.util");
27
+ const empty_state_guard_util_1 = require("../plugin/rules/angular/empty-state-guard.util");
27
28
  /** Scans a project folder into baseline form. */
28
29
  function scanProject(root, scrollerTags) {
29
30
  const files = fast_glob_1.default.sync(['**/*.html', '**/*.ts'], {
@@ -34,6 +35,7 @@ function scanProject(root, scrollerTags) {
34
35
  const scrollContainers = {};
35
36
  const loadingModules = new Set();
36
37
  const failedModules = new Set();
38
+ const emptyStatesWithoutGuard = {};
37
39
  files.sort().forEach((rel) => {
38
40
  if (!ui_building_blocks_util_1.UiBuildingBlocks_Util.isInScope(rel)) {
39
41
  return;
@@ -44,6 +46,12 @@ function scanProject(root, scrollerTags) {
44
46
  if (findings) {
45
47
  scrollContainers[ui_building_blocks_util_1.UiBuildingBlocks_Util.normalize(rel)] = findings;
46
48
  }
49
+ // BFR-QA-003: unguarded empty-state messages (own ancestor block OR the rendering parent's guard clears them)
50
+ const unguarded = empty_state_guard_util_1.EmptyStateGuard_Util.findings(text, rel)
51
+ .filter((f) => !f.ownGuard).length;
52
+ if (unguarded && !empty_state_guard_util_1.EmptyStateGuard_Util.guardedByParent(full, root)) {
53
+ emptyStatesWithoutGuard[ui_building_blocks_util_1.UiBuildingBlocks_Util.normalize(rel)] = unguarded;
54
+ }
47
55
  const moduleDir = ui_building_blocks_util_1.UiBuildingBlocks_Util.moduleDir(full);
48
56
  if (moduleDir) {
49
57
  const key = ui_building_blocks_util_1.UiBuildingBlocks_Util.relativeKey(moduleDir, root);
@@ -59,6 +67,7 @@ function scanProject(root, scrollerTags) {
59
67
  scrollerTags: scrollerTags,
60
68
  scrollContainers: scrollContainers,
61
69
  modulesWithoutLoadFailedBranch: [...loadingModules].filter((m) => !failedModules.has(m)).sort(),
70
+ emptyStatesWithoutGuard: emptyStatesWithoutGuard,
62
71
  };
63
72
  }
64
73
  /** The CLI. */
@@ -79,12 +88,16 @@ function main(args) {
79
88
  .map(([key]) => key);
80
89
  const newModules = current.modulesWithoutLoadFailedBranch
81
90
  .filter((m) => !committed.modulesWithoutLoadFailedBranch.includes(m));
91
+ const grownEmpty = Object.entries(current.emptyStatesWithoutGuard ?? {})
92
+ .filter(([key, count]) => count > (committed.emptyStatesWithoutGuard?.[key] ?? 0))
93
+ .map(([key]) => key);
82
94
  grownFiles.forEach((key) => console.log(`NEW scroll container without min-h-0 chain: ${key}`));
83
95
  newModules.forEach((m) => console.log(`NEW module with a loading state but no failed state: ${m}`));
84
- if (!grownFiles.length && !newModules.length) {
96
+ grownEmpty.forEach((key) => console.log(`NEW empty-state message without a loading / failed guard: ${key}`));
97
+ if (!grownFiles.length && !newModules.length && !grownEmpty.length) {
85
98
  console.log('UI building blocks within the baseline.');
86
99
  }
87
- process.exitCode = grownFiles.length || newModules.length ? 1 : 0;
100
+ process.exitCode = grownFiles.length || newModules.length || grownEmpty.length ? 1 : 0;
88
101
  return;
89
102
  }
90
103
  (0, fs_1.mkdirSync)(path.dirname(out), { recursive: true });
@@ -97,9 +110,11 @@ function main(args) {
97
110
  totals: {
98
111
  scrollContainers: scrollTotal,
99
112
  modulesWithoutLoadFailedBranch: current.modulesWithoutLoadFailedBranch.length,
113
+ emptyStatesWithoutGuard: Object.values(current.emptyStatesWithoutGuard ?? {}).reduce((a, b) => a + b, 0),
100
114
  },
101
115
  scrollContainers: current.scrollContainers,
102
116
  modulesWithoutLoadFailedBranch: current.modulesWithoutLoadFailedBranch,
117
+ emptyStatesWithoutGuard: current.emptyStatesWithoutGuard ?? {},
103
118
  }, null, 2) + '\n');
104
119
  console.log(`UI-building-blocks baseline written: ${path.relative(root, out)} — ${scrollTotal} scroll container(s) `
105
120
  + `without a min-h-0 chain, ${current.modulesWithoutLoadFailedBranch.length} module(s) without a load-failed state.`);
@@ -1 +1 @@
1
- {"version":3,"file":"ui-building-blocks-baseline.js","sourceRoot":"","sources":["../../src/scripts/ui-building-blocks-baseline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui-building-blocks-baseline.js","sourceRoot":"","sources":["../../src/scripts/ui-building-blocks-baseline.ts"],"names":[],"mappings":"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"}