@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.288Z
748
+ at 2026-06-10T06:25:12.717Z
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.288Z
592
+ at 2026-06-10T06:25:12.717Z
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.288Z
208
+ at 2026-06-10T06:25:12.717Z
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.288Z
179
+ at 2026-06-10T06:25:12.717Z
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.288Z
286
+ at 2026-06-10T06:25:12.717Z
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.288Z
511
+ at 2026-06-10T06:25:12.717Z
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.288Z
301
+ at 2026-06-10T06:25:12.717Z
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.288Z
394
+ at 2026-06-10T06:25:12.717Z
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.288Z
119
+ at 2026-06-10T06:25:12.717Z
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.288Z
295
+ at 2026-06-10T06:25:12.717Z
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.288Z
254
+ at 2026-06-10T06:25:12.717Z
255
255
  </div>
256
256
  <script src="prettify.js"></script>
257
257
  <script>
@@ -190,7 +190,7 @@ export class DyE2E_AssertionHelpers_Util {
190
190
  <div class='footer quiet pad2 space-top1 center small'>
191
191
  Code coverage generated by
192
192
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
193
- at 2026-06-10T06:03:15.288Z
193
+ at 2026-06-10T06:25:12.717Z
194
194
  </div>
195
195
  <script src="../../prettify.js"></script>
196
196
  <script>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at 2026-06-10T06:03:15.288Z
134
+ at 2026-06-10T06:25:12.717Z
135
135
  </div>
136
136
  <script src="../../prettify.js"></script>
137
137
  <script>
@@ -241,7 +241,7 @@ export class DyE2E_UniqueGenerator_Util {
241
241
  <div class='footer quiet pad2 space-top1 center small'>
242
242
  Code coverage generated by
243
243
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
244
- at 2026-06-10T06:03:15.288Z
244
+ at 2026-06-10T06:25:12.717Z
245
245
  </div>
246
246
  <script src="../../prettify.js"></script>
247
247
  <script>