@futdevpro/dynamo-e2e 1.12.1 → 1.14.0

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 (132) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +2 -2
  3. package/bin/dye2e.js +6 -0
  4. package/build/_modules/cwv/_collections/cwv-emission.util.d.ts.map +1 -1
  5. package/build/_modules/cwv/_collections/cwv-emission.util.js +13 -0
  6. package/build/_modules/cwv/_collections/cwv-emission.util.js.map +1 -1
  7. package/build/_modules/cwv/cwv-suite.generator.d.ts.map +1 -1
  8. package/build/_modules/cwv/cwv-suite.generator.js +3 -1
  9. package/build/_modules/cwv/cwv-suite.generator.js.map +1 -1
  10. package/build/_modules/cwv/inp-interaction-driver.spec.d.ts +2 -0
  11. package/build/_modules/cwv/inp-interaction-driver.spec.d.ts.map +1 -0
  12. package/build/_modules/cwv/inp-interaction-driver.spec.js +44 -0
  13. package/build/_modules/cwv/inp-interaction-driver.spec.js.map +1 -0
  14. package/build/_modules/cwv/per-route-thresholds.spec.d.ts +2 -0
  15. package/build/_modules/cwv/per-route-thresholds.spec.d.ts.map +1 -0
  16. package/build/_modules/cwv/per-route-thresholds.spec.js +37 -0
  17. package/build/_modules/cwv/per-route-thresholds.spec.js.map +1 -0
  18. package/build/_modules/generators/_collections/cli-runner.util.d.ts +4 -0
  19. package/build/_modules/generators/_collections/cli-runner.util.d.ts.map +1 -1
  20. package/build/_modules/generators/_collections/cli-runner.util.js +26 -0
  21. package/build/_modules/generators/_collections/cli-runner.util.js.map +1 -1
  22. package/build/_modules/generators/_models/route-descriptor.interface.d.ts +3 -0
  23. package/build/_modules/generators/_models/route-descriptor.interface.d.ts.map +1 -1
  24. package/build/_modules/generators/info.spec.d.ts +2 -0
  25. package/build/_modules/generators/info.spec.d.ts.map +1 -0
  26. package/build/_modules/generators/info.spec.js +42 -0
  27. package/build/_modules/generators/info.spec.js.map +1 -0
  28. package/coverage/contracts/_collections/index.html +1 -1
  29. package/coverage/contracts/_collections/index.ts.html +1 -1
  30. package/coverage/contracts/_collections/utils/index.html +1 -1
  31. package/coverage/contracts/_collections/utils/test-id.util.ts.html +1 -1
  32. package/coverage/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
  33. package/coverage/contracts/_enums/field-test-case-type.enum.ts.html +1 -1
  34. package/coverage/contracts/_enums/index.html +1 -1
  35. package/coverage/contracts/_enums/index.ts.html +1 -1
  36. package/coverage/contracts/_enums/standard-viewport.enum.ts.html +1 -1
  37. package/coverage/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
  38. package/coverage/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
  39. package/coverage/contracts/index.html +1 -1
  40. package/coverage/contracts/index.ts.html +1 -1
  41. package/coverage/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
  42. package/coverage/cwv/_collections/cwv-comparison.util.ts.html +1 -1
  43. package/coverage/cwv/_collections/cwv-diagnose.util.ts.html +1 -1
  44. package/coverage/cwv/_collections/cwv-emission.util.ts.html +131 -92
  45. package/coverage/cwv/_collections/cwv-summarize.util.ts.html +1 -1
  46. package/coverage/cwv/_collections/index.html +7 -7
  47. package/coverage/cwv/_collections/inp-interaction-script.const.ts.html +1 -1
  48. package/coverage/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
  49. package/coverage/cwv/cwv-suite.generator.ts.html +60 -42
  50. package/coverage/cwv/index.html +7 -7
  51. package/coverage/generators/_collections/cli-runner.util.ts.html +136 -55
  52. package/coverage/generators/_collections/field-emission.util.ts.html +1 -1
  53. package/coverage/generators/_collections/form-level-emission.util.ts.html +1 -1
  54. package/coverage/generators/_collections/index.html +13 -13
  55. package/coverage/generators/_collections/spec-emission.util.ts.html +33 -33
  56. package/coverage/generators/_collections/test-case-filter.util.ts.html +1 -1
  57. package/coverage/generators/_collections/viewport-emission.util.ts.html +1 -1
  58. package/coverage/generators/form-suite.generator.ts.html +1 -1
  59. package/coverage/generators/index.html +1 -1
  60. package/coverage/generators/viewport-suite.generator.ts.html +1 -1
  61. package/coverage/index.html +25 -25
  62. package/coverage/lcov-report/contracts/_collections/index.html +1 -1
  63. package/coverage/lcov-report/contracts/_collections/index.ts.html +1 -1
  64. package/coverage/lcov-report/contracts/_collections/utils/index.html +1 -1
  65. package/coverage/lcov-report/contracts/_collections/utils/test-id.util.ts.html +1 -1
  66. package/coverage/lcov-report/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
  67. package/coverage/lcov-report/contracts/_enums/field-test-case-type.enum.ts.html +1 -1
  68. package/coverage/lcov-report/contracts/_enums/index.html +1 -1
  69. package/coverage/lcov-report/contracts/_enums/index.ts.html +1 -1
  70. package/coverage/lcov-report/contracts/_enums/standard-viewport.enum.ts.html +1 -1
  71. package/coverage/lcov-report/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
  72. package/coverage/lcov-report/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
  73. package/coverage/lcov-report/contracts/index.html +1 -1
  74. package/coverage/lcov-report/contracts/index.ts.html +1 -1
  75. package/coverage/lcov-report/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
  76. package/coverage/lcov-report/cwv/_collections/cwv-comparison.util.ts.html +1 -1
  77. package/coverage/lcov-report/cwv/_collections/cwv-diagnose.util.ts.html +1 -1
  78. package/coverage/lcov-report/cwv/_collections/cwv-emission.util.ts.html +131 -92
  79. package/coverage/lcov-report/cwv/_collections/cwv-summarize.util.ts.html +1 -1
  80. package/coverage/lcov-report/cwv/_collections/index.html +7 -7
  81. package/coverage/lcov-report/cwv/_collections/inp-interaction-script.const.ts.html +1 -1
  82. package/coverage/lcov-report/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
  83. package/coverage/lcov-report/cwv/cwv-suite.generator.ts.html +60 -42
  84. package/coverage/lcov-report/cwv/index.html +7 -7
  85. package/coverage/lcov-report/generators/_collections/cli-runner.util.ts.html +136 -55
  86. package/coverage/lcov-report/generators/_collections/field-emission.util.ts.html +1 -1
  87. package/coverage/lcov-report/generators/_collections/form-level-emission.util.ts.html +1 -1
  88. package/coverage/lcov-report/generators/_collections/index.html +13 -13
  89. package/coverage/lcov-report/generators/_collections/spec-emission.util.ts.html +33 -33
  90. package/coverage/lcov-report/generators/_collections/test-case-filter.util.ts.html +1 -1
  91. package/coverage/lcov-report/generators/_collections/viewport-emission.util.ts.html +1 -1
  92. package/coverage/lcov-report/generators/form-suite.generator.ts.html +1 -1
  93. package/coverage/lcov-report/generators/index.html +1 -1
  94. package/coverage/lcov-report/generators/viewport-suite.generator.ts.html +1 -1
  95. package/coverage/lcov-report/index.html +25 -25
  96. package/coverage/lcov-report/runtime/_collections/assertion-helpers.util.ts.html +1 -1
  97. package/coverage/lcov-report/runtime/_collections/index.html +1 -1
  98. package/coverage/lcov-report/runtime/_collections/unique-generator.util.ts.html +1 -1
  99. package/coverage/lcov-report/runtime/_collections/wait-helpers.util.ts.html +5 -5
  100. package/coverage/lcov-report/runtime/_services/dialog-page-object.ts.html +1 -1
  101. package/coverage/lcov-report/runtime/_services/field-page-object.ts.html +1 -1
  102. package/coverage/lcov-report/runtime/_services/form-page-object.ts.html +1 -1
  103. package/coverage/lcov-report/runtime/_services/index.html +1 -1
  104. package/coverage/lcov-report/runtime/_services/loader-page-object.ts.html +1 -1
  105. package/coverage/lcov-report/runtime/_services/logger.service.ts.html +1 -1
  106. package/coverage/lcov-report/runtime/_services/login-flow-helper.base.ts.html +1 -1
  107. package/coverage/lcov-report/runtime/_services/nav-page-object.ts.html +1 -1
  108. package/coverage/lcov-report/runtime/_services/toast-page-object.ts.html +1 -1
  109. package/coverage/lcov-report/runtime/_services/wave-2b-page-objects.ts.html +1 -1
  110. package/coverage/lcov-report/runtime/index.html +1 -1
  111. package/coverage/lcov-report/runtime/index.ts.html +1 -1
  112. package/coverage/lcov.info +356 -303
  113. package/coverage/runtime/_collections/assertion-helpers.util.ts.html +1 -1
  114. package/coverage/runtime/_collections/index.html +1 -1
  115. package/coverage/runtime/_collections/unique-generator.util.ts.html +1 -1
  116. package/coverage/runtime/_collections/wait-helpers.util.ts.html +5 -5
  117. package/coverage/runtime/_services/dialog-page-object.ts.html +1 -1
  118. package/coverage/runtime/_services/field-page-object.ts.html +1 -1
  119. package/coverage/runtime/_services/form-page-object.ts.html +1 -1
  120. package/coverage/runtime/_services/index.html +1 -1
  121. package/coverage/runtime/_services/loader-page-object.ts.html +1 -1
  122. package/coverage/runtime/_services/logger.service.ts.html +1 -1
  123. package/coverage/runtime/_services/login-flow-helper.base.ts.html +1 -1
  124. package/coverage/runtime/_services/nav-page-object.ts.html +1 -1
  125. package/coverage/runtime/_services/toast-page-object.ts.html +1 -1
  126. package/coverage/runtime/_services/wave-2b-page-objects.ts.html +1 -1
  127. package/coverage/runtime/index.html +1 -1
  128. package/coverage/runtime/index.ts.html +1 -1
  129. package/coverage/tmp/coverage-142636-1781074676409-0.json +1 -0
  130. package/coverage/tmp/{coverage-196508-1781073401450-0.json → coverage-207124-1781074674403-0.json} +1 -1
  131. package/package.json +1 -1
  132. package/coverage/tmp/coverage-209804-1781073402771-0.json +0 -1
