@futdevpro/dynamo-e2e 1.18.8 → 1.18.9

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 (199) hide show
  1. package/.dynamo/pipeline.cicd.config.json +3 -3
  2. package/CHANGELOG.md +23 -0
  3. package/README.md +1 -1
  4. package/build/_modules/generators/_collections/cli-runner.util.d.ts.map +1 -1
  5. package/build/_modules/generators/_collections/cli-runner.util.js +5 -11
  6. package/build/_modules/generators/_collections/cli-runner.util.js.map +1 -1
  7. package/build/_modules/generators/bootstrap.spec.js +4 -3
  8. package/build/_modules/generators/bootstrap.spec.js.map +1 -1
  9. package/build/_modules/presets/_collections/constants/playwright-viewport-presets.const.d.ts +22 -0
  10. package/build/_modules/presets/_collections/constants/playwright-viewport-presets.const.d.ts.map +1 -0
  11. package/build/_modules/presets/_collections/constants/playwright-viewport-presets.const.js +69 -0
  12. package/build/_modules/presets/_collections/constants/playwright-viewport-presets.const.js.map +1 -0
  13. package/build/_modules/presets/_collections/global-setup.factory.d.ts +14 -0
  14. package/build/_modules/presets/_collections/global-setup.factory.d.ts.map +1 -0
  15. package/build/_modules/presets/_collections/global-setup.factory.js +113 -0
  16. package/build/_modules/presets/_collections/global-setup.factory.js.map +1 -0
  17. package/build/_modules/presets/_collections/playwright-config.factory.d.ts +19 -0
  18. package/build/_modules/presets/_collections/playwright-config.factory.d.ts.map +1 -0
  19. package/build/_modules/presets/_collections/playwright-config.factory.js +107 -0
  20. package/build/_modules/presets/_collections/playwright-config.factory.js.map +1 -0
  21. package/build/_modules/presets/_collections/viewport-preset-resolver.util.d.ts +8 -0
  22. package/build/_modules/presets/_collections/viewport-preset-resolver.util.d.ts.map +1 -0
  23. package/build/_modules/presets/_collections/viewport-preset-resolver.util.js +25 -0
  24. package/build/_modules/presets/_collections/viewport-preset-resolver.util.js.map +1 -0
  25. package/build/_modules/presets/_models/interfaces/global-setup-options.interface.d.ts +28 -0
  26. package/build/_modules/presets/_models/interfaces/global-setup-options.interface.d.ts.map +1 -0
  27. package/build/_modules/presets/_models/interfaces/global-setup-options.interface.js +3 -0
  28. package/build/_modules/presets/_models/interfaces/global-setup-options.interface.js.map +1 -0
  29. package/build/_modules/presets/_models/interfaces/playwright-config-options.interface.d.ts +43 -0
  30. package/build/_modules/presets/_models/interfaces/playwright-config-options.interface.d.ts.map +1 -0
  31. package/build/_modules/presets/_models/interfaces/playwright-config-options.interface.js +3 -0
  32. package/build/_modules/presets/_models/interfaces/playwright-config-options.interface.js.map +1 -0
  33. package/build/_modules/presets/index.d.ts +6 -0
  34. package/build/_modules/presets/index.d.ts.map +1 -1
  35. package/build/_modules/presets/index.js +12 -1
  36. package/build/_modules/presets/index.js.map +1 -1
  37. package/build/_modules/presets/presets.spec.d.ts +2 -0
  38. package/build/_modules/presets/presets.spec.d.ts.map +1 -0
  39. package/build/_modules/presets/presets.spec.js +230 -0
  40. package/build/_modules/presets/presets.spec.js.map +1 -0
  41. package/build/_modules/vqa/generators/ai-agent-readme.template.d.ts +2 -1
  42. package/build/_modules/vqa/generators/ai-agent-readme.template.d.ts.map +1 -1
  43. package/build/_modules/vqa/generators/ai-agent-readme.template.js +22 -3
  44. package/build/_modules/vqa/generators/ai-agent-readme.template.js.map +1 -1
  45. package/coverage/contracts/_collections/index.html +1 -1
  46. package/coverage/contracts/_collections/index.ts.html +1 -1
  47. package/coverage/contracts/_collections/utils/index.html +9 -9
  48. package/coverage/contracts/_collections/utils/test-id.util.ts.html +15 -30
  49. package/coverage/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
  50. package/coverage/contracts/_enums/field-test-case-type.enum.ts.html +4 -34
  51. package/coverage/contracts/_enums/index.html +5 -5
  52. package/coverage/contracts/_enums/index.ts.html +1 -1
  53. package/coverage/contracts/_enums/standard-viewport.enum.ts.html +1 -1
  54. package/coverage/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
  55. package/coverage/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
  56. package/coverage/contracts/index.html +1 -1
  57. package/coverage/contracts/index.ts.html +1 -1
  58. package/coverage/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
  59. package/coverage/cwv/_collections/cwv-comparison.util.ts.html +4 -4
  60. package/coverage/cwv/_collections/cwv-diagnose.util.ts.html +1 -1
  61. package/coverage/cwv/_collections/cwv-emission.util.ts.html +1 -1
  62. package/coverage/cwv/_collections/cwv-summarize.util.ts.html +1 -1
  63. package/coverage/cwv/_collections/index.html +7 -7
  64. package/coverage/cwv/_collections/inp-interaction-script.const.ts.html +1 -1
  65. package/coverage/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
  66. package/coverage/cwv/cwv-suite.generator.ts.html +3 -3
  67. package/coverage/cwv/index.html +5 -5
  68. package/coverage/generators/_collections/cli-runner.util.ts.html +1 -1
  69. package/coverage/generators/_collections/config-validator.util.ts.html +1 -1
  70. package/coverage/generators/_collections/field-emission.util.ts.html +103 -235
  71. package/coverage/generators/_collections/form-level-emission.util.ts.html +33 -39
  72. package/coverage/generators/_collections/index.html +31 -31
  73. package/coverage/generators/_collections/json-schema.util.ts.html +1 -1
  74. package/coverage/generators/_collections/preset-configs.const.ts.html +1 -1
  75. package/coverage/generators/_collections/spec-emission.util.ts.html +35 -35
  76. package/coverage/generators/_collections/test-case-filter.util.ts.html +66 -258
  77. package/coverage/generators/_collections/viewport-emission.util.ts.html +1 -1
  78. package/coverage/generators/form-suite.generator.ts.html +79 -97
  79. package/coverage/generators/index.html +18 -18
  80. package/coverage/generators/viewport-suite.generator.ts.html +3 -3
  81. package/coverage/index.html +50 -95
  82. package/coverage/lcov-report/contracts/_collections/index.html +1 -1
  83. package/coverage/lcov-report/contracts/_collections/index.ts.html +1 -1
  84. package/coverage/lcov-report/contracts/_collections/utils/index.html +9 -9
  85. package/coverage/lcov-report/contracts/_collections/utils/test-id.util.ts.html +15 -30
  86. package/coverage/lcov-report/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
  87. package/coverage/lcov-report/contracts/_enums/field-test-case-type.enum.ts.html +4 -34
  88. package/coverage/lcov-report/contracts/_enums/index.html +5 -5
  89. package/coverage/lcov-report/contracts/_enums/index.ts.html +1 -1
  90. package/coverage/lcov-report/contracts/_enums/standard-viewport.enum.ts.html +1 -1
  91. package/coverage/lcov-report/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
  92. package/coverage/lcov-report/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
  93. package/coverage/lcov-report/contracts/index.html +1 -1
  94. package/coverage/lcov-report/contracts/index.ts.html +1 -1
  95. package/coverage/lcov-report/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
  96. package/coverage/lcov-report/cwv/_collections/cwv-comparison.util.ts.html +4 -4
  97. package/coverage/lcov-report/cwv/_collections/cwv-diagnose.util.ts.html +1 -1
  98. package/coverage/lcov-report/cwv/_collections/cwv-emission.util.ts.html +1 -1
  99. package/coverage/lcov-report/cwv/_collections/cwv-summarize.util.ts.html +1 -1
  100. package/coverage/lcov-report/cwv/_collections/index.html +7 -7
  101. package/coverage/lcov-report/cwv/_collections/inp-interaction-script.const.ts.html +1 -1
  102. package/coverage/lcov-report/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
  103. package/coverage/lcov-report/cwv/cwv-suite.generator.ts.html +3 -3
  104. package/coverage/lcov-report/cwv/index.html +5 -5
  105. package/coverage/lcov-report/generators/_collections/cli-runner.util.ts.html +1 -1
  106. package/coverage/lcov-report/generators/_collections/config-validator.util.ts.html +1 -1
  107. package/coverage/lcov-report/generators/_collections/field-emission.util.ts.html +103 -235
  108. package/coverage/lcov-report/generators/_collections/form-level-emission.util.ts.html +33 -39
  109. package/coverage/lcov-report/generators/_collections/index.html +31 -31
  110. package/coverage/lcov-report/generators/_collections/json-schema.util.ts.html +1 -1
  111. package/coverage/lcov-report/generators/_collections/preset-configs.const.ts.html +1 -1
  112. package/coverage/lcov-report/generators/_collections/spec-emission.util.ts.html +35 -35
  113. package/coverage/lcov-report/generators/_collections/test-case-filter.util.ts.html +66 -258
  114. package/coverage/lcov-report/generators/_collections/viewport-emission.util.ts.html +1 -1
  115. package/coverage/lcov-report/generators/form-suite.generator.ts.html +79 -97
  116. package/coverage/lcov-report/generators/index.html +18 -18
  117. package/coverage/lcov-report/generators/viewport-suite.generator.ts.html +3 -3
  118. package/coverage/lcov-report/index.html +50 -95
  119. package/coverage/lcov-report/runtime/_collections/assertion-helpers.util.ts.html +7 -16
  120. package/coverage/lcov-report/runtime/_collections/index.html +17 -17
  121. package/coverage/lcov-report/runtime/_collections/unique-generator.util.ts.html +3 -3
  122. package/coverage/lcov-report/runtime/_collections/wait-helpers.util.ts.html +5 -5
  123. package/coverage/lcov-report/runtime/_services/dialog-page-object.ts.html +2 -2
  124. package/coverage/lcov-report/runtime/_services/field-page-object.ts.html +2 -2
  125. package/coverage/lcov-report/runtime/_services/form-page-object.ts.html +2 -2
  126. package/coverage/lcov-report/runtime/_services/index.html +9 -9
  127. package/coverage/lcov-report/runtime/_services/loader-page-object.ts.html +2 -2
  128. package/coverage/lcov-report/runtime/_services/logger.service.ts.html +5 -5
  129. package/coverage/lcov-report/runtime/_services/login-flow-helper.base.ts.html +2 -2
  130. package/coverage/lcov-report/runtime/_services/nav-page-object.ts.html +2 -2
  131. package/coverage/lcov-report/runtime/_services/toast-page-object.ts.html +1 -1
  132. package/coverage/lcov-report/runtime/_services/wave-2b-page-objects.ts.html +6 -6
  133. package/coverage/lcov-report/runtime/index.html +1 -1
  134. package/coverage/lcov-report/runtime/index.ts.html +1 -1
  135. package/coverage/lcov.info +804 -3165
  136. package/coverage/runtime/_collections/assertion-helpers.util.ts.html +7 -16
  137. package/coverage/runtime/_collections/index.html +17 -17
  138. package/coverage/runtime/_collections/unique-generator.util.ts.html +3 -3
  139. package/coverage/runtime/_collections/wait-helpers.util.ts.html +5 -5
  140. package/coverage/runtime/_services/dialog-page-object.ts.html +2 -2
  141. package/coverage/runtime/_services/field-page-object.ts.html +2 -2
  142. package/coverage/runtime/_services/form-page-object.ts.html +2 -2
  143. package/coverage/runtime/_services/index.html +9 -9
  144. package/coverage/runtime/_services/loader-page-object.ts.html +2 -2
  145. package/coverage/runtime/_services/logger.service.ts.html +5 -5
  146. package/coverage/runtime/_services/login-flow-helper.base.ts.html +2 -2
  147. package/coverage/runtime/_services/nav-page-object.ts.html +2 -2
  148. package/coverage/runtime/_services/toast-page-object.ts.html +1 -1
  149. package/coverage/runtime/_services/wave-2b-page-objects.ts.html +6 -6
  150. package/coverage/runtime/index.html +1 -1
  151. package/coverage/runtime/index.ts.html +1 -1
  152. package/coverage/tmp/coverage-228636-1781075225757-0.json +1 -0
  153. package/coverage/tmp/coverage-228704-1781075227108-0.json +1 -0
  154. package/dogfood/generated/date-range-field-new.spec.ts +54 -0
  155. package/dogfood/generated/password-field-new.spec.ts +97 -0
  156. package/dogfood/generated/radio-select-field-new.spec.ts +69 -0
  157. package/dogfood/generated/slider-field-new.spec.ts +47 -0
  158. package/dogfood/generated/text-field-new.spec.ts +0 -0
  159. package/logs/cicd-job.json +3 -0
  160. package/logs/cicd-report.json +3 -0
  161. package/logs/cicd-status.json +3 -0
  162. package/package.json +4 -1
  163. package/.dynamo/logs/cicd-pipeline/status.json +0 -74
  164. package/coverage/lcov-report/vqa/_collections/utils/deterministic-finding.util.ts.html +0 -481
  165. package/coverage/lcov-report/vqa/_collections/utils/finding-id.util.ts.html +0 -214
  166. package/coverage/lcov-report/vqa/_collections/utils/finding-validator.util.ts.html +0 -463
  167. package/coverage/lcov-report/vqa/_collections/utils/index.html +0 -176
  168. package/coverage/lcov-report/vqa/_collections/utils/manifest-validator.util.ts.html +0 -652
  169. package/coverage/lcov-report/vqa/_collections/utils/risk-score.util.ts.html +0 -424
  170. package/coverage/lcov-report/vqa/_enums/dom-evidence-detector.enum.ts.html +0 -214
  171. package/coverage/lcov-report/vqa/_enums/finding-severity.enum.ts.html +0 -133
  172. package/coverage/lcov-report/vqa/_enums/finding-status.enum.ts.html +0 -151
  173. package/coverage/lcov-report/vqa/_enums/index.html +0 -161
  174. package/coverage/lcov-report/vqa/_enums/visual-state-type.enum.ts.html +0 -235
  175. package/coverage/lcov-report/vqa/generators/ai-agent-readme.template.ts.html +0 -643
  176. package/coverage/lcov-report/vqa/generators/bundle-summary.template.ts.html +0 -316
  177. package/coverage/lcov-report/vqa/generators/capture-spec.generator.ts.html +0 -835
  178. package/coverage/lcov-report/vqa/generators/comparison-bundle.generator.ts.html +0 -898
  179. package/coverage/lcov-report/vqa/generators/index.html +0 -176
  180. package/coverage/lcov-report/vqa/generators/review-bundle.generator.ts.html +0 -559
  181. package/coverage/tmp/coverage-13181-1784118006591-0.json +0 -1
  182. package/coverage/tmp/coverage-13186-1784118005044-0.json +0 -1
  183. package/coverage/vqa/_collections/utils/deterministic-finding.util.ts.html +0 -481
  184. package/coverage/vqa/_collections/utils/finding-id.util.ts.html +0 -214
  185. package/coverage/vqa/_collections/utils/finding-validator.util.ts.html +0 -463
  186. package/coverage/vqa/_collections/utils/index.html +0 -176
  187. package/coverage/vqa/_collections/utils/manifest-validator.util.ts.html +0 -652
  188. package/coverage/vqa/_collections/utils/risk-score.util.ts.html +0 -424
  189. package/coverage/vqa/_enums/dom-evidence-detector.enum.ts.html +0 -214
  190. package/coverage/vqa/_enums/finding-severity.enum.ts.html +0 -133
  191. package/coverage/vqa/_enums/finding-status.enum.ts.html +0 -151
  192. package/coverage/vqa/_enums/index.html +0 -161
  193. package/coverage/vqa/_enums/visual-state-type.enum.ts.html +0 -235
  194. package/coverage/vqa/generators/ai-agent-readme.template.ts.html +0 -643
  195. package/coverage/vqa/generators/bundle-summary.template.ts.html +0 -316
  196. package/coverage/vqa/generators/capture-spec.generator.ts.html +0 -835
  197. package/coverage/vqa/generators/comparison-bundle.generator.ts.html +0 -898
  198. package/coverage/vqa/generators/index.html +0 -176
  199. package/coverage/vqa/generators/review-bundle.generator.ts.html +0 -559
