@futdevpro/dynamo-e2e 1.18.10 → 1.18.11

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 (336) hide show
  1. package/CHANGELOG.md +12 -2
  2. package/LICENSE +21 -0
  3. package/README.md +3 -0
  4. package/build/_modules/game/_models/game-contracts.interface.d.ts +82 -0
  5. package/build/_modules/game/_models/game-contracts.interface.d.ts.map +1 -0
  6. package/build/_modules/game/_models/game-contracts.interface.js +3 -0
  7. package/build/_modules/game/_models/game-contracts.interface.js.map +1 -0
  8. package/build/_modules/game/game-seam.helper.d.ts +40 -0
  9. package/build/_modules/game/game-seam.helper.d.ts.map +1 -0
  10. package/build/_modules/game/game-seam.helper.js +254 -0
  11. package/build/_modules/game/game-seam.helper.js.map +1 -0
  12. package/build/_modules/game/index.d.ts +4 -0
  13. package/build/_modules/game/index.d.ts.map +1 -0
  14. package/build/_modules/game/index.js +20 -0
  15. package/build/_modules/game/index.js.map +1 -0
  16. package/build/_modules/game/journey-catalog.validator.d.ts +5 -0
  17. package/build/_modules/game/journey-catalog.validator.d.ts.map +1 -0
  18. package/build/_modules/game/journey-catalog.validator.js +244 -0
  19. package/build/_modules/game/journey-catalog.validator.js.map +1 -0
  20. package/build/_modules/generators/_collections/form-level-emission.util.d.ts.map +1 -1
  21. package/build/_modules/generators/_collections/form-level-emission.util.js +8 -0
  22. package/build/_modules/generators/_collections/form-level-emission.util.js.map +1 -1
  23. package/build/_modules/generators/_models/form-settings-shape.interface.d.ts +7 -0
  24. package/build/_modules/generators/_models/form-settings-shape.interface.d.ts.map +1 -1
  25. package/build/_modules/presets/_collections/playwright-config.factory.d.ts.map +1 -1
  26. package/build/_modules/presets/_collections/playwright-config.factory.js +6 -0
  27. package/build/_modules/presets/_collections/playwright-config.factory.js.map +1 -1
  28. package/build/_modules/presets/_models/interfaces/playwright-config-options.interface.d.ts +4 -0
  29. package/build/_modules/presets/_models/interfaces/playwright-config-options.interface.d.ts.map +1 -1
  30. package/build/_modules/vqa/generators/ai-agent-readme.template.js +1 -1
  31. package/build/index.d.ts +1 -0
  32. package/build/index.d.ts.map +1 -1
  33. package/build/index.js +2 -1
  34. package/build/index.js.map +1 -1
  35. package/package.json +12 -5
  36. package/.c8rc.json +0 -25
  37. package/.dynamo/pipeline.cicd.config.json +0 -167
  38. package/.dynamo/version-bump.config.json +0 -5
  39. package/.github/workflows/main.yml +0 -35
  40. package/BUILD.md +0 -36
  41. package/CONTRIBUTING.md +0 -90
  42. package/build/_modules/contracts/contracts.spec.d.ts +0 -2
  43. package/build/_modules/contracts/contracts.spec.d.ts.map +0 -1
  44. package/build/_modules/contracts/contracts.spec.js +0 -144
  45. package/build/_modules/contracts/contracts.spec.js.map +0 -1
  46. package/build/_modules/cwv/cwv-comparison.spec.d.ts +0 -2
  47. package/build/_modules/cwv/cwv-comparison.spec.d.ts.map +0 -1
  48. package/build/_modules/cwv/cwv-comparison.spec.js +0 -77
  49. package/build/_modules/cwv/cwv-comparison.spec.js.map +0 -1
  50. package/build/_modules/cwv/cwv-diagnose.spec.d.ts +0 -2
  51. package/build/_modules/cwv/cwv-diagnose.spec.d.ts.map +0 -1
  52. package/build/_modules/cwv/cwv-diagnose.spec.js +0 -78
  53. package/build/_modules/cwv/cwv-diagnose.spec.js.map +0 -1
  54. package/build/_modules/cwv/cwv-suite.generator.spec.d.ts +0 -2
  55. package/build/_modules/cwv/cwv-suite.generator.spec.d.ts.map +0 -1
  56. package/build/_modules/cwv/cwv-suite.generator.spec.js +0 -81
  57. package/build/_modules/cwv/cwv-suite.generator.spec.js.map +0 -1
  58. package/build/_modules/cwv/cwv-summarize.spec.d.ts +0 -2
  59. package/build/_modules/cwv/cwv-summarize.spec.d.ts.map +0 -1
  60. package/build/_modules/cwv/cwv-summarize.spec.js +0 -70
  61. package/build/_modules/cwv/cwv-summarize.spec.js.map +0 -1
  62. package/build/_modules/cwv/inp-emit-integration.spec.d.ts +0 -2
  63. package/build/_modules/cwv/inp-emit-integration.spec.d.ts.map +0 -1
  64. package/build/_modules/cwv/inp-emit-integration.spec.js +0 -43
  65. package/build/_modules/cwv/inp-emit-integration.spec.js.map +0 -1
  66. package/build/_modules/cwv/inp-interaction-driver.spec.d.ts +0 -2
  67. package/build/_modules/cwv/inp-interaction-driver.spec.d.ts.map +0 -1
  68. package/build/_modules/cwv/inp-interaction-driver.spec.js +0 -44
  69. package/build/_modules/cwv/inp-interaction-driver.spec.js.map +0 -1
  70. package/build/_modules/cwv/inp-script.spec.d.ts +0 -2
  71. package/build/_modules/cwv/inp-script.spec.d.ts.map +0 -1
  72. package/build/_modules/cwv/inp-script.spec.js +0 -35
  73. package/build/_modules/cwv/inp-script.spec.js.map +0 -1
  74. package/build/_modules/cwv/per-route-thresholds.spec.d.ts +0 -2
  75. package/build/_modules/cwv/per-route-thresholds.spec.d.ts.map +0 -1
  76. package/build/_modules/cwv/per-route-thresholds.spec.js +0 -37
  77. package/build/_modules/cwv/per-route-thresholds.spec.js.map +0 -1
  78. package/build/_modules/generators/bootstrap.spec.d.ts +0 -2
  79. package/build/_modules/generators/bootstrap.spec.d.ts.map +0 -1
  80. package/build/_modules/generators/bootstrap.spec.js +0 -46
  81. package/build/_modules/generators/bootstrap.spec.js.map +0 -1
  82. package/build/_modules/generators/cli-runner.spec.d.ts +0 -2
  83. package/build/_modules/generators/cli-runner.spec.d.ts.map +0 -1
  84. package/build/_modules/generators/cli-runner.spec.js +0 -93
  85. package/build/_modules/generators/cli-runner.spec.js.map +0 -1
  86. package/build/_modules/generators/config-validator.spec.d.ts +0 -2
  87. package/build/_modules/generators/config-validator.spec.d.ts.map +0 -1
  88. package/build/_modules/generators/config-validator.spec.js +0 -115
  89. package/build/_modules/generators/config-validator.spec.js.map +0 -1
  90. package/build/_modules/generators/doctor.spec.d.ts +0 -2
  91. package/build/_modules/generators/doctor.spec.d.ts.map +0 -1
  92. package/build/_modules/generators/doctor.spec.js +0 -68
  93. package/build/_modules/generators/doctor.spec.js.map +0 -1
  94. package/build/_modules/generators/field-emission-edge.spec.d.ts +0 -2
  95. package/build/_modules/generators/field-emission-edge.spec.d.ts.map +0 -1
  96. package/build/_modules/generators/field-emission-edge.spec.js +0 -164
  97. package/build/_modules/generators/field-emission-edge.spec.js.map +0 -1
  98. package/build/_modules/generators/form-suite.generator.spec.d.ts +0 -2
  99. package/build/_modules/generators/form-suite.generator.spec.d.ts.map +0 -1
  100. package/build/_modules/generators/form-suite.generator.spec.js +0 -188
  101. package/build/_modules/generators/form-suite.generator.spec.js.map +0 -1
  102. package/build/_modules/generators/info.spec.d.ts +0 -2
  103. package/build/_modules/generators/info.spec.d.ts.map +0 -1
  104. package/build/_modules/generators/info.spec.js +0 -42
  105. package/build/_modules/generators/info.spec.js.map +0 -1
  106. package/build/_modules/generators/json-schema.spec.d.ts +0 -2
  107. package/build/_modules/generators/json-schema.spec.d.ts.map +0 -1
  108. package/build/_modules/generators/json-schema.spec.js +0 -81
  109. package/build/_modules/generators/json-schema.spec.js.map +0 -1
  110. package/build/_modules/generators/preset-configs.spec.d.ts +0 -2
  111. package/build/_modules/generators/preset-configs.spec.d.ts.map +0 -1
  112. package/build/_modules/generators/preset-configs.spec.js +0 -53
  113. package/build/_modules/generators/preset-configs.spec.js.map +0 -1
  114. package/build/_modules/generators/test-case-filter-edge.spec.d.ts +0 -2
  115. package/build/_modules/generators/test-case-filter-edge.spec.d.ts.map +0 -1
  116. package/build/_modules/generators/test-case-filter-edge.spec.js +0 -105
  117. package/build/_modules/generators/test-case-filter-edge.spec.js.map +0 -1
  118. package/build/_modules/generators/viewport-suite.generator.spec.d.ts +0 -2
  119. package/build/_modules/generators/viewport-suite.generator.spec.d.ts.map +0 -1
  120. package/build/_modules/generators/viewport-suite.generator.spec.js +0 -59
  121. package/build/_modules/generators/viewport-suite.generator.spec.js.map +0 -1
  122. package/build/_modules/generators/wave-2b-emission.spec.d.ts +0 -2
  123. package/build/_modules/generators/wave-2b-emission.spec.d.ts.map +0 -1
  124. package/build/_modules/generators/wave-2b-emission.spec.js +0 -115
  125. package/build/_modules/generators/wave-2b-emission.spec.js.map +0 -1
  126. package/build/_modules/presets/presets.spec.d.ts +0 -2
  127. package/build/_modules/presets/presets.spec.d.ts.map +0 -1
  128. package/build/_modules/presets/presets.spec.js +0 -286
  129. package/build/_modules/presets/presets.spec.js.map +0 -1
  130. package/build/_modules/runtime/assertion-helpers.spec.d.ts +0 -2
  131. package/build/_modules/runtime/assertion-helpers.spec.d.ts.map +0 -1
  132. package/build/_modules/runtime/assertion-helpers.spec.js +0 -57
  133. package/build/_modules/runtime/assertion-helpers.spec.js.map +0 -1
  134. package/build/_modules/runtime/logger.service.spec.d.ts +0 -2
  135. package/build/_modules/runtime/logger.service.spec.d.ts.map +0 -1
  136. package/build/_modules/runtime/logger.service.spec.js +0 -61
  137. package/build/_modules/runtime/logger.service.spec.js.map +0 -1
  138. package/build/_modules/runtime/login-flow-helper.spec.d.ts +0 -2
  139. package/build/_modules/runtime/login-flow-helper.spec.d.ts.map +0 -1
  140. package/build/_modules/runtime/login-flow-helper.spec.js +0 -74
  141. package/build/_modules/runtime/login-flow-helper.spec.js.map +0 -1
  142. package/build/_modules/runtime/page-objects.spec.d.ts +0 -2
  143. package/build/_modules/runtime/page-objects.spec.d.ts.map +0 -1
  144. package/build/_modules/runtime/page-objects.spec.js +0 -241
  145. package/build/_modules/runtime/page-objects.spec.js.map +0 -1
  146. package/build/_modules/runtime/runtime.spec.d.ts +0 -2
  147. package/build/_modules/runtime/runtime.spec.d.ts.map +0 -1
  148. package/build/_modules/runtime/runtime.spec.js +0 -73
  149. package/build/_modules/runtime/runtime.spec.js.map +0 -1
  150. package/build/_modules/runtime/unique-generator.spec.d.ts +0 -2
  151. package/build/_modules/runtime/unique-generator.spec.d.ts.map +0 -1
  152. package/build/_modules/runtime/unique-generator.spec.js +0 -41
  153. package/build/_modules/runtime/unique-generator.spec.js.map +0 -1
  154. package/build/_modules/runtime/wave-2b-page-objects.spec.d.ts +0 -2
  155. package/build/_modules/runtime/wave-2b-page-objects.spec.d.ts.map +0 -1
  156. package/build/_modules/runtime/wave-2b-page-objects.spec.js +0 -130
  157. package/build/_modules/runtime/wave-2b-page-objects.spec.js.map +0 -1
  158. package/build/_modules/vqa/capture-spec.generator.spec.d.ts +0 -2
  159. package/build/_modules/vqa/capture-spec.generator.spec.d.ts.map +0 -1
  160. package/build/_modules/vqa/capture-spec.generator.spec.js +0 -126
  161. package/build/_modules/vqa/capture-spec.generator.spec.js.map +0 -1
  162. package/build/_modules/vqa/comparison-bundle.generator.spec.d.ts +0 -2
  163. package/build/_modules/vqa/comparison-bundle.generator.spec.d.ts.map +0 -1
  164. package/build/_modules/vqa/comparison-bundle.generator.spec.js +0 -130
  165. package/build/_modules/vqa/comparison-bundle.generator.spec.js.map +0 -1
  166. package/build/_modules/vqa/finding-validator.spec.d.ts +0 -2
  167. package/build/_modules/vqa/finding-validator.spec.d.ts.map +0 -1
  168. package/build/_modules/vqa/finding-validator.spec.js +0 -136
  169. package/build/_modules/vqa/finding-validator.spec.js.map +0 -1
  170. package/build/_modules/vqa/manifest-validator.spec.d.ts +0 -2
  171. package/build/_modules/vqa/manifest-validator.spec.d.ts.map +0 -1
  172. package/build/_modules/vqa/manifest-validator.spec.js +0 -125
  173. package/build/_modules/vqa/manifest-validator.spec.js.map +0 -1
  174. package/build/_modules/vqa/review-bundle.generator.spec.d.ts +0 -2
  175. package/build/_modules/vqa/review-bundle.generator.spec.d.ts.map +0 -1
  176. package/build/_modules/vqa/review-bundle.generator.spec.js +0 -166
  177. package/build/_modules/vqa/review-bundle.generator.spec.js.map +0 -1
  178. package/build/_modules/vqa/wave-7.spec.d.ts +0 -2
  179. package/build/_modules/vqa/wave-7.spec.d.ts.map +0 -1
  180. package/build/_modules/vqa/wave-7.spec.js +0 -203
  181. package/build/_modules/vqa/wave-7.spec.js.map +0 -1
  182. package/coverage/base.css +0 -224
  183. package/coverage/block-navigation.js +0 -87
  184. package/coverage/contracts/_collections/index.html +0 -116
  185. package/coverage/contracts/_collections/index.ts.html +0 -97
  186. package/coverage/contracts/_collections/utils/index.html +0 -116
  187. package/coverage/contracts/_collections/utils/test-id.util.ts.html +0 -172
  188. package/coverage/contracts/_enums/cwv-metric-type.enum.ts.html +0 -145
  189. package/coverage/contracts/_enums/field-test-case-type.enum.ts.html +0 -394
  190. package/coverage/contracts/_enums/index.html +0 -191
  191. package/coverage/contracts/_enums/index.ts.html +0 -100
  192. package/coverage/contracts/_enums/standard-viewport.enum.ts.html +0 -127
  193. package/coverage/contracts/_enums/test-expectation-type.enum.ts.html +0 -133
  194. package/coverage/contracts/_enums/test-run-mode-type.enum.ts.html +0 -130
  195. package/coverage/contracts/index.html +0 -116
  196. package/coverage/contracts/index.ts.html +0 -121
  197. package/coverage/cwv/_collections/cwv-aggregator.util.ts.html +0 -241
  198. package/coverage/cwv/_collections/cwv-comparison.util.ts.html +0 -355
  199. package/coverage/cwv/_collections/cwv-diagnose.util.ts.html +0 -553
  200. package/coverage/cwv/_collections/cwv-emission.util.ts.html +0 -448
  201. package/coverage/cwv/_collections/cwv-summarize.util.ts.html +0 -325
  202. package/coverage/cwv/_collections/index.html +0 -206
  203. package/coverage/cwv/_collections/inp-interaction-script.const.ts.html +0 -304
  204. package/coverage/cwv/_collections/web-vitals-page-script.const.ts.html +0 -331
  205. package/coverage/cwv/cwv-suite.generator.ts.html +0 -277
  206. package/coverage/cwv/index.html +0 -116
  207. package/coverage/favicon.png +0 -0
  208. package/coverage/generators/_collections/cli-runner.util.ts.html +0 -919
  209. package/coverage/generators/_collections/config-validator.util.ts.html +0 -397
  210. package/coverage/generators/_collections/field-emission.util.ts.html +0 -604
  211. package/coverage/generators/_collections/form-level-emission.util.ts.html +0 -220
  212. package/coverage/generators/_collections/index.html +0 -236
  213. package/coverage/generators/_collections/json-schema.util.ts.html +0 -652
  214. package/coverage/generators/_collections/preset-configs.const.ts.html +0 -328
  215. package/coverage/generators/_collections/spec-emission.util.ts.html +0 -298
  216. package/coverage/generators/_collections/test-case-filter.util.ts.html +0 -523
  217. package/coverage/generators/_collections/viewport-emission.util.ts.html +0 -313
  218. package/coverage/generators/form-suite.generator.ts.html +0 -406
  219. package/coverage/generators/index.html +0 -131
  220. package/coverage/generators/viewport-suite.generator.ts.html +0 -307
  221. package/coverage/index.html +0 -266
  222. package/coverage/lcov-report/base.css +0 -224
  223. package/coverage/lcov-report/block-navigation.js +0 -87
  224. package/coverage/lcov-report/contracts/_collections/index.html +0 -116
  225. package/coverage/lcov-report/contracts/_collections/index.ts.html +0 -97
  226. package/coverage/lcov-report/contracts/_collections/utils/index.html +0 -116
  227. package/coverage/lcov-report/contracts/_collections/utils/test-id.util.ts.html +0 -172
  228. package/coverage/lcov-report/contracts/_enums/cwv-metric-type.enum.ts.html +0 -145
  229. package/coverage/lcov-report/contracts/_enums/field-test-case-type.enum.ts.html +0 -394
  230. package/coverage/lcov-report/contracts/_enums/index.html +0 -191
  231. package/coverage/lcov-report/contracts/_enums/index.ts.html +0 -100
  232. package/coverage/lcov-report/contracts/_enums/standard-viewport.enum.ts.html +0 -127
  233. package/coverage/lcov-report/contracts/_enums/test-expectation-type.enum.ts.html +0 -133
  234. package/coverage/lcov-report/contracts/_enums/test-run-mode-type.enum.ts.html +0 -130
  235. package/coverage/lcov-report/contracts/index.html +0 -116
  236. package/coverage/lcov-report/contracts/index.ts.html +0 -121
  237. package/coverage/lcov-report/cwv/_collections/cwv-aggregator.util.ts.html +0 -241
  238. package/coverage/lcov-report/cwv/_collections/cwv-comparison.util.ts.html +0 -355
  239. package/coverage/lcov-report/cwv/_collections/cwv-diagnose.util.ts.html +0 -553
  240. package/coverage/lcov-report/cwv/_collections/cwv-emission.util.ts.html +0 -448
  241. package/coverage/lcov-report/cwv/_collections/cwv-summarize.util.ts.html +0 -325
  242. package/coverage/lcov-report/cwv/_collections/index.html +0 -206
  243. package/coverage/lcov-report/cwv/_collections/inp-interaction-script.const.ts.html +0 -304
  244. package/coverage/lcov-report/cwv/_collections/web-vitals-page-script.const.ts.html +0 -331
  245. package/coverage/lcov-report/cwv/cwv-suite.generator.ts.html +0 -277
  246. package/coverage/lcov-report/cwv/index.html +0 -116
  247. package/coverage/lcov-report/favicon.png +0 -0
  248. package/coverage/lcov-report/generators/_collections/cli-runner.util.ts.html +0 -919
  249. package/coverage/lcov-report/generators/_collections/config-validator.util.ts.html +0 -397
  250. package/coverage/lcov-report/generators/_collections/field-emission.util.ts.html +0 -604
  251. package/coverage/lcov-report/generators/_collections/form-level-emission.util.ts.html +0 -220
  252. package/coverage/lcov-report/generators/_collections/index.html +0 -236
  253. package/coverage/lcov-report/generators/_collections/json-schema.util.ts.html +0 -652
  254. package/coverage/lcov-report/generators/_collections/preset-configs.const.ts.html +0 -328
  255. package/coverage/lcov-report/generators/_collections/spec-emission.util.ts.html +0 -298
  256. package/coverage/lcov-report/generators/_collections/test-case-filter.util.ts.html +0 -523
  257. package/coverage/lcov-report/generators/_collections/viewport-emission.util.ts.html +0 -313
  258. package/coverage/lcov-report/generators/form-suite.generator.ts.html +0 -406
  259. package/coverage/lcov-report/generators/index.html +0 -131
  260. package/coverage/lcov-report/generators/viewport-suite.generator.ts.html +0 -307
  261. package/coverage/lcov-report/index.html +0 -266
  262. package/coverage/lcov-report/prettify.css +0 -1
  263. package/coverage/lcov-report/prettify.js +0 -2
  264. package/coverage/lcov-report/runtime/_collections/assertion-helpers.util.ts.html +0 -205
  265. package/coverage/lcov-report/runtime/_collections/index.html +0 -146
  266. package/coverage/lcov-report/runtime/_collections/unique-generator.util.ts.html +0 -256
  267. package/coverage/lcov-report/runtime/_collections/wait-helpers.util.ts.html +0 -238
  268. package/coverage/lcov-report/runtime/_services/dialog-page-object.ts.html +0 -157
  269. package/coverage/lcov-report/runtime/_services/field-page-object.ts.html +0 -253
  270. package/coverage/lcov-report/runtime/_services/form-page-object.ts.html +0 -184
  271. package/coverage/lcov-report/runtime/_services/index.html +0 -236
  272. package/coverage/lcov-report/runtime/_services/loader-page-object.ts.html +0 -142
  273. package/coverage/lcov-report/runtime/_services/logger.service.ts.html +0 -385
  274. package/coverage/lcov-report/runtime/_services/login-flow-helper.base.ts.html +0 -331
  275. package/coverage/lcov-report/runtime/_services/nav-page-object.ts.html +0 -145
  276. package/coverage/lcov-report/runtime/_services/toast-page-object.ts.html +0 -130
  277. package/coverage/lcov-report/runtime/_services/wave-2b-page-objects.ts.html +0 -397
  278. package/coverage/lcov-report/runtime/index.html +0 -116
  279. package/coverage/lcov-report/runtime/index.ts.html +0 -178
  280. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  281. package/coverage/lcov-report/sorter.js +0 -210
  282. package/coverage/lcov.info +0 -4047
  283. package/coverage/prettify.css +0 -1
  284. package/coverage/prettify.js +0 -2
  285. package/coverage/runtime/_collections/assertion-helpers.util.ts.html +0 -205
  286. package/coverage/runtime/_collections/index.html +0 -146
  287. package/coverage/runtime/_collections/unique-generator.util.ts.html +0 -256
  288. package/coverage/runtime/_collections/wait-helpers.util.ts.html +0 -238
  289. package/coverage/runtime/_services/dialog-page-object.ts.html +0 -157
  290. package/coverage/runtime/_services/field-page-object.ts.html +0 -253
  291. package/coverage/runtime/_services/form-page-object.ts.html +0 -184
  292. package/coverage/runtime/_services/index.html +0 -236
  293. package/coverage/runtime/_services/loader-page-object.ts.html +0 -142
  294. package/coverage/runtime/_services/logger.service.ts.html +0 -385
  295. package/coverage/runtime/_services/login-flow-helper.base.ts.html +0 -331
  296. package/coverage/runtime/_services/nav-page-object.ts.html +0 -145
  297. package/coverage/runtime/_services/toast-page-object.ts.html +0 -130
  298. package/coverage/runtime/_services/wave-2b-page-objects.ts.html +0 -397
  299. package/coverage/runtime/index.html +0 -116
  300. package/coverage/runtime/index.ts.html +0 -178
  301. package/coverage/sort-arrow-sprite.png +0 -0
  302. package/coverage/sorter.js +0 -210
  303. package/coverage/tmp/coverage-228636-1781075225757-0.json +0 -1
  304. package/coverage/tmp/coverage-228704-1781075227108-0.json +0 -1
  305. package/dogfood/PARITY-MATRIX.md +0 -67
  306. package/dogfood/generated/date-range-field-new.spec.ts +0 -54
  307. package/dogfood/generated/password-field-new.spec.ts +0 -97
  308. package/dogfood/generated/radio-select-field-new.spec.ts +0 -69
  309. package/dogfood/generated/slider-field-new.spec.ts +0 -47
  310. package/dogfood/generated/text-field-new.spec.ts +0 -0
  311. package/dogfood/generated-full/checkbox-field-new.spec.ts +0 -56
  312. package/dogfood/generated-full/date-field-new.spec.ts +0 -71
  313. package/dogfood/generated-full/date-range-field-new.spec.ts +0 -54
  314. package/dogfood/generated-full/datetime-field-new.spec.ts +0 -55
  315. package/dogfood/generated-full/multiselect-field-new.spec.ts +0 -69
  316. package/dogfood/generated-full/number-field-new.spec.ts +0 -113
  317. package/dogfood/generated-full/password-field-new.spec.ts +0 -97
  318. package/dogfood/generated-full/radio-select-field-new.spec.ts +0 -69
  319. package/dogfood/generated-full/sandbox-viewport-audit.spec.ts +0 -4643
  320. package/dogfood/generated-full/select-field-new.spec.ts +0 -69
  321. package/dogfood/generated-full/slider-field-new.spec.ts +0 -47
  322. package/dogfood/generated-full/slider-range-field-new.spec.ts +0 -54
  323. package/dogfood/generated-full/text-field-new.spec.ts +0 -0
  324. package/dogfood/generated-full/textarea-field-new.spec.ts +0 -72
  325. package/dogfood/sandbox-bootstrap-full.js +0 -248
  326. package/dogfood/sandbox-bootstrap.js +0 -170
  327. package/examples/minimal-form/README.md +0 -55
  328. package/examples/minimal-form/form-config.json +0 -38
  329. package/examples/multi-form-app/README.md +0 -63
  330. package/examples/multi-form-app/cwv-config.json +0 -14
  331. package/examples/multi-form-app/settings/login-form.json +0 -11
  332. package/examples/multi-form-app/settings/profile-form.json +0 -25
  333. package/examples/multi-form-app/viewport-config.json +0 -12
  334. package/logs/cicd-job.json +0 -3
  335. package/logs/cicd-report.json +0 -3
  336. package/logs/cicd-status.json +0 -3