@@ -25,14 +25,14 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>58/58</span>
28
+ <span class='fraction'>64/64</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>7/7</span>
35
+ <span class='fraction'>8/8</span>
36
36
  </div>
37
37
 
38
38
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>58/58</span>
49
+ <span class='fraction'>64/64</span>
50
50
  </div>
51
51
 
52
52
 
@@ -121,7 +121,13 @@
121
121
  <a name='L56'></a><a href='#L56'>56</a>
122
122
  <a name='L57'></a><a href='#L57'>57</a>
123
123
  <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
125
131
  <span class="cline-any cline-yes">1x</span>
126
132
  <span class="cline-any cline-yes">1x</span>
127
133
  <span class="cline-any cline-yes">1x</span>
@@ -142,42 +148,48 @@
142
148
  <span class="cline-any cline-yes">1x</span>
143
149
  <span class="cline-any cline-yes">1x</span>
144
150
  <span class="cline-any cline-yes">1x</span>
145
- <span class="cline-any cline-yes">13x</span>
146
- <span class="cline-any cline-yes">13x</span>
147
- <span class="cline-any cline-yes">13x</span>
148
- <span class="cline-any cline-yes">13x</span>
149
- <span class="cline-any cline-yes">13x</span>
150
- <span class="cline-any cline-yes">13x</span>
151
- <span class="cline-any cline-yes">13x</span>
152
- <span class="cline-any cline-yes">13x</span>
153
- <span class="cline-any cline-yes">13x</span>
154
- <span class="cline-any cline-yes">13x</span>
155
- <span class="cline-any cline-yes">13x</span>
156
- <span class="cline-any cline-yes">13x</span>
157
- <span class="cline-any cline-yes">13x</span>
158
- <span class="cline-any cline-yes">13x</span>
159
- <span class="cline-any cline-yes">13x</span>
160
- <span class="cline-any cline-yes">13x</span>
161
- <span class="cline-any cline-yes">13x</span>
162
- <span class="cline-any cline-yes">13x</span>
163
- <span class="cline-any cline-yes">13x</span>
164
- <span class="cline-any cline-yes">13x</span>
165
- <span class="cline-any cline-yes">13x</span>
166
- <span class="cline-any cline-yes">13x</span>
167
- <span class="cline-any cline-yes">13x</span>
168
- <span class="cline-any cline-yes">13x</span>
169
- <span class="cline-any cline-yes">13x</span>
170
- <span class="cline-any cline-yes">13x</span>
171
- <span class="cline-any cline-yes">13x</span>
172
- <span class="cline-any cline-yes">13x</span>
173
- <span class="cline-any cline-yes">13x</span>
174
- <span class="cline-any cline-yes">13x</span>
175
- <span class="cline-any cline-yes">13x</span>
176
- <span class="cline-any cline-yes">13x</span>
177
- <span class="cline-any cline-yes">13x</span>
178
- <span class="cline-any cline-yes">13x</span>
179
- <span class="cline-any cline-yes">13x</span>
180
- <span class="cline-any cline-yes">13x</span>
151
+ <span class="cline-any cline-yes">20x</span>
152
+ <span class="cline-any cline-yes">20x</span>
153
+ <span class="cline-any cline-yes">20x</span>
154
+ <span class="cline-any cline-yes">20x</span>
155
+ <span class="cline-any cline-yes">20x</span>
156
+ <span class="cline-any cline-yes">20x</span>
157
+ <span class="cline-any cline-yes">20x</span>
158
+ <span class="cline-any cline-yes">20x</span>
159
+ <span class="cline-any cline-yes">20x</span>
160
+ <span class="cline-any cline-yes">20x</span>
161
+ <span class="cline-any cline-yes">20x</span>
162
+ <span class="cline-any cline-yes">20x</span>
163
+ <span class="cline-any cline-yes">20x</span>
164
+ <span class="cline-any cline-yes">20x</span>
165
+ <span class="cline-any cline-yes">20x</span>
166
+ <span class="cline-any cline-yes">20x</span>
167
+ <span class="cline-any cline-yes">20x</span>
168
+ <span class="cline-any cline-yes">20x</span>
169
+ <span class="cline-any cline-yes">20x</span>
170
+ <span class="cline-any cline-yes">20x</span>
171
+ <span class="cline-any cline-yes">20x</span>
172
+ <span class="cline-any cline-yes">20x</span>
173
+ <span class="cline-any cline-yes">20x</span>
174
+ <span class="cline-any cline-yes">20x</span>
175
+ <span class="cline-any cline-yes">20x</span>
176
+ <span class="cline-any cline-yes">20x</span>
177
+ <span class="cline-any cline-yes">20x</span>
178
+ <span class="cline-any cline-yes">20x</span>
179
+ <span class="cline-any cline-yes">20x</span>
180
+ <span class="cline-any cline-yes">20x</span>
181
+ <span class="cline-any cline-yes">20x</span>
182
+ <span class="cline-any cline-yes">20x</span>
183
+ <span class="cline-any cline-yes">20x</span>
184
+ <span class="cline-any cline-yes">20x</span>
185
+ <span class="cline-any cline-yes">20x</span>
186
+ <span class="cline-any cline-yes">20x</span>
187
+ <span class="cline-any cline-yes">20x</span>
188
+ <span class="cline-any cline-yes">20x</span>
189
+ <span class="cline-any cline-yes">20x</span>
190
+ <span class="cline-any cline-yes">20x</span>
191
+ <span class="cline-any cline-yes">20x</span>
192
+ <span class="cline-any cline-yes">20x</span>
181
193
  <span class="cline-any cline-yes">1x</span>
