@mdfriday/foundry 25.8.11 → 25.9.2

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 (180) hide show
  1. package/README.md +9 -0
  2. package/dist/internal/application/ssg.d.ts.map +1 -1
  3. package/dist/internal/application/ssg.js +29 -6
  4. package/dist/internal/application/ssg.js.map +1 -1
  5. package/dist/internal/domain/config/entity/language.d.ts +5 -1
  6. package/dist/internal/domain/config/entity/language.d.ts.map +1 -1
  7. package/dist/internal/domain/config/entity/language.js +20 -4
  8. package/dist/internal/domain/config/entity/language.js.map +1 -1
  9. package/dist/internal/domain/config/entity/service.d.ts +2 -3
  10. package/dist/internal/domain/config/entity/service.d.ts.map +1 -1
  11. package/dist/internal/domain/config/entity/service.js +6 -3
  12. package/dist/internal/domain/config/entity/service.js.map +1 -1
  13. package/dist/internal/domain/config/factory/config.js +1 -1
  14. package/dist/internal/domain/config/factory/config.js.map +1 -1
  15. package/dist/internal/domain/config/tests/index.test.js +2 -4
  16. package/dist/internal/domain/config/tests/index.test.js.map +1 -1
  17. package/dist/internal/domain/config/tests/type.test.js +4 -0
  18. package/dist/internal/domain/config/tests/type.test.js.map +1 -1
  19. package/dist/internal/domain/config/tests/vo-service.test.js +95 -145
  20. package/dist/internal/domain/config/tests/vo-service.test.js.map +1 -1
  21. package/dist/internal/domain/config/type.d.ts +5 -0
  22. package/dist/internal/domain/config/type.d.ts.map +1 -1
  23. package/dist/internal/domain/config/type.js.map +1 -1
  24. package/dist/internal/domain/config/vo/language.d.ts +0 -3
  25. package/dist/internal/domain/config/vo/language.d.ts.map +1 -1
  26. package/dist/internal/domain/config/vo/language.js +22 -26
  27. package/dist/internal/domain/config/vo/language.js.map +1 -1
  28. package/dist/internal/domain/config/vo/service.d.ts +1 -1
  29. package/dist/internal/domain/config/vo/service.d.ts.map +1 -1
  30. package/dist/internal/domain/config/vo/service.js +15 -36
  31. package/dist/internal/domain/config/vo/service.js.map +1 -1
  32. package/dist/internal/domain/content/entity/content.d.ts +21 -6
  33. package/dist/internal/domain/content/entity/content.d.ts.map +1 -1
  34. package/dist/internal/domain/content/entity/content.js +51 -55
  35. package/dist/internal/domain/content/entity/content.js.map +1 -1
  36. package/dist/internal/domain/content/entity/page.d.ts +4 -2
  37. package/dist/internal/domain/content/entity/page.d.ts.map +1 -1
  38. package/dist/internal/domain/content/entity/page.js +65 -12
  39. package/dist/internal/domain/content/entity/page.js.map +1 -1
  40. package/dist/internal/domain/content/entity/pagebuilder.d.ts.map +1 -1
  41. package/dist/internal/domain/content/entity/pagebuilder.js +2 -2
  42. package/dist/internal/domain/content/entity/pagebuilder.js.map +1 -1
  43. package/dist/internal/domain/content/entity/pagecollector.d.ts +0 -3
  44. package/dist/internal/domain/content/entity/pagecollector.d.ts.map +1 -1
  45. package/dist/internal/domain/content/entity/pagecollector.js +19 -16
  46. package/dist/internal/domain/content/entity/pagecollector.js.map +1 -1
  47. package/dist/internal/domain/content/entity/pagemap.d.ts +2 -2
  48. package/dist/internal/domain/content/entity/pagemap.d.ts.map +1 -1
  49. package/dist/internal/domain/content/entity/pagemap.js +19 -24
  50. package/dist/internal/domain/content/entity/pagemap.js.map +1 -1
  51. package/dist/internal/domain/content/entity/pagetrees.d.ts.map +1 -1
  52. package/dist/internal/domain/content/entity/pagetrees.js.map +1 -1
  53. package/dist/internal/domain/content/entity/paginator.d.ts.map +1 -1
  54. package/dist/internal/domain/content/entity/paginator.js +8 -11
  55. package/dist/internal/domain/content/entity/paginator.js.map +1 -1
  56. package/dist/internal/domain/content/entity/taxonomy.d.ts +1 -1
  57. package/dist/internal/domain/content/entity/taxonomy.d.ts.map +1 -1
  58. package/dist/internal/domain/content/entity/taxonomy.js +6 -8
  59. package/dist/internal/domain/content/entity/taxonomy.js.map +1 -1
  60. package/dist/internal/domain/content/entity/term.d.ts +1 -1
  61. package/dist/internal/domain/content/entity/term.d.ts.map +1 -1
  62. package/dist/internal/domain/content/entity/term.js +17 -14
  63. package/dist/internal/domain/content/entity/term.js.map +1 -1
  64. package/dist/internal/domain/content/entity/translator.d.ts +42 -0
  65. package/dist/internal/domain/content/entity/translator.d.ts.map +1 -0
  66. package/dist/internal/domain/content/entity/translator.js +187 -0
  67. package/dist/internal/domain/content/entity/translator.js.map +1 -0
  68. package/dist/internal/domain/content/factory/hub.d.ts.map +1 -1
  69. package/dist/internal/domain/content/factory/hub.js +20 -1
  70. package/dist/internal/domain/content/factory/hub.js.map +1 -1
  71. package/dist/internal/domain/content/index.d.ts +1 -0
  72. package/dist/internal/domain/content/index.d.ts.map +1 -1
  73. package/dist/internal/domain/content/index.js +1 -0
  74. package/dist/internal/domain/content/index.js.map +1 -1
  75. package/dist/internal/domain/content/type.d.ts +6 -7
  76. package/dist/internal/domain/content/type.d.ts.map +1 -1
  77. package/dist/internal/domain/content/type.js.map +1 -1
  78. package/dist/internal/domain/content/vo/sort.d.ts +0 -1
  79. package/dist/internal/domain/content/vo/sort.d.ts.map +1 -1
  80. package/dist/internal/domain/content/vo/sort.js +4 -3
  81. package/dist/internal/domain/content/vo/sort.js.map +1 -1
  82. package/dist/internal/domain/fs/entity/fs.d.ts +6 -4
  83. package/dist/internal/domain/fs/entity/fs.d.ts.map +1 -1
  84. package/dist/internal/domain/fs/entity/fs.js +7 -3
  85. package/dist/internal/domain/fs/entity/fs.js.map +1 -1
  86. package/dist/internal/domain/fs/factory/fs.d.ts.map +1 -1
  87. package/dist/internal/domain/fs/factory/fs.js +1 -1
  88. package/dist/internal/domain/fs/factory/fs.js.map +1 -1
  89. package/dist/internal/domain/fs/tests/entity-fs.test.js +10 -8
  90. package/dist/internal/domain/fs/tests/entity-fs.test.js.map +1 -1
  91. package/dist/internal/domain/fs/tests/vo-filesystemscollector.test.js +7 -0
  92. package/dist/internal/domain/fs/tests/vo-filesystemscollector.test.js.map +1 -1
  93. package/dist/internal/domain/fs/tests/vo-incremental-file-collector.test.js +23 -23
  94. package/dist/internal/domain/fs/tests/vo-incremental-file-collector.test.js.map +1 -1
  95. package/dist/internal/domain/fs/vo/filesystemscollector.d.ts +3 -1
  96. package/dist/internal/domain/fs/vo/filesystemscollector.d.ts.map +1 -1
  97. package/dist/internal/domain/fs/vo/filesystemscollector.js +18 -3
  98. package/dist/internal/domain/fs/vo/filesystemscollector.js.map +1 -1
  99. package/dist/internal/domain/fs/vo/incremental-file-collector.d.ts +1 -1
  100. package/dist/internal/domain/fs/vo/incremental-file-collector.d.ts.map +1 -1
  101. package/dist/internal/domain/fs/vo/incremental-file-collector.js +5 -3
  102. package/dist/internal/domain/fs/vo/incremental-file-collector.js.map +1 -1
  103. package/dist/internal/domain/module/entity/lang.d.ts.map +1 -1
  104. package/dist/internal/domain/module/entity/lang.js +5 -1
  105. package/dist/internal/domain/module/entity/lang.js.map +1 -1
  106. package/dist/internal/domain/module/entity/module.d.ts +17 -12
  107. package/dist/internal/domain/module/entity/module.d.ts.map +1 -1
  108. package/dist/internal/domain/module/entity/module.js +169 -55
  109. package/dist/internal/domain/module/entity/module.js.map +1 -1
  110. package/dist/internal/domain/module/type.d.ts +16 -1
  111. package/dist/internal/domain/module/type.d.ts.map +1 -1
  112. package/dist/internal/domain/module/type.js +3 -1
  113. package/dist/internal/domain/module/type.js.map +1 -1
  114. package/dist/internal/domain/module/vo/module.d.ts +6 -13
  115. package/dist/internal/domain/module/vo/module.d.ts.map +1 -1
  116. package/dist/internal/domain/module/vo/module.js +44 -17
  117. package/dist/internal/domain/module/vo/module.js.map +1 -1
  118. package/dist/internal/domain/module/vo/mount.d.ts +4 -0
  119. package/dist/internal/domain/module/vo/mount.d.ts.map +1 -1
  120. package/dist/internal/domain/module/vo/mount.js +6 -0
  121. package/dist/internal/domain/module/vo/mount.js.map +1 -1
  122. package/dist/internal/domain/module/vo/themes.d.ts +64 -0
  123. package/dist/internal/domain/module/vo/themes.d.ts.map +1 -0
  124. package/dist/internal/domain/module/vo/themes.js +92 -0
  125. package/dist/internal/domain/module/vo/themes.js.map +1 -0
  126. package/dist/internal/domain/module/vo/themes.test.d.ts +2 -0
  127. package/dist/internal/domain/module/vo/themes.test.d.ts.map +1 -0
  128. package/dist/internal/domain/module/vo/themes.test.js +109 -0
  129. package/dist/internal/domain/module/vo/themes.test.js.map +1 -0
  130. package/dist/internal/domain/resources/entity/http.d.ts +20 -0
  131. package/dist/internal/domain/resources/entity/http.d.ts.map +1 -0
  132. package/dist/internal/domain/resources/entity/http.js +131 -0
  133. package/dist/internal/domain/resources/entity/http.js.map +1 -0
  134. package/dist/internal/domain/resources/entity/resources.d.ts +6 -0
  135. package/dist/internal/domain/resources/entity/resources.d.ts.map +1 -1
  136. package/dist/internal/domain/resources/entity/resources.js +44 -6
  137. package/dist/internal/domain/resources/entity/resources.js.map +1 -1
  138. package/dist/internal/domain/site/entity/language.d.ts +1 -0
  139. package/dist/internal/domain/site/entity/language.d.ts.map +1 -1
  140. package/dist/internal/domain/site/entity/language.js +3 -0
  141. package/dist/internal/domain/site/entity/language.js.map +1 -1
  142. package/dist/internal/domain/site/entity/page.d.ts +7 -7
  143. package/dist/internal/domain/site/entity/page.d.ts.map +1 -1
  144. package/dist/internal/domain/site/entity/page.js +8 -30
  145. package/dist/internal/domain/site/entity/page.js.map +1 -1
  146. package/dist/internal/domain/site/entity/pager.d.ts.map +1 -1
  147. package/dist/internal/domain/site/entity/pager.js.map +1 -1
  148. package/dist/internal/domain/site/entity/site.d.ts +11 -0
  149. package/dist/internal/domain/site/entity/site.d.ts.map +1 -1
  150. package/dist/internal/domain/site/entity/site.js +42 -19
  151. package/dist/internal/domain/site/entity/site.js.map +1 -1
  152. package/dist/internal/domain/site/type.d.ts +8 -1
  153. package/dist/internal/domain/site/type.d.ts.map +1 -1
  154. package/dist/internal/domain/template/type.d.ts +2 -0
  155. package/dist/internal/domain/template/type.d.ts.map +1 -1
  156. package/dist/internal/domain/template/vo/namespace.d.ts.map +1 -1
  157. package/dist/internal/domain/template/vo/namespace.js +5 -1
  158. package/dist/internal/domain/template/vo/namespace.js.map +1 -1
  159. package/dist/internal/domain/template/vo/registry.d.ts +32 -0
  160. package/dist/internal/domain/template/vo/registry.d.ts.map +1 -1
  161. package/dist/internal/domain/template/vo/registry.js +401 -15
  162. package/dist/internal/domain/template/vo/registry.js.map +1 -1
  163. package/dist/pkg/lang/data.d.ts +28 -0
  164. package/dist/pkg/lang/data.d.ts.map +1 -0
  165. package/dist/pkg/lang/data.js +151 -0
  166. package/dist/pkg/lang/data.js.map +1 -0
  167. package/dist/pkg/lang/index.d.ts +65 -0
  168. package/dist/pkg/lang/index.d.ts.map +1 -0
  169. package/dist/pkg/lang/index.js +79 -0
  170. package/dist/pkg/lang/index.js.map +1 -0
  171. package/dist/pkg/lang/service.d.ts +67 -0
  172. package/dist/pkg/lang/service.d.ts.map +1 -0
  173. package/dist/pkg/lang/service.js +115 -0
  174. package/dist/pkg/lang/service.js.map +1 -0
  175. package/dist/pkg/lang/types.d.ts +51 -0
  176. package/dist/pkg/lang/types.d.ts.map +1 -0
  177. package/dist/pkg/lang/types.js +7 -0
  178. package/dist/pkg/lang/types.js.map +1 -0
  179. package/dist/pkg/log/manager.js +1 -1
  180. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { Module as IModule, Mount as IMount, Import, ModuleMetadata } from '../type';
