@sun-asterisk/sungen 2.4.6 → 2.5.1

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 (206) hide show
  1. package/README.md +88 -7
  2. package/dist/cli/commands/add.d.ts.map +1 -1
  3. package/dist/cli/commands/add.js +109 -9
  4. package/dist/cli/commands/add.js.map +1 -1
  5. package/dist/cli/commands/figma.d.ts +11 -0
  6. package/dist/cli/commands/figma.d.ts.map +1 -0
  7. package/dist/cli/commands/figma.js +178 -0
  8. package/dist/cli/commands/figma.js.map +1 -0
  9. package/dist/cli/commands/generate.d.ts.map +1 -1
  10. package/dist/cli/commands/generate.js +2 -0
  11. package/dist/cli/commands/generate.js.map +1 -1
  12. package/dist/cli/index.js +4 -2
  13. package/dist/cli/index.js.map +1 -1
  14. package/dist/generators/gherkin-parser/index.d.ts +1 -0
  15. package/dist/generators/gherkin-parser/index.d.ts.map +1 -1
  16. package/dist/generators/gherkin-parser/index.js +3 -0
  17. package/dist/generators/gherkin-parser/index.js.map +1 -1
  18. package/dist/generators/test-generator/adapters/adapter-interface.d.ts +29 -1
  19. package/dist/generators/test-generator/adapters/adapter-interface.d.ts.map +1 -1
  20. package/dist/generators/test-generator/adapters/playwright/playwright-adapter.d.ts +21 -1
  21. package/dist/generators/test-generator/adapters/playwright/playwright-adapter.d.ts.map +1 -1
  22. package/dist/generators/test-generator/adapters/playwright/playwright-adapter.js +11 -2
  23. package/dist/generators/test-generator/adapters/playwright/playwright-adapter.js.map +1 -1
  24. package/dist/generators/test-generator/adapters/playwright/templates/after-all.hbs +8 -0
  25. package/dist/generators/test-generator/adapters/playwright/templates/after-each.hbs +8 -0
  26. package/dist/generators/test-generator/adapters/playwright/templates/before-all.hbs +8 -0
  27. package/dist/generators/test-generator/adapters/playwright/templates/imports.hbs +3 -0
  28. package/dist/generators/test-generator/adapters/playwright/templates/test-file.hbs +24 -0
  29. package/dist/generators/test-generator/code-generator.d.ts +2 -0
  30. package/dist/generators/test-generator/code-generator.d.ts.map +1 -1
  31. package/dist/generators/test-generator/code-generator.js +109 -12
  32. package/dist/generators/test-generator/code-generator.js.map +1 -1
  33. package/dist/generators/test-generator/step-mapper.d.ts +1 -0
  34. package/dist/generators/test-generator/step-mapper.d.ts.map +1 -1
  35. package/dist/generators/test-generator/step-mapper.js +1 -1
  36. package/dist/generators/test-generator/step-mapper.js.map +1 -1
  37. package/dist/generators/test-generator/template-engine.d.ts +29 -1
  38. package/dist/generators/test-generator/template-engine.d.ts.map +1 -1
  39. package/dist/generators/test-generator/template-engine.js +11 -2
  40. package/dist/generators/test-generator/template-engine.js.map +1 -1
  41. package/dist/generators/test-generator/utils/data-resolver.d.ts +11 -2
  42. package/dist/generators/test-generator/utils/data-resolver.d.ts.map +1 -1
  43. package/dist/generators/test-generator/utils/data-resolver.js +36 -25
  44. package/dist/generators/test-generator/utils/data-resolver.js.map +1 -1
  45. package/dist/generators/test-generator/utils/runtime-data-transformer.d.ts +7 -0
  46. package/dist/generators/test-generator/utils/runtime-data-transformer.d.ts.map +1 -0
  47. package/dist/generators/test-generator/utils/runtime-data-transformer.js +42 -0
  48. package/dist/generators/test-generator/utils/runtime-data-transformer.js.map +1 -0
  49. package/dist/generators/types.d.ts +1 -0
  50. package/dist/generators/types.d.ts.map +1 -1
  51. package/dist/generators/types.js.map +1 -1
  52. package/dist/orchestrator/ai-rules-updater.d.ts.map +1 -1
  53. package/dist/orchestrator/ai-rules-updater.js +2 -0
  54. package/dist/orchestrator/ai-rules-updater.js.map +1 -1
  55. package/dist/orchestrator/figma/figma-scaffolder-helpers.d.ts +33 -0
  56. package/dist/orchestrator/figma/figma-scaffolder-helpers.d.ts.map +1 -0
  57. package/dist/orchestrator/figma/figma-scaffolder-helpers.js +135 -0
  58. package/dist/orchestrator/figma/figma-scaffolder-helpers.js.map +1 -0
  59. package/dist/orchestrator/figma/figma-scaffolder-types.d.ts +25 -0
  60. package/dist/orchestrator/figma/figma-scaffolder-types.d.ts.map +1 -0
  61. package/dist/orchestrator/figma/figma-scaffolder-types.js +7 -0
  62. package/dist/orchestrator/figma/figma-scaffolder-types.js.map +1 -0
  63. package/dist/orchestrator/figma/figma-scaffolder.d.ts +23 -0
  64. package/dist/orchestrator/figma/figma-scaffolder.d.ts.map +1 -0
  65. package/dist/orchestrator/figma/figma-scaffolder.js +212 -0
  66. package/dist/orchestrator/figma/figma-scaffolder.js.map +1 -0
  67. package/dist/orchestrator/figma/node-path-collapser.d.ts +16 -0
  68. package/dist/orchestrator/figma/node-path-collapser.d.ts.map +1 -0
  69. package/dist/orchestrator/figma/node-path-collapser.js +37 -0
  70. package/dist/orchestrator/figma/node-path-collapser.js.map +1 -0
  71. package/dist/orchestrator/figma/spec-figma-renderer.d.ts +44 -0
  72. package/dist/orchestrator/figma/spec-figma-renderer.d.ts.map +1 -0
  73. package/dist/orchestrator/figma/spec-figma-renderer.js +45 -0
  74. package/dist/orchestrator/figma/spec-figma-renderer.js.map +1 -0
  75. package/dist/orchestrator/figma/spec-figma-section-renderers.d.ts +23 -0
  76. package/dist/orchestrator/figma/spec-figma-section-renderers.d.ts.map +1 -0
  77. package/dist/orchestrator/figma/spec-figma-section-renderers.js +47 -0
  78. package/dist/orchestrator/figma/spec-figma-section-renderers.js.map +1 -0
  79. package/dist/orchestrator/project-initializer.d.ts +9 -0
  80. package/dist/orchestrator/project-initializer.d.ts.map +1 -1
  81. package/dist/orchestrator/project-initializer.js +74 -10
  82. package/dist/orchestrator/project-initializer.js.map +1 -1
  83. package/dist/orchestrator/templates/ai-instructions/claude-cmd-add-screen.md +56 -11
  84. package/dist/orchestrator/templates/ai-instructions/claude-cmd-create-test.md +30 -17
  85. package/dist/orchestrator/templates/ai-instructions/claude-cmd-review.md +4 -3
  86. package/dist/orchestrator/templates/ai-instructions/claude-cmd-run-test.md +34 -2
  87. package/dist/orchestrator/templates/ai-instructions/claude-config.md +12 -2
  88. package/dist/orchestrator/templates/ai-instructions/claude-skill-figma-source.md +151 -0
  89. package/dist/orchestrator/templates/ai-instructions/claude-skill-gherkin-syntax.md +66 -13
  90. package/dist/orchestrator/templates/ai-instructions/claude-skill-tc-generation.md +93 -23
  91. package/dist/orchestrator/templates/ai-instructions/claude-skill-tc-review.md +2 -0
  92. package/dist/orchestrator/templates/ai-instructions/copilot-cmd-add-screen.md +53 -9
  93. package/dist/orchestrator/templates/ai-instructions/copilot-cmd-create-test.md +21 -16
  94. package/dist/orchestrator/templates/ai-instructions/copilot-cmd-review.md +4 -3
  95. package/dist/orchestrator/templates/ai-instructions/copilot-cmd-run-test.md +34 -2
  96. package/dist/orchestrator/templates/ai-instructions/copilot-config.md +12 -2
  97. package/dist/orchestrator/templates/ai-instructions/copilot-skill-figma-source.md +151 -0
  98. package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-figma-source.md +151 -0
  99. package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-gherkin-syntax.md +86 -13
  100. package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-selector-fix.md +61 -0
  101. package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-tc-generation.md +105 -28
  102. package/dist/orchestrator/templates/ai-instructions/github-skill-sungen-tc-review.md +20 -0
  103. package/dist/orchestrator/templates/specs-base.d.ts +12 -1
  104. package/dist/orchestrator/templates/specs-base.d.ts.map +1 -1
  105. package/dist/orchestrator/templates/specs-base.js +47 -5
  106. package/dist/orchestrator/templates/specs-base.js.map +1 -1
  107. package/dist/orchestrator/templates/specs-base.ts +65 -7
  108. package/dist/orchestrator/templates/specs-test-data.d.ts +14 -0
  109. package/dist/orchestrator/templates/specs-test-data.d.ts.map +1 -0
  110. package/dist/orchestrator/templates/specs-test-data.js +100 -0
  111. package/dist/orchestrator/templates/specs-test-data.js.map +1 -0
  112. package/dist/orchestrator/templates/specs-test-data.ts +66 -0
  113. package/dist/tools/figma/figma-auth.d.ts +36 -0
  114. package/dist/tools/figma/figma-auth.d.ts.map +1 -0
  115. package/dist/tools/figma/figma-auth.js +182 -0
  116. package/dist/tools/figma/figma-auth.js.map +1 -0
  117. package/dist/tools/figma/figma-cache.d.ts +45 -0
  118. package/dist/tools/figma/figma-cache.d.ts.map +1 -0
  119. package/dist/tools/figma/figma-cache.js +191 -0
  120. package/dist/tools/figma/figma-cache.js.map +1 -0
  121. package/dist/tools/figma/figma-client-types.d.ts +112 -0
  122. package/dist/tools/figma/figma-client-types.d.ts.map +1 -0
  123. package/dist/tools/figma/figma-client-types.js +7 -0
  124. package/dist/tools/figma/figma-client-types.js.map +1 -0
  125. package/dist/tools/figma/figma-errors.d.ts +49 -0
  126. package/dist/tools/figma/figma-errors.d.ts.map +1 -0
  127. package/dist/tools/figma/figma-errors.js +105 -0
  128. package/dist/tools/figma/figma-errors.js.map +1 -0
  129. package/dist/tools/figma/figma-image-downloader.d.ts +25 -0
  130. package/dist/tools/figma/figma-image-downloader.d.ts.map +1 -0
  131. package/dist/tools/figma/figma-image-downloader.js +128 -0
  132. package/dist/tools/figma/figma-image-downloader.js.map +1 -0
  133. package/dist/tools/figma/figma-node-filter.d.ts +26 -0
  134. package/dist/tools/figma/figma-node-filter.d.ts.map +1 -0
  135. package/dist/tools/figma/figma-node-filter.js +164 -0
  136. package/dist/tools/figma/figma-node-filter.js.map +1 -0
  137. package/dist/tools/figma/figma-rest-client.d.ts +24 -0
  138. package/dist/tools/figma/figma-rest-client.d.ts.map +1 -0
  139. package/dist/tools/figma/figma-rest-client.js +154 -0
  140. package/dist/tools/figma/figma-rest-client.js.map +1 -0
  141. package/dist/tools/figma/figma-url-parser.d.ts +18 -0
  142. package/dist/tools/figma/figma-url-parser.d.ts.map +1 -0
  143. package/dist/tools/figma/figma-url-parser.js +51 -0
  144. package/dist/tools/figma/figma-url-parser.js.map +1 -0
  145. package/dist/utils/exec-file-no-throw.d.ts +20 -0
  146. package/dist/utils/exec-file-no-throw.d.ts.map +1 -0
  147. package/dist/utils/exec-file-no-throw.js +36 -0
  148. package/dist/utils/exec-file-no-throw.js.map +1 -0
  149. package/package.json +1 -1
  150. package/src/cli/commands/add.ts +80 -9
  151. package/src/cli/commands/figma.ts +162 -0
  152. package/src/cli/commands/generate.ts +2 -0
  153. package/src/cli/index.ts +4 -2
  154. package/src/generators/gherkin-parser/index.ts +4 -0
  155. package/src/generators/test-generator/adapters/adapter-interface.ts +12 -1
  156. package/src/generators/test-generator/adapters/playwright/playwright-adapter.ts +14 -2
  157. package/src/generators/test-generator/adapters/playwright/templates/after-all.hbs +8 -0
  158. package/src/generators/test-generator/adapters/playwright/templates/after-each.hbs +8 -0
  159. package/src/generators/test-generator/adapters/playwright/templates/before-all.hbs +8 -0
  160. package/src/generators/test-generator/adapters/playwright/templates/imports.hbs +3 -0
  161. package/src/generators/test-generator/adapters/playwright/templates/test-file.hbs +24 -0
  162. package/src/generators/test-generator/code-generator.ts +122 -13
  163. package/src/generators/test-generator/step-mapper.ts +2 -2
  164. package/src/generators/test-generator/template-engine.ts +28 -2
  165. package/src/generators/test-generator/utils/data-resolver.ts +45 -27
  166. package/src/generators/test-generator/utils/runtime-data-transformer.ts +51 -0
  167. package/src/generators/types.ts +1 -0
  168. package/src/orchestrator/ai-rules-updater.ts +2 -0
  169. package/src/orchestrator/figma/figma-scaffolder-helpers.ts +126 -0
  170. package/src/orchestrator/figma/figma-scaffolder-types.ts +26 -0
  171. package/src/orchestrator/figma/figma-scaffolder.ts +209 -0
  172. package/src/orchestrator/figma/node-path-collapser.ts +38 -0
  173. package/src/orchestrator/figma/spec-figma-renderer.ts +80 -0
  174. package/src/orchestrator/figma/spec-figma-section-renderers.ts +46 -0
  175. package/src/orchestrator/project-initializer.ts +84 -10
  176. package/src/orchestrator/templates/ai-instructions/claude-cmd-add-screen.md +56 -11
  177. package/src/orchestrator/templates/ai-instructions/claude-cmd-create-test.md +30 -17
  178. package/src/orchestrator/templates/ai-instructions/claude-cmd-review.md +4 -3
  179. package/src/orchestrator/templates/ai-instructions/claude-cmd-run-test.md +34 -2
  180. package/src/orchestrator/templates/ai-instructions/claude-config.md +12 -2
  181. package/src/orchestrator/templates/ai-instructions/claude-skill-figma-source.md +151 -0
  182. package/src/orchestrator/templates/ai-instructions/claude-skill-gherkin-syntax.md +66 -13
  183. package/src/orchestrator/templates/ai-instructions/claude-skill-tc-generation.md +93 -23
  184. package/src/orchestrator/templates/ai-instructions/claude-skill-tc-review.md +2 -0
  185. package/src/orchestrator/templates/ai-instructions/copilot-cmd-add-screen.md +53 -9
  186. package/src/orchestrator/templates/ai-instructions/copilot-cmd-create-test.md +21 -16
  187. package/src/orchestrator/templates/ai-instructions/copilot-cmd-review.md +4 -3
  188. package/src/orchestrator/templates/ai-instructions/copilot-cmd-run-test.md +34 -2
  189. package/src/orchestrator/templates/ai-instructions/copilot-config.md +12 -2
  190. package/src/orchestrator/templates/ai-instructions/copilot-skill-figma-source.md +151 -0
  191. package/src/orchestrator/templates/ai-instructions/github-skill-sungen-figma-source.md +151 -0
  192. package/src/orchestrator/templates/ai-instructions/github-skill-sungen-gherkin-syntax.md +86 -13
  193. package/src/orchestrator/templates/ai-instructions/github-skill-sungen-selector-fix.md +61 -0
  194. package/src/orchestrator/templates/ai-instructions/github-skill-sungen-tc-generation.md +105 -28
  195. package/src/orchestrator/templates/ai-instructions/github-skill-sungen-tc-review.md +20 -0
  196. package/src/orchestrator/templates/specs-base.ts +65 -7
  197. package/src/orchestrator/templates/specs-test-data.ts +66 -0
  198. package/src/tools/figma/figma-auth.ts +161 -0
  199. package/src/tools/figma/figma-cache.ts +184 -0
  200. package/src/tools/figma/figma-client-types.ts +125 -0
  201. package/src/tools/figma/figma-errors.ts +127 -0
  202. package/src/tools/figma/figma-image-downloader.ts +112 -0
  203. package/src/tools/figma/figma-node-filter.ts +198 -0
  204. package/src/tools/figma/figma-rest-client.ts +183 -0
  205. package/src/tools/figma/figma-url-parser.ts +55 -0
  206. package/src/utils/exec-file-no-throw.ts +45 -0