182
194
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { CWV_GOOD_THRESHOLDS } from '../contracts/_collections/constants/cwv-default-thresholds.const';
183
195
  import { DyE2E_CWVThresholds_Interface } from '../contracts/_models/interfaces/cwv-thresholds.interface';
@@ -213,7 +225,13 @@ export class DyE2E_CWVSuite_Generator {
213
225
  );
214
226
  &nbsp;
215
227
  const routeBlocks: string[] = options.routes.map(
216
- (r: DyE2E_RouteDescriptor_Interface): string =&gt; DyE2E_CWVEmission_Util.emitRouteBlock(r, iterations, thresholds, reportDir),
228
+ (r: DyE2E_RouteDescriptor_Interface): string =&gt; DyE2E_CWVEmission_Util.emitRouteBlock(
229
+ r,
230
+ iterations,
231
+ // Per-route threshold override Wave-3.5 — ha a route saját `cwvThresholds`-szal jön, használjuk azt.
232
+ r.cwvThresholds ?? thresholds,
233
+ reportDir,
234
+ ),
217
235
  );
218
236
  &nbsp;
219
237
  // Wave-3 — ha LCP/CLS/FCP/TTFB MELLETT INP-t is mérünk, mindkét page-scriptet
@@ -244,7 +262,7 @@ ${DyE2E_SpecEmission_Util.indent(routeBlocks.join('\n\n'), 1)}
244
262
  <div class='footer quiet pad2 space-top1 center small'>
