@futdevpro/dynamo-e2e 1.10.0 → 1.11.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 (126) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +2 -2
  3. package/bin/dye2e.js +25 -0
  4. package/build/_modules/cwv/_collections/cwv-comparison.util.d.ts +48 -0
  5. package/build/_modules/cwv/_collections/cwv-comparison.util.d.ts.map +1 -0
  6. package/build/_modules/cwv/_collections/cwv-comparison.util.js +59 -0
  7. package/build/_modules/cwv/_collections/cwv-comparison.util.js.map +1 -0
  8. package/build/_modules/cwv/cwv-comparison.spec.d.ts +2 -0
  9. package/build/_modules/cwv/cwv-comparison.spec.d.ts.map +1 -0
  10. package/build/_modules/cwv/cwv-comparison.spec.js +77 -0
  11. package/build/_modules/cwv/cwv-comparison.spec.js.map +1 -0
  12. package/build/_modules/cwv/index.d.ts +1 -0
  13. package/build/_modules/cwv/index.d.ts.map +1 -1
  14. package/build/_modules/cwv/index.js +1 -0
  15. package/build/_modules/cwv/index.js.map +1 -1
  16. package/build/_modules/generators/_collections/cli-runner.util.d.ts +5 -0
  17. package/build/_modules/generators/_collections/cli-runner.util.d.ts.map +1 -1
  18. package/build/_modules/generators/_collections/cli-runner.util.js +66 -0
  19. package/build/_modules/generators/_collections/cli-runner.util.js.map +1 -1
  20. package/build/_modules/generators/bootstrap.spec.d.ts +2 -0
  21. package/build/_modules/generators/bootstrap.spec.d.ts.map +1 -0
  22. package/build/_modules/generators/bootstrap.spec.js +38 -0
  23. package/build/_modules/generators/bootstrap.spec.js.map +1 -0
  24. package/coverage/contracts/_collections/index.html +1 -1
  25. package/coverage/contracts/_collections/index.ts.html +1 -1
  26. package/coverage/contracts/_collections/utils/index.html +1 -1
  27. package/coverage/contracts/_collections/utils/test-id.util.ts.html +1 -1
  28. package/coverage/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
  29. package/coverage/contracts/_enums/field-test-case-type.enum.ts.html +1 -1
  30. package/coverage/contracts/_enums/index.html +1 -1
  31. package/coverage/contracts/_enums/index.ts.html +1 -1
  32. package/coverage/contracts/_enums/standard-viewport.enum.ts.html +1 -1
  33. package/coverage/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
  34. package/coverage/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
  35. package/coverage/contracts/index.html +1 -1
  36. package/coverage/contracts/index.ts.html +1 -1
  37. package/coverage/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
  38. package/coverage/cwv/_collections/cwv-comparison.util.ts.html +355 -0
  39. package/coverage/cwv/_collections/cwv-diagnose.util.ts.html +1 -1
  40. package/coverage/cwv/_collections/cwv-emission.util.ts.html +1 -1
  41. package/coverage/cwv/_collections/index.html +23 -8
  42. package/coverage/cwv/_collections/inp-interaction-script.const.ts.html +1 -1
  43. package/coverage/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
  44. package/coverage/cwv/cwv-suite.generator.ts.html +1 -1
  45. package/coverage/cwv/index.html +1 -1
  46. package/coverage/generators/_collections/cli-runner.util.ts.html +240 -39
  47. package/coverage/generators/_collections/field-emission.util.ts.html +1 -1
  48. package/coverage/generators/_collections/form-level-emission.util.ts.html +1 -1
  49. package/coverage/generators/_collections/index.html +13 -13
  50. package/coverage/generators/_collections/spec-emission.util.ts.html +1 -1
  51. package/coverage/generators/_collections/test-case-filter.util.ts.html +1 -1
  52. package/coverage/generators/_collections/viewport-emission.util.ts.html +1 -1
  53. package/coverage/generators/form-suite.generator.ts.html +1 -1
  54. package/coverage/generators/index.html +1 -1
  55. package/coverage/generators/viewport-suite.generator.ts.html +1 -1
  56. package/coverage/index.html +26 -26
  57. package/coverage/lcov-report/contracts/_collections/index.html +1 -1
  58. package/coverage/lcov-report/contracts/_collections/index.ts.html +1 -1
  59. package/coverage/lcov-report/contracts/_collections/utils/index.html +1 -1
  60. package/coverage/lcov-report/contracts/_collections/utils/test-id.util.ts.html +1 -1
  61. package/coverage/lcov-report/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
  62. package/coverage/lcov-report/contracts/_enums/field-test-case-type.enum.ts.html +1 -1
  63. package/coverage/lcov-report/contracts/_enums/index.html +1 -1
  64. package/coverage/lcov-report/contracts/_enums/index.ts.html +1 -1
  65. package/coverage/lcov-report/contracts/_enums/standard-viewport.enum.ts.html +1 -1
  66. package/coverage/lcov-report/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
  67. package/coverage/lcov-report/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
  68. package/coverage/lcov-report/contracts/index.html +1 -1
  69. package/coverage/lcov-report/contracts/index.ts.html +1 -1
  70. package/coverage/lcov-report/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
  71. package/coverage/lcov-report/cwv/_collections/cwv-comparison.util.ts.html +355 -0
  72. package/coverage/lcov-report/cwv/_collections/cwv-diagnose.util.ts.html +1 -1
  73. package/coverage/lcov-report/cwv/_collections/cwv-emission.util.ts.html +1 -1
  74. package/coverage/lcov-report/cwv/_collections/index.html +23 -8
  75. package/coverage/lcov-report/cwv/_collections/inp-interaction-script.const.ts.html +1 -1
  76. package/coverage/lcov-report/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
  77. package/coverage/lcov-report/cwv/cwv-suite.generator.ts.html +1 -1
  78. package/coverage/lcov-report/cwv/index.html +1 -1
  79. package/coverage/lcov-report/generators/_collections/cli-runner.util.ts.html +240 -39
  80. package/coverage/lcov-report/generators/_collections/field-emission.util.ts.html +1 -1
  81. package/coverage/lcov-report/generators/_collections/form-level-emission.util.ts.html +1 -1
  82. package/coverage/lcov-report/generators/_collections/index.html +13 -13
  83. package/coverage/lcov-report/generators/_collections/spec-emission.util.ts.html +1 -1
  84. package/coverage/lcov-report/generators/_collections/test-case-filter.util.ts.html +1 -1
  85. package/coverage/lcov-report/generators/_collections/viewport-emission.util.ts.html +1 -1
  86. package/coverage/lcov-report/generators/form-suite.generator.ts.html +1 -1
  87. package/coverage/lcov-report/generators/index.html +1 -1
  88. package/coverage/lcov-report/generators/viewport-suite.generator.ts.html +1 -1
  89. package/coverage/lcov-report/index.html +26 -26
  90. package/coverage/lcov-report/runtime/_collections/assertion-helpers.util.ts.html +1 -1
  91. package/coverage/lcov-report/runtime/_collections/index.html +1 -1
  92. package/coverage/lcov-report/runtime/_collections/unique-generator.util.ts.html +1 -1
  93. package/coverage/lcov-report/runtime/_collections/wait-helpers.util.ts.html +1 -1
  94. package/coverage/lcov-report/runtime/_services/dialog-page-object.ts.html +1 -1
  95. package/coverage/lcov-report/runtime/_services/field-page-object.ts.html +1 -1
  96. package/coverage/lcov-report/runtime/_services/form-page-object.ts.html +1 -1
  97. package/coverage/lcov-report/runtime/_services/index.html +1 -1
  98. package/coverage/lcov-report/runtime/_services/loader-page-object.ts.html +1 -1
  99. package/coverage/lcov-report/runtime/_services/logger.service.ts.html +1 -1
  100. package/coverage/lcov-report/runtime/_services/login-flow-helper.base.ts.html +1 -1
  101. package/coverage/lcov-report/runtime/_services/nav-page-object.ts.html +1 -1
  102. package/coverage/lcov-report/runtime/_services/toast-page-object.ts.html +1 -1
  103. package/coverage/lcov-report/runtime/_services/wave-2b-page-objects.ts.html +1 -1
  104. package/coverage/lcov-report/runtime/index.html +1 -1
  105. package/coverage/lcov-report/runtime/index.ts.html +1 -1
  106. package/coverage/lcov.info +335 -136
  107. package/coverage/runtime/_collections/assertion-helpers.util.ts.html +1 -1
  108. package/coverage/runtime/_collections/index.html +1 -1
  109. package/coverage/runtime/_collections/unique-generator.util.ts.html +1 -1
  110. package/coverage/runtime/_collections/wait-helpers.util.ts.html +1 -1
  111. package/coverage/runtime/_services/dialog-page-object.ts.html +1 -1
  112. package/coverage/runtime/_services/field-page-object.ts.html +1 -1
  113. package/coverage/runtime/_services/form-page-object.ts.html +1 -1
  114. package/coverage/runtime/_services/index.html +1 -1
  115. package/coverage/runtime/_services/loader-page-object.ts.html +1 -1
  116. package/coverage/runtime/_services/logger.service.ts.html +1 -1
  117. package/coverage/runtime/_services/login-flow-helper.base.ts.html +1 -1
  118. package/coverage/runtime/_services/nav-page-object.ts.html +1 -1
  119. package/coverage/runtime/_services/toast-page-object.ts.html +1 -1
  120. package/coverage/runtime/_services/wave-2b-page-objects.ts.html +1 -1
  121. package/coverage/runtime/index.html +1 -1
  122. package/coverage/runtime/index.ts.html +1 -1
  123. package/coverage/tmp/coverage-221932-1781072712070-0.json +1 -0
  124. package/coverage/tmp/{coverage-224932-1781071393426-0.json → coverage-224696-1781072711012-0.json} +1 -1
  125. package/package.json +1 -1
  126. package/coverage/tmp/coverage-226960-1781071394780-0.json +0 -1
