@h2nguyen/arc42-node-mcp-server 2.0.0 → 2.1.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 (226) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +83 -6
  3. package/dist/templates/arc42-reference.d.ts +25 -7
  4. package/dist/templates/arc42-reference.d.ts.map +1 -1
  5. package/dist/templates/arc42-reference.js +96 -47
  6. package/dist/templates/arc42-reference.js.map +1 -1
  7. package/dist/templates/formats/asciidoc/index.d.ts +178 -0
  8. package/dist/templates/formats/asciidoc/index.d.ts.map +1 -0
  9. package/dist/templates/formats/asciidoc/index.js +225 -0
  10. package/dist/templates/formats/asciidoc/index.js.map +1 -0
  11. package/dist/templates/formats/index.d.ts +108 -0
  12. package/dist/templates/formats/index.d.ts.map +1 -0
  13. package/dist/templates/formats/index.js +149 -0
  14. package/dist/templates/formats/index.js.map +1 -0
  15. package/dist/templates/formats/markdown/index.d.ts +172 -0
  16. package/dist/templates/formats/markdown/index.d.ts.map +1 -0
  17. package/dist/templates/formats/markdown/index.js +211 -0
  18. package/dist/templates/formats/markdown/index.js.map +1 -0
  19. package/dist/templates/formats/output-format-factory.d.ts +125 -0
  20. package/dist/templates/formats/output-format-factory.d.ts.map +1 -0
  21. package/dist/templates/formats/output-format-factory.js +166 -0
  22. package/dist/templates/formats/output-format-factory.js.map +1 -0
  23. package/dist/templates/formats/output-format-registry.d.ts +114 -0
  24. package/dist/templates/formats/output-format-registry.d.ts.map +1 -0
  25. package/dist/templates/formats/output-format-registry.js +147 -0
  26. package/dist/templates/formats/output-format-registry.js.map +1 -0
  27. package/dist/templates/formats/output-format-strategy.d.ts +195 -0
  28. package/dist/templates/formats/output-format-strategy.d.ts.map +1 -0
  29. package/dist/templates/formats/output-format-strategy.js +69 -0
  30. package/dist/templates/formats/output-format-strategy.js.map +1 -0
  31. package/dist/templates/index.d.ts +9 -8
  32. package/dist/templates/index.d.ts.map +1 -1
  33. package/dist/templates/index.js +21 -10
  34. package/dist/templates/index.js.map +1 -1
  35. package/dist/templates/locales/cz/index.d.ts +25 -3
  36. package/dist/templates/locales/cz/index.d.ts.map +1 -1
  37. package/dist/templates/locales/cz/index.js +34 -18
  38. package/dist/templates/locales/cz/index.js.map +1 -1
  39. package/dist/templates/locales/cz/templates-asciidoc.d.ts +22 -0
  40. package/dist/templates/locales/cz/templates-asciidoc.d.ts.map +1 -0
  41. package/dist/templates/locales/cz/templates-asciidoc.js +764 -0
  42. package/dist/templates/locales/cz/templates-asciidoc.js.map +1 -0
  43. package/dist/templates/locales/cz/{templates.d.ts → templates-markdown.d.ts} +1 -1
  44. package/dist/templates/locales/cz/templates-markdown.d.ts.map +1 -0
  45. package/dist/templates/locales/cz/{templates.js → templates-markdown.js} +1 -1
  46. package/dist/templates/locales/cz/templates-markdown.js.map +1 -0
  47. package/dist/templates/locales/de/index.d.ts +14 -4
  48. package/dist/templates/locales/de/index.d.ts.map +1 -1
  49. package/dist/templates/locales/de/index.js +22 -25
  50. package/dist/templates/locales/de/index.js.map +1 -1
  51. package/dist/templates/locales/de/templates-asciidoc.d.ts +22 -0
  52. package/dist/templates/locales/de/templates-asciidoc.d.ts.map +1 -0
  53. package/dist/templates/locales/de/templates-asciidoc.js +814 -0
  54. package/dist/templates/locales/de/templates-asciidoc.js.map +1 -0
  55. package/dist/templates/locales/de/{templates.d.ts → templates-markdown.d.ts} +1 -1
  56. package/dist/templates/locales/de/templates-markdown.d.ts.map +1 -0
  57. package/dist/templates/locales/de/{templates.js → templates-markdown.js} +1 -1
  58. package/dist/templates/locales/de/templates-markdown.js.map +1 -0
  59. package/dist/templates/locales/en/index.d.ts +14 -4
  60. package/dist/templates/locales/en/index.d.ts.map +1 -1
  61. package/dist/templates/locales/en/index.js +22 -25
  62. package/dist/templates/locales/en/index.js.map +1 -1
  63. package/dist/templates/locales/en/templates-asciidoc.d.ts +22 -0
  64. package/dist/templates/locales/en/templates-asciidoc.d.ts.map +1 -0
  65. package/dist/templates/locales/en/templates-asciidoc.js +764 -0
  66. package/dist/templates/locales/en/templates-asciidoc.js.map +1 -0
  67. package/dist/templates/locales/en/{templates.d.ts → templates-markdown.d.ts} +1 -1
  68. package/dist/templates/locales/en/templates-markdown.d.ts.map +1 -0
  69. package/dist/templates/locales/en/{templates.js → templates-markdown.js} +1 -1
  70. package/dist/templates/locales/en/templates-markdown.js.map +1 -0
  71. package/dist/templates/locales/es/index.d.ts +15 -10
  72. package/dist/templates/locales/es/index.d.ts.map +1 -1
  73. package/dist/templates/locales/es/index.js +23 -31
  74. package/dist/templates/locales/es/index.js.map +1 -1
  75. package/dist/templates/locales/es/templates-asciidoc.d.ts +22 -0
  76. package/dist/templates/locales/es/templates-asciidoc.d.ts.map +1 -0
  77. package/dist/templates/locales/es/templates-asciidoc.js +764 -0
  78. package/dist/templates/locales/es/templates-asciidoc.js.map +1 -0
  79. package/dist/templates/locales/es/{templates.d.ts → templates-markdown.d.ts} +1 -1
  80. package/dist/templates/locales/es/templates-markdown.d.ts.map +1 -0
  81. package/dist/templates/locales/es/{templates.js → templates-markdown.js} +1 -1
  82. package/dist/templates/locales/es/templates-markdown.js.map +1 -0
  83. package/dist/templates/locales/fr/index.d.ts +14 -9
  84. package/dist/templates/locales/fr/index.d.ts.map +1 -1
  85. package/dist/templates/locales/fr/index.js +22 -30
  86. package/dist/templates/locales/fr/index.js.map +1 -1
  87. package/dist/templates/locales/fr/templates-asciidoc.d.ts +22 -0
  88. package/dist/templates/locales/fr/templates-asciidoc.d.ts.map +1 -0
  89. package/dist/templates/locales/fr/templates-asciidoc.js +764 -0
  90. package/dist/templates/locales/fr/templates-asciidoc.js.map +1 -0
  91. package/dist/templates/locales/fr/{templates.d.ts → templates-markdown.d.ts} +1 -1
  92. package/dist/templates/locales/fr/templates-markdown.d.ts.map +1 -0
  93. package/dist/templates/locales/fr/{templates.js → templates-markdown.js} +1 -1
  94. package/dist/templates/locales/fr/templates-markdown.js.map +1 -0
  95. package/dist/templates/locales/it/index.d.ts +14 -9
  96. package/dist/templates/locales/it/index.d.ts.map +1 -1
  97. package/dist/templates/locales/it/index.js +22 -30
  98. package/dist/templates/locales/it/index.js.map +1 -1
  99. package/dist/templates/locales/it/templates-asciidoc.d.ts +22 -0
  100. package/dist/templates/locales/it/templates-asciidoc.d.ts.map +1 -0
  101. package/dist/templates/locales/it/templates-asciidoc.js +764 -0
  102. package/dist/templates/locales/it/templates-asciidoc.js.map +1 -0
  103. package/dist/templates/locales/it/{templates.d.ts → templates-markdown.d.ts} +1 -1
  104. package/dist/templates/locales/it/templates-markdown.d.ts.map +1 -0
  105. package/dist/templates/locales/it/{templates.js → templates-markdown.js} +1 -1
  106. package/dist/templates/locales/it/templates-markdown.js.map +1 -0
  107. package/dist/templates/locales/language-strategy-factory.d.ts +120 -0
  108. package/dist/templates/locales/language-strategy-factory.d.ts.map +1 -0
  109. package/dist/templates/locales/language-strategy-factory.js +127 -0
  110. package/dist/templates/locales/language-strategy-factory.js.map +1 -0
  111. package/dist/templates/locales/language-strategy.d.ts +16 -12
  112. package/dist/templates/locales/language-strategy.d.ts.map +1 -1
  113. package/dist/templates/locales/language-strategy.js.map +1 -1
  114. package/dist/templates/locales/nl/index.d.ts +14 -9
  115. package/dist/templates/locales/nl/index.d.ts.map +1 -1
  116. package/dist/templates/locales/nl/index.js +22 -30
  117. package/dist/templates/locales/nl/index.js.map +1 -1
  118. package/dist/templates/locales/nl/templates-asciidoc.d.ts +22 -0
  119. package/dist/templates/locales/nl/templates-asciidoc.d.ts.map +1 -0
  120. package/dist/templates/locales/nl/templates-asciidoc.js +764 -0
  121. package/dist/templates/locales/nl/templates-asciidoc.js.map +1 -0
  122. package/dist/templates/locales/nl/{templates.d.ts → templates-markdown.d.ts} +1 -1
  123. package/dist/templates/locales/nl/templates-markdown.d.ts.map +1 -0
  124. package/dist/templates/locales/nl/{templates.js → templates-markdown.js} +1 -1
  125. package/dist/templates/locales/nl/templates-markdown.js.map +1 -0
  126. package/dist/templates/locales/pt/index.d.ts +14 -9
  127. package/dist/templates/locales/pt/index.d.ts.map +1 -1
  128. package/dist/templates/locales/pt/index.js +22 -30
  129. package/dist/templates/locales/pt/index.js.map +1 -1
  130. package/dist/templates/locales/pt/templates-asciidoc.d.ts +22 -0
  131. package/dist/templates/locales/pt/templates-asciidoc.d.ts.map +1 -0
  132. package/dist/templates/locales/pt/templates-asciidoc.js +764 -0
  133. package/dist/templates/locales/pt/templates-asciidoc.js.map +1 -0
  134. package/dist/templates/locales/pt/{templates.d.ts → templates-markdown.d.ts} +1 -1
  135. package/dist/templates/locales/pt/templates-markdown.d.ts.map +1 -0
  136. package/dist/templates/locales/pt/{templates.js → templates-markdown.js} +1 -1
  137. package/dist/templates/locales/pt/templates-markdown.js.map +1 -0
  138. package/dist/templates/locales/ru/index.d.ts +19 -3
  139. package/dist/templates/locales/ru/index.d.ts.map +1 -1
  140. package/dist/templates/locales/ru/index.js +28 -24
  141. package/dist/templates/locales/ru/index.js.map +1 -1
  142. package/dist/templates/locales/ru/templates-asciidoc.d.ts +22 -0
  143. package/dist/templates/locales/ru/templates-asciidoc.d.ts.map +1 -0
  144. package/dist/templates/locales/ru/templates-asciidoc.js +996 -0
  145. package/dist/templates/locales/ru/templates-asciidoc.js.map +1 -0
  146. package/dist/templates/locales/ru/{templates.d.ts → templates-markdown.d.ts} +1 -1
  147. package/dist/templates/locales/ru/templates-markdown.d.ts.map +1 -0
  148. package/dist/templates/locales/ru/{templates.js → templates-markdown.js} +1 -1
  149. package/dist/templates/locales/ru/templates-markdown.js.map +1 -0
  150. package/dist/templates/locales/template-provider.d.ts +22 -10
  151. package/dist/templates/locales/template-provider.d.ts.map +1 -1
  152. package/dist/templates/locales/template-provider.js +53 -14
  153. package/dist/templates/locales/template-provider.js.map +1 -1
  154. package/dist/templates/locales/ukr/index.d.ts +25 -3
  155. package/dist/templates/locales/ukr/index.d.ts.map +1 -1
  156. package/dist/templates/locales/ukr/index.js +34 -18
  157. package/dist/templates/locales/ukr/index.js.map +1 -1
  158. package/dist/templates/locales/ukr/templates-asciidoc.d.ts +22 -0
  159. package/dist/templates/locales/ukr/templates-asciidoc.d.ts.map +1 -0
  160. package/dist/templates/locales/ukr/templates-asciidoc.js +764 -0
  161. package/dist/templates/locales/ukr/templates-asciidoc.js.map +1 -0
  162. package/dist/templates/locales/ukr/{templates.d.ts → templates-markdown.d.ts} +1 -1
  163. package/dist/templates/locales/ukr/templates-markdown.d.ts.map +1 -0
  164. package/dist/templates/locales/ukr/{templates.js → templates-markdown.js} +1 -1
  165. package/dist/templates/locales/ukr/templates-markdown.js.map +1 -0
  166. package/dist/templates/locales/zh/index.d.ts +25 -3
  167. package/dist/templates/locales/zh/index.d.ts.map +1 -1
  168. package/dist/templates/locales/zh/index.js +34 -18
  169. package/dist/templates/locales/zh/index.js.map +1 -1
  170. package/dist/templates/locales/zh/templates-asciidoc.d.ts +22 -0
  171. package/dist/templates/locales/zh/templates-asciidoc.d.ts.map +1 -0
  172. package/dist/templates/locales/zh/templates-asciidoc.js +764 -0
  173. package/dist/templates/locales/zh/templates-asciidoc.js.map +1 -0
  174. package/dist/templates/locales/zh/{templates.d.ts → templates-markdown.d.ts} +1 -1
  175. package/dist/templates/locales/zh/templates-markdown.d.ts.map +1 -0
  176. package/dist/templates/locales/zh/{templates.js → templates-markdown.js} +1 -1
  177. package/dist/templates/locales/zh/templates-markdown.js.map +1 -0
  178. package/dist/tools/arc42-init.d.ts +2 -1
  179. package/dist/tools/arc42-init.d.ts.map +1 -1
  180. package/dist/tools/arc42-init.js +154 -24
  181. package/dist/tools/arc42-init.js.map +1 -1
  182. package/dist/tools/arc42-status.d.ts.map +1 -1
  183. package/dist/tools/arc42-status.js +66 -10
  184. package/dist/tools/arc42-status.js.map +1 -1
  185. package/dist/tools/arc42-workflow-guide.d.ts +1 -0
  186. package/dist/tools/arc42-workflow-guide.d.ts.map +1 -1
  187. package/dist/tools/arc42-workflow-guide.js +16 -14
  188. package/dist/tools/arc42-workflow-guide.js.map +1 -1
  189. package/dist/tools/generate-template.d.ts +1 -0
  190. package/dist/tools/generate-template.d.ts.map +1 -1
  191. package/dist/tools/generate-template.js +16 -5
  192. package/dist/tools/generate-template.js.map +1 -1
  193. package/dist/tools/get-section.d.ts.map +1 -1
  194. package/dist/tools/get-section.js +28 -7
  195. package/dist/tools/get-section.js.map +1 -1
  196. package/dist/tools/update-section.d.ts +1 -1
  197. package/dist/tools/update-section.d.ts.map +1 -1
  198. package/dist/tools/update-section.js +71 -8
  199. package/dist/tools/update-section.js.map +1 -1
  200. package/dist/types.d.ts +2 -0
  201. package/dist/types.d.ts.map +1 -1
  202. package/dist/types.js +1 -0
  203. package/dist/types.js.map +1 -1
  204. package/package.json +1 -1
  205. package/dist/templates/locales/cz/templates.d.ts.map +0 -1
  206. package/dist/templates/locales/cz/templates.js.map +0 -1
  207. package/dist/templates/locales/de/templates.d.ts.map +0 -1
  208. package/dist/templates/locales/de/templates.js.map +0 -1
  209. package/dist/templates/locales/en/templates.d.ts.map +0 -1
  210. package/dist/templates/locales/en/templates.js.map +0 -1
  211. package/dist/templates/locales/es/templates.d.ts.map +0 -1
  212. package/dist/templates/locales/es/templates.js.map +0 -1
  213. package/dist/templates/locales/fr/templates.d.ts.map +0 -1
  214. package/dist/templates/locales/fr/templates.js.map +0 -1
  215. package/dist/templates/locales/it/templates.d.ts.map +0 -1
  216. package/dist/templates/locales/it/templates.js.map +0 -1
  217. package/dist/templates/locales/nl/templates.d.ts.map +0 -1
  218. package/dist/templates/locales/nl/templates.js.map +0 -1
  219. package/dist/templates/locales/pt/templates.d.ts.map +0 -1
  220. package/dist/templates/locales/pt/templates.js.map +0 -1
  221. package/dist/templates/locales/ru/templates.d.ts.map +0 -1
  222. package/dist/templates/locales/ru/templates.js.map +0 -1
  223. package/dist/templates/locales/ukr/templates.d.ts.map +0 -1
  224. package/dist/templates/locales/ukr/templates.js.map +0 -1
  225. package/dist/templates/locales/zh/templates.d.ts.map +0 -1
  226. package/dist/templates/locales/zh/templates.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates-asciidoc.js","sourceRoot":"","sources":["../../../../src/templates/locales/it/templates-asciidoc.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAqB;IAC/C,MAAM,SAAS,GAAuC;QACpD,2BAA2B,EAAE,+BAA+B;QAC5D,6BAA6B,EAAE,kCAAkC;QACjE,sBAAsB,EAAE,0BAA0B;QAClD,sBAAsB,EAAE,2BAA2B;QACnD,wBAAwB,EAAE,4BAA4B;QACtD,iBAAiB,EAAE,sBAAsB;QACzC,oBAAoB,EAAE,yBAAyB;QAC/C,aAAa,EAAE,mBAAmB;QAClC,2BAA2B,EAAE,gCAAgC;QAC7D,yBAAyB,EAAE,8BAA8B;QACzD,oBAAoB,EAAE,yBAAyB;QAC/C,aAAa,EAAE,mBAAmB;KACnC,CAAC;IAEF,OAAO,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,+BAA+B;IACtC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDR,CAAC;AACF,CAAC;AAED,SAAS,kCAAkC;IACzC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCR,CAAC;AACF,CAAC;AAED,SAAS,0BAA0B;IACjC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CR,CAAC;AACF,CAAC;AAED,SAAS,2BAA2B;IAClC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCR,CAAC;AACF,CAAC;AAED,SAAS,4BAA4B;IACnC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDR,CAAC;AACF,CAAC;AAED,SAAS,sBAAsB;IAC7B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CR,CAAC;AACF,CAAC;AAED,SAAS,yBAAyB;IAChC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDR,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiER,CAAC;AACF,CAAC;AAED,SAAS,gCAAgC;IACvC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CR,CAAC;AACF,CAAC;AAED,SAAS,8BAA8B;IACrC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDR,CAAC;AACF,CAAC;AAED,SAAS,yBAAyB;IAChC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BR,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCR,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8FR,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAoB;IACnD,MAAM,IAAI,GAAG,WAAW,IAAI,UAAU,CAAC;IACvC,OAAO,KAAK,IAAI;;oEAEkD,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CvE,CAAC;AACF,CAAC"}