245
263
  Code coverage generated by
246
264
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
247
- at 2026-06-10T06:36:43.234Z
265
+ at 2026-06-10T06:57:57.053Z
248
266
  </div>
249
267
  <script src="../prettify.js"></script>
250
268
  <script>
@@ -25,14 +25,14 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>58/58</span>
28
+ <span class='fraction'>64/64</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>7/7</span>
35
+ <span class='fraction'>8/8</span>
36
36
  </div>
37
37
 
38
38
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>58/58</span>
49
+ <span class='fraction'>64/64</span>
50
50
  </div>
51
51
 
52
52
 
@@ -84,13 +84,13 @@
84
84
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
85
  </td>
86
86
  <td data-value="100" class="pct high">100%</td>
87
- <td data-value="58" class="abs high">58/58</td>
87
+ <td data-value="64" class="abs high">64/64</td>
88
88
  <td data-value="100" class="pct high">100%</td>
89
- <td data-value="7" class="abs high">7/7</td>
89
+ <td data-value="8" class="abs high">8/8</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
91
  <td data-value="1" class="abs high">1/1</td>
92
92
  <td data-value="100" class="pct high">100%</td>
93
- <td data-value="58" class="abs high">58/58</td>
93
+ <td data-value="64" class="abs high">64/64</td>
94
94
  </tr>