@@ -13,12 +13,22 @@ export declare class TemplateEngine {
13
13
  setBaseContext(ctx: Record<string, any>): void;
14
14
  /** Reset base context (e.g., on new scenario) */
15
15
  resetBaseContext(): void;
16
- renderImports(): string;
16
+ renderImports(options?: {
17
+ runtimeData?: boolean;
18
+ }): string;
17
19
  renderTestFile(data: {
18
20
  imports: string;
19
21
  featureName: string;
20
22
  featureDescription?: string;
21
23
  background?: string;
24
+ beforeAll?: string;
25
+ afterEach?: string;
26
+ afterAll?: string;
27
+ cleanupConfig?: string;
28
+ screenshotOnFailure?: boolean;
29
+ runtimeData?: boolean;
30
+ screenName?: string;
31
+ featureFileName?: string;
22
32
  scenarios: string[];
23
33
  authGroups?: Array<{
24
34
  authRole?: string;
@@ -32,6 +42,24 @@ export declare class TemplateEngine {
32
42
  code: string;
33
43
  }>;
34
44
  }): string;
45
+ renderBeforeAll(data: {
46
+ steps: Array<{
47
+ comment?: string;
48
+ code: string;
49
+ }>;
50
+ }): string;
51
+ renderAfterEach(data: {
52
+ steps: Array<{
53
+ comment?: string;
54
+ code: string;
55
+ }>;
56
+ }): string;
57
+ renderAfterAll(data: {
58
+ steps: Array<{
59
+ comment?: string;
60
+ code: string;
61
+ }>;
62
+ }): string;
35
63
  renderScenario(data: {
36
64
  scenarioName: string;
37
65
  steps: Array<{
@@ -1 +1 @@
1
- {"version":3,"file":"template-engine.d.ts","sourceRoot":"","sources":["../../../src/generators/test-generator/template-engine.ts"],"names":[],"mappings":"AAIA,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAsD;IACvE,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,WAAW,CAA2B;gBAElC,YAAY,EAAE,MAAM;IAOhC,OAAO,CAAC,eAAe;IAgHvB,OAAO,CAAC,gBAAgB;IA2CxB,OAAO,CAAC,YAAY;IAwCpB,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,GAAE,OAAe,GAAG,MAAM;IAKhF,UAAU,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,MAAM;IAIvD,oFAAoF;IACpF,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAI9C,iDAAiD;IACjD,gBAAgB,IAAI,IAAI;IAIxB,aAAa,IAAI,MAAM;IAIvB,cAAc,CAAC,IAAI,EAAE;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,CAAC,EAAE,KAAK,CAAC;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAC;QAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,MAAM;IAIV,gBAAgB,CAAC,IAAI,EAAE;QACrB,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAClD,GAAG,MAAM;IAIV,cAAc,CAAC,IAAI,EAAE;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,MAAM;CAGX"}
1
+ {"version":3,"file":"template-engine.d.ts","sourceRoot":"","sources":["../../../src/generators/test-generator/template-engine.ts"],"names":[],"mappings":"AAIA,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAsD;IACvE,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,WAAW,CAA2B;gBAElC,YAAY,EAAE,MAAM;IAOhC,OAAO,CAAC,eAAe;IAgHvB,OAAO,CAAC,gBAAgB;IA2CxB,OAAO,CAAC,YAAY;IAwCpB,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,GAAE,OAAe,GAAG,MAAM;IAKhF,UAAU,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,MAAM;IAIvD,oFAAoF;IACpF,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAI9C,iDAAiD;IACjD,gBAAgB,IAAI,IAAI;IAIxB,aAAa,CAAC,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM;IAI1D,cAAc,CAAC,IAAI,EAAE;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,CAAC,EAAE,KAAK,CAAC;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAC;QAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,MAAM;IAIV,gBAAgB,CAAC,IAAI,EAAE;QACrB,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAClD,GAAG,MAAM;IAIV,eAAe,CAAC,IAAI,EAAE;QACpB,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAClD,GAAG,MAAM;IAIV,eAAe,CAAC,IAAI,EAAE;QACpB,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAClD,GAAG,MAAM;IAIV,cAAc,CAAC,IAAI,EAAE;QACnB,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAClD,GAAG,MAAM;IAIV,cAAc,CAAC,IAAI,EAAE;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,MAAM;CAGX"}
@@ -202,8 +202,8 @@ class TemplateEngine {
202
202
  resetBaseContext() {
203
203
  this.baseContext = {};
204
204
  }
205
- renderImports() {
206
- return this.render('imports', {});
205
+ renderImports(options) {
206
+ return this.render('imports', { runtimeData: options?.runtimeData });
207
207
  }
208
208
  renderTestFile(data) {
209
209
  return this.render('test-file', data);
@@ -211,6 +211,15 @@ class TemplateEngine {
211
211
  renderBeforeEach(data) {
212
212
  return this.render('before-each', data);
213
213
  }
214
+ renderBeforeAll(data) {
215
+ return this.render('before-all', data);
216
+ }
217
+ renderAfterEach(data) {
218
+ return this.render('after-each', data);
219
+ }
220
+ renderAfterAll(data) {
221
+ return this.render('after-all', data);
222
+ }
214
223
  renderScenario(data) {
215
224
  return this.render('scenario', data);
216
225
  }
@@ -1 +1 @@
1
- {"version":3,"file":"template-engine.js","sourceRoot":"","sources":["../../../src/generators/test-generator/template-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-engine.js","sourceRoot":"","sources":["../../../src/generators/test-generator/template-engine.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAoC;AACpC,4CAAoB;AACpB,gDAAwB;AAExB,MAAa,cAAc;IAMzB,YAAY,YAAoB;QALxB,cAAS,GAA4C,IAAI,GAAG,EAAE,CAAC;QAG/D,gBAAW,GAAwB,EAAE,CAAC;QAG5C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEO,eAAe;QACrB,oBAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAS,IAAY,EAAE,MAAc;YACvE,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,oBAAU,CAAC,cAAc,CAAC,cAAc,EAAE,UAAS,IAAY;YAC7D,IAAI,IAAI,IAAI,IAAI;gBAAE,OAAO,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,oBAAU,CAAC,cAAc,CAAC,aAAa,EAAE,UAAS,IAAY;YAC5D,IAAI,IAAI,IAAI,IAAI;gBAAE,OAAO,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,2CAA2C;QAC3C,oBAAU,CAAC,cAAc,CAAC,IAAI,EAAE,UAAS,CAAM,EAAE,CAAM;YACrD,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,oBAAU,CAAC,cAAc,CAAC,IAAI,EAAE,UAAS,GAAG,IAAW;YACrD,4CAA4C;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACjC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,oBAAU,CAAC,cAAc,CAAC,KAAK,EAAE,UAAS,GAAG,IAAW;YACtD,4CAA4C;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACjC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,qBAAqB;QACrB,oBAAU,CAAC,cAAc,CAAC,IAAI,EAAE,UAAS,CAAM,EAAE,CAAM;YACrD,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,oBAAU,CAAC,cAAc,CAAC,IAAI,EAAE,UAAS,CAAM,EAAE,CAAM;YACrD,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,oBAAU,CAAC,cAAc,CAAC,KAAK,EAAE,UAAS,CAAM,EAAE,CAAM;YACtD,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,oBAAU,CAAC,cAAc,CAAC,KAAK,EAAE,UAAS,CAAM,EAAE,CAAM;YACtD,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,eAAe;QACf,oBAAU,CAAC,cAAc,CAAC,UAAU,EAAE,UAAS,CAAM,EAAE,CAAM;YAC3D,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,oBAAU,CAAC,cAAc,CAAC,KAAK,EAAE,UAAS,CAAM,EAAE,CAAM;YACtD,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,qEAAqE;QACrE,oBAAU,CAAC,cAAc,CAAC,WAAW,EAAE,UAAS,KAAU;YACxD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,gDAAgD;QAChD,gEAAgE;QAChE,yDAAyD;QACzD,oBAAU,CAAC,cAAc,CAAC,gBAAgB,EAAE,UAAS,WAAmB;YACtE,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,mDAAmD;QACnD,oBAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAS,KAAU,EAAE,OAAY;YACnE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,OAAO,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,oBAAU,CAAC,cAAc,CAAC,MAAM,EAAE,UAAS,KAAU,EAAE,OAAY;YACjE,iCAAiC;YACjC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,6BAA6B;YAC7B,IAAI,KAAK,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,OAAO,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,oBAAU,CAAC,cAAc,CAAC,SAAS,EAAE,UAAS,OAAY;YACxD,6BAA6B;YAC7B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,OAAO,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,6EAA6E;QAC7E,oBAAU,CAAC,cAAc,CAAC,UAAU,EAAE;YACpC,uDAAuD;YACvD,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO,OAAO,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,OAAO,MAAM,CAAC;YAClC,MAAM,OAAO,GAAG,oBAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACnD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,EAAE,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC/E,OAAO,IAAI,oBAAU,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,0BAA0B,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB;QACtB,2DAA2D;QAC3D,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACjF,IAAI,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,MAAM,cAAc,GAAG,YAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC7D,oBAAU,CAAC,eAAe,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACxD,CAAC;QAED,wFAAwF;QACxF,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAC1F,IAAI,YAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACnC,MAAM,kBAAkB,GAAG,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YACrE,oBAAU,CAAC,eAAe,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACjE,CAAC;QAED,qCAAqC;QACrC,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC;QAC1F,IAAI,YAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YAClG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC5B,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,QAAQ,MAAM,CAAC,CAAC;gBACjE,IAAI,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAChC,MAAM,eAAe,GAAG,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;oBAC/D,oBAAU,CAAC,eAAe,CAAC,sBAAsB,QAAQ,EAAE,EAAE,eAAe,CAAC,CAAC;gBAChF,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,qCAAqC;QACrC,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;QACxF,IAAI,YAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAClC,MAAM,iBAAiB,GAAG,YAAE,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YACnE,oBAAU,CAAC,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;QAC/D,CAAC;QAED,yEAAyE;QACzE,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;QACxF,IAAI,YAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAClC,MAAM,iBAAiB,GAAG,YAAE,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YACnE,oBAAU,CAAC,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,YAAoB,EAAE,iBAA0B,KAAK;QACxE,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;QAC3C,CAAC;QAED,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QAE5E,4CAA4C;QAC5C,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YAE7E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,YAAY,MAAM,CAAC,CAAC;gBACvE,IAAI,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAChC,MAAM,eAAe,GAAG,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;oBAC/D,MAAM,QAAQ,GAAG,oBAAU,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;oBAC3C,OAAO,QAAQ,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,qCAAqC;YACrC,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,YAAY,MAAM,CAAC,CAAC;YAC/D,IAAI,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,MAAM,eAAe,GAAG,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBAC/D,MAAM,QAAQ,GAAG,oBAAU,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBAC3C,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,uBAAuB,YAAY,uBAAuB,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,YAAY,MAAM,CAAC,CAAC;YAC/D,MAAM,eAAe,GAAG,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC/D,MAAM,QAAQ,GAAG,oBAAU,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,YAAoB,EAAE,IAAS,EAAE,iBAA0B,KAAK;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QACjE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,UAAU,CAAC,gBAAwB,EAAE,IAAS;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IAC/E,CAAC;IAED,oFAAoF;IACpF,cAAc,CAAC,GAAwB;QACrC,IAAI,CAAC,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,GAAG,EAAE,CAAC;IACrD,CAAC;IAED,iDAAiD;IACjD,gBAAgB;QACd,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,aAAa,CAAC,OAAmC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,cAAc,CAAC,IAgBd;QACC,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,gBAAgB,CAAC,IAEhB;QACC,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,eAAe,CAAC,IAEf;QACC,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,eAAe,CAAC,IAEf;QACC,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,cAAc,CAAC,IAEd;QACC,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,cAAc,CAAC,IAId;QACC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;CACF;AA1RD,wCA0RC"}
@@ -1,6 +1,9 @@
1
1
  /**
2
2
  * DataResolver - Resolves data references to actual values
3
- * at generation time (not runtime)
3
+ *
4
+ * Two modes:
5
+ * - Compile-time (default): resolves YAML values and bakes them into generated code
6
+ * - Runtime (runtimeMode=true): returns markers that post-processor converts to testData.get() calls
4
7
  *
5
8
  * Supports override files with priority:
6
9
  * 1. .override.yaml (highest - user customizations)
@@ -11,7 +14,8 @@ export declare class DataResolver {
11
14
  private dataCache;
12
15
  private testDataDir;
13
16
  private screenName?;
14
- constructor(testDataDir?: string, screenName?: string);
17
+ private runtimeMode;
18
+ constructor(testDataDir?: string, screenName?: string, runtimeMode?: boolean);
15
19
  /**
16
20
  * Set screen context for data resolution
17
21
  */
@@ -23,6 +27,11 @@ export declare class DataResolver {
23
27
  * @returns The resolved value
24
28
  */
25
29
  resolveData(dataRef: string, featureName?: string): string;
30
+ private resolveValue;
31
+ private validateDataRef;
32
+ private parseDataRef;
33
+ static encodeMarker(ref: string): string;
34
+ static decodeMarker(encoded: string): string;
26
35
  /**
27
36
  * Load data file from disk (with caching)
28
37
  * Searches new screen-based directory structure only
@@ -1 +1 @@
1
- {"version":3,"file":"data-resolver.d.ts","sourceRoot":"","sources":["../../../../src/generators/test-generator/utils/data-resolver.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAC,CAAS;gBAEhB,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAKrD;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI1C;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM;IAoD1D;;;OAGG;IACH,OAAO,CAAC,YAAY;IA6BpB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB"}
1
+ {"version":3,"file":"data-resolver.d.ts","sourceRoot":"","sources":["../../../../src/generators/test-generator/utils/data-resolver.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;GAWG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAU;gBAEjB,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,WAAW,GAAE,OAAe;IAMnF;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI1C;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM;IAS1D,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,YAAY;IAiBpB,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIxC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAI5C;;;OAGG;IACH,OAAO,CAAC,YAAY;IA6BpB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB"}
@@ -38,7 +38,10 @@ const path = __importStar(require("path"));
38
38
  const yaml_io_1 = require("../../../utils/yaml-io");
39
39
  /**
40
40
  * DataResolver - Resolves data references to actual values
41
- * at generation time (not runtime)
41
+ *
42
+ * Two modes:
43
+ * - Compile-time (default): resolves YAML values and bakes them into generated code
44
+ * - Runtime (runtimeMode=true): returns markers that post-processor converts to testData.get() calls
42
45
  *
43
46
  * Supports override files with priority:
44
47
  * 1. .override.yaml (highest - user customizations)
@@ -46,10 +49,11 @@ const yaml_io_1 = require("../../../utils/yaml-io");
46
49
  * 3. .yaml (lowest - auto-generated base)
47
50
  */
48
51
  class DataResolver {
49
- constructor(testDataDir, screenName) {
52
+ constructor(testDataDir, screenName, runtimeMode = false) {
50
53
  this.dataCache = new Map();
51
54
  this.testDataDir = testDataDir || path.join(process.cwd(), 'qa', 'test-data');
52
55
  this.screenName = screenName;
56
+ this.runtimeMode = runtimeMode;
53
57
  }
54
58
  /**
55
59
  * Set screen context for data resolution
@@ -64,30 +68,15 @@ class DataResolver {
64
68
  * @returns The resolved value
65
69
  */
66
70
  resolveData(dataRef, featureName) {
67
- // Split into parts: email.valid -> [email, valid]
68
- // Use only dot (.) as separator
69
- const parts = dataRef.split('.');
70
- if (parts.length < 1) {
71
- throw new Error(`Invalid data reference: ${dataRef}. Expected format: path.to.value`);
72
- }
73
- // If featureName provided, use it as the file name
74
- // Otherwise, use first part as filename (backward compatibility)
75
- let fileName;
76
- let valuePath;
77
- if (featureName) {
78
- fileName = featureName;
79
- valuePath = parts;
71
+ if (this.runtimeMode) {
72
+ this.validateDataRef(dataRef, featureName);
73
+ return DataResolver.encodeMarker(dataRef);
80
74
  }
81
- else {
82
- if (parts.length < 2) {
83
- throw new Error(`Invalid data reference: ${dataRef}. Expected format: file.path.to.value or provide featureName`);
84
- }
85
- fileName = parts[0];
86
- valuePath = parts.slice(1);
87
- }
88
- // Load data file
75
+ return this.resolveValue(dataRef, featureName);
76
+ }
77
+ resolveValue(dataRef, featureName) {
78
+ const { fileName, valuePath } = this.parseDataRef(dataRef, featureName);
89
79
  const data = this.loadDataFile(fileName);
90
- // Navigate to the value
91
80
  let current = data;
92
81
  for (const key of valuePath) {
93
82
  if (current && typeof current === 'object' && key in current) {
@@ -97,7 +86,6 @@ class DataResolver {
97
86
  throw new Error(`Data path not found: ${dataRef}. Failed at key: ${key}`);
98
87
  }
99
88
  }
100
- // Return as string
101
89
  if (typeof current === 'string') {
102
90
  return current;
103
91
  }
@@ -108,6 +96,29 @@ class DataResolver {
108
96
  throw new Error(`Data reference ${dataRef} must resolve to a primitive value, got: ${typeof current}`);
109
97
  }
110
98
  }
99
+ validateDataRef(dataRef, featureName) {
100
+ // Same navigation as resolveValue — validates the key path exists at compile time
101
+ this.resolveValue(dataRef, featureName);
102
+ }
103
+ parseDataRef(dataRef, featureName) {
104
+ const parts = dataRef.split('.');
105
+ if (parts.length < 1) {
106
+ throw new Error(`Invalid data reference: ${dataRef}. Expected format: path.to.value`);
107
+ }
108
+ if (featureName) {
109
+ return { fileName: featureName, valuePath: parts };
110
+ }
111
+ if (parts.length < 2) {
112
+ throw new Error(`Invalid data reference: ${dataRef}. Expected format: file.path.to.value or provide featureName`);
113
+ }
114
+ return { fileName: parts[0], valuePath: parts.slice(1) };
115
+ }
116
+ static encodeMarker(ref) {
117
+ return `__SUNGEN_TD_${ref.replace(/\./g, '_D_')}__`;
118
+ }
119
+ static decodeMarker(encoded) {
120
+ return encoded.replace(/^__SUNGEN_TD_/, '').replace(/__$/, '').replace(/_D_/g, '.');
121
+ }
111
122
  /**
112
123
  * Load data file from disk (with caching)
113
124
  * Searches new screen-based directory structure only
@@ -1 +1 @@
1
- {"version":3,"file":"data-resolver.js","sourceRoot":"","sources":["../../../../src/generators/test-generator/utils/data-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2CAA6B;AAE7B,oDAA0D;AAE1D;;;;;;;;GAQG;AACH,MAAa,YAAY;IAKvB,YAAY,WAAoB,EAAE,UAAmB;QAJ7C,cAAS,GAAG,IAAI,GAAG,EAAe,CAAC;QAKzC,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAC9E,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,UAAkB;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,OAAe,EAAE,WAAoB;QAC/C,kDAAkD;QAClD,gCAAgC;QAChC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEjC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,kCAAkC,CAAC,CAAC;QACxF,CAAC;QAED,mDAAmD;QACnD,iEAAiE;QACjE,IAAI,QAAgB,CAAC;QACrB,IAAI,SAAmB,CAAC;QAExB,IAAI,WAAW,EAAE,CAAC;YAChB,QAAQ,GAAG,WAAW,CAAC;YACvB,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,8DAA8D,CAAC,CAAC;YACpH,CAAC;YACD,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QAED,iBAAiB;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAEzC,wBAAwB;QACxB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC7D,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,wBAAwB,OAAO,oBAAoB,GAAG,EAAE,CACzD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,OAAO,CAAC;QACjB,CAAC;aAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;YACvE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,kBAAkB,OAAO,4CAA4C,OAAO,OAAO,EAAE,CACtF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,YAAY,CAAC,QAAgB;QACnC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QACvC,CAAC;QAED,2EAA2E;QAC3E,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,MAAM,GAAQ,EAAE,CAAC;QACrB,IAAI,KAAK,GAAG,KAAK,CAAC;QAElB,qEAAqE;QACrE,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,IAAA,0BAAgB,EAAC,CAAC,CAAC,CAAC;YACjC,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrE,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;gBAChC,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,gCAAgC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACrC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,gBAAgB,CAAC,QAAgB;QACvC,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAE1D,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,IAAA,0BAAgB,EAAC,CAAC,CAAC,CAAC;YACjC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,wDAAwD;gBACxD,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;oBACvF,SAAS;gBACX,CAAC;gBAED,0DAA0D;gBAC1D,IAAI,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACjC,OAAO,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACpD,OAAO,CAAC,IAAI,CAAC,iBAAiB,QAAQ,yCAAyC,CAAC,CAAC;gBACnF,CAAC;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAAC,QAAgB;QAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,oDAAoD;QACpD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAE/E,mDAAmD;YACnD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,gBAAgB,CAAC,CAAC,CAAC;YAE7D,2DAA2D;YAC3D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,gBAAgB,CAAC,CAAC,CAAC;YAE7D,iCAAiC;YACjC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,MAAM,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF;AAxKD,oCAwKC"}
1
+ {"version":3,"file":"data-resolver.js","sourceRoot":"","sources":["../../../../src/generators/test-generator/utils/data-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Replace __SUNGEN_TD_ markers with testData.get() calls in generated code.
3
+ * Three passes: comments, string literals, then regex literals.
4
+ */
5
+ export declare function transformToRuntimeData(code: string): string;
6
+ export declare function hasRuntimeDataMarkers(code: string): boolean;
7
+ //# sourceMappingURL=runtime-data-transformer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-data-transformer.d.ts","sourceRoot":"","sources":["../../../../src/generators/test-generator/utils/runtime-data-transformer.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAoC3D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformToRuntimeData = transformToRuntimeData;
4
+ exports.hasRuntimeDataMarkers = hasRuntimeDataMarkers;
5
+ const MARKER_PATTERN = /__SUNGEN_TD_([A-Za-z0-9_]+)__/;
6
+ /**
7
+ * Replace __SUNGEN_TD_ markers with testData.get() calls in generated code.
8
+ * Three passes: comments, string literals, then regex literals.
9
+ */
10
+ function transformToRuntimeData(code) {
11
+ // Pass 0: Comments — replace markers in // comments with decoded key name
12
+ // Prevents Pass 2 from misinterpreting // comment markers as regex delimiters
13
+ code = code.replace(/\/\/(.*)__SUNGEN_TD_([A-Za-z0-9_]+)__(.*)/g, (_, before, enc, after) => `//${before}${decodeKey(enc)}${after}`);
14
+ // Pass 1: String literal context — handles both whole-string and embedded markers
15
+ // 'marker' → testData.get('key')
16
+ // 'prefix__marker__suffix' → `prefix${testData.get('key')}suffix`
17
+ code = code.replace(/(['"])((?:(?!\1).)*?)__SUNGEN_TD_([A-Za-z0-9_]+)__((?:(?!\1).)*?)\1/g, (_, _quote, prefix, enc, suffix) => {
18
+ const key = decodeKey(enc);
19
+ if (!prefix && !suffix) {
20
+ return `testData.get('${key}')`;
21
+ }
22
+ return `\`${prefix}\${testData.get('${key}')}${suffix}\``;
23
+ });
24
+ // Pass 2: Regex literal context — /prefix__marker__suffix/ → new RegExp(`...`)
25
+ // Only matches within a single line (no newlines in prefix/suffix)
26
+ code = code.replace(/\/((?:[^/\\\n]|\\.)*?)__SUNGEN_TD_([A-Za-z0-9_]+)__((?:[^/\\\n]|\\.)*?)\/([gimsuy]*)/g, (_, prefix, enc, suffix, flags) => {
27
+ const key = decodeKey(enc);
28
+ const ref = `testData.get('${key}')`;
29
+ const flagStr = flags ? `, '${flags}'` : '';
30
+ if (!prefix && !suffix)
31
+ return `new RegExp(${ref}${flagStr})`;
32
+ return `new RegExp(\`${prefix}\${${ref}}${suffix}\`${flagStr})`;
33
+ });
34
+ return code;
35
+ }
36
+ function hasRuntimeDataMarkers(code) {
37
+ return MARKER_PATTERN.test(code);
38
+ }
39
+ function decodeKey(encoded) {
40
+ return encoded.replace(/_D_/g, '.');
41
+ }
42
+ //# sourceMappingURL=runtime-data-transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-data-transformer.js","sourceRoot":"","sources":["../../../../src/generators/test-generator/utils/runtime-data-transformer.ts"],"names":[],"mappings":";;AAMA,wDAoCC;AAED,sDAEC;AA9CD,MAAM,cAAc,GAAG,+BAA+B,CAAC;AAEvD;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,IAAY;IACjD,0EAA0E;IAC1E,8EAA8E;IAC9E,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,4CAA4C,EAC5C,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,CAClE,CAAC;IAEF,kFAAkF;IAClF,oDAAoD;IACpD,qEAAqE;IACrE,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,sEAAsE,EACtE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QACjC,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,iBAAiB,GAAG,IAAI,CAAC;QAClC,CAAC;QACD,OAAO,KAAK,MAAM,oBAAoB,GAAG,MAAM,MAAM,IAAI,CAAC;IAC5D,CAAC,CACF,CAAC;IAEF,+EAA+E;IAC/E,mEAAmE;IACnE,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,uFAAuF,EACvF,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QAChC,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,GAAG,GAAG,iBAAiB,GAAG,IAAI,CAAC;QACrC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;YAAE,OAAO,cAAc,GAAG,GAAG,OAAO,GAAG,CAAC;QAC9D,OAAO,gBAAgB,MAAM,MAAM,GAAG,IAAI,MAAM,KAAK,OAAO,GAAG,CAAC;IAClE,CAAC,CACF,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,qBAAqB,CAAC,IAAY;IAChD,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAChC,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACtC,CAAC"}
@@ -90,6 +90,7 @@ export interface GenerateOptions {
90
90
  all?: boolean;
91
91
  force?: boolean;
92
92
  skipCache?: boolean;
93
+ runtimeData?: boolean;
93
94
  }
94
95
  export interface ValidateOptions {
95
96
  screenId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/generators/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,aAAa,CAAC;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAMD,MAAM,MAAM,eAAe,GACvB,oBAAoB,GACpB,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,WAAW,GACnB,KAAK,GACL,OAAO,GACP,aAAa,GACb,kBAAkB,GAClB,SAAS,GACT,KAAK,GACL,MAAM,GACN,MAAM,CAAC;AAEX,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE;QACT,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;KACpD,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAAC;CACpC;AAMD,MAAM,MAAM,aAAa,GACrB,OAAO,GACP,cAAc,GACd,KAAK,GACL,SAAS,GACT,MAAM,GACN,SAAS,GACT,iBAAiB,GACjB,SAAS,CAAC;AAEd,MAAM,MAAM,cAAc,GACtB,KAAK,GACL,SAAS,GACT,KAAK,GACL,SAAS,CAAC;AAMd,MAAM,MAAM,YAAY,GACpB,YAAY,GACZ,WAAW,GACX,UAAU,GACV,gBAAgB,GAChB,YAAY,GACZ,gBAAgB,GAChB,UAAU,GACV,UAAU,CAAC;AAEf,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,cAAc,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,WAAW,CAAC;IACvB,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,aAAa,CAAC;KAC1B,CAAC;CACH;AAMD,MAAM,WAAW,eAAe;IAE9B,UAAU,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAGlB,SAAS,EAAE,aAAa,CAAC;IAGzB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAMD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAMD,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,uBAAuB,GAAG,IAAI,CAUjF;AAMD,qBAAa,qBAAsB,SAAQ,KAAK;IAC3B,SAAS,EAAE,MAAM;IAAS,QAAQ,EAAE,MAAM;gBAA1C,SAAS,EAAE,MAAM,EAAS,QAAQ,EAAE,MAAM;CAI9D;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC1B,QAAQ,EAAE,MAAM;gBAAhB,QAAQ,EAAE,MAAM;CAIpC;AAED,qBAAa,cAAe,SAAQ,KAAK;IACH,KAAK,CAAC,EAAE,KAAK;gBAArC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,KAAK;CAIlD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/generators/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/generators/types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA2LH,sDAUC;AAVD,SAAgB,qBAAqB,CAAC,GAAW;IAC/C,kCAAkC;IAClC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,OAAO;QACL,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAClB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;KACtB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,MAAa,qBAAsB,SAAQ,KAAK;IAC9C,YAAmB,SAAiB,EAAS,QAAgB;QAC3D,KAAK,CAAC,uBAAuB,SAAS,cAAc,QAAQ,EAAE,CAAC,CAAC;QAD/C,cAAS,GAAT,SAAS,CAAQ;QAAS,aAAQ,GAAR,QAAQ,CAAQ;QAE3D,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AALD,sDAKC;AAED,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAmB,QAAgB;QACjC,KAAK,CAAC,kCAAkC,QAAQ,EAAE,CAAC,CAAC;QADnC,aAAQ,GAAR,QAAQ,CAAQ;QAEjC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AALD,oDAKC;AAED,MAAa,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAe,EAAS,KAAa;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QADmB,UAAK,GAAL,KAAK,CAAQ;QAE/C,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AALD,wCAKC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/generators/types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA4LH,sDAUC;AAVD,SAAgB,qBAAqB,CAAC,GAAW;IAC/C,kCAAkC;IAClC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,OAAO;QACL,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAClB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;KACtB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,MAAa,qBAAsB,SAAQ,KAAK;IAC9C,YAAmB,SAAiB,EAAS,QAAgB;QAC3D,KAAK,CAAC,uBAAuB,SAAS,cAAc,QAAQ,EAAE,CAAC,CAAC;QAD/C,cAAS,GAAT,SAAS,CAAQ;QAAS,aAAQ,GAAR,QAAQ,CAAQ;QAE3D,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AALD,sDAKC;AAED,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAmB,QAAgB;QACjC,KAAK,CAAC,kCAAkC,QAAQ,EAAE,CAAC,CAAC;QADnC,aAAQ,GAAR,QAAQ,CAAQ;QAEjC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AALD,oDAKC;AAED,MAAa,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAe,EAAS,KAAa;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QADmB,UAAK,GAAL,KAAK,CAAQ;QAE/C,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AALD,wCAKC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ai-rules-updater.d.ts","sourceRoot":"","sources":["../../src/orchestrator/ai-rules-updater.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,eAAO,MAAM,qBAAqB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EA8CnD,CAAC;AAEF,qBAAa,cAAc;IACzB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,aAAa,CAAS;gBAElB,GAAG,EAAE,MAAM;IAKjB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAwF7C"}
1
+ {"version":3,"file":"ai-rules-updater.d.ts","sourceRoot":"","sources":["../../src/orchestrator/ai-rules-updater.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,eAAO,MAAM,qBAAqB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAgDnD,CAAC;AAEF,qBAAa,cAAc;IACzB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,aAAa,CAAS;gBAElB,GAAG,EAAE,MAAM;IAKjB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAwF7C"}
@@ -72,6 +72,7 @@ exports.AI_RULES_FILE_MAPPING = [
72
72
  ['claude-skill-capture-figma.md', '.claude/skills/sungen-capture-figma/SKILL.md'],
73
73
  ['claude-skill-capture-local.md', '.claude/skills/sungen-capture-local/SKILL.md'],
74
74
  ['claude-skill-capture-live.md', '.claude/skills/sungen-capture-live/SKILL.md'],
75
+ ['claude-skill-figma-source.md', '.claude/skills/sungen-figma-source/SKILL.md'],
75
76
  // Skills — GitHub Copilot
76
77
  ['github-skill-sungen-gherkin-syntax.md', '.github/skills/sungen-gherkin-syntax/SKILL.md'],
77
78
  ['github-skill-sungen-selector-keys.md', '.github/skills/sungen-selector-keys/SKILL.md'],
@@ -85,6 +86,7 @@ exports.AI_RULES_FILE_MAPPING = [
85
86
  ['github-skill-sungen-capture-figma.md', '.github/skills/sungen-capture-figma/SKILL.md'],
86
87
  ['github-skill-sungen-capture-local.md', '.github/skills/sungen-capture-local/SKILL.md'],
87
88
  ['github-skill-sungen-capture-live.md', '.github/skills/sungen-capture-live/SKILL.md'],
89
+ ['github-skill-sungen-figma-source.md', '.github/skills/sungen-figma-source/SKILL.md'],
88
90
  ];
89
91
  class AIRulesUpdater {
90
92
  constructor(cwd) {
@@ -1 +1 @@
1
- {"version":3,"file":"ai-rules-updater.js","sourceRoot":"","sources":["../../src/orchestrator/ai-rules-updater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-rules-updater.js","sourceRoot":"","sources":["../../src/orchestrator/ai-rules-updater.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Internal helpers for figma-scaffolder.ts.
3
+ * Extracted to keep the main orchestration file under 200 LOC.
4
+ */
5
+ import type { Ora } from 'ora';
6
+ /** Sanitize a Figma frame/variant name to a safe filename (lowercase, dashes). */
7
+ export declare function sanitizeName(name: string): string;
8
+ /** Read generator version from root package.json. Falls back to "sungen". */
9
+ export declare function readGeneratorVersion(cwd: string): string;
10
+ /** Minimal spec.md stub pointing users to spec_figma.md. */
11
+ export declare function minimalSpecMd(screenName: string): string;
12
+ export interface DownloadImagesOptions {
13
+ cwd: string;
14
+ fileKey: string;
15
+ versionId: string;
16
+ uiDir: string;
17
+ imageNodeIds: string[];
18
+ mainNodeId: string;
19
+ variantNames: string[];
20
+ /** Pre-warmed cache entries (nodeId → bytes). */
21
+ cachedImages: Map<string, Buffer>;
22
+ /** URL map from getImageUrls response (nodeId → signed URL). */
23
+ imageUrls: Record<string, string | null>;
24
+ frameBaseName: string;
25
+ scaleKind: `${number}x`;
26
+ spinner: Ora;
27
+ }
28
+ /**
29
+ * Download (or copy from cache) images for each node ID.
30
+ * Returns relative paths (e.g. "ui/login-frame.png") for each successfully written file.
31
+ */
32
+ export declare function downloadImages(opts: DownloadImagesOptions): Promise<string[]>;
33
+ //# sourceMappingURL=figma-scaffolder-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"figma-scaffolder-helpers.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/figma/figma-scaffolder-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAQ/B,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;AAMD,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAWxD;AAED,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAexD;AAMD,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iDAAiD;IACjD,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,GAAG,MAAM,GAAG,CAAC;IACxB,OAAO,EAAE,GAAG,CAAC;CACd;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyCnF"}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ /**
3
+ * Internal helpers for figma-scaffolder.ts.
4
+ * Extracted to keep the main orchestration file under 200 LOC.
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.sanitizeName = sanitizeName;
41
+ exports.readGeneratorVersion = readGeneratorVersion;
42
+ exports.minimalSpecMd = minimalSpecMd;
43
+ exports.downloadImages = downloadImages;
44
+ const fs = __importStar(require("node:fs"));
45
+ const path = __importStar(require("node:path"));
46
+ const figma_image_downloader_1 = require("../../tools/figma/figma-image-downloader");
47
+ const FigmaCache = __importStar(require("../../tools/figma/figma-cache"));
48
+ // ---------------------------------------------------------------------------
49
+ // Name utilities
50
+ // ---------------------------------------------------------------------------
51
+ /** Sanitize a Figma frame/variant name to a safe filename (lowercase, dashes). */
52
+ function sanitizeName(name) {
53
+ return name
54
+ .toLowerCase()
55
+ .replace(/[^a-z0-9]+/g, '-')
56
+ .replace(/^-+|-+$/g, '');
57
+ }
58
+ // ---------------------------------------------------------------------------
59
+ // Version / stub helpers
60
+ // ---------------------------------------------------------------------------
61
+ /** Read generator version from root package.json. Falls back to "sungen". */
62
+ function readGeneratorVersion(cwd) {
63
+ try {
64
+ const pkgPath = path.join(cwd, 'package.json');
65
+ if (fs.existsSync(pkgPath)) {
66
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
67
+ if (pkg.version)
68
+ return `sungen v${pkg.version}`;
69
+ }
70
+ }
71
+ catch {
72
+ // fall through
73
+ }
74
+ return 'sungen';
75
+ }
76
+ /** Minimal spec.md stub pointing users to spec_figma.md. */
77
+ function minimalSpecMd(screenName) {
78
+ return `# ${screenName} Screen Specification
79
+
80
+ <!-- This file is the human-authored source of truth. -->
81
+ <!-- spec_figma.md contains auto-generated Figma data — copy useful sections here. -->
82
+
83
+ ## Overview
84
+ - **URL Path:** /${screenName}
85
+ - **Auth Required:** no
86
+ - **Platform:** web
87
+
88
+ ## Sections
89
+
90
+ <!-- Add sections, fields, validation rules, and business rules here. -->
91
+ `;
92
+ }
93
+ /**
94
+ * Download (or copy from cache) images for each node ID.
95
+ * Returns relative paths (e.g. "ui/login-frame.png") for each successfully written file.
96
+ */
97
+ async function downloadImages(opts) {
98
+ const imagePaths = [];
99
+ for (let i = 0; i < opts.imageNodeIds.length; i++) {
100
+ const nodeId = opts.imageNodeIds[i];
101
+ const isMain = nodeId === opts.mainNodeId;
102
+ const nameSuffix = isMain
103
+ ? opts.frameBaseName
104
+ : sanitizeName(opts.variantNames[i - 1] ?? `variant-${i}`);
105
+ const destPath = path.join(opts.uiDir, `${nameSuffix}.png`);
106
+ const relPath = `ui/${nameSuffix}.png`;
107
+ // Cache hit path
108
+ if (opts.cachedImages.has(nodeId)) {
109
+ opts.spinner.start(`Writing cached image: ${nameSuffix}.png`);
110
+ fs.writeFileSync(destPath, opts.cachedImages.get(nodeId));
111
+ imagePaths.push(relPath);
112
+ opts.spinner.succeed(` ui/${nameSuffix}.png (cached)`);
113
+ continue;
114
+ }
115
+ const url = opts.imageUrls[nodeId];
116
+ if (!url) {
117
+ opts.spinner.warn(` No image URL for node ${nodeId} — skipping`);
118
+ continue;
119
+ }
120
+ opts.spinner.start(`Downloading ui/${nameSuffix}.png…`);
121
+ try {
122
+ await (0, figma_image_downloader_1.downloadToPath)(url, destPath);
123
+ // Cache downloaded bytes for future runs
124
+ const bytes = fs.readFileSync(destPath);
125
+ FigmaCache.put(opts.cwd, opts.fileKey, opts.versionId, nodeId, opts.scaleKind, bytes);
126
+ imagePaths.push(relPath);
127
+ opts.spinner.succeed(` ui/${nameSuffix}.png`);
128
+ }
129
+ catch {
130
+ opts.spinner.warn(` Failed to download ui/${nameSuffix}.png — skipping`);
131
+ }
132
+ }
133
+ return imagePaths;
134
+ }
135
+ //# sourceMappingURL=figma-scaffolder-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"figma-scaffolder-helpers.js","sourceRoot":"","sources":["../../../src/orchestrator/figma/figma-scaffolder-helpers.ts"],"names":[],"mappings":"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"}