@@ -1,553 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for cwv/_collections/cwv-diagnose.util.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">cwv/_collections</a> cwv-diagnose.util.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">96.15% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>150/156</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">86.2% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>50/58</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>4/4</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">96.15% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>150/156</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line high'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
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>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
223
- <span class="cline-any cline-yes">1x</span>
224
- <span class="cline-any cline-yes">1x</span>
225
- <span class="cline-any cline-yes">1x</span>
226
- <span class="cline-any cline-yes">1x</span>
227
- <span class="cline-any cline-yes">1x</span>
228
- <span class="cline-any cline-yes">1x</span>
229
- <span class="cline-any cline-yes">1x</span>
230
- <span class="cline-any cline-yes">1x</span>
231
- <span class="cline-any cline-yes">1x</span>
232
- <span class="cline-any cline-yes">1x</span>
233
- <span class="cline-any cline-yes">1x</span>
234
- <span class="cline-any cline-yes">1x</span>
235
- <span class="cline-any cline-yes">1x</span>
236
- <span class="cline-any cline-yes">1x</span>
237
- <span class="cline-any cline-yes">1x</span>
238
- <span class="cline-any cline-yes">1x</span>
239
- <span class="cline-any cline-yes">1x</span>
240
- <span class="cline-any cline-yes">1x</span>
241
- <span class="cline-any cline-yes">1x</span>
242
- <span class="cline-any cline-yes">1x</span>
243
- <span class="cline-any cline-yes">1x</span>
244
- <span class="cline-any cline-yes">1x</span>
245
- <span class="cline-any cline-yes">1x</span>
246
- <span class="cline-any cline-yes">1x</span>
247
- <span class="cline-any cline-yes">1x</span>
248
- <span class="cline-any cline-yes">1x</span>
249
- <span class="cline-any cline-yes">1x</span>
250
- <span class="cline-any cline-yes">1x</span>
251
- <span class="cline-any cline-yes">1x</span>
252
- <span class="cline-any cline-yes">1x</span>
253
- <span class="cline-any cline-yes">1x</span>
254
- <span class="cline-any cline-yes">1x</span>
255
- <span class="cline-any cline-yes">1x</span>
256
- <span class="cline-any cline-yes">1x</span>
257
- <span class="cline-any cline-yes">1x</span>
258
- <span class="cline-any cline-yes">1x</span>
259
- <span class="cline-any cline-yes">1x</span>
260
- <span class="cline-any cline-yes">1x</span>
261
- <span class="cline-any cline-yes">1x</span>
262
- <span class="cline-any cline-yes">9x</span>
263
- <span class="cline-any cline-no">&nbsp;</span>
264
- <span class="cline-any cline-no">&nbsp;</span>
265
- <span class="cline-any cline-yes">9x</span>
266
- <span class="cline-any cline-yes">9x</span>
267
- <span class="cline-any cline-yes">6x</span>
268
- <span class="cline-any cline-yes">6x</span>
269
- <span class="cline-any cline-yes">3x</span>
270
- <span class="cline-any cline-yes">3x</span>
271
- <span class="cline-any cline-yes">3x</span>
272
- <span class="cline-any cline-yes">9x</span>
273
- <span class="cline-any cline-no">&nbsp;</span>
274
- <span class="cline-any cline-no">&nbsp;</span>
275
- <span class="cline-any cline-yes">3x</span>
276
- <span class="cline-any cline-yes">3x</span>
277
- <span class="cline-any cline-yes">1x</span>
278
- <span class="cline-any cline-yes">1x</span>
279
- <span class="cline-any cline-yes">1x</span>
280
- <span class="cline-any cline-yes">13x</span>
281
- <span class="cline-any cline-yes">13x</span>
282
- <span class="cline-any cline-yes">13x</span>
283
- <span class="cline-any cline-yes">13x</span>
284
- <span class="cline-any cline-yes">13x</span>
285
- <span class="cline-any cline-yes">13x</span>
286
- <span class="cline-any cline-yes">13x</span>
287
- <span class="cline-any cline-yes">13x</span>
288
- <span class="cline-any cline-yes">4x</span>
289
- <span class="cline-any cline-yes">4x</span>
290
- <span class="cline-any cline-yes">9x</span>
291
- <span class="cline-any cline-yes">9x</span>
292
- <span class="cline-any cline-yes">9x</span>
293
- <span class="cline-any cline-yes">9x</span>
294
- <span class="cline-any cline-yes">9x</span>
295
- <span class="cline-any cline-yes">9x</span>
296
- <span class="cline-any cline-yes">9x</span>
297
- <span class="cline-any cline-yes">9x</span>
298
- <span class="cline-any cline-yes">9x</span>
299
- <span class="cline-any cline-yes">13x</span>
300
- <span class="cline-any cline-yes">13x</span>
301
- <span class="cline-any cline-yes">13x</span>
302
- <span class="cline-any cline-yes">8x</span>
303
- <span class="cline-any cline-yes">13x</span>
304
- <span class="cline-any cline-yes">13x</span>
305
- <span class="cline-any cline-yes">13x</span>
306
- <span class="cline-any cline-yes">13x</span>
307
- <span class="cline-any cline-yes">5x</span>
308
- <span class="cline-any cline-yes">3x</span>
309
- <span class="cline-any cline-yes">2x</span>
310
- <span class="cline-any cline-yes">1x</span>
311
- <span class="cline-any cline-yes">13x</span>
312
- <span class="cline-any cline-yes">13x</span>
313
- <span class="cline-any cline-yes">13x</span>
314
- <span class="cline-any cline-yes">13x</span>
315
- <span class="cline-any cline-yes">13x</span>
316
- <span class="cline-any cline-yes">13x</span>
317
- <span class="cline-any cline-yes">13x</span>
318
- <span class="cline-any cline-yes">13x</span>
319
- <span class="cline-any cline-yes">13x</span>
320
- <span class="cline-any cline-yes">13x</span>
321
- <span class="cline-any cline-yes">13x</span>
322
- <span class="cline-any cline-yes">13x</span>
323
- <span class="cline-any cline-yes">13x</span>
324
- <span class="cline-any cline-yes">13x</span>
325
- <span class="cline-any cline-yes">13x</span>
326
- <span class="cline-any cline-yes">13x</span>
327
- <span class="cline-any cline-yes">13x</span>
328
- <span class="cline-any cline-yes">13x</span>
329
- <span class="cline-any cline-yes">13x</span>
330
- <span class="cline-any cline-yes">13x</span>
331
- <span class="cline-any cline-yes">13x</span>
332
- <span class="cline-any cline-yes">1x</span>
333
- <span class="cline-any cline-yes">1x</span>
334
- <span class="cline-any cline-yes">1x</span>
335
- <span class="cline-any cline-yes">1x</span>
336
- <span class="cline-any cline-yes">1x</span>
337
- <span class="cline-any cline-yes">1x</span>
338
- <span class="cline-any cline-yes">1x</span>
339
- <span class="cline-any cline-yes">1x</span>
340
- <span class="cline-any cline-yes">1x</span>
341
- <span class="cline-any cline-yes">1x</span>
342
- <span class="cline-any cline-yes">1x</span>
343
- <span class="cline-any cline-yes">1x</span>
344
- <span class="cline-any cline-yes">1x</span>
345
- <span class="cline-any cline-yes">1x</span>
346
- <span class="cline-any cline-yes">1x</span>
347
- <span class="cline-any cline-yes">1x</span>
348
- <span class="cline-any cline-yes">1x</span>
349
- <span class="cline-any cline-yes">1x</span>
350
- <span class="cline-any cline-yes">1x</span>
351
- <span class="cline-any cline-yes">1x</span>
352
- <span class="cline-any cline-yes">9x</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">9x</span>
356
- <span class="cline-any cline-yes">1x</span>
357
- <span class="cline-any cline-yes">1x</span>
358
- <span class="cline-any cline-yes">1x</span>
359
- <span class="cline-any cline-yes">1x</span>
360
- <span class="cline-any cline-yes">9x</span>
361
- <span class="cline-any cline-yes">1x</span>
362
- <span class="cline-any cline-yes">1x</span>
363
- <span class="cline-any cline-yes">9x</span>
364
- <span class="cline-any cline-yes">1x</span>
365
- <span class="cline-any cline-yes">1x</span>
366
- <span class="cline-any cline-yes">9x</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">9x</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">1x</span>
373
- <span class="cline-any cline-yes">1x</span>
374
- <span class="cline-any cline-yes">1x</span>
375
- <span class="cline-any cline-no">&nbsp;</span>
376
- <span class="cline-any cline-no">&nbsp;</span>
377
- <span class="cline-any cline-yes">1x</span>
378
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { DyE2E_CWVMetric_Type } from '../../contracts/_enums/cwv-metric-type.enum';
379
- import { DyE2E_CWVThresholds_Interface } from '../../contracts/_models/interfaces/cwv-thresholds.interface';
380
- import { DyE2E_CWVMeasurement_DataModel } from '../_models/cwv-measurement.data-model';
381
- &nbsp;
382
- /**
383
- * MP-05/Wave-3 — Attribution-based diagnose util.
384
- *
385
- * Bemenet: measurement-tömb + thresholds. Kimenet: human-readable diagnose
386
- * sorok — "LCP p75 = 4200ms (cél: 2500ms). A leglassabb LCP target:
387
- * `IMG#hero-banner`. Optimalizálás: preload + dimension-set."
388
- */
389
- &nbsp;
390
- export interface DyE2E_CWVDiagnose_Hint {
391
- metric: DyE2E_CWVMetric_Type;
392
- /** A measured p75 érték. */
393
- p75: number;
394
- /** A threshold (ha definiált). */
395
- threshold?: number;
396
- /** A legrosszabb futás target-info (a `measurement.attribution`-ből). */
397
- worstTarget?: string;
398
- /** Human-readable summary. */
399
- summary: string;
400
- /** Optimalizálási javaslat. */
401
- suggestion: string;
402
- }
403
- &nbsp;
404
- const LCP_SUGGESTIONS: Record&lt;string, string&gt; = {
405
- IMG: 'IMG → preload + explicit width/height + responsive-srcset',
406
- VIDEO: 'VIDEO → poster-image + preload="metadata"',
407
- H1: 'H1 → font-display:swap + preload critical CSS',
408
- DIV: 'DIV background-image → image preload + CSS containment',
409
- };
410
- &nbsp;
411
- export class DyE2E_CWVDiagnose_Util {
412
- &nbsp;
413
- /**
414
- * Per-metric percentile-számolás (lásd `DyE2E_CWVAggregator_Util` is —
415
- * itt egy-self-contained verzió a diagnose-flow-hoz).
416
- */
417
- private static percentile(values: number[], p: number): number {
418
- if (values.length === 0) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
419
- <span class="cstat-no" title="statement not covered" > return NaN;</span>
420
- <span class="cstat-no" title="statement not covered" > }</span>
421
- const sorted: number[] = [...values].sort((a: number, b: number): number =&gt; a - b);
422
- if (sorted.length === 1) {
423
- return sorted[0];
424
- }
425
- const rank: number = p * (sorted.length - 1);
426
- const lo: number = Math.floor(rank);
427
- const hi: number = Math.ceil(rank);
428
- if (lo === hi) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
429
- <span class="cstat-no" title="statement not covered" > return sorted[lo];</span>
430
- <span class="cstat-no" title="statement not covered" > }</span>
431
- return sorted[lo] * (1 - (rank - lo)) + sorted[hi] * (rank - lo);
432
- }
433
- &nbsp;
434
- /** Diagnose egy metricre — visszaadja a hint-et vagy null-t ha nincs adat. */
435
- static diagnoseMetric(
436
- measurements: DyE2E_CWVMeasurement_DataModel[],
437
- metric: DyE2E_CWVMetric_Type,
438
- thresholds: DyE2E_CWVThresholds_Interface,
439
- ): DyE2E_CWVDiagnose_Hint | null {
440
- const filtered: DyE2E_CWVMeasurement_DataModel[] = measurements.filter(
441
- (m: DyE2E_CWVMeasurement_DataModel): boolean =&gt; m.metric === metric,
442
- );
443
- if (filtered.length === 0) {
444
- return null;
445
- }
446
- &nbsp;
447
- const values: number[] = filtered.map((m: DyE2E_CWVMeasurement_DataModel): number =&gt; m.value);
448
- const p75: number = DyE2E_CWVDiagnose_Util.percentile(values, 0.75);
449
- &nbsp;
450
- // Az "legrosszabb" futás attribution-ja a target-info forrása.
451
- const worst: DyE2E_CWVMeasurement_DataModel = filtered.reduce(
452
- (acc: DyE2E_CWVMeasurement_DataModel, m: DyE2E_CWVMeasurement_DataModel): DyE2E_CWVMeasurement_DataModel =&gt; m.value &gt; acc.value ? m : acc,
453
- filtered[0],
454
- );
455
- const worstTarget: string | undefined = typeof (worst.attribution as { element?: unknown })?.element === 'string'
456
- ? (worst.attribution as { element: string }).element
457
- : typeof (worst.attribution as { target?: unknown })<span class="branch-0 cbranch-no" title="branch not covered" >?.target </span>=== 'string'
458
- <span class="branch-0 cbranch-no" title="branch not covered" > ? (worst.attribution as { target: string }).target</span>
459
- : undefined;
460
- &nbsp;
461
- const thresholdKey: keyof DyE2E_CWVThresholds_Interface =
462
- metric === DyE2E_CWVMetric_Type.lcp ? 'lcp_p75_ms' :
463
- metric === DyE2E_CWVMetric_Type.cls ? 'cls_p75' :
464
- metric === DyE2E_CWVMetric_Type.inp ? 'inp_p75_ms' :
465
- metric === DyE2E_CWVMetric_Type.ttfb ? 'ttfb_p75_ms' :
466
- metric === DyE2E_CWVMetric_Type.fcp ? 'fcp_p75_ms' <span class="branch-0 cbranch-no" title="branch not covered" >:</span>
467
- 'lcp_p75_ms';
468
- const threshold: number | undefined = thresholds[thresholdKey];
469
- &nbsp;
470
- const fails: boolean = typeof threshold === 'number' &amp;&amp; p75 &gt; threshold;
471
- &nbsp;
472
- const suggestion: string = DyE2E_CWVDiagnose_Util.suggest(metric, worstTarget, fails);
473
- const summary: string = `${metric.toUpperCase()} p75 = ${p75.toFixed(2)}${
474
- metric === DyE2E_CWVMetric_Type.cls ? '' : 'ms'
475
- }${typeof threshold === 'number' ? ` (cél: ${threshold}${metric === DyE2E_CWVMetric_Type.cls ? '' : 'ms'})` <span class="branch-0 cbranch-no" title="branch not covered" >: ''}</span>${
476
- fails ? ' ⚠️ FAIL' : ''
477
- }${worstTarget ? `. Legrosszabb target: \`${worstTarget}\`` : ''}.`;
478
- &nbsp;
479
- return {
480
- metric: metric,
481
- p75: p75,
482
- threshold: threshold,
483
- worstTarget: worstTarget,
484
- summary: summary,
485
- suggestion: suggestion,
486
- };
487
- }
488
- &nbsp;
489
- /** Diagnose minden metric-re egyszerre. */
490
- static diagnoseAll(
491
- measurements: DyE2E_CWVMeasurement_DataModel[],
492
- thresholds: DyE2E_CWVThresholds_Interface,
493
- ): DyE2E_CWVDiagnose_Hint[] {
494
- const metrics: DyE2E_CWVMetric_Type[] = [
495
- DyE2E_CWVMetric_Type.lcp,
496
- DyE2E_CWVMetric_Type.cls,
497
- DyE2E_CWVMetric_Type.inp,
498
- DyE2E_CWVMetric_Type.ttfb,
499
- DyE2E_CWVMetric_Type.fcp,
500
- ];
501
- return metrics
502
- .map((m: DyE2E_CWVMetric_Type): DyE2E_CWVDiagnose_Hint | null =&gt; DyE2E_CWVDiagnose_Util.diagnoseMetric(measurements, m, thresholds))
503
- .filter((h: DyE2E_CWVDiagnose_Hint | null): h is DyE2E_CWVDiagnose_Hint =&gt; h !== null);
504
- }
505
- &nbsp;
506
- /** Egy metric-szintű optimalizálási javaslat. */
507
- private static suggest(metric: DyE2E_CWVMetric_Type, target: string | undefined, fails: boolean): string {
508
- if (!fails) {
509
- return 'OK — threshold tartva.';
510
- }
511
- if (metric === DyE2E_CWVMetric_Type.lcp &amp;&amp; target) {
512
- // Az IMG/H1/DIV stb. prefixet vegye ki
513
- const tag: string = target.split(/[#.]/)[0].toUpperCase();
514
- return LCP_SUGGESTIONS[tag]<span class="branch-0 cbranch-no" title="branch not covered" > ?? `LCP target ${target} — optimalizálás: preload + critical CSS + lazy-load other content`;</span>
515
- }
516
- if (metric === DyE2E_CWVMetric_Type.lcp) {
517
- return 'LCP — preload critical resources + reduce render-blocking JS + use CDN';
518
- }
519
- if (metric === DyE2E_CWVMetric_Type.cls) {
520
- return 'CLS — set explicit dimensions on IMG/IFRAME/AD-slots + avoid font-swap layout-shift + use `font-display: optional`';
521
- }
522
- if (metric === DyE2E_CWVMetric_Type.inp) {
523
- return 'INP — break up long tasks (yield to main thread) + remove unused JS + defer non-critical interactivity';
524
- }
525
- if (metric === DyE2E_CWVMetric_Type.ttfb) {
526
- return 'TTFB — server-side caching + CDN + reduce DB query time + edge-deploy';
527
- }
528
- if (metric === DyE2E_CWVMetric_Type.fcp) {
529
- return 'FCP — inline critical CSS + preconnect to third-party origins + reduce render-blocking JS';
530
- }
531
- <span class="cstat-no" title="statement not covered" ><span class="branch-0 cbranch-no" title="branch not covered" > return 'Optimalizálási javaslat — lásd web.dev metric-specific docs.';</span></span>
532
- <span class="cstat-no" title="statement not covered" > }</span>
533
- }
534
- &nbsp;</pre></td></tr></table></pre>
535
-
536
- <div class='push'></div><!-- for sticky footer -->
537
- </div><!-- /wrapper -->
538
- <div class='footer quiet pad2 space-top1 center small'>
539
- Code coverage generated by
540
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
541
- at 2026-06-10T07:07:07.643Z
542
- </div>
543
- <script src="../../prettify.js"></script>
544
- <script>
545
- window.onload = function () {
546
- prettyPrint();
547
- };
548
- </script>
549
- <script src="../../sorter.js"></script>
550
- <script src="../../block-navigation.js"></script>
551
- </body>
552
- </html>
553
-