95
95
 
96
96
  </tbody>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-06-10T06:36:43.234Z
104
+ at 2026-06-10T06:57:57.053Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -25,28 +25,28 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>242/242</span>
28
+ <span class='fraction'>269/269</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">96.42% </span>
33
+ <span class="strong">96.87% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>27/28</span>
35
+ <span class='fraction'>31/32</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>6/6</span>
42
+ <span class='fraction'>7/7</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>242/242</span>
49
+ <span class='fraction'>269/269</span>
50
50
  </div>
51
51
 
52
52
 
@@ -305,7 +305,34 @@
305
305
  <a name='L240'></a><a href='#L240'>240</a>
306
306
  <a name='L241'></a><a href='#L241'>241</a>
307
307
  <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a>
310
+ <a name='L245'></a><a href='#L245'>245</a>
311
+ <a name='L246'></a><a href='#L246'>246</a>
312
+ <a name='L247'></a><a href='#L247'>247</a>
313
+ <a name='L248'></a><a href='#L248'>248</a>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a>
316
+ <a name='L251'></a><a href='#L251'>251</a>
317
+ <a name='L252'></a><a href='#L252'>252</a>
318
+ <a name='L253'></a><a href='#L253'>253</a>
319
+ <a name='L254'></a><a href='#L254'>254</a>
320
+ <a name='L255'></a><a href='#L255'>255</a>
321
+ <a name='L256'></a><a href='#L256'>256</a>
322
+ <a name='L257'></a><a href='#L257'>257</a>
323
+ <a name='L258'></a><a href='#L258'>258</a>
324
+ <a name='L259'></a><a href='#L259'>259</a>
325
+ <a name='L260'></a><a href='#L260'>260</a>
326
+ <a name='L261'></a><a href='#L261'>261</a>
327
+ <a name='L262'></a><a href='#L262'>262</a>
328
+ <a name='L263'></a><a href='#L263'>263</a>
329
+ <a name='L264'></a><a href='#L264'>264</a>
330
+ <a name='L265'></a><a href='#L265'>265</a>
331
+ <a name='L266'></a><a href='#L266'>266</a>
332
+ <a name='L267'></a><a href='#L267'>267</a>
333
+ <a name='L268'></a><a href='#L268'>268</a>
334
+ <a name='L269'></a><a href='#L269'>269</a>
335
+ <a name='L270'></a><a href='#L270'>270</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
309
336
  <span class="cline-any cline-yes">1x</span>
310
337
  <span class="cline-any cline-yes">1x</span>
311
338
  <span class="cline-any cline-yes">1x</span>
@@ -343,54 +370,55 @@
343
370
  <span class="cline-any cline-yes">3x</span>
344
371
  <span class="cline-any cline-yes">1x</span>
345
372
  <span class="cline-any cline-yes">1x</span>