1
+ import { Module as IModule, Mount as IMount, Import, ModuleMetadata, Info } from '../type';
2
2
  import { Fs } from '../../fs/type';
3
3
  import { Mount } from './mount';
4
4
  /**
@@ -12,7 +12,9 @@ export declare class Module implements IModule {
12
12
  private parentModule;
13
13
  private mountDirs;
14
14
  private metadata;
15
- constructor(fs: Fs, absoluteDir: string, modulePath: string, parent?: Module | null);
15
+ private isProject;
16
+ constructor(fs: Fs, absoluteDir: string, modulePath: string, parent?: Module | null, isProject?: boolean);
17
+ isProjectModule(): boolean;
16
18
  /**
17
19
  * Get module owner (parent)
18
20
  */
@@ -73,16 +75,6 @@ export declare class Module implements IModule {
73
75
  * Check if directory exists
74
76
  */
75
77
  exists(): Promise<boolean>;
76
- /**
77
- * Get module info summary
78
- */
79
- getSummary(): {
80
- path: string;
81
- dir: string;
82
- mountCount: number;
83
- downloaded: boolean;
84
- hasParent: boolean;
85
- };
86
78
  /**
87
79
  * Create a copy of this module
88
80
  */
@@ -106,6 +98,7 @@ export declare class ProjectModule {
106
98
  * Append mount to project module
107
99
  */
108
100
  appendMount(mount: Mount): void;
101
+ setDefaultLanguage(lang: string): void;
109
102
  /**
110
103
  * Apply default project mounts
111
104
  */
@@ -125,5 +118,5 @@ export declare function newModule(fs: Fs, absoluteDir: string, modulePath: strin
125
118
  /**
126
119
  * Creates a new ProjectModule instance
127
120
  */
128
- export declare function newProjectModule(fs: Fs, absoluteDir: string, modulePath: string): ProjectModule;
121
+ export declare function newProjectModule(info: Info): ProjectModule;
129
122
  //# sourceMappingURL=module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../internal/domain/module/vo/module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,IAAI,OAAO,EACjB,KAAK,IAAI,MAAM,EACf,MAAM,EACN,cAAc,EAKf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,KAAK,EAAiC,MAAM,SAAS,CAAC;AAG/D;;;GAGG;AACH,qBAAa,MAAO,YAAW,OAAO;IAQlC,OAAO,CAAC,EAAE;IAPZ,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,QAAQ,CAAwB;gBAG9B,EAAE,EAAE,EAAE,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAM,GAAG,IAAW;IAS9B;;OAEG;IACH,KAAK,IAAI,MAAM,GAAG,IAAI;IAItB;;OAEG;IACH,MAAM,IAAI,MAAM,EAAE;IAIlB;;OAEG;IACH,GAAG,IAAI,MAAM;IAIb;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAI3C;;OAEG;IACH,WAAW,IAAI,cAAc,GAAG,IAAI;IAIpC;;OAEG;IACG,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCtD;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAI/B;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IASlC;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAIlD;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,EAAE;IAIhD;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,gBAAgB,IAAI,OAAO;IAI3B;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAShC;;OAEG;IACH,UAAU,IAAI;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;KACpB;IAUD;;OAEG;IACH,IAAI,IAAI,MAAM;IAOd;;OAEG;IACH,QAAQ,IAAI,MAAM;CAGnB;AAED;;GAEG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAElC;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAI/B;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAO1B;;OAEG;IACH,KAAK,IAAI,MAAM,GAAG,IAAI;IAItB,MAAM,IAAI,MAAM,EAAE;IAIlB,GAAG,IAAI,MAAM;IAIb,IAAI,IAAI,MAAM;CAGf;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,EAAE,EACN,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,CAK/F"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../internal/domain/module/vo/module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,IAAI,OAAO,EACjB,KAAK,IAAI,MAAM,EACf,MAAM,EACN,cAAc,EAMd,IAAI,EACL,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,KAAK,EAAiC,MAAM,SAAS,CAAC;AAG/D;;;GAGG;AACH,qBAAa,MAAO,YAAW,OAAO;IASlC,OAAO,CAAC,EAAE;IARZ,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,SAAS,CAAkB;gBAGzB,EAAE,EAAE,EAAE,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAM,GAAG,IAAW,EAC5B,SAAS,GAAE,OAAe;IAU5B,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACH,KAAK,IAAI,MAAM,GAAG,IAAI;IAItB;;OAEG;IACH,MAAM,IAAI,MAAM,EAAE;IAIlB;;OAEG;IACH,GAAG,IAAI,MAAM;IAIb;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAI3C;;OAEG;IACH,WAAW,IAAI,cAAc,GAAG,IAAI;IAIpC;;OAEG;IACG,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCtD;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAI/B;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IASlC;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAIlD;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,EAAE;IAIhD;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,gBAAgB,IAAI,OAAO;IAI3B;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAShC;;OAEG;IACH,IAAI,IAAI,MAAM;IAOd;;OAEG;IACH,QAAQ,IAAI,MAAM;CAGnB;AAED;;GAEG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAElC;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAI/B,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWtC;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAO1B;;OAEG;IACH,KAAK,IAAI,MAAM,GAAG,IAAI;IAItB,MAAM,IAAI,MAAM,EAAE;IAIlB,GAAG,IAAI,MAAM;IAIb,IAAI,IAAI,MAAM;CAGf;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,EAAE,EACN,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,CAgC1D"}
@@ -44,13 +44,18 @@ const path = __importStar(require("path"));
44
44
  * TypeScript version of Go's Module struct
45
45
  */
46
46
  class Module {
47
- constructor(fs, absoluteDir, modulePath, parent = null) {
47
+ constructor(fs, absoluteDir, modulePath, parent = null, isProject = false) {
48
48
  this.fs = fs;
49
+ this.isProject = false;
49
50
  this.absoluteDir = absoluteDir;
50
51
  this.modulePath = modulePath;
51
52
  this.parentModule = parent;
52
53
  this.mountDirs = [];
53
54
  this.metadata = null;
55
+ this.isProject = isProject;
56
+ }
57
+ isProjectModule() {
58
+ return this.isProject;
54
59
  }
55
60
  /**
56
61
  * Get module owner (parent)
@@ -179,23 +184,11 @@ class Module {
179
184
  return false;
180
185
  }
181
186
  }
182
- /**
183
- * Get module info summary
184
- */
185
- getSummary() {
186
- return {
187
- path: this.modulePath,
188
- dir: this.absoluteDir,
189
- mountCount: this.mountDirs.length,
190
- downloaded: this.isDownloaded(),
191
- hasParent: this.parentModule !== null,
192
- };
193
- }
194
187
  /**
195
188
  * Create a copy of this module
196
189
  */
197
190
  copy() {
198
- const copy = new Module(this.fs, this.absoluteDir, this.modulePath, this.parentModule);
191
+ const copy = new Module(this.fs, this.absoluteDir, this.modulePath, this.parentModule, this.isProject);
199
192
  copy.mountDirs = this.mountDirs.map(mount => mount.copy());
200
193
  copy.metadata = this.metadata ? { ...this.metadata } : null;
201
194
  return copy;
@@ -227,6 +220,16 @@ class ProjectModule {
227
220
  appendMount(mount) {
228
221
  this.module.appendMount(mount);
229
222
  }
223
+ setDefaultLanguage(lang) {
224
+ // Update language for all existing mounts
225
+ const mounts = this.module.mounts();
226
+ for (const mount of mounts) {
227
+ // Update the language of existing mounts
228
+ if (mount instanceof mount_1.Mount) {
229
+ mount.setLanguage(lang);
230
+ }
231
+ }
232
+ }
230
233
  /**
231
234
  * Apply default project mounts
232
235
  */
@@ -257,15 +260,39 @@ exports.ProjectModule = ProjectModule;
257
260
  * Creates a new Module instance
258
261
  */
259
262
  function newModule(fs, absoluteDir, modulePath, parent) {
260
- return new Module(fs, absoluteDir, modulePath, parent || null);
263
+ return new Module(fs, absoluteDir, modulePath, parent || null, false);
261
264
  }
262
265
  /**
263
266
  * Creates a new ProjectModule instance
264
267
  */
265
- function newProjectModule(fs, absoluteDir, modulePath) {
266
- const module = new Module(fs, absoluteDir, modulePath, null);
268
+ function newProjectModule(info) {
269
+ const fs = info.osFs();
270
+ const absoluteDir = info.projDir();
271
+ const modulePath = 'project-root';
272
+ const defaultLanguage = info.defaultLanguageKey();
273
+ const module = new Module(fs, absoluteDir, modulePath, null, true);
267
274
  const projectModule = new ProjectModule(module);
268
275
  projectModule.applyDefaultMounts();
276
+ // Set default language
277
+ if (defaultLanguage) {
278
+ projectModule.setDefaultLanguage(defaultLanguage);
279
+ }
280
+ // Add mounts for other languages' content directories
281
+ const otherLanguageKeys = info.otherLanguageKeys();
282
+ for (const langKey of otherLanguageKeys) {
283
+ try {
284
+ const dir = info.getRelDir(type_1.ComponentFolderContent, langKey);
285
+ if (dir && dir !== '') {
286
+ // Create mount for other language content directory
287
+ const mount = new mount_1.Mount(dir, type_1.ComponentFolderContent, langKey);
288
+ projectModule.appendMount(mount);
289
+ }
290
+ }
291
+ catch (error) {
292
+ // Log error but continue with other languages
293
+ console.warn(`Failed to get relative directory for language ${langKey}:`, error);
294
+ }
295
+ }
269
296
  return projectModule;
270
297
  }
271
298
  //# sourceMappingURL=module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../internal/domain/module/vo/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../internal/domain/module/vo/module.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,10 @@ export declare class Mount implements IMount {
16
16
  * Get language
17
17
  */
18
18
  lang(): string;
19
+ /**
20
+ * Set language
21
+ */
22
+ setLanguage(lang: string): void;
19
23
  /**
20
24
  * Get component name from target path
21
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../../../../internal/domain/module/vo/mount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGvD,qBAAa,KAAM,YAAW,MAAM;IAEhC,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,QAAQ;gBAFR,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,MAAW;IAG/B;;OAEG;IACH,MAAM,IAAI,MAAM;IAIhB;;OAEG;IACH,MAAM,IAAI,MAAM;IAIhB;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,SAAS,IAAI,MAAM;IAKnB;;OAEG;IACH,gBAAgB,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAOvD;;OAEG;IACH,IAAI,IAAI,KAAK;IAIb;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAM7B;;OAEG;IACH,QAAQ,IAAI,WAAW;IAavB;;OAEG;IACH,QAAQ,IAAI,MAAM;CAGnB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,KAAK,CAEtE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAE7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,EAAE,CAIhF"}
1
+ {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../../../../internal/domain/module/vo/mount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGvD,qBAAa,KAAM,YAAW,MAAM;IAEhC,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,QAAQ;gBAFR,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,MAAW;IAG/B;;OAEG;IACH,MAAM,IAAI,MAAM;IAIhB;;OAEG;IACH,MAAM,IAAI,MAAM;IAIhB;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,SAAS,IAAI,MAAM;IAKnB;;OAEG;IACH,gBAAgB,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAOvD;;OAEG;IACH,IAAI,IAAI,KAAK;IAIb;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAM7B;;OAEG;IACH,QAAQ,IAAI,WAAW;IAavB;;OAEG;IACH,QAAQ,IAAI,MAAM;CAGnB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,KAAK,CAEtE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAE7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,EAAE,CAIhF"}
@@ -62,6 +62,12 @@ class Mount {
62
62
  lang() {
63
63
  return this.language;
64
64
  }
65
+ /**
66
+ * Set language
67
+ */
68
+ setLanguage(lang) {
69
+ this.language = lang;
70
+ }
65
71
  /**
66
72
  * Get component name from target path
67
73
  */
@@ -1 +1 @@
1
- {"version":3,"file":"mount.js","sourceRoot":"","sources":["../../../../../internal/domain/module/vo/mount.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4FA,4BAEC;AAKD,gDAEC;AAKD,kDAIC;AA7GD,2CAA6B;AAE7B,MAAa,KAAK;IAChB,YACU,UAAkB,EAClB,UAAkB,EAClB,WAAmB,EAAE;QAFrB,eAAU,GAAV,UAAU,CAAQ;QAClB,eAAU,GAAV,UAAU,CAAQ;QAClB,aAAQ,GAAR,QAAQ,CAAa;IAC5B,CAAC;IAEJ;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,SAAS;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAY;QACjB,OAAO,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;YACpC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;YACpC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,MAAM,GAAgB;YAC1B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;QAEF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,UAAU,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,QAAQ,GAAG,CAAC;IACvE,CAAC;CACF;AApFD,sBAoFC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,UAAkB,EAAE,UAAkB;IAC7D,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,MAAmB;IACpD,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,gBAAmC;IACrE,OAAO,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CACnC,IAAI,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAC1B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"mount.js","sourceRoot":"","sources":["../../../../../internal/domain/module/vo/mount.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Theme information from themes.json
3
+ * Represents a single theme available for download
4
+ */
5
+ export interface ThemeInfo {
6
+ id: number;
7
+ name: string;
8
+ author: string;
9
+ version: string;
10
+ screenshot: string;
11
+ download_url: string;
12
+ demo_url: string;
13
+ demo_notes_url: string;
14
+ tags: string[];
15
+ }
16
+ /**
17
+ * Collection of themes from themes.json
18
+ */
19
+ export interface ThemesCollection {
20
+ themes: ThemeInfo[];
21
+ }
22
+ /**
23
+ * Themes Value Object
24
+ * Provides functionality to work with themes data from themes.json
25
+ */
26
+ export declare class Themes {
27
+ private themes;
28
+ constructor(themes: ThemeInfo[]);
29
+ /**
30
+ * Create Themes instance from JSON data
31
+ */
32
+ static fromJson(json: ThemeInfo[]): Themes;
33
+ /**
34
+ * Find theme by matching the base URL (without version parameter)
35
+ * @param targetUrl - The URL to match (e.g., "https://gohugo.net/base.zip?version=latest")
36
+ * @returns The matching theme info or null if not found
37
+ */
38
+ findThemeByUrl(targetUrl: string): ThemeInfo | null;
39
+ /**
40
+ * Get the latest download URL for a given import path
41
+ * @param importPath - The import path with version=latest
42
+ * @returns The updated import path with the actual latest version, or the original path if not found
43
+ */
44
+ resolveLatestVersion(importPath: string): string;
45
+ /**
46
+ * Extract base URL without version parameter
47
+ * @param url - Full URL with potential version parameter
48
+ * @returns Base URL without version parameter
49
+ */
50
+ private extractBaseUrl;
51
+ /**
52
+ * Get all available themes
53
+ */
54
+ getAllThemes(): ThemeInfo[];
55
+ /**
56
+ * Get theme by name
57
+ */
58
+ getThemeByName(name: string): ThemeInfo | null;
59
+ /**
60
+ * Get themes by tag
61
+ */
62
+ getThemesByTag(tag: string): ThemeInfo[];
63
+ }
64
+ //# sourceMappingURL=themes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../../../../internal/domain/module/vo/themes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED;;;GAGG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAc;gBAEhB,MAAM,EAAE,SAAS,EAAE;IAI/B;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM;IAI1C;;;;OAIG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAanD;;;;OAIG;IACH,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAUhD;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAuBtB;;OAEG;IACH,YAAY,IAAI,SAAS,EAAE;IAI3B;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAI9C;;OAEG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE;CAKzC"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Themes = void 0;
4
+ /**
5
+ * Themes Value Object
6
+ * Provides functionality to work with themes data from themes.json
7
+ */
8
+ class Themes {
9
+ constructor(themes) {
10
+ this.themes = themes;
11
+ }
12
+ /**
13
+ * Create Themes instance from JSON data
14
+ */
15
+ static fromJson(json) {
16
+ return new Themes(json);
17
+ }
18
+ /**
19
+ * Find theme by matching the base URL (without version parameter)
20
+ * @param targetUrl - The URL to match (e.g., "https://gohugo.net/base.zip?version=latest")
21
+ * @returns The matching theme info or null if not found
22
+ */
23
+ findThemeByUrl(targetUrl) {
24
+ const baseUrl = this.extractBaseUrl(targetUrl);
25
+ for (const theme of this.themes) {
26
+ const themeBaseUrl = this.extractBaseUrl(theme.download_url);
27
+ if (baseUrl === themeBaseUrl) {
28
+ return theme;
29
+ }
30
+ }
31
+ return null;
32
+ }
33
+ /**
34
+ * Get the latest download URL for a given import path
35
+ * @param importPath - The import path with version=latest
36
+ * @returns The updated import path with the actual latest version, or the original path if not found
37
+ */
38
+ resolveLatestVersion(importPath) {
39
+ const theme = this.findThemeByUrl(importPath);
40
+ if (theme) {
41
+ return theme.download_url;
42
+ }
43
+ // If theme not found, return original path
44
+ return importPath;
45
+ }
46
+ /**
47
+ * Extract base URL without version parameter
48
+ * @param url - Full URL with potential version parameter
49
+ * @returns Base URL without version parameter
50
+ */
51
+ extractBaseUrl(url) {
52
+ try {
53
+ const urlObj = new URL(url);
54
+ // Remove version parameter
55
+ urlObj.searchParams.delete('version');
56
+ return urlObj.toString();
57
+ }
58
+ catch (error) {
59
+ // If URL parsing fails, try simple string manipulation
60
+ const questionMarkIndex = url.indexOf('?');
61
+ if (questionMarkIndex === -1) {
62
+ return url;
63
+ }
64
+ // Extract base URL before query parameters
65
+ const baseUrl = url.substring(0, questionMarkIndex);
66
+ const searchParams = new URLSearchParams(url.substring(questionMarkIndex + 1));
67
+ searchParams.delete('version');
68
+ const remainingParams = searchParams.toString();
69
+ return remainingParams ? `${baseUrl}?${remainingParams}` : baseUrl;
70
+ }
71
+ }
72
+ /**
73
+ * Get all available themes
74
+ */
75
+ getAllThemes() {
76
+ return [...this.themes];
77
+ }
78
+ /**
79
+ * Get theme by name
80
+ */
81
+ getThemeByName(name) {
82
+ return this.themes.find(theme => theme.name.toLowerCase() === name.toLowerCase()) || null;
83
+ }
84
+ /**
85
+ * Get themes by tag
86
+ */
87
+ getThemesByTag(tag) {
88
+ return this.themes.filter(theme => theme.tags.some(t => t.toLowerCase() === tag.toLowerCase()));
89
+ }
90
+ }
91
+ exports.Themes = Themes;
92
+ //# sourceMappingURL=themes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../../../internal/domain/module/vo/themes.ts"],"names":[],"mappings":";;;AAuBA;;;GAGG;AACH,MAAa,MAAM;IAGjB,YAAY,MAAmB;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAiB;QAC/B,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,SAAiB;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAE/C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC7D,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;gBAC7B,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,UAAkB;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC,YAAY,CAAC;QAC5B,CAAC;QAED,2CAA2C;QAC3C,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACK,cAAc,CAAC,GAAW;QAChC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,2BAA2B;YAC3B,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACtC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uDAAuD;YACvD,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,iBAAiB,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC7B,OAAO,GAAG,CAAC;YACb,CAAC;YAED,2CAA2C;YAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;YACpD,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/E,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAE/B,MAAM,eAAe,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;YAChD,OAAO,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACrE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC;IAC5F,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,GAAW;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC,CAC5D,CAAC;IACJ,CAAC;CACF;AAjGD,wBAiGC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=themes.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themes.test.d.ts","sourceRoot":"","sources":["../../../../../internal/domain/module/vo/themes.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const themes_1 = require("./themes");
4
+ describe('Themes', () => {
5
+ const mockThemes = [
6
+ {
7
+ id: 1,
8
+ name: "Book",
9
+ author: "Alex Shpak",
10
+ version: "1.0",
11
+ screenshot: "https://gohugo.net/tn-book.png",
12
+ download_url: "https://gohugo.net/book.zip?version=1.0",
13
+ demo_url: "https://theme-book.mdfriday.com",
14
+ demo_notes_url: "https://github.com/mdfriday/themes/tree/main/book/content",
15
+ tags: ["Book", "Doc"]
16
+ },
17
+ {
18
+ id: 2,
19
+ name: "Note",
20
+ author: "MDFriday Team",
21
+ version: "1.0",
22
+ screenshot: "https://gohugo.net/tn-note.png",
23
+ download_url: "https://gohugo.net/note.zip?version=1.0",
24
+ demo_url: "https://theme-note.mdfriday.com",
25
+ demo_notes_url: "https://github.com/mdfriday/themes/tree/main/note/content",
26
+ tags: ["Page", "Obsidian", "Notes"]
27
+ },
28
+ {
29
+ id: 3,
30
+ name: "Base",
31
+ author: "Test Author",
32
+ version: "2.0",
33
+ screenshot: "https://gohugo.net/tn-base.png",
34
+ download_url: "https://gohugo.net/base.zip?version=2.0",
35
+ demo_url: "https://theme-base.mdfriday.com",
36
+ demo_notes_url: "https://github.com/mdfriday/themes/tree/main/base/content",
37
+ tags: ["Base", "Starter"]
38
+ }
39
+ ];
40
+ let themes;
41
+ beforeEach(() => {
42
+ themes = themes_1.Themes.fromJson(mockThemes);
43
+ });
44
+ describe('findThemeByUrl', () => {
45
+ it('should find theme by matching base URL', () => {
46
+ const result = themes.findThemeByUrl('https://gohugo.net/book.zip?version=latest');
47
+ expect(result).toBeDefined();
48
+ expect(result?.name).toBe('Book');
49
+ expect(result?.version).toBe('1.0');
50
+ });
51
+ it('should find theme by exact URL match', () => {
52
+ const result = themes.findThemeByUrl('https://gohugo.net/note.zip?version=1.0');
53
+ expect(result).toBeDefined();
54
+ expect(result?.name).toBe('Note');
55
+ });
56
+ it('should return null for non-matching URL', () => {
57
+ const result = themes.findThemeByUrl('https://gohugo.net/nonexistent.zip?version=latest');
58
+ expect(result).toBeNull();
59
+ });
60
+ });
61
+ describe('resolveLatestVersion', () => {
62
+ it('should resolve latest version to actual version', () => {
63
+ const result = themes.resolveLatestVersion('https://gohugo.net/base.zip?version=latest');
64
+ expect(result).toBe('https://gohugo.net/base.zip?version=2.0');
65
+ });
66
+ it('should return original path if theme not found', () => {
67
+ const originalPath = 'https://gohugo.net/unknown.zip?version=latest';
68
+ const result = themes.resolveLatestVersion(originalPath);
69
+ expect(result).toBe(originalPath);
70
+ });
71
+ it('should handle URL without version parameter', () => {
72
+ const result = themes.resolveLatestVersion('https://gohugo.net/book.zip');
73
+ expect(result).toBe('https://gohugo.net/book.zip?version=1.0');
74
+ });
75
+ });
76
+ describe('extractBaseUrl', () => {
77
+ it('should extract base URL without version parameter', () => {
78
+ const themes = new themes_1.Themes([]);
79
+ // Access private method through type assertion for testing
80
+ const extractBaseUrl = themes.extractBaseUrl.bind(themes);
81
+ const result = extractBaseUrl('https://gohugo.net/base.zip?version=1.0&other=param');
82
+ expect(result).toBe('https://gohugo.net/base.zip?other=param');
83
+ });
84
+ it('should handle URL without parameters', () => {
85
+ const themes = new themes_1.Themes([]);
86
+ const extractBaseUrl = themes.extractBaseUrl.bind(themes);
87
+ const result = extractBaseUrl('https://gohugo.net/base.zip');
88
+ expect(result).toBe('https://gohugo.net/base.zip');
89
+ });
90
+ });
91
+ describe('utility methods', () => {
92
+ it('should get all themes', () => {
93
+ const allThemes = themes.getAllThemes();
94
+ expect(allThemes).toHaveLength(3);
95
+ expect(allThemes[0].name).toBe('Book');
96
+ });
97
+ it('should get theme by name', () => {
98
+ const theme = themes.getThemeByName('Note');
99
+ expect(theme).toBeDefined();
100
+ expect(theme?.author).toBe('MDFriday Team');
101
+ });
102
+ it('should get themes by tag', () => {
103
+ const docThemes = themes.getThemesByTag('Doc');
104
+ expect(docThemes).toHaveLength(1);
105
+ expect(docThemes[0].name).toBe('Book');
106
+ });
107
+ });
108
+ });
109
+ //# sourceMappingURL=themes.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themes.test.js","sourceRoot":"","sources":["../../../../../internal/domain/module/vo/themes.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * HttpClient for fetching remote content via HTTP/HTTPS
3
+ * Uses Node.js http/https modules to avoid CORS issues in Obsidian plugin environment
4
+ * Focuses solely on HTTP requests and returns string content
5
+ */
6
+ export declare class HttpClient {
7
+ private defaultTimeout;
8
+ private defaultHeaders;
9
+ /**
10
+ * Fetch content from a remote URI using Node.js http/https modules
11
+ * @param uri - The URI to fetch content from
12
+ * @param options - Optional request configuration
13
+ * @returns Promise<string | null> - The fetched content as string or null if failed
14
+ */
15
+ fromRemote(uri: string, options?: {
16
+ headers?: Record<string, string>;
17
+ timeout?: number;
18
+ }): Promise<string | null>;
19
+ }
20
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../../../internal/domain/resources/entity/http.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,cAAc,CAEpB;IAEF;;;;;OAKG;IACG,UAAU,CACd,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GACA,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAoF1B"}