@@ -134,7 +134,7 @@
134
134
  },
135
135
  {
136
136
  "label": "pipeline-report",
137
- "command": "fdp pipeline-report --report ./logs/cicd-pipeline/cicd-report.json --overseer-url $OVERSEER_URL --overseer-secret $OVERSEER_SECRET_KEY --branch $GITHUB_REF_NAME",
137
+ "command": "fdp pipeline-report --report ./logs/cicd-pipeline/cicd-report.json --overseer-secret $OVERSEER_SECRET_KEY --branch $GITHUB_REF_NAME",
138
138
  "fatal": false,
139
139
  "always": true,
140
140
  "discord": {
@@ -143,13 +143,13 @@
143
143
  },
144
144
  "condition": {
145
145
  "envSet": [
146
- "OVERSEER_URL"
146
+ "OVERSEER_SECRET_KEY"
147
147
  ]
148
148
  }
149
149
  },
150
150
  {
151
151
  "label": "discord-result",
152
- "command": "fdp pipeline-notify --report ./logs/cicd-pipeline/cicd-report.json --config ./.dynamo/pipeline.cicd.config.json --app-name Dynamo-E2E --app-emoji 🧪 --webhook-id $DISCORD_WEBHOOK_ID --webhook-token $DISCORD_WEBHOOK_TOKEN --overseer-url $OVERSEER_DASHBOARD_URL",
152
+ "command": "fdp pipeline-notify --report ./logs/cicd-pipeline/cicd-report.json --config ./.dynamo/pipeline.cicd.config.json --app-name Dynamo-E2E --app-emoji 🧪 --webhook-id $DISCORD_WEBHOOK_ID --webhook-token $DISCORD_WEBHOOK_TOKEN",
153
153
  "fatal": false,
154
154
  "retryOnFail": 2,
155
155
  "retryDelaySec": 5,
package/CHANGELOG.md CHANGED
@@ -3,6 +3,29 @@
3
3
  Minden release a `dynamo-e2e-foundation` HYPERPLAN MP-N ütemezést követi.
4
4
  Verzióformátum: `MM.mm.p` (két-számjegyes major-minor, Dynamo-konvenció).
5
5
 
6
+ ## [01.18.9] — 2026-07-21 — Playwright-config preset (fleet e2e-config konszolidáció #2)
7
+
8
+ ### Added
9
+
10
+ - **`DyE2E_getPlaywrightConfig(opts)`** — a flotta `playwright.config.ts`-einek közös magja
11
+ (organizer / overseer / master-prompter mintákból): dotenv-load (`envDir`),
12
+ `E2E_BASE_URL`-override, `ignoreHTTPSErrors` + `workers` env-deriváció (login-race védelem),
13
+ html+json+list reporter, failure-only screenshot/trace/video, `forbidOnly` + `retriesInCi`
14
+ CI-ben, viewport-preset → projects mapping.
15
+ - **`DyE2E_getGlobalSetup(opts)`** — közös global-setup mag: dotenv + `requiredEnvVars`-warn +
16
+ baseURL-reachability (AbortController + fetch, fail-fast) + opcionális `login(page)` hook →
17
+ storageState-mentés (C513 login-once minta; empty-stub fallback).
18
+ - **Viewport-preset konstansok** — `DYE2E_VIEWPORTS_VISUAL8` (Tailwind-breakpoint matrix),
19
+ `DYE2E_VIEWPORTS_NAMED4` (desktop-1920/wide-2560/tablet-1024/mobile-414),
20
+ `DYE2E_VIEWPORTS_SINGLE` + `DyE2E_resolveViewportPreset()` — a méretek SSOT-ja a
21
+ `STANDARD_VIEWPORT_CATALOG` (nincs érték-duplikáció).
22
+ - `dotenv` runtime-dependency (^16.4.5 — flotta-standard).
23
+
24
+ ### Changed
25
+
26
+ - **`dye2e bootstrap`** `playwright.config.ts` template: hardcoded config helyett a
27
+ `DyE2E_getPlaywrightConfig`-ot fogyasztó vékony wrapper (SSOT a bedrock-ban).
28
+
6
29
  ## [01.18.x — Wave-7] — 2026-06-11 — Organizer-ideák bedrock-integráció
7
30
 
8
31
  ### Added (Wave-7 — VQA bővítés organizer plans alapján)
package/README.md CHANGED
@@ -69,5 +69,5 @@ const specSource = DyE2E_FormSuite_Generator.emit({
69
69
  - `@futdevpro/dynamo-e2e/contracts` — POJO types
70
70
  - `@futdevpro/dynamo-e2e/generators` — Node-only emission engine
71
71
  - `@futdevpro/dynamo-e2e/runtime` — Playwright fixtures + page-objects (Wave-4)
72
- - `@futdevpro/dynamo-e2e/presets` — pre-built suites
72
+ - `@futdevpro/dynamo-e2e/presets` — pre-built suites + `DyE2E_getPlaywrightConfig` / `DyE2E_getGlobalSetup` playwright-config factory (fleet e2e-config SSOT)
73
73
  - `@futdevpro/dynamo-e2e/cwv` — Core Web Vitals (Wave-3)
@@ -1 +1 @@
1
- {"version":3,"file":"cli-runner.util.d.ts","sourceRoot":"","sources":["../../../../src/_modules/generators/_collections/cli-runner.util.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,qBAAa,oBAAoB;IAE/B,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;IAsBpF,MAAM,CAAC,QAAQ,IAAI,MAAM;IA4DzB;;;OAGG;IACH,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAgE/C;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;QAAE,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;QAAC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;KAAE,GAAG;QAC9H,YAAY,EAAE,OAAO,CAAC;QACtB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,mBAAmB,EAAE,OAAO,CAAC;QAC7B,SAAS,EAAE,OAAO,CAAC;QACnB,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB;IA2CD,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAI3C;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM;IAuB9D;;;OAGG;IACH,MAAM,CAAC,WAAW,CAChB,OAAO,EAAE,qBAAqB,GAAG,yBAAyB,GAAG,mBAAmB,EAChF,UAAU,EAAE,MAAM,GACjB,MAAM;CAaV"}
1
+ {"version":3,"file":"cli-runner.util.d.ts","sourceRoot":"","sources":["../../../../src/_modules/generators/_collections/cli-runner.util.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,qBAAa,oBAAoB;IAE/B,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;IAsBpF,MAAM,CAAC,QAAQ,IAAI,MAAM;IA4DzB;;;OAGG;IACH,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IA0D/C;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;QAAE,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;QAAC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;KAAE,GAAG;QAC9H,YAAY,EAAE,OAAO,CAAC;QACtB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,mBAAmB,EAAE,OAAO,CAAC;QAC7B,SAAS,EAAE,OAAO,CAAC;QACnB,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB;IA2CD,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAI3C;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM;IAuB9D;;;OAGG;IACH,MAAM,CAAC,WAAW,CAChB,OAAO,EAAE,qBAAqB,GAAG,yBAAyB,GAAG,mBAAmB,EAChF,UAAU,EAAE,MAAM,GACjB,MAAM;CAaV"}
@@ -98,25 +98,19 @@ Flags (validate-config):
98
98
  */
99
99
  static bootstrapFiles() {
100
100
  return {
101
- 'playwright.config.ts': `import { defineConfig, devices } from '@playwright/test';
101
+ 'playwright.config.ts': `import { DyE2E_getPlaywrightConfig } from '@futdevpro/dynamo-e2e/presets';
102
102
 
103
103
  // E2E env convention (memory feedback_e2e_ldp_local_cicd_test_target):
104
104
  // - LDP (\`dc ldp\`) cél: LOCAL env (set E2E_BASE_URL=http://localhost:<port>)
105
105
  // - CICD (\`dc cdp\`) cél: TEST server (default — biztonságos fallback)
106
106
  // - SOHA NE localhost-ra default-old hogy CICD-runner ne PROD-ot célozzon
107
+ // A közös config-mag (baseURL/TLS/workers/reporter/viewport-presetek) SSOT-ja a bedrock factory.
107
108
  const DEFAULT_TEST_BASE_URL: string = 'https://test.your-app.example.com';
108
109
 
109
- export default defineConfig({
110
+ export default DyE2E_getPlaywrightConfig({
111
+ defaultBaseUrl: DEFAULT_TEST_BASE_URL,
110
112
  testDir: './e2e/tests',
111
- fullyParallel: true,
112
- retries: 0,
113
- reporter: [['html'], ['list']],
114
- use: {
115
- baseURL: process.env.E2E_BASE_URL || DEFAULT_TEST_BASE_URL,
116
- ignoreHTTPSErrors: process.env.E2E_IGNORE_HTTPS_ERRORS === '1' || (process.env.E2E_BASE_URL || DEFAULT_TEST_BASE_URL).startsWith('https://'),
117
- trace: 'retain-on-failure',
118
- },
119
- projects: [{ name: 'chromium', use: { ...devices['Desktop Chrome'] } }],
113
+ envDir: __dirname,
120
114
  });
121
115
  `,
122
116
  'e2e/generate.ts': `import { DyE2E_FormSuite_Generator } from '@futdevpro/dynamo-e2e/generators';
@@ -1 +1 @@
1
- {"version":3,"file":"cli-runner.util.js","sourceRoot":"","sources":["../../../../src/_modules/generators/_collections/cli-runner.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-runner.util.js","sourceRoot":"","sources":["../../../../src/_modules/generators/_collections/cli-runner.util.ts"],"names":[],"mappings":";;;AAAA,kEAAoE;AACpE,0EAA4E;AAC5E,uEAAyE;AAKzE;;;;;GAKG;AACH,MAAa,oBAAoB;IAE/B,MAAM,CAAC,SAAS,CAAC,IAAc;QAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACxC,CAAC;QACD,MAAM,OAAO,GAAW,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAW,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAW,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,IAAI,GAAuB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7C,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;oBAClB,CAAC,EAAE,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,QAAQ;QACb,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDV,CAAC;IACA,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,cAAc;QACnB,OAAO;YACL,sBAAsB,EAAE;;;;;;;;;;;;;;CAc7B;YACK,iBAAiB,EAAE;;;;;;;;;;;;;;;;;;;;;;;CAuBxB;YACK,oBAAoB,EAAE,EAAE;YACxB,8BAA8B,EAAE,EAAE;YAClC,eAAe,EAAE;;;;;;;;;;;CAWtB;SACI,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,YAAY,CAAC,GAAW,EAAE,EAA4F;QAQ3H,MAAM,WAAW,GAAW,GAAG,GAAG,eAAe,CAAC;QAClD,IAAI,YAAY,GAAY,KAAK,CAAC;QAClC,IAAI,iBAAiB,GAAY,KAAK,CAAC;QACvC,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC9D,MAAM,OAAO,GAA2B,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;gBACxG,YAAY,GAAG,uBAAuB,IAAI,OAAO,CAAC;gBAClD,iBAAiB,GAAG,kBAAkB,IAAI,OAAO,CAAC;YACpD,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,mBAAmB,GAAY,EAAE,CAAC,UAAU,CAAC,GAAG,GAAG,uBAAuB,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,GAAG,uBAAuB,CAAC,CAAC;QAClI,MAAM,SAAS,GAAY,EAAE,CAAC,UAAU,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC;QACxF,MAAM,aAAa,GAAY,EAAE,CAAC,UAAU,CAAC,GAAG,GAAG,oCAAoC,CAAC,CAAC;QAEzF,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,WAAW,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,WAAW,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,WAAW,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,WAAW,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,WAAW,CAAC,IAAI,CAAC,mGAAmG,CAAC,CAAC;QACxH,CAAC;QAED,OAAO;YACL,YAAY;YACZ,iBAAiB;YACjB,mBAAmB;YACnB,SAAS;YACT,aAAa;YACb,WAAW;SACZ,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,OAAe;QAChC,OAAO,yBAAyB,OAAO,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAe,EAAE,UAAoB;QACnD,MAAM,WAAW,GAAa,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,KAAK,GAAa,WAAW,CAAC,MAAM,CAAC,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9K,MAAM,MAAM,GAAa,WAAW,CAAC,MAAM,CAAC,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzJ,MAAM,MAAM,GAAa,WAAW,CAAC,MAAM,CAAC,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvJ,OAAO,yBAAyB,OAAO;;0BAEjB,WAAW,CAAC,MAAM;cAC9B,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;cAClC,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;cACpC,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;CAUjD,CAAC;IACA,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW,CAChB,OAAgF,EAChF,UAAkB;QAElB,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,OAAO,KAAK,qBAAqB,EAAE,CAAC;YACtC,OAAO,gDAAyB,CAAC,IAAI,CAAC,MAAyC,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,OAAO,KAAK,yBAAyB,EAAE,CAAC;YAC1C,OAAO,wDAA6B,CAAC,IAAI,CAAC,MAA6C,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,OAAO,KAAK,mBAAmB,EAAE,CAAC;YACpC,OAAO,8CAAwB,CAAC,IAAI,CAAC,MAAwC,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;CACF;AAlQD,oDAkQC"}
@@ -9,13 +9,14 @@ describe('| dynamo-e2e | CLI bootstrap', () => {
9
9
  expect(files['e2e/generate.ts']).toBeDefined();
10
10
  expect(files['e2e/README.md']).toBeDefined();
11
11
  });
12
- it('| playwright.config.ts — defineConfig + testDir + baseURL', () => {
12
+ it('| playwright.config.ts — DyE2E_getPlaywrightConfig factory-wrapper (SSOT a presets-ben)', () => {
13
13
  const files = cli_runner_util_1.DyE2E_CliRunner_Util.bootstrapFiles();
14
14
  const cfg = files['playwright.config.ts'];
15
- expect(cfg).toContain('defineConfig');
15
+ expect(cfg).toContain('DyE2E_getPlaywrightConfig');
16
+ expect(cfg).toContain(`@futdevpro/dynamo-e2e/presets`);
16
17
  expect(cfg).toContain('./e2e/tests');
17
18
  expect(cfg).toContain('E2E_BASE_URL');
18
- expect(cfg).toContain('chromium');
19
+ expect(cfg).toContain('envDir: __dirname');
19
20
  });
20
21
  it('| playwright.config.ts — TEST szerver default, NEM localhost (E2E env convention)', () => {
21
22
  const files = cli_runner_util_1.DyE2E_CliRunner_Util.bootstrapFiles();
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.spec.js","sourceRoot":"","sources":["../../../src/_modules/generators/bootstrap.spec.ts"],"names":[],"mappings":";;AAAA,oEAAsE;AAEtE,QAAQ,CAAC,8BAA8B,EAAE,GAAS,EAAE;IAElD,EAAE,CAAC,qCAAqC,EAAE,GAAS,EAAE;QACnD,MAAM,KAAK,GAAG,sCAAoB,CAAC,cAAc,EAAE,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAS,EAAE;QACzE,MAAM,KAAK,GAAG,sCAAoB,CAAC,cAAc,EAAE,CAAC;QACpD,MAAM,GAAG,GAAW,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mFAAmF,EAAE,GAAS,EAAE;QACjG,MAAM,KAAK,GAAG,sCAAoB,CAAC,cAAc,EAAE,CAAC;QACpD,MAAM,GAAG,GAAW,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAS,EAAE;QAC3E,MAAM,KAAK,GAAG,sCAAoB,CAAC,cAAc,EAAE,CAAC;QACpD,MAAM,GAAG,GAAW,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAS,EAAE;QACzD,MAAM,KAAK,GAAG,sCAAoB,CAAC,cAAc,EAAE,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAS,EAAE;QACzD,MAAM,IAAI,GAAW,sCAAoB,CAAC,QAAQ,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"bootstrap.spec.js","sourceRoot":"","sources":["../../../src/_modules/generators/bootstrap.spec.ts"],"names":[],"mappings":";;AAAA,oEAAsE;AAEtE,QAAQ,CAAC,8BAA8B,EAAE,GAAS,EAAE;IAElD,EAAE,CAAC,qCAAqC,EAAE,GAAS,EAAE;QACnD,MAAM,KAAK,GAAG,sCAAoB,CAAC,cAAc,EAAE,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yFAAyF,EAAE,GAAS,EAAE;QACvG,MAAM,KAAK,GAAG,sCAAoB,CAAC,cAAc,EAAE,CAAC;QACpD,MAAM,GAAG,GAAW,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mFAAmF,EAAE,GAAS,EAAE;QACjG,MAAM,KAAK,GAAG,sCAAoB,CAAC,cAAc,EAAE,CAAC;QACpD,MAAM,GAAG,GAAW,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAS,EAAE;QAC3E,MAAM,KAAK,GAAG,sCAAoB,CAAC,cAAc,EAAE,CAAC;QACpD,MAAM,GAAG,GAAW,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAS,EAAE;QACzD,MAAM,KAAK,GAAG,sCAAoB,CAAC,cAAc,EAAE,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAS,EAAE;QACzD,MAAM,IAAI,GAAW,sCAAoB,CAAC,QAAQ,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { DyE2E_Viewport_Interface } from '../../../contracts/_models/interfaces/viewport.interface';
2
+ /**
3
+ * `'visual-8'` preset — 8 viewport-os Tailwind-breakpoint visual-regression matrix
4
+ * (xs/sm/md/lg/xl + a gt- és lt- szintek lefedése; organizer BL-20260602-004 minta).
5
+ * Ahol a méret egyezik a standard katalógussal (tablet-sm = tabletPortrait), onnan
6
+ * hivatkozzuk; a többi breakpoint-méret a Tailwind-matrix sajátja.
7
+ */
8
+ export declare const DYE2E_VIEWPORTS_VISUAL8: DyE2E_Viewport_Interface[];
9
+ /**
10
+ * `'named-4'` preset — 4 nevesített viewport (overseer-minta: desktop / wide / tablet / mobile).
11
+ * A desktop-1920 / tablet-1024 / mobile-414 méretei a standard katalógusból jönnek;
12
+ * a wide-2560 a preset sajátja (a katalógusban nincs 2560-as szint).
13
+ * Megjegyzés: mobile-414 SZÁNDÉKOSAN touch-flag nélkül — Chromium UA + viewport
14
+ * (a device-emulátor WebKit-et húzna, ami a CI-bootstrap-on nincs telepítve).
15
+ */
16
+ export declare const DYE2E_VIEWPORTS_NAMED4: DyE2E_Viewport_Interface[];
17
+ /**
18
+ * `'single'` preset — 1 standard desktop viewport (master-prompter-minta:
19
+ * egyetlen funkcionális projekt, viewport-fan-out nélkül).
20
+ */
21
+ export declare const DYE2E_VIEWPORTS_SINGLE: DyE2E_Viewport_Interface[];
22
+ //# sourceMappingURL=playwright-viewport-presets.const.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright-viewport-presets.const.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/presets/_collections/constants/playwright-viewport-presets.const.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AASpG;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,wBAAwB,EAc7D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,EAAE,wBAAwB,EAqB5D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,wBAAwB,EAE5D,CAAC"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DYE2E_VIEWPORTS_SINGLE = exports.DYE2E_VIEWPORTS_NAMED4 = exports.DYE2E_VIEWPORTS_VISUAL8 = void 0;
4
+ const standard_viewports_const_1 = require("../../../contracts/_collections/constants/standard-viewports.const");
5
+ const standard_viewport_enum_1 = require("../../../contracts/_enums/standard-viewport.enum");
6
+ // Katalógus-referenciák — a width/height értékek SSOT-ja a STANDARD_VIEWPORT_CATALOG,
7
+ // itt NEM duplikáljuk a számokat, csak hivatkozunk rájuk.
8
+ const TABLET_P = standard_viewports_const_1.STANDARD_VIEWPORT_CATALOG[standard_viewport_enum_1.DyE2E_StandardViewport_Type.tabletPortrait];
9
+ const TABLET_L = standard_viewports_const_1.STANDARD_VIEWPORT_CATALOG[standard_viewport_enum_1.DyE2E_StandardViewport_Type.tabletLandscape];
10
+ const MOBILE_L = standard_viewports_const_1.STANDARD_VIEWPORT_CATALOG[standard_viewport_enum_1.DyE2E_StandardViewport_Type.mobileL];
11
+ const DESKTOP_WIDE = standard_viewports_const_1.STANDARD_VIEWPORT_CATALOG[standard_viewport_enum_1.DyE2E_StandardViewport_Type.desktopWide];
12
+ /**
13
+ * `'visual-8'` preset — 8 viewport-os Tailwind-breakpoint visual-regression matrix
14
+ * (xs/sm/md/lg/xl + a gt- és lt- szintek lefedése; organizer BL-20260602-004 minta).
15
+ * Ahol a méret egyezik a standard katalógussal (tablet-sm = tabletPortrait), onnan
16
+ * hivatkozzuk; a többi breakpoint-méret a Tailwind-matrix sajátja.
17
+ */
18
+ exports.DYE2E_VIEWPORTS_VISUAL8 = [
19
+ { key: 'visual-mobile-xs', label: 'Visual Mobile XS (360×640)', width: 360, height: 640 },
20
+ { key: 'visual-mobile-sm', label: 'Visual Mobile SM (480×800)', width: 480, height: 800 },
21
+ {
22
+ key: 'visual-tablet-sm',
23
+ label: `Visual Tablet SM (${TABLET_P.width}×${TABLET_P.height})`,
24
+ width: TABLET_P.width,
25
+ height: TABLET_P.height,
26
+ },
27
+ { key: 'visual-tablet-md', label: 'Visual Tablet MD (1024×1366)', width: 1024, height: 1366 },
28
+ { key: 'visual-desktop-md', label: 'Visual Desktop MD (1280×800)', width: 1280, height: 800 },
29
+ { key: 'visual-desktop-lg', label: 'Visual Desktop LG (1600×1000)', width: 1600, height: 1000 },
30
+ { key: 'visual-desktop-xl', label: 'Visual Desktop XL (1920×1200)', width: 1920, height: 1200 },
31
+ { key: 'visual-desktop-2xl', label: 'Visual Desktop 2XL (2560×1440)', width: 2560, height: 1440 },
32
+ ];
33
+ /**
34
+ * `'named-4'` preset — 4 nevesített viewport (overseer-minta: desktop / wide / tablet / mobile).
35
+ * A desktop-1920 / tablet-1024 / mobile-414 méretei a standard katalógusból jönnek;
36
+ * a wide-2560 a preset sajátja (a katalógusban nincs 2560-as szint).
37
+ * Megjegyzés: mobile-414 SZÁNDÉKOSAN touch-flag nélkül — Chromium UA + viewport
38
+ * (a device-emulátor WebKit-et húzna, ami a CI-bootstrap-on nincs telepítve).
39
+ */
40
+ exports.DYE2E_VIEWPORTS_NAMED4 = [
41
+ {
42
+ key: 'desktop-1920',
43
+ label: `Desktop (${DESKTOP_WIDE.width}×${DESKTOP_WIDE.height})`,
44
+ width: DESKTOP_WIDE.width,
45
+ height: DESKTOP_WIDE.height,
46
+ },
47
+ { key: 'wide-2560', label: 'Wide (2560×1440)', width: 2560, height: 1440 },
48
+ {
49
+ key: 'tablet-1024',
50
+ label: `Tablet (${TABLET_L.width}×${TABLET_L.height})`,
51
+ width: TABLET_L.width,
52
+ height: TABLET_L.height,
53
+ },
54
+ {
55
+ key: 'mobile-414',
56
+ label: `Mobile (${MOBILE_L.width}×${MOBILE_L.height})`,
57
+ width: MOBILE_L.width,
58
+ height: MOBILE_L.height,
59
+ isMobile: false,
60
+ },
61
+ ];
62
+ /**
63
+ * `'single'` preset — 1 standard desktop viewport (master-prompter-minta:
64
+ * egyetlen funkcionális projekt, viewport-fan-out nélkül).
65
+ */
66
+ exports.DYE2E_VIEWPORTS_SINGLE = [
67
+ standard_viewports_const_1.STANDARD_VIEWPORT_CATALOG[standard_viewport_enum_1.DyE2E_StandardViewport_Type.desktop],
68
+ ];
69
+ //# sourceMappingURL=playwright-viewport-presets.const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright-viewport-presets.const.js","sourceRoot":"","sources":["../../../../../src/_modules/presets/_collections/constants/playwright-viewport-presets.const.ts"],"names":[],"mappings":";;;AAAA,iHAA+G;AAC/G,6FAA+F;AAG/F,sFAAsF;AACtF,0DAA0D;AAC1D,MAAM,QAAQ,GAA6B,oDAAyB,CAAC,oDAA2B,CAAC,cAAc,CAAC,CAAC;AACjH,MAAM,QAAQ,GAA6B,oDAAyB,CAAC,oDAA2B,CAAC,eAAe,CAAC,CAAC;AAClH,MAAM,QAAQ,GAA6B,oDAAyB,CAAC,oDAA2B,CAAC,OAAO,CAAC,CAAC;AAC1G,MAAM,YAAY,GAA6B,oDAAyB,CAAC,oDAA2B,CAAC,WAAW,CAAC,CAAC;AAElH;;;;;GAKG;AACU,QAAA,uBAAuB,GAA+B;IACjE,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IACzF,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IACzF;QACE,GAAG,EAAE,kBAAkB;QACvB,KAAK,EAAE,qBAAqB,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,GAAG;QAChE,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB;IACD,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAC7F,EAAE,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;IAC7F,EAAE,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,+BAA+B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAC/F,EAAE,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,+BAA+B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAC/F,EAAE,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,gCAAgC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;CAClG,CAAC;AAEF;;;;;;GAMG;AACU,QAAA,sBAAsB,GAA+B;IAChE;QACE,GAAG,EAAE,cAAc;QACnB,KAAK,EAAE,YAAY,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,MAAM,GAAG;QAC/D,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,MAAM,EAAE,YAAY,CAAC,MAAM;KAC5B;IACD,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAC1E;QACE,GAAG,EAAE,aAAa;QAClB,KAAK,EAAE,WAAW,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,GAAG;QACtD,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB;IACD;QACE,GAAG,EAAE,YAAY;QACjB,KAAK,EAAE,WAAW,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,GAAG;QACtD,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,QAAQ,EAAE,KAAK;KAChB;CACF,CAAC;AAEF;;;GAGG;AACU,QAAA,sBAAsB,GAA+B;IAChE,oDAAyB,CAAC,oDAA2B,CAAC,OAAO,CAAC;CAC/D,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { FullConfig } from '@playwright/test';
2
+ import { DyE2E_GlobalSetup_Options } from '../_models/interfaces/global-setup-options.interface';
3
+ /**
4
+ * `DyE2E_getGlobalSetup` — a flotta e2e-global-setup.ts-einek közös magja:
5
+ * dotenv-load + kötelező-env warn + baseURL-reachability + opcionális login-once hook.
6
+ * A consumer global-setup fájlja így 3-soros wrapper:
7
+ *
8
+ * ```ts
9
+ * import { DyE2E_getGlobalSetup } from '@futdevpro/dynamo-e2e/presets';
10
+ * export default DyE2E_getGlobalSetup({ defaultBaseUrl: 'https://test.my-app.hu', envDir: __dirname });
11
+ * ```
12
+ */
13
+ export declare function DyE2E_getGlobalSetup(opts: DyE2E_GlobalSetup_Options): (config: FullConfig) => Promise<void>;
14
+ //# sourceMappingURL=global-setup.factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-setup.factory.d.ts","sourceRoot":"","sources":["../../../../src/_modules/presets/_collections/global-setup.factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA2B,UAAU,EAAQ,MAAM,kBAAkB,CAAC;AAKlF,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAC;AA0DjG;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,yBAAyB,GAAG,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAyB3G"}
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.DyE2E_getGlobalSetup = DyE2E_getGlobalSetup;
27
+ const test_1 = require("@playwright/test");
28
+ const dotenv = __importStar(require("dotenv"));
29
+ const fs = __importStar(require("fs"));
30
+ const path = __importStar(require("path"));
31
+ /** Üres Playwright storageState — nincs cookie / origin (= unauthenticated fallback). */
32
+ const EMPTY_AUTH_STATE = { cookies: [], origins: [] };
33
+ /**
34
+ * baseURL elérhetőség-ellenőrzés AbortController + fetch timeout-tal.
35
+ * Ha a target nem él, egyértelmű hibával állunk le (ne 60 spec bukjon obscure timeout-tal).
36
+ */
37
+ async function checkBaseUrlReachable(baseUrl, timeoutMs) {
38
+ const controller = new AbortController();
39
+ const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
40
+ try {
41
+ // Bármilyen HTTP-válasz (akár 4xx/5xx) = a szerver él; csak a network-error számít bukásnak
42
+ await fetch(baseUrl, { method: 'GET', signal: controller.signal });
43
+ clearTimeout(timeoutId);
44
+ return;
45
+ }
46
+ catch {
47
+ clearTimeout(timeoutId);
48
+ }
49
+ throw new Error(`[E2E] E2E_BASE_URL (${baseUrl}) nem elérhető. ` +
50
+ 'Indítsd el a target környezetet (vagy állítsd az E2E_BASE_URL-t), majd futtasd újra az E2E teszteket.');
51
+ }
52
+ /**
53
+ * Login-once + storageState mentés (C513 minta): a consumer login-hook-ja viszi végig a
54
+ * flow-t; siker esetén real state, bukás esetén empty stub kerül a storageStatePath-ra
55
+ * (a config `use.storageState`-je fájlt vár, ezért MINDIG írunk valamit).
56
+ */
57
+ async function runLoginHook(opts, baseUrl) {
58
+ const browser = await test_1.chromium.launch();
59
+ const context = await browser.newContext({ ignoreHTTPSErrors: true, baseURL: baseUrl });
60
+ const page = await context.newPage();
61
+ try {
62
+ // A login-flow maga a consumer felelőssége (FDP-specifikus helper = fdp-e2e-helpers réteg)
63
+ await opts.login(page);
64
+ if (opts.storageStatePath) {
65
+ await context.storageState({ path: opts.storageStatePath });
66
+ console.info(`[E2E] Global setup: auth-state mentve → ${opts.storageStatePath}`);
67
+ }
68
+ }
69
+ catch (err) {
70
+ const errMsg = err instanceof Error ? err.message : String(err);
71
+ console.warn(`[E2E] Global setup: login-hook sikertelen — ${errMsg}. ` +
72
+ 'Empty stub mentve; a specek per-test login flow-ra eshetnek vissza.');
73
+ if (opts.storageStatePath) {
74
+ fs.writeFileSync(opts.storageStatePath, JSON.stringify(EMPTY_AUTH_STATE));
75
+ }
76
+ }
77
+ finally {
78
+ await browser.close();
79
+ }
80
+ }
81
+ /**
82
+ * `DyE2E_getGlobalSetup` — a flotta e2e-global-setup.ts-einek közös magja:
83
+ * dotenv-load + kötelező-env warn + baseURL-reachability + opcionális login-once hook.
84
+ * A consumer global-setup fájlja így 3-soros wrapper:
85
+ *
86
+ * ```ts
87
+ * import { DyE2E_getGlobalSetup } from '@futdevpro/dynamo-e2e/presets';
88
+ * export default DyE2E_getGlobalSetup({ defaultBaseUrl: 'https://test.my-app.hu', envDir: __dirname });
89
+ * ```
90
+ */
91
+ function DyE2E_getGlobalSetup(opts) {
92
+ return async (_config) => {
93
+ // dotenv-load a hívó e2e-mappájából (a config-oldali load-dal idempotens)
94
+ dotenv.config({ path: path.join(opts.envDir || process.cwd(), '.env') });
95
+ // Kötelező env-változók — hiány esetén CSAK warn (a spec-ek fallback-elhetnek)
96
+ const missing = (opts.requiredEnvVars || []).filter((name) => !process.env[name]);
97
+ if (missing.length) {
98
+ console.warn(`[E2E] Global setup: hiányzó env: ${missing.join(', ')}. Töltsd ki a .env-et (.env.example minta).`);
99
+ }
100
+ // baseURL-reachability — fail-fast ha a target nem él
101
+ const baseUrl = process.env.E2E_BASE_URL || opts.defaultBaseUrl;
102
+ await checkBaseUrlReachable(baseUrl, opts.reachabilityTimeoutMs ?? 5_000);
103
+ if (opts.login) {
104
+ // Login-once + storageState (C513 minta)
105
+ await runLoginHook(opts, baseUrl);
106
+ }
107
+ else if (opts.storageStatePath) {
108
+ // Nincs login-hook, de a config storageState-fájlt vár → empty stub hogy létezzen
109
+ fs.writeFileSync(opts.storageStatePath, JSON.stringify(EMPTY_AUTH_STATE));
110
+ }
111
+ };
112
+ }
113
+ //# sourceMappingURL=global-setup.factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-setup.factory.js","sourceRoot":"","sources":["../../../../src/_modules/presets/_collections/global-setup.factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { PlaywrightTestConfig } from '@playwright/test';
2
+ import { DyE2E_PlaywrightConfig_Options } from '../_models/interfaces/playwright-config-options.interface';
3
+ /**
4
+ * `DyE2E_getPlaywrightConfig` — a flotta playwright.config.ts-einek közös magja
5
+ * (organizer / overseer / master-prompter mintákból desztillálva). A consumer-projekt
6
+ * configja így 3-soros wrapper lesz (SSOT a bedrock-ban):
7
+ *
8
+ * ```ts
9
+ * import { DyE2E_getPlaywrightConfig } from '@futdevpro/dynamo-e2e/presets';
10
+ * export default DyE2E_getPlaywrightConfig({ defaultBaseUrl: 'https://test.my-app.hu', envDir: __dirname });
11
+ * ```
12
+ *
13
+ * Env-konvenciók (flotta-standard):
14
+ * - `E2E_BASE_URL` — target-override (LDP → local, CICD → test-szerver default)
15
+ * - `E2E_IGNORE_HTTPS_ERRORS=1` / `NODE_TLS_REJECT_UNAUTHORIZED=0` — self-signed TLS elfogadás
16
+ * - `E2E_WORKERS=N` — worker-szám override (https test-env ellen default 1 — login-race védelem)
17
+ */
18
+ export declare function DyE2E_getPlaywrightConfig(opts: DyE2E_PlaywrightConfig_Options): PlaywrightTestConfig;
19
+ //# sourceMappingURL=playwright-config.factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright-config.factory.d.ts","sourceRoot":"","sources":["../../../../src/_modules/presets/_collections/playwright-config.factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAK7D,OAAO,EAAE,8BAA8B,EAAE,MAAM,2DAA2D,CAAC;AAG3G;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,8BAA8B,GAAG,oBAAoB,CAoEpG"}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.DyE2E_getPlaywrightConfig = DyE2E_getPlaywrightConfig;
27
+ const test_1 = require("@playwright/test");
28
+ const dotenv = __importStar(require("dotenv"));
29
+ const path = __importStar(require("path"));
30
+ const viewport_preset_resolver_util_1 = require("./viewport-preset-resolver.util");
31
+ /**
32
+ * `DyE2E_getPlaywrightConfig` — a flotta playwright.config.ts-einek közös magja
33
+ * (organizer / overseer / master-prompter mintákból desztillálva). A consumer-projekt
34
+ * configja így 3-soros wrapper lesz (SSOT a bedrock-ban):
35
+ *
36
+ * ```ts
37
+ * import { DyE2E_getPlaywrightConfig } from '@futdevpro/dynamo-e2e/presets';
38
+ * export default DyE2E_getPlaywrightConfig({ defaultBaseUrl: 'https://test.my-app.hu', envDir: __dirname });
39
+ * ```
40
+ *
41
+ * Env-konvenciók (flotta-standard):
42
+ * - `E2E_BASE_URL` — target-override (LDP → local, CICD → test-szerver default)
43
+ * - `E2E_IGNORE_HTTPS_ERRORS=1` / `NODE_TLS_REJECT_UNAUTHORIZED=0` — self-signed TLS elfogadás
44
+ * - `E2E_WORKERS=N` — worker-szám override (https test-env ellen default 1 — login-race védelem)
45
+ */
46
+ function DyE2E_getPlaywrightConfig(opts) {
47
+ // dotenv-load a hívó e2e-mappájából — CI-ben a secrets env-ből jönnek, lokálban .env
48
+ dotenv.config({ path: path.join(opts.envDir || process.cwd(), '.env') });
49
+ // baseURL: env-override → opts default (a default MINDIG a deployolt TEST szerver, SOHA nem localhost)
50
+ const baseURL = process.env.E2E_BASE_URL || opts.defaultBaseUrl;
51
+ const isHttps = baseURL.startsWith('https://');
52
+ // Self-signed TLS elfogadása ha a target https (test-env) vagy explicit env kéri
53
+ const ignoreHTTPSErrors = process.env.E2E_IGNORE_HTTPS_ERRORS === '1' ||
54
+ process.env.NODE_TLS_REJECT_UNAUTHORIZED === '0' ||
55
+ isHttps;
56
+ // Workers: env-override → opts fix érték → deriváció. Deployolt (https) test-env ellen 1 worker —
57
+ // a párhuzamos login-ok backend race-t okoznak (FDPNTS-UDS-RC1 "User already exists" minta).
58
+ const workers = process.env.E2E_WORKERS
59
+ ? Number(process.env.E2E_WORKERS)
60
+ : (opts.workers ?? (isHttps ? 1 : undefined));
61
+ // Viewport-preset feloldás → Playwright projects (minden viewport = 1 chromium projekt)
62
+ const viewports = (0, viewport_preset_resolver_util_1.DyE2E_resolveViewportPreset)(opts.viewports);
63
+ const projects = viewports.map((vp) => ({
64
+ name: vp.key,
65
+ use: {
66
+ ...test_1.devices['Desktop Chrome'],
67
+ viewport: { width: vp.width, height: vp.height },
68
+ // Az opcionális device-mezőket csak akkor írjuk felül, ha a viewport-def megadja
69
+ ...(vp.deviceScaleFactor !== undefined ? { deviceScaleFactor: vp.deviceScaleFactor } : {}),
70
+ ...(vp.isMobile !== undefined ? { isMobile: vp.isMobile } : {}),
71
+ ...(vp.hasTouch !== undefined ? { hasTouch: vp.hasTouch } : {}),
72
+ },
73
+ }));
74
+ // A közös config-mag — a flotta-configok metszete + opcionális override-ok
75
+ return (0, test_1.defineConfig)({
76
+ testDir: opts.testDir || './tests',
77
+ // globalSetup csak ha a consumer adott path-t (require.resolve-olt abszolút path)
78
+ ...(opts.globalSetupPath ? { globalSetup: opts.globalSetupPath } : {}),
79
+ timeout: opts.timeout ?? 60_000,
80
+ expect: {
81
+ timeout: opts.expectTimeout ?? 10_000,
82
+ },
83
+ fullyParallel: opts.fullyParallel ?? false,
84
+ // CI-ben tilos a .only (véletlen szűkített suite = fals zöld)
85
+ forbidOnly: !!process.env.CI,
86
+ // Retry CSAK CI-ben (load-flake tolerancia); lokálban a flake jel, nem zaj
87
+ retries: process.env.CI ? (opts.retriesInCi ?? 0) : 0,
88
+ workers: workers,
89
+ reporter: [
90
+ ['html'],
91
+ ['json', { outputFile: 'test-results/results.json' }],
92
+ ['list'],
93
+ ],
94
+ use: {
95
+ baseURL: baseURL,
96
+ ignoreHTTPSErrors: ignoreHTTPSErrors,
97
+ screenshot: 'only-on-failure',
98
+ trace: 'retain-on-failure',
99
+ video: 'retain-on-failure',
100
+ // Consumer-specifikus use-mezők (pl. storageState) a mag TETEJÉRE merge-ölve
101
+ ...(opts.extraUse || {}),
102
+ },
103
+ outputDir: 'test-results',
104
+ projects: projects,
105
+ });
106
+ }
107
+ //# sourceMappingURL=playwright-config.factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright-config.factory.js","sourceRoot":"","sources":["../../../../src/_modules/presets/_collections/playwright-config.factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { DyE2E_Viewport_Interface } from '../../contracts/_models/interfaces/viewport.interface';
2
+ import { DyE2E_ViewportsOption_Type } from '../_models/interfaces/playwright-config-options.interface';
3
+ /**
4
+ * Viewport-opció feloldása konkrét viewport-tömbre.
5
+ * Custom tömb → passthrough; preset-név → a megfelelő konstans; hiányzó opció → `'single'`.
6
+ */
7
+ export declare function DyE2E_resolveViewportPreset(viewports?: DyE2E_ViewportsOption_Type): DyE2E_Viewport_Interface[];
8
+ //# sourceMappingURL=viewport-preset-resolver.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewport-preset-resolver.util.d.ts","sourceRoot":"","sources":["../../../../src/_modules/presets/_collections/viewport-preset-resolver.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,2DAA2D,CAAC;AAOvG;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,CAAC,EAAE,0BAA0B,GAAG,wBAAwB,EAAE,CAe9G"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyE2E_resolveViewportPreset = DyE2E_resolveViewportPreset;
4
+ const playwright_viewport_presets_const_1 = require("./constants/playwright-viewport-presets.const");
5
+ /**
6
+ * Viewport-opció feloldása konkrét viewport-tömbre.
7
+ * Custom tömb → passthrough; preset-név → a megfelelő konstans; hiányzó opció → `'single'`.
8
+ */
9
+ function DyE2E_resolveViewportPreset(viewports) {
10
+ // Custom katalógus — a consumer sajátja, változtatás nélkül adjuk tovább
11
+ if (Array.isArray(viewports)) {
12
+ return viewports;
13
+ }
14
+ // Named preset feloldás — default a 'single' (legkisebb, biztonságos mátrix)
15
+ switch (viewports) {
16
+ case 'visual-8':
17
+ return playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_VISUAL8;
18
+ case 'named-4':
19
+ return playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_NAMED4;
20
+ case 'single':
21
+ default:
22
+ return playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_SINGLE;
23
+ }
24
+ }
25
+ //# sourceMappingURL=viewport-preset-resolver.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewport-preset-resolver.util.js","sourceRoot":"","sources":["../../../../src/_modules/presets/_collections/viewport-preset-resolver.util.ts"],"names":[],"mappings":";;AAYA,kEAeC;AAzBD,qGAIuD;AAEvD;;;GAGG;AACH,SAAgB,2BAA2B,CAAC,SAAsC;IAChF,yEAAyE;IACzE,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,6EAA6E;IAC7E,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,2DAAuB,CAAC;QACjC,KAAK,SAAS;YACZ,OAAO,0DAAsB,CAAC;QAChC,KAAK,QAAQ,CAAC;QACd;YACE,OAAO,0DAAsB,CAAC;IAClC,CAAC;AACH,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { Page } from '@playwright/test';
2
+ /**
3
+ * A `DyE2E_getGlobalSetup` factory opciói — a flotta e2e-global-setup.ts-eiből
4
+ * desztillált közös mag (dotenv + env-check + reachability + opcionális login-once).
5
+ */
6
+ export interface DyE2E_GlobalSetup_Options {
7
+ /** Default E2E target ha nincs `E2E_BASE_URL` env-override (a config-gal azonos érték legyen). */
8
+ defaultBaseUrl: string;
9
+ /** A hívó e2e-mappája (jellemzően `__dirname`) — innen töltődik a `.env` dotenv-vel. Default: `process.cwd()`. */
10
+ envDir?: string;
11
+ /** Kötelező env-változó nevek — hiány esetén warn (NEM fatális; a spec-ek fallback-elhetnek). */
12
+ requiredEnvVars?: string[];
13
+ /** baseURL-reachability-check timeout ms-ben (AbortController + fetch). Default: `5_000`. */
14
+ reachabilityTimeoutMs?: number;
15
+ /**
16
+ * Opcionális login-once hook (C513 storageState-reuse minta): a factory nyit egy
17
+ * chromium page-et és ezt hívja; a hook felelős a login-flow végigviteléért.
18
+ * FDP-specifikus login-helper ide NEM tartozik — az a `fdp-e2e-helpers` rétege.
19
+ */
20
+ login?: (page: Page) => Promise<void>;
21
+ /**
22
+ * storageState mentési path (pl. `.auth-state.json`). Ha a login-hook sikeres → real state;
23
+ * ha nincs login-hook vagy a login bukik → empty stub (a config `use.storageState`-je
24
+ * fájlt vár, ezért MINDIG léteznie kell).
25
+ */
26
+ storageStatePath?: string;
27
+ }
28
+ //# sourceMappingURL=global-setup-options.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-setup-options.interface.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/presets/_models/interfaces/global-setup-options.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,kGAAkG;IAClG,cAAc,EAAE,MAAM,CAAC;IACvB,kHAAkH;IAClH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iGAAiG;IACjG,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,6FAA6F;IAC7F,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B"}