346
- <span class="cline-any cline-yes">3x</span>
347
- <span class="cline-any cline-yes">3x</span>
348
- <span class="cline-any cline-yes">3x</span>
349
- <span class="cline-any cline-yes">3x</span>
350
- <span class="cline-any cline-yes">3x</span>
351
- <span class="cline-any cline-yes">3x</span>
352
- <span class="cline-any cline-yes">3x</span>
353
- <span class="cline-any cline-yes">3x</span>
354
- <span class="cline-any cline-yes">3x</span>
355
- <span class="cline-any cline-yes">3x</span>
356
- <span class="cline-any cline-yes">3x</span>
357
- <span class="cline-any cline-yes">3x</span>
358
- <span class="cline-any cline-yes">3x</span>
359
- <span class="cline-any cline-yes">3x</span>
360
- <span class="cline-any cline-yes">3x</span>
361
- <span class="cline-any cline-yes">3x</span>
362
- <span class="cline-any cline-yes">3x</span>
363
- <span class="cline-any cline-yes">3x</span>
364
- <span class="cline-any cline-yes">3x</span>
365
- <span class="cline-any cline-yes">3x</span>
366
- <span class="cline-any cline-yes">3x</span>
367
- <span class="cline-any cline-yes">3x</span>
368
- <span class="cline-any cline-yes">3x</span>
369
- <span class="cline-any cline-yes">3x</span>
370
- <span class="cline-any cline-yes">3x</span>
371
- <span class="cline-any cline-yes">3x</span>
372
- <span class="cline-any cline-yes">3x</span>
373
- <span class="cline-any cline-yes">3x</span>
374
- <span class="cline-any cline-yes">3x</span>
375
- <span class="cline-any cline-yes">3x</span>
376
- <span class="cline-any cline-yes">3x</span>
377
- <span class="cline-any cline-yes">3x</span>
378
- <span class="cline-any cline-yes">3x</span>
379
- <span class="cline-any cline-yes">3x</span>
380
- <span class="cline-any cline-yes">3x</span>
381
- <span class="cline-any cline-yes">3x</span>
382
- <span class="cline-any cline-yes">3x</span>
383
- <span class="cline-any cline-yes">3x</span>
384
- <span class="cline-any cline-yes">3x</span>
385
- <span class="cline-any cline-yes">3x</span>
386
- <span class="cline-any cline-yes">3x</span>
387
- <span class="cline-any cline-yes">3x</span>
388
- <span class="cline-any cline-yes">3x</span>
389
- <span class="cline-any cline-yes">3x</span>
390
- <span class="cline-any cline-yes">3x</span>
391
- <span class="cline-any cline-yes">3x</span>
392
- <span class="cline-any cline-yes">3x</span>
393
- <span class="cline-any cline-yes">3x</span>
373
+ <span class="cline-any cline-yes">4x</span>
374
+ <span class="cline-any cline-yes">4x</span>
375
+ <span class="cline-any cline-yes">4x</span>
376
+ <span class="cline-any cline-yes">4x</span>
377
+ <span class="cline-any cline-yes">4x</span>
378
+ <span class="cline-any cline-yes">4x</span>
379
+ <span class="cline-any cline-yes">4x</span>
380
+ <span class="cline-any cline-yes">4x</span>
381
+ <span class="cline-any cline-yes">4x</span>
382
+ <span class="cline-any cline-yes">4x</span>
383
+ <span class="cline-any cline-yes">4x</span>
384
+ <span class="cline-any cline-yes">4x</span>
385
+ <span class="cline-any cline-yes">4x</span>
386
+ <span class="cline-any cline-yes">4x</span>
387
+ <span class="cline-any cline-yes">4x</span>
388
+ <span class="cline-any cline-yes">4x</span>
389
+ <span class="cline-any cline-yes">4x</span>
390
+ <span class="cline-any cline-yes">4x</span>
391
+ <span class="cline-any cline-yes">4x</span>
392
+ <span class="cline-any cline-yes">4x</span>
393
+ <span class="cline-any cline-yes">4x</span>
394
+ <span class="cline-any cline-yes">4x</span>
395
+ <span class="cline-any cline-yes">4x</span>
396
+ <span class="cline-any cline-yes">4x</span>
397
+ <span class="cline-any cline-yes">4x</span>
398
+ <span class="cline-any cline-yes">4x</span>
399
+ <span class="cline-any cline-yes">4x</span>
400
+ <span class="cline-any cline-yes">4x</span>
401
+ <span class="cline-any cline-yes">4x</span>
402
+ <span class="cline-any cline-yes">4x</span>
403
+ <span class="cline-any cline-yes">4x</span>
404
+ <span class="cline-any cline-yes">4x</span>
405
+ <span class="cline-any cline-yes">4x</span>
406
+ <span class="cline-any cline-yes">4x</span>
407
+ <span class="cline-any cline-yes">4x</span>
408
+ <span class="cline-any cline-yes">4x</span>
409
+ <span class="cline-any cline-yes">4x</span>
410
+ <span class="cline-any cline-yes">4x</span>
411
+ <span class="cline-any cline-yes">4x</span>
412
+ <span class="cline-any cline-yes">4x</span>
413
+ <span class="cline-any cline-yes">4x</span>
414
+ <span class="cline-any cline-yes">4x</span>
415
+ <span class="cline-any cline-yes">4x</span>
416
+ <span class="cline-any cline-yes">4x</span>
417
+ <span class="cline-any cline-yes">4x</span>
418
+ <span class="cline-any cline-yes">4x</span>
419
+ <span class="cline-any cline-yes">4x</span>
420
+ <span class="cline-any cline-yes">4x</span>
421
+ <span class="cline-any cline-yes">4x</span>
394
422
  <span class="cline-any cline-yes">1x</span>
395
423
  <span class="cline-any cline-yes">1x</span>
396
424
  <span class="cline-any cline-yes">1x</span>
@@ -530,6 +558,32 @@
530
558
  <span class="cline-any cline-yes">1x</span>
531
559
  <span class="cline-any cline-yes">1x</span>
532
560
  <span class="cline-any cline-yes">1x</span>
561
+ <span class="cline-any cline-yes">5x</span>
562
+ <span class="cline-any cline-yes">5x</span>
563
+ <span class="cline-any cline-yes">5x</span>
564
+ <span class="cline-any cline-yes">5x</span>
565
+ <span class="cline-any cline-yes">5x</span>
566
+ <span class="cline-any cline-yes">5x</span>
567
+ <span class="cline-any cline-yes">5x</span>
568
+ <span class="cline-any cline-yes">5x</span>
569
+ <span class="cline-any cline-yes">5x</span>
570
+ <span class="cline-any cline-yes">5x</span>
571
+ <span class="cline-any cline-yes">5x</span>
572
+ <span class="cline-any cline-yes">5x</span>
573
+ <span class="cline-any cline-yes">5x</span>
574
+ <span class="cline-any cline-yes">5x</span>
575
+ <span class="cline-any cline-yes">5x</span>
576
+ <span class="cline-any cline-yes">5x</span>
577
+ <span class="cline-any cline-yes">5x</span>
578
+ <span class="cline-any cline-yes">5x</span>
579
+ <span class="cline-any cline-yes">5x</span>
580
+ <span class="cline-any cline-yes">5x</span>
581
+ <span class="cline-any cline-yes">5x</span>
582
+ <span class="cline-any cline-yes">1x</span>
583
+ <span class="cline-any cline-yes">1x</span>
584
+ <span class="cline-any cline-yes">1x</span>
585
+ <span class="cline-any cline-yes">1x</span>
586
+ <span class="cline-any cline-yes">1x</span>
533
587
  <span class="cline-any cline-yes">1x</span>
534
588
  <span class="cline-any cline-yes">5x</span>
535
589
  <span class="cline-any cline-yes">5x</span>
@@ -598,6 +652,7 @@ Commands:
598
652
  bootstrap Scaffold playwright.config.ts + e2e/ + generate.ts
599
653
  summarize Read CWV JSON-report → human-readable summary
600
654
  diff Compare two CWV reports → regression analysis
655
+ info Show registered field-types + CLI capabilities
601
656
  version Print package version
602
657
  help This message
603
658
  &nbsp;
@@ -767,6 +822,32 @@ See: https://github.com/futdevpro/dynamo-e2e/blob/master/__documentations/gettin
767
822
  static versionText(version: string): string {
768
823
  return `@futdevpro/dynamo-e2e ${version}`;
769
824
  }