@@ -19,4 +19,4 @@ export declare function getWorkflowGuide(): string;
19
19
  * Get the Italian README content
20
20
  */
21
21
  export declare function getReadmeContent(projectName?: string): string;
22
- //# sourceMappingURL=templates.d.ts.map
22
+ //# sourceMappingURL=templates-markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates-markdown.d.ts","sourceRoot":"","sources":["../../../../src/templates/locales/it/templates-markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAiBzD;AAk4BD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CA2FzC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAgD7D"}
@@ -1057,4 +1057,4 @@ Usa gli strumenti MCP per:
1057
1057
  - [Esempi arc42](https://arc42.org/examples)
1058
1058
  `;
1059
1059
  }
1060
- //# sourceMappingURL=templates.js.map
1060
+ //# sourceMappingURL=templates-markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates-markdown.js","sourceRoot":"","sources":["../../../../src/templates/locales/it/templates-markdown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Language Strategy Factory
3
+ *
4
+ * Provides a plugin-based architecture for creating language strategies.
5
+ * This factory enables easy extension of new languages and output formats
6
+ * while maintaining DRY principles.
7
+ *
8
+ * @module templates/locales/language-strategy-factory
9
+ *
10
+ * Design Patterns:
11
+ * - Factory Pattern: Creates LanguageStrategy instances with consistent structure
12
+ * - Plugin Architecture: Format handlers are pluggable via FormatTemplatePlugin
13
+ * - Strategy Pattern: Each format has its own template provider
14
+ *
15
+ * S.O.L.I.D Principles:
16
+ * - OCP (Open/Closed Principle): New formats can be added without modifying existing code
17
+ * - DIP (Dependency Inversion Principle): Depends on abstractions (plugin interface)
18
+ * - SRP (Single Responsibility Principle): Factory only creates strategies
19
+ */
20
+ import type { Arc42Section } from '../../types.js';
21
+ import type { OutputFormatCode } from '../formats/index.js';
22
+ import type { LanguageStrategy, LanguageCode } from './language-strategy.js';
23
+ /**
24
+ * Plugin interface for format-specific template providers
25
+ * Implement this interface to add support for a new output format
26
+ */
27
+ export interface FormatTemplatePlugin {
28
+ /** Get template for a specific section */
29
+ getTemplate(section: Arc42Section): string;
30
+ /** Get workflow guide content */
31
+ getWorkflowGuide(): string;
32
+ /** Get README content */
33
+ getReadmeContent(projectName?: string): string;
34
+ }
35
+ /**
36
+ * Configuration for creating a language strategy
37
+ */
38
+ export interface LanguageStrategyConfig {
39
+ /** ISO language code */
40
+ code: LanguageCode;
41
+ /** English name of the language */
42
+ name: string;
43
+ /** Name of the language in its native form */
44
+ nativeName: string;
45
+ /** Function to get section title */
46
+ getSectionTitle: (section: Arc42Section) => string;
47
+ /** Function to get section description */
48
+ getSectionDescription: (section: Arc42Section) => string;
49
+ /** Format-specific template plugins */
50
+ formatPlugins: Record<OutputFormatCode, FormatTemplatePlugin>;
51
+ }
52
+ /**
53
+ * Creates a LanguageStrategy from a configuration object
54
+ *
55
+ * This factory function creates consistent language strategies with proper
56
+ * format dispatch. It uses a plugin architecture where each output format
57
+ * provides its own template implementations.
58
+ *
59
+ * @param config - The language strategy configuration
60
+ * @returns A complete LanguageStrategy implementation
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * const englishStrategy = createLanguageStrategy({
65
+ * code: 'EN',
66
+ * name: 'English',
67
+ * nativeName: 'English',
68
+ * getSectionTitle: (section) => getSectionTitle(section),
69
+ * getSectionDescription: (section) => getSectionDescription(section),
70
+ * formatPlugins: {
71
+ * markdown: markdownPlugin,
72
+ * asciidoc: asciidocPlugin
73
+ * }
74
+ * });
75
+ * ```
76
+ */
77
+ export declare function createLanguageStrategy(config: LanguageStrategyConfig): LanguageStrategy;
78
+ /**
79
+ * Creates a format plugin from individual functions
80
+ *
81
+ * Helper function to create a FormatTemplatePlugin from separate functions.
82
+ * This is useful when importing functions from existing template modules.
83
+ *
84
+ * @param getTemplate - Function to get section template
85
+ * @param getWorkflowGuide - Function to get workflow guide
86
+ * @param getReadmeContent - Function to get README content
87
+ * @returns A FormatTemplatePlugin instance
88
+ *
89
+ * @example
90
+ * ```typescript
91
+ * const markdownPlugin = createFormatPlugin(
92
+ * getTemplateMarkdown,
93
+ * getWorkflowGuideMarkdown,
94
+ * getReadmeContentMarkdown
95
+ * );
96
+ * ```
97
+ */
98
+ export declare function createFormatPlugin(getTemplate: (section: Arc42Section) => string, getWorkflowGuide: () => string, getReadmeContent: (projectName?: string) => string): FormatTemplatePlugin;
99
+ /**
100
+ * Creates format plugins with fallback support
101
+ *
102
+ * For languages that don't have all format templates implemented,
103
+ * this function creates plugins that fall back to another language's
104
+ * templates (typically English) for missing formats.
105
+ *
106
+ * @param primaryPlugins - The primary format plugin (e.g., markdown in native language)
107
+ * @param fallbackPlugins - Fallback plugins for formats not natively supported
108
+ * @returns A complete set of format plugins
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * // French only has markdown templates, falls back to English for AsciiDoc
113
+ * const formatPlugins = createFormatPluginsWithFallback(
114
+ * { markdown: frenchMarkdownPlugin },
115
+ * { asciidoc: englishAsciidocPlugin }
116
+ * );
117
+ * ```
118
+ */
119
+ export declare function createFormatPluginsWithFallback(primaryPlugins: Partial<Record<OutputFormatCode, FormatTemplatePlugin>>, fallbackPlugins: Record<OutputFormatCode, FormatTemplatePlugin>): Record<OutputFormatCode, FormatTemplatePlugin>;
120
+ //# sourceMappingURL=language-strategy-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language-strategy-factory.d.ts","sourceRoot":"","sources":["../../../src/templates/locales/language-strategy-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EAGb,MAAM,wBAAwB,CAAC;AAEhC;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC;IAC3C,iCAAiC;IACjC,gBAAgB,IAAI,MAAM,CAAC;IAC3B,yBAAyB;IACzB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,wBAAwB;IACxB,IAAI,EAAE,YAAY,CAAC;IACnB,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,eAAe,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,MAAM,CAAC;IACnD,0CAA0C;IAC1C,qBAAqB,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,MAAM,CAAC;IACzD,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;CAC/D;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG,gBAAgB,CAkCvF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,MAAM,EAC9C,gBAAgB,EAAE,MAAM,MAAM,EAC9B,gBAAgB,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,KAAK,MAAM,GACjD,oBAAoB,CAMtB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,+BAA+B,CAC7C,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC,EACvE,eAAe,EAAE,MAAM,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,GAC9D,MAAM,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAKhD"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Language Strategy Factory
3
+ *
4
+ * Provides a plugin-based architecture for creating language strategies.
5
+ * This factory enables easy extension of new languages and output formats
6
+ * while maintaining DRY principles.
7
+ *
8
+ * @module templates/locales/language-strategy-factory
9
+ *
10
+ * Design Patterns:
11
+ * - Factory Pattern: Creates LanguageStrategy instances with consistent structure
12
+ * - Plugin Architecture: Format handlers are pluggable via FormatTemplatePlugin
13
+ * - Strategy Pattern: Each format has its own template provider
14
+ *
15
+ * S.O.L.I.D Principles:
16
+ * - OCP (Open/Closed Principle): New formats can be added without modifying existing code
17
+ * - DIP (Dependency Inversion Principle): Depends on abstractions (plugin interface)
18
+ * - SRP (Single Responsibility Principle): Factory only creates strategies
19
+ */
20
+ /**
21
+ * Creates a LanguageStrategy from a configuration object
22
+ *
23
+ * This factory function creates consistent language strategies with proper
24
+ * format dispatch. It uses a plugin architecture where each output format
25
+ * provides its own template implementations.
26
+ *
27
+ * @param config - The language strategy configuration
28
+ * @returns A complete LanguageStrategy implementation
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const englishStrategy = createLanguageStrategy({
33
+ * code: 'EN',
34
+ * name: 'English',
35
+ * nativeName: 'English',
36
+ * getSectionTitle: (section) => getSectionTitle(section),
37
+ * getSectionDescription: (section) => getSectionDescription(section),
38
+ * formatPlugins: {
39
+ * markdown: markdownPlugin,
40
+ * asciidoc: asciidocPlugin
41
+ * }
42
+ * });
43
+ * ```
44
+ */
45
+ export function createLanguageStrategy(config) {
46
+ const { code, name, nativeName, getSectionTitle, getSectionDescription, formatPlugins } = config;
47
+ return {
48
+ code,
49
+ name,
50
+ nativeName,
51
+ getSectionTitle(section) {
52
+ return {
53
+ title: getSectionTitle(section),
54
+ section
55
+ };
56
+ },
57
+ getSectionDescription(section) {
58
+ return {
59
+ description: getSectionDescription(section),
60
+ section
61
+ };
62
+ },
63
+ getTemplateForFormat(section, format) {
64
+ return formatPlugins[format].getTemplate(section);
65
+ },
66
+ getWorkflowGuideForFormat(format) {
67
+ return formatPlugins[format].getWorkflowGuide();
68
+ },
69
+ getReadmeContentForFormat(projectName, format) {
70
+ return formatPlugins[format].getReadmeContent(projectName);
71
+ }
72
+ };
73
+ }
74
+ /**
75
+ * Creates a format plugin from individual functions
76
+ *
77
+ * Helper function to create a FormatTemplatePlugin from separate functions.
78
+ * This is useful when importing functions from existing template modules.
79
+ *
80
+ * @param getTemplate - Function to get section template
81
+ * @param getWorkflowGuide - Function to get workflow guide
82
+ * @param getReadmeContent - Function to get README content
83
+ * @returns A FormatTemplatePlugin instance
84
+ *
85
+ * @example
86
+ * ```typescript
87
+ * const markdownPlugin = createFormatPlugin(
88
+ * getTemplateMarkdown,
89
+ * getWorkflowGuideMarkdown,
90
+ * getReadmeContentMarkdown
91
+ * );
92
+ * ```
93
+ */
94
+ export function createFormatPlugin(getTemplate, getWorkflowGuide, getReadmeContent) {
95
+ return {
96
+ getTemplate,
97
+ getWorkflowGuide,
98
+ getReadmeContent
99
+ };
100
+ }
101
+ /**
102
+ * Creates format plugins with fallback support
103
+ *
104
+ * For languages that don't have all format templates implemented,
105
+ * this function creates plugins that fall back to another language's
106
+ * templates (typically English) for missing formats.
107
+ *
108
+ * @param primaryPlugins - The primary format plugin (e.g., markdown in native language)
109
+ * @param fallbackPlugins - Fallback plugins for formats not natively supported
110
+ * @returns A complete set of format plugins
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * // French only has markdown templates, falls back to English for AsciiDoc
115
+ * const formatPlugins = createFormatPluginsWithFallback(
116
+ * { markdown: frenchMarkdownPlugin },
117
+ * { asciidoc: englishAsciidocPlugin }
118
+ * );
119
+ * ```
120
+ */
121
+ export function createFormatPluginsWithFallback(primaryPlugins, fallbackPlugins) {
122
+ return {
123
+ markdown: primaryPlugins.markdown ?? fallbackPlugins.markdown,
124
+ asciidoc: primaryPlugins.asciidoc ?? fallbackPlugins.asciidoc
125
+ };
126
+ }
127
+ //# sourceMappingURL=language-strategy-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language-strategy-factory.js","sourceRoot":"","sources":["../../../src/templates/locales/language-strategy-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AA0CH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAA8B;IACnE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,qBAAqB,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;IAEjG,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,UAAU;QAEV,eAAe,CAAC,OAAqB;YACnC,OAAO;gBACL,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC;gBAC/B,OAAO;aACR,CAAC;QACJ,CAAC;QAED,qBAAqB,CAAC,OAAqB;YACzC,OAAO;gBACL,WAAW,EAAE,qBAAqB,CAAC,OAAO,CAAC;gBAC3C,OAAO;aACR,CAAC;QACJ,CAAC;QAED,oBAAoB,CAAC,OAAqB,EAAE,MAAwB;YAClE,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QAED,yBAAyB,CAAC,MAAwB;YAChD,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAClD,CAAC;QAED,yBAAyB,CAAC,WAA+B,EAAE,MAAwB;YACjF,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC7D,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAA8C,EAC9C,gBAA8B,EAC9B,gBAAkD;IAElD,OAAO;QACL,WAAW;QACX,gBAAgB;QAChB,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,+BAA+B,CAC7C,cAAuE,EACvE,eAA+D;IAE/D,OAAO;QACL,QAAQ,EAAE,cAAc,CAAC,QAAQ,IAAI,eAAe,CAAC,QAAQ;QAC7D,QAAQ,EAAE,cAAc,CAAC,QAAQ,IAAI,eAAe,CAAC,QAAQ;KAC9D,CAAC;AACJ,CAAC"}
@@ -14,6 +14,7 @@
14
14
  * without modifying existing code
15
15
  */
16
16
  import type { Arc42Section } from '../../types.js';
17
+ import type { OutputFormatCode } from '../formats/output-format-strategy.js';
17
18
  /**
18
19
  * Supported language codes
19
20
  * Based on the arc42 template repository structure
@@ -66,9 +67,9 @@ export interface LanguageInfo {
66
67
  * nativeName: 'English',
67
68
  * getSectionTitle: (section) => ({ title: 'Introduction and Goals', section }),
68
69
  * getSectionDescription: (section) => ({ description: 'Overview of requirements...', section }),
69
- * getTemplate: (section) => '# Introduction and Goals\n\n...',
70
- * getWorkflowGuide: () => '# arc42 Workflow Guide\n\n...',
71
- * getReadmeContent: () => '# Project Documentation\n\n...'
70
+ * getTemplateForFormat: (section, format) => '# Introduction and Goals\n\n...',
71
+ * getWorkflowGuideForFormat: (format) => '# arc42 Workflow Guide\n\n...',
72
+ * getReadmeContentForFormat: (projectName, format) => '# Project Documentation\n\n...'
72
73
  * };
73
74
  * ```
74
75
  */
@@ -88,25 +89,28 @@ export interface LanguageStrategy extends LanguageInfo {
88
89
  */
89
90
  getSectionDescription(section: Arc42Section): SectionDescription;
90
91
  /**
91
- * Get the localized template content for a specific section
92
+ * Get the localized template content for a specific section in a given format
92
93
  *
93
94
  * @param section - The arc42 section identifier
94
- * @returns The full markdown template for the section
95
+ * @param format - The output format (markdown or asciidoc)
96
+ * @returns The full template for the section in the specified format
95
97
  */
96
- getTemplate(section: Arc42Section): string;
98
+ getTemplateForFormat(section: Arc42Section, format: OutputFormatCode): string;
97
99
  /**
98
- * Get the localized workflow guide
100
+ * Get the localized workflow guide in a specific format
99
101
  *
100
- * @returns The complete workflow guide in markdown format
102
+ * @param format - The output format (markdown or asciidoc)
103
+ * @returns The complete workflow guide in the specified format
101
104
  */
102
- getWorkflowGuide(): string;
105
+ getWorkflowGuideForFormat(format: OutputFormatCode): string;
103
106
  /**
104
- * Get the localized README content
107
+ * Get the localized README content in a specific format
105
108
  *
106
109
  * @param projectName - Optional project name for README header
107
- * @returns The README content in markdown format
110
+ * @param format - The output format (markdown or asciidoc)
111
+ * @returns The README content in the specified format
108
112
  */
109
- getReadmeContent(projectName?: string): string;
113
+ getReadmeContentForFormat(projectName: string | undefined, format: OutputFormatCode): string;
110
114
  }
111
115
  /**
112
116
  * Type guard to check if a value is a valid LanguageCode
@@ -1 +1 @@
1
- {"version":3,"file":"language-strategy.d.ts","sourceRoot":"","sources":["../../../src/templates/locales/language-strategy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,YAAY,GACpB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,IAAI,CAAC;AAET;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,YAAY,EAElD,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,OAAO,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,OAAO,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oCAAoC;IACpC,IAAI,EAAE,YAAY,CAAC;IACnB,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,CAAC;IAErD;;;;;OAKG;IACH,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,kBAAkB,CAAC;IAEjE;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC;IAE3C;;;;OAIG;IACH,gBAAgB,IAAI,MAAM,CAAC;IAE3B;;;;;OAKG;IACH,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAKpE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAQhE"}
1
+ {"version":3,"file":"language-strategy.d.ts","sourceRoot":"","sources":["../../../src/templates/locales/language-strategy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAE7E;;;GAGG;AACH,MAAM,MAAM,YAAY,GACpB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,IAAI,CAAC;AAET;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,YAAY,EAElD,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,OAAO,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,OAAO,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oCAAoC;IACpC,IAAI,EAAE,YAAY,CAAC;IACnB,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,CAAC;IAErD;;;;;OAKG;IACH,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,kBAAkB,CAAC;IAEjE;;;;;;OAMG;IACH,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAAC;IAE9E;;;;;OAKG;IACH,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAAC;IAE5D;;;;;;OAMG;IACH,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAAC;CAC9F;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAKpE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAQhE"}
@@ -1 +1 @@
1
- {"version":3,"file":"language-strategy.js","sourceRoot":"","sources":["../../../src/templates/locales/language-strategy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAqBH;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAA4B;IAC/D,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI;CACzD,CAAC;AA+FX;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,wBAAwB,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAkB,CAAC,CACvE,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,2BAA2B,IAAI,uBAAuB,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5F,CAAC;IACJ,CAAC;IACD,OAAO,UAA0B,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"language-strategy.js","sourceRoot":"","sources":["../../../src/templates/locales/language-strategy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAsBH;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAA4B;IAC/D,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI;CACzD,CAAC;AAkGX;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,wBAAwB,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAkB,CAAC,CACvE,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,2BAA2B,IAAI,uBAAuB,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5F,CAAC;IACJ,CAAC;IACD,OAAO,UAA0B,CAAC;AACpC,CAAC"}
@@ -2,25 +2,30 @@
2
2
  * Dutch Language Strategy
3
3
  *
4
4
  * Implements the LanguageStrategy interface for Dutch (Nederlands).
5
- * Provides Dutch section titles, descriptions, and templates.
5
+ * Provides Dutch section titles, descriptions, and templates in both Markdown and AsciiDoc formats.
6
6
  *
7
7
  * @module templates/locales/nl
8
8
  *
9
- * S.O.L.I.D Principles:
10
- * - LSP (Liskov Substitution Principle): DutchStrategy is substitutable for LanguageStrategy
11
- * - OCP (Open/Closed Principle): Implements interface without modifying it
12
- *
13
9
  * Design Patterns:
14
10
  * - Strategy Pattern: Concrete implementation for Dutch language
11
+ * - Plugin Pattern: Format-specific templates are provided via plugins
12
+ */
13
+ import { type FormatTemplatePlugin } from '../language-strategy-factory.js';
14
+ /**
15
+ * Dutch Markdown format plugin
16
+ */
17
+ export declare const dutchMarkdownPlugin: FormatTemplatePlugin;
18
+ /**
19
+ * Dutch AsciiDoc format plugin
15
20
  */
16
- import type { LanguageStrategy } from '../language-strategy.js';
21
+ export declare const dutchAsciidocPlugin: FormatTemplatePlugin;
17
22
  /**
18
23
  * Dutch Language Strategy
19
24
  *
20
25
  * Provides Dutch translations for arc42 documentation.
21
- * Based on official arc42 Dutch template from vendor/arc42-template/NL/.
22
26
  */
23
- export declare const dutchStrategy: LanguageStrategy;
27
+ export declare const dutchStrategy: import("../language-strategy.js").LanguageStrategy;
24
28
  export { getSectionTitle, getSectionDescription } from './sections.js';
25
- export { getTemplate, getWorkflowGuide, getReadmeContent } from './templates.js';
29
+ export { getTemplate as getTemplateMarkdown, getWorkflowGuide as getWorkflowGuideMarkdown, getReadmeContent as getReadmeContentMarkdown } from './templates-markdown.js';
30
+ export { getTemplate as getTemplateAsciidoc, getWorkflowGuide as getWorkflowGuideAsciidoc, getReadmeContent as getReadmeContentAsciidoc } from './templates-asciidoc.js';
26
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/templates/locales/nl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAoC,MAAM,yBAAyB,CAAC;AAIlG;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,gBA8B3B,CAAC;AAGF,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/templates/locales/nl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,iCAAiC,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,oBAIjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,oBAIjC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,oDAUxB,CAAC;AAGH,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EACL,WAAW,IAAI,mBAAmB,EAClC,gBAAgB,IAAI,wBAAwB,EAC5C,gBAAgB,IAAI,wBAAwB,EAC7C,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,WAAW,IAAI,mBAAmB,EAClC,gBAAgB,IAAI,wBAAwB,EAC5C,gBAAgB,IAAI,wBAAwB,EAC7C,MAAM,yBAAyB,CAAC"}
@@ -2,52 +2,44 @@
2
2
  * Dutch Language Strategy
3
3
  *
4
4
  * Implements the LanguageStrategy interface for Dutch (Nederlands).
5
- * Provides Dutch section titles, descriptions, and templates.
5
+ * Provides Dutch section titles, descriptions, and templates in both Markdown and AsciiDoc formats.
6
6
  *
7
7
  * @module templates/locales/nl
8
8
  *
9
- * S.O.L.I.D Principles:
10
- * - LSP (Liskov Substitution Principle): DutchStrategy is substitutable for LanguageStrategy
11
- * - OCP (Open/Closed Principle): Implements interface without modifying it
12
- *
13
9
  * Design Patterns:
14
10
  * - Strategy Pattern: Concrete implementation for Dutch language
11
+ * - Plugin Pattern: Format-specific templates are provided via plugins
15
12
  */
16
13
  import { getSectionTitle, getSectionDescription } from './sections.js';
17
- import { getTemplate, getWorkflowGuide, getReadmeContent } from './templates.js';
14
+ import { getTemplate as getTemplateMarkdown, getWorkflowGuide as getWorkflowGuideMarkdown, getReadmeContent as getReadmeContentMarkdown } from './templates-markdown.js';
15
+ import { getTemplate as getTemplateAsciidoc, getWorkflowGuide as getWorkflowGuideAsciidoc, getReadmeContent as getReadmeContentAsciidoc } from './templates-asciidoc.js';
16
+ import { createLanguageStrategy, createFormatPlugin } from '../language-strategy-factory.js';
17
+ /**
18
+ * Dutch Markdown format plugin
19
+ */
20
+ export const dutchMarkdownPlugin = createFormatPlugin(getTemplateMarkdown, getWorkflowGuideMarkdown, getReadmeContentMarkdown);
21
+ /**
22
+ * Dutch AsciiDoc format plugin
23
+ */
24
+ export const dutchAsciidocPlugin = createFormatPlugin(getTemplateAsciidoc, getWorkflowGuideAsciidoc, getReadmeContentAsciidoc);
18
25
  /**
19
26
  * Dutch Language Strategy
20
27
  *
21
28
  * Provides Dutch translations for arc42 documentation.
22
- * Based on official arc42 Dutch template from vendor/arc42-template/NL/.
23
29
  */
24
- export const dutchStrategy = {
30
+ export const dutchStrategy = createLanguageStrategy({
25
31
  code: 'NL',
26
32
  name: 'Dutch',
27
33
  nativeName: 'Nederlands',
28
- getSectionTitle(section) {
29
- return {
30
- title: getSectionTitle(section),
31
- section
32
- };
33
- },
34
- getSectionDescription(section) {
35
- return {
36
- description: getSectionDescription(section),
37
- section
38
- };
39
- },
40
- getTemplate(section) {
41
- return getTemplate(section);
42
- },
43
- getWorkflowGuide() {
44
- return getWorkflowGuide();
45
- },
46
- getReadmeContent(projectName) {
47
- return getReadmeContent(projectName);
34
+ getSectionTitle,
35
+ getSectionDescription,
36
+ formatPlugins: {
37
+ markdown: dutchMarkdownPlugin,
38
+ asciidoc: dutchAsciidocPlugin
48
39
  }
49
- };
40
+ });
50
41
  // Re-export for convenience
51
42
  export { getSectionTitle, getSectionDescription } from './sections.js';
52
- export { getTemplate, getWorkflowGuide, getReadmeContent } from './templates.js';
43
+ export { getTemplate as getTemplateMarkdown, getWorkflowGuide as getWorkflowGuideMarkdown, getReadmeContent as getReadmeContentMarkdown } from './templates-markdown.js';
44
+ export { getTemplate as getTemplateAsciidoc, getWorkflowGuide as getWorkflowGuideAsciidoc, getReadmeContent as getReadmeContentAsciidoc } from './templates-asciidoc.js';
53
45
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/templates/locales/nl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEjF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAqB;IAC7C,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,OAAO;IACb,UAAU,EAAE,YAAY;IAExB,eAAe,CAAC,OAAqB;QACnC,OAAO;YACL,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC;YAC/B,OAAO;SACR,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,OAAqB;QACzC,OAAO;YACL,WAAW,EAAE,qBAAqB,CAAC,OAAO,CAAC;YAC3C,OAAO;SACR,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,OAAqB;QAC/B,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,gBAAgB;QACd,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAED,gBAAgB,CAAC,WAAoB;QACnC,OAAO,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;CACF,CAAC;AAEF,4BAA4B;AAC5B,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/templates/locales/nl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EACL,WAAW,IAAI,mBAAmB,EAClC,gBAAgB,IAAI,wBAAwB,EAC5C,gBAAgB,IAAI,wBAAwB,EAC7C,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,WAAW,IAAI,mBAAmB,EAClC,gBAAgB,IAAI,wBAAwB,EAC5C,gBAAgB,IAAI,wBAAwB,EAC7C,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAEnB,MAAM,iCAAiC,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAyB,kBAAkB,CACzE,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAyB,kBAAkB,CACzE,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,CACzB,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,sBAAsB,CAAC;IAClD,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,OAAO;IACb,UAAU,EAAE,YAAY;IACxB,eAAe;IACf,qBAAqB;IACrB,aAAa,EAAE;QACb,QAAQ,EAAE,mBAAmB;QAC7B,QAAQ,EAAE,mBAAmB;KAC9B;CACF,CAAC,CAAC;AAEH,4BAA4B;AAC5B,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EACL,WAAW,IAAI,mBAAmB,EAClC,gBAAgB,IAAI,wBAAwB,EAC5C,gBAAgB,IAAI,wBAAwB,EAC7C,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,WAAW,IAAI,mBAAmB,EAClC,gBAAgB,IAAI,wBAAwB,EAC5C,gBAAgB,IAAI,wBAAwB,EAC7C,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Dutch Templates - AsciiDoc Format
3
+ *
4
+ * Contains all arc42 section templates in Dutch using AsciiDoc syntax.
5
+ * Based on the official arc42 templates from vendor/arc42-template.
6
+ *
7
+ * @module templates/locales/nl/templates-asciidoc
8
+ */
9
+ import type { Arc42Section } from '../../../types.js';
10
+ /**
11
+ * Get the Dutch AsciiDoc template for a specific section
12
+ */
13
+ export declare function getTemplate(section: Arc42Section): string;
14
+ /**
15
+ * Get the Dutch workflow guide in AsciiDoc format
16
+ */
17
+ export declare function getWorkflowGuide(): string;
18
+ /**
19
+ * Get the Dutch README content in AsciiDoc format
20
+ */
21
+ export declare function getReadmeContent(projectName?: string): string;
22
+ //# sourceMappingURL=templates-asciidoc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates-asciidoc.d.ts","sourceRoot":"","sources":["../../../../src/templates/locales/nl/templates-asciidoc.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAiBzD;AAolBD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAgGzC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAiD7D"}