@@ -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'>158/158</span>
28
+ <span class='fraction'>225/225</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">96.29% </span>
33
+ <span class="strong">96.42% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>26/27</span>
35
+ <span class='fraction'>27/28</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'>5/5</span>
42
+ <span class='fraction'>6/6</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'>158/158</span>
49
+ <span class='fraction'>225/225</span>
50
50
  </div>
51
51
 
52
52
 
@@ -221,7 +221,74 @@
221
221
  <a name='L156'></a><a href='#L156'>156</a>
222
222
  <a name='L157'></a><a href='#L157'>157</a>
223
223
  <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
225
292
  <span class="cline-any cline-yes">1x</span>
226
293
  <span class="cline-any cline-yes">1x</span>
227
294
  <span class="cline-any cline-yes">1x</span>
@@ -259,38 +326,105 @@
259
326
  <span class="cline-any cline-yes">3x</span>
260
327
  <span class="cline-any cline-yes">1x</span>
261
328
  <span class="cline-any cline-yes">1x</span>
262
- <span class="cline-any cline-yes">2x</span>
263
- <span class="cline-any cline-yes">2x</span>
264
- <span class="cline-any cline-yes">2x</span>
265
- <span class="cline-any cline-yes">2x</span>
266
- <span class="cline-any cline-yes">2x</span>
267
- <span class="cline-any cline-yes">2x</span>
268
- <span class="cline-any cline-yes">2x</span>
269
- <span class="cline-any cline-yes">2x</span>
270
- <span class="cline-any cline-yes">2x</span>
271
- <span class="cline-any cline-yes">2x</span>
272
- <span class="cline-any cline-yes">2x</span>
273
- <span class="cline-any cline-yes">2x</span>
274
- <span class="cline-any cline-yes">2x</span>
275
- <span class="cline-any cline-yes">2x</span>
276
- <span class="cline-any cline-yes">2x</span>
277
- <span class="cline-any cline-yes">2x</span>
278
- <span class="cline-any cline-yes">2x</span>
279
- <span class="cline-any cline-yes">2x</span>
280
- <span class="cline-any cline-yes">2x</span>
281
- <span class="cline-any cline-yes">2x</span>
282
- <span class="cline-any cline-yes">2x</span>
283
- <span class="cline-any cline-yes">2x</span>
284
- <span class="cline-any cline-yes">2x</span>
285
- <span class="cline-any cline-yes">2x</span>
286
- <span class="cline-any cline-yes">2x</span>
287
- <span class="cline-any cline-yes">2x</span>
288
- <span class="cline-any cline-yes">2x</span>
289
- <span class="cline-any cline-yes">2x</span>
290
- <span class="cline-any cline-yes">2x</span>
291
- <span class="cline-any cline-yes">2x</span>
292
- <span class="cline-any cline-yes">2x</span>
293
- <span class="cline-any cline-yes">2x</span>
329
+ <span class="cline-any cline-yes">3x</span>
330
+ <span class="cline-any cline-yes">3x</span>
331
+ <span class="cline-any cline-yes">3x</span>
332
+ <span class="cline-any cline-yes">3x</span>
333
+ <span class="cline-any cline-yes">3x</span>
334
+ <span class="cline-any cline-yes">3x</span>
335
+ <span class="cline-any cline-yes">3x</span>
336
+ <span class="cline-any cline-yes">3x</span>
337
+ <span class="cline-any cline-yes">3x</span>
338
+ <span class="cline-any cline-yes">3x</span>
339
+ <span class="cline-any cline-yes">3x</span>
340
+ <span class="cline-any cline-yes">3x</span>
341
+ <span class="cline-any cline-yes">3x</span>
342
+ <span class="cline-any cline-yes">3x</span>
343
+ <span class="cline-any cline-yes">3x</span>
344
+ <span class="cline-any cline-yes">3x</span>
345
+ <span class="cline-any cline-yes">3x</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">1x</span>
367
+ <span class="cline-any cline-yes">1x</span>
368
+ <span class="cline-any cline-yes">1x</span>
369
+ <span class="cline-any cline-yes">1x</span>
370
+ <span class="cline-any cline-yes">1x</span>
371
+ <span class="cline-any cline-yes">1x</span>
372
+ <span class="cline-any cline-yes">4x</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>
422
+ <span class="cline-any cline-yes">4x</span>
423
+ <span class="cline-any cline-yes">4x</span>
424
+ <span class="cline-any cline-yes">4x</span>
425
+ <span class="cline-any cline-yes">4x</span>
426
+ <span class="cline-any cline-yes">4x</span>
427
+ <span class="cline-any cline-yes">4x</span>
294
428
  <span class="cline-any cline-yes">1x</span>