825
+ &nbsp;
826
+ /**
827
+ * Info command — registry + capability summary (consumer self-describe).
828
+ */
829
+ static infoText(version: string, fieldTypes: string[]): string {
830
+ const sortedTypes: string[] = [...fieldTypes].sort();
831
+ const wave1: string[] = sortedTypes.filter((t: string): boolean =&gt; ['text', 'textarea', 'password', 'number', 'checkbox', 'select', 'multiselect', 'date'].indexOf(t) !== -1);
832
+ const wave2a: string[] = sortedTypes.filter((t: string): boolean =&gt; ['slider', 'sliderRange', 'radioSelect', 'dateTime', 'dateRange'].indexOf(t) !== -1);
833
+ const wave2b: string[] = sortedTypes.filter((t: string): boolean =&gt; ['chipSelect', 'autocomplete', 'color', 'file', 'richtextarea'].indexOf(t) !== -1);
834
+ return `@futdevpro/dynamo-e2e ${version}
835
+ &nbsp;
836
+ Registered field-types (${sortedTypes.length}):
837
+ Wave-1 (${wave1.length}): ${wave1.join(', ')}
838
+ Wave-2a (${wave2a.length}): ${wave2a.join(', ')}
839
+ Wave-2b (${wave2b.length}): ${wave2b.join(', ')}
840
+ &nbsp;
841
+ CLI capabilities:
842
+ - 3 generators (form-suite, viewport-audit, cwv-diag)
843
+ - 2 report utils (summarize, diff)
844
+ - 2 config helpers (bootstrap, doctor)
845
+ - Wave-3 INP synthetic interaction-driver
846
+ - Per-route CWV threshold overrides
847
+ &nbsp;
848
+ Docs: github.com/futdevpro/dynamo-e2e/__documentations/
849
+ `;
850
+ }
770
851
  &nbsp;
771
852
  /**
772
853
  * A 3 generate-parancs köztes-runner-je. A konfig egy JSON-string (filesystem
@@ -796,7 +877,7 @@ See: https://github.com/futdevpro/dynamo-e2e/blob/master/__documentations/gettin
796
877
  <div class='footer quiet pad2 space-top1 center small'>
797
878
  Code coverage generated by
798
879
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
799
- at 2026-06-10T06:36:43.234Z
880
+ at 2026-06-10T06:57:57.053Z
800
881
  </div>
801
882
  <script src="../../prettify.js"></script>
802
883
  <script>
@@ -589,7 +589,7 @@ expect(true).toBe(true);`;
589
589
  <div class='footer quiet pad2 space-top1 center small'>
590
590
  Code coverage generated by
591
591
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
592
- at 2026-06-10T06:36:43.234Z
592
+ at 2026-06-10T06:57:57.053Z
593
593
  </div>
594
594
  <script src="../../prettify.js"></script>
595
595
  <script>
@@ -205,7 +205,7 @@ ${requiredFieldCount &gt; 0
205
205
  <div class='footer quiet pad2 space-top1 center small'>
206
206
  Code coverage generated by
207
207
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
208
- at 2026-06-10T06:36:43.234Z
208
+ at 2026-06-10T06:57:57.053Z
209
209
  </div>
210
210
  <script src="../../prettify.js"></script>
211
211
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">99.07% </span>
26
+ <span class="strong">99.1% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>746/753</span>
28
+ <span class='fraction'>773/780</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">83.05% </span>
33
+ <span class="strong">83.42% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>147/177</span>
35
+ <span class='fraction'>151/181</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>21/21</span>
42
+ <span class='fraction'>22/22</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">99.07% </span>
47
+ <span class="strong">99.1% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>746/753</span>
49
+ <span class='fraction'>773/780</span>
50
50
  </div>
51
51
 
52
52
 
@@ -84,13 +84,13 @@
84
84
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
85
  </td>
86
86
  <td data-value="100" class="pct high">100%</td>
87
- <td data-value="242" class="abs high">242/242</td>
88
- <td data-value="96.42" class="pct high">96.42%</td>
89
- <td data-value="28" class="abs high">27/28</td>
87
+ <td data-value="269" class="abs high">269/269</td>
88
+ <td data-value="96.87" class="pct high">96.87%</td>
89
+ <td data-value="32" class="abs high">31/32</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
- <td data-value="6" class="abs high">6/6</td>
91
+ <td data-value="7" class="abs high">7/7</td>
92
92
  <td data-value="100" class="pct high">100%</td>
93
- <td data-value="242" class="abs high">242/242</td>
93
+ <td data-value="269" class="abs high">269/269</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -176,7 +176,7 @@
176
176
  <div class='footer quiet pad2 space-top1 center small'>
177
177
  Code coverage generated by
178
178
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
179
- at 2026-06-10T06:36:43.234Z
179
+ at 2026-06-10T06:57:57.053Z
180
180
  </div>
181
181
  <script src="../../prettify.js"></script>
182
182
  <script>