295
429
  <span class="cline-any cline-yes">1x</span>
296
430
  <span class="cline-any cline-yes">1x</span>
@@ -427,6 +561,7 @@ Commands:
427
561
  generate-viewport-audit Route-list → 7 viewport × theme spec.ts
428
562
  generate-cwv-diag Route-list → CWV synthetic measurement spec.ts
429
563
  doctor Diagnose project config (config-files, deps, conventions)
564
+ bootstrap Scaffold playwright.config.ts + e2e/ + generate.ts
430
565
  version Print package version
431
566
  help This message
432
567
  &nbsp;
@@ -447,8 +582,74 @@ Flags (generate-cwv-diag):
447
582
  &nbsp;
448
583
  Flags (doctor):
449
584
  --pwd &lt;path&gt; Project root (default: cwd)
585
+ &nbsp;
586
+ Flags (bootstrap):
587
+ --pwd &lt;path&gt; Project root (default: cwd)
588
+ --force Overwrite existing files
450
589
  `;
451
590
  }
591
+ &nbsp;
592
+ /**
593
+ * Bootstrap scaffold — visszaadja a generálandó fájlok mappáját
594
+ * ({ path → content }), a CLI ezeket beírja.
595
+ */
596
+ static bootstrapFiles(): Record&lt;string, string&gt; {
597
+ return {
598
+ 'playwright.config.ts': `import { defineConfig, devices } from '@playwright/test';
599
+ &nbsp;
600
+ export default defineConfig({
601
+ testDir: './e2e/tests',
602
+ fullyParallel: true,
603
+ retries: 0,
604
+ reporter: [['html'], ['list']],
605
+ use: {
606
+ baseURL: process.env.E2E_BASE_URL || 'http://localhost:4200',
607
+ ignoreHTTPSErrors: process.env.E2E_IGNORE_HTTPS_ERRORS === '1',
608
+ trace: 'retain-on-failure',
609
+ },
610
+ projects: [{ name: 'chromium', use: { ...devices['Desktop Chrome'] } }],
611
+ });
612
+ `,
613
+ 'e2e/generate.ts': `import { DyE2E_FormSuite_Generator } from '@futdevpro/dynamo-e2e/generators';
614
+ import * as fs from 'fs';
615
+ import * as path from 'path';
616
+ &nbsp;
617
+ const OUT_DIR: string = path.join(__dirname, 'tests/generated');
618
+ fs.mkdirSync(OUT_DIR, { recursive: true });
619
+ &nbsp;
620
+ // Példa: 1 mintaform — bővítsd a saját Settings POJO-iddal
621
+ const exampleConfig = {
622
+ formSettings: {
623
+ key: 'login',
624
+ fields: [
625
+ { key: 'email', type: 'text', required: true, maxLength: 254 },
626
+ { key: 'password', type: 'password', required: true, minLength: 8 },
627
+ ],
628
+ },
629
+ formRoute: '/login',
630
+ formSelector: 'dynamo-form-new',
631
+ };
632
+ &nbsp;
633
+ const spec = DyE2E_FormSuite_Generator.emit(exampleConfig);
634
+ fs.writeFileSync(path.join(OUT_DIR, 'login.spec.ts'), spec);
635
+ console.log('[generate] wrote', fs.readdirSync(OUT_DIR).length, 'spec files');
636
+ `,
637
+ 'e2e/tests/.gitkeep': '',
638
+ 'e2e/tests/generated/.gitkeep': '',
639
+ 'e2e/README.md': `# E2E tests (dynamo-e2e)
640
+ &nbsp;
641
+ \`\`\`bash
642
+ # Generate
643
+ node e2e/generate.ts
644
+ &nbsp;
645
+ # Run
646
+ npx playwright test
647
+ \`\`\`
648
+ &nbsp;
649
+ See: https://github.com/futdevpro/dynamo-e2e/blob/master/__documentations/getting-started.md
650
+ `,
651
+ };
652
+ }
452
653
  &nbsp;
453
654
  /**
454
655
  * Doctor parancs — projekt-config-validáció.
@@ -544,7 +745,7 @@ Flags (doctor):
544
745
  <div class='footer quiet pad2 space-top1 center small'>
545
746
  Code coverage generated by
546
747
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
547
- at 2026-06-10T06:03:15.190Z
748
+ at 2026-06-10T06:25:12.353Z
548
749
  </div>
549
750
  <script src="../../prettify.js"></script>
550
751
  <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:03:15.190Z
592
+ at 2026-06-10T06:25:12.353Z
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:03:15.190Z
208
+ at 2026-06-10T06:25:12.353Z
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">98.95% </span>
26
+ <span class="strong">99.04% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>662/669</span>
28
+ <span class='fraction'>729/736</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">82.95% </span>
33
+ <span class="strong">83.05% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>146/176</span>
35
+ <span class='fraction'>147/177</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'>20/20</span>
42
+ <span class='fraction'>21/21</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">98.95% </span>
47
+ <span class="strong">99.04% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>662/669</span>
49
+ <span class='fraction'>729/736</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="158" class="abs high">158/158</td>
88
- <td data-value="96.29" class="pct high">96.29%</td>
89
- <td data-value="27" class="abs high">26/27</td>
87
+ <td data-value="225" class="abs high">225/225</td>
88
+ <td data-value="96.42" class="pct high">96.42%</td>
89
+ <td data-value="28" class="abs high">27/28</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
- <td data-value="5" class="abs high">5/5</td>
91
+ <td data-value="6" class="abs high">6/6</td>
92
92
  <td data-value="100" class="pct high">100%</td>
93
- <td data-value="158" class="abs high">158/158</td>
93
+ <td data-value="225" class="abs high">225/225</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:03:15.190Z
179
+ at 2026-06-10T06:25:12.353Z
180
180
  </div>
181
181
  <script src="../../prettify.js"></script>
182
182
  <script>
@@ -283,7 +283,7 @@ export class DyE2E_SpecEmission_Util {
283
283
  <div class='footer quiet pad2 space-top1 center small'>
284
284
  Code coverage generated by
285
285
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
286
- at 2026-06-10T06:03:15.190Z
286
+ at 2026-06-10T06:25:12.353Z
287
287
  </div>
288
288
  <script src="../../prettify.js"></script>
289
289
  <script>
@@ -508,7 +508,7 @@ export class DyE2E_TestCaseFilter_Util {
508
508
  <div class='footer quiet pad2 space-top1 center small'>
509
509
  Code coverage generated by
510
510
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
511
- at 2026-06-10T06:03:15.190Z
511
+ at 2026-06-10T06:25:12.353Z
512
512
  </div>
513
513
  <script src="../../prettify.js"></script>
514
514
  <script>
@@ -298,7 +298,7 @@ ${DyE2E_SpecEmission_Util.indent(body, 1)}
298
298
  <div class='footer quiet pad2 space-top1 center small'>
299
299
  Code coverage generated by
300
300
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
301
- at 2026-06-10T06:03:15.190Z
301
+ at 2026-06-10T06:25:12.353Z
302
302
  </div>
303
303
  <script src="../../prettify.js"></script>
304
304
  <script>
@@ -391,7 +391,7 @@ ${fieldBlocks.join('\n\n')}${formLevelBlock}
391
391
  <div class='footer quiet pad2 space-top1 center small'>
392
392
  Code coverage generated by
393
393
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
394
- at 2026-06-10T06:03:15.190Z
394
+ at 2026-06-10T06:25:12.353Z
395
395
  </div>
396
396
  <script src="../prettify.js"></script>
397
397
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2026-06-10T06:03:15.190Z
119
+ at 2026-06-10T06:25:12.353Z
120
120
  </div>
121
121
  <script src="../prettify.js"></script>
122
122
  <script>
@@ -292,7 +292,7 @@ ${blocks.join('\n\n')}
292
292
  <div class='footer quiet pad2 space-top1 center small'>
293
293
  Code coverage generated by
294
294
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
295
- at 2026-06-10T06:03:15.190Z
295
+ at 2026-06-10T06:25:12.353Z
296
296
  </div>
297
297
  <script src="../prettify.js"></script>
298
298
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">98.2% </span>
26
+ <span class="strong">98.32% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>2189/2229</span>
28
+ <span class='fraction'>2346/2386</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">86.43% </span>
33
+ <span class="strong">86.28% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>344/398</span>
35
+ <span class='fraction'>365/423</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">97.36% </span>
40
+ <span class="strong">97.45% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>111/114</span>
42
+ <span class='fraction'>115/118</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">98.2% </span>
47
+ <span class="strong">98.32% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>2189/2229</span>
49
+ <span class='fraction'>2346/2386</span>
50
50
  </div>
51
51
 
52
52
 
@@ -155,17 +155,17 @@
155
155
 
156
156
  <tr>
157
157
  <td class="file high" data-value="cwv/_collections"><a href="cwv/_collections/index.html">cwv/_collections</a></td>
158
- <td data-value="98.3" class="pic high">
158
+ <td data-value="98.57" class="pic high">
159
159
  <div class="chart"><div class="cover-fill" style="width: 98%"></div><div class="cover-empty" style="width: 2%"></div></div>
160
160
  </td>
161
- <td data-value="98.3" class="pct high">98.3%</td>
162
- <td data-value="471" class="abs high">463/471</td>
163
- <td data-value="85.33" class="pct high">85.33%</td>
164
- <td data-value="75" class="abs high">64/75</td>
161
+ <td data-value="98.57" class="pct high">98.57%</td>
162
+ <td data-value="561" class="abs high">553/561</td>
163
+ <td data-value="84.84" class="pct high">84.84%</td>
164
+ <td data-value="99" class="abs high">84/99</td>
165
165
  <td data-value="100" class="pct high">100%</td>
166
- <td data-value="7" class="abs high">7/7</td>
167
- <td data-value="98.3" class="pct high">98.3%</td>
168
- <td data-value="471" class="abs high">463/471</td>
166
+ <td data-value="10" class="abs high">10/10</td>
167
+ <td data-value="98.57" class="pct high">98.57%</td>
168
+ <td data-value="561" class="abs high">553/561</td>
169
169
  </tr>
170
170
 
171
171
  <tr>
@@ -185,17 +185,17 @@
185
185
 
186
186
  <tr>
187
187
  <td class="file high" data-value="generators/_collections"><a href="generators/_collections/index.html">generators/_collections</a></td>
188
- <td data-value="98.95" class="pic high">
189
- <div class="chart"><div class="cover-fill" style="width: 98%"></div><div class="cover-empty" style="width: 2%"></div></div>
188
+ <td data-value="99.04" class="pic high">
189
+ <div class="chart"><div class="cover-fill" style="width: 99%"></div><div class="cover-empty" style="width: 1%"></div></div>
190
190
  </td>
191
- <td data-value="98.95" class="pct high">98.95%</td>
192
- <td data-value="669" class="abs high">662/669</td>
193
- <td data-value="82.95" class="pct high">82.95%</td>
194
- <td data-value="176" class="abs high">146/176</td>
191
+ <td data-value="99.04" class="pct high">99.04%</td>
192
+ <td data-value="736" class="abs high">729/736</td>
193
+ <td data-value="83.05" class="pct high">83.05%</td>
194
+ <td data-value="177" class="abs high">147/177</td>
195
195
  <td data-value="100" class="pct high">100%</td>
196
- <td data-value="20" class="abs high">20/20</td>
197
- <td data-value="98.95" class="pct high">98.95%</td>
198
- <td data-value="669" class="abs high">662/669</td>
196
+ <td data-value="21" class="abs high">21/21</td>
197
+ <td data-value="99.04" class="pct high">99.04%</td>
198
+ <td data-value="736" class="abs high">729/736</td>
199
199
  </tr>
200
200
 
201
201
  <tr>
@@ -251,7 +251,7 @@
251
251
  <div class='footer quiet pad2 space-top1 center small'>
252
252
  Code coverage generated by
253
253
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
254
- at 2026-06-10T06:03:15.190Z
254
+ at 2026-06-10T06:25:12.353Z
255
255
  </div>
256
256
  <script src="prettify.js"></script>
257
257
  <script>
@@ -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:03:15.288Z
104
+ at 2026-06-10T06:25:12.717Z
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -82,7 +82,7 @@ export * from './test-case-sets/field-type-registry.const';
82
82
  <div class='footer quiet pad2 space-top1 center small'>
83
83
  Code coverage generated by
84
84
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
85
- at 2026-06-10T06:03:15.288Z
85
+ at 2026-06-10T06:25:12.717Z
86
86
  </div>
87
87
  <script src="../../prettify.js"></script>
88
88
  <script>
@@ -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:03:15.288Z
104
+ at 2026-06-10T06:25:12.717Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>