@mdfriday/foundry 25.8.8 → 25.8.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +3 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/internal/application/incremental-build-coordinator.d.ts +2 -0
  6. package/dist/internal/application/incremental-build-coordinator.d.ts.map +1 -1
  7. package/dist/internal/application/incremental-build-coordinator.js +2 -2
  8. package/dist/internal/application/incremental-build-coordinator.js.map +1 -1
  9. package/dist/internal/application/ssg.d.ts +6 -5
  10. package/dist/internal/application/ssg.d.ts.map +1 -1
  11. package/dist/internal/application/ssg.js +12 -11
  12. package/dist/internal/application/ssg.js.map +1 -1
  13. package/dist/internal/domain/config/tests/entity-config.test.d.ts +2 -0
  14. package/dist/internal/domain/config/tests/entity-config.test.d.ts.map +1 -0
  15. package/dist/internal/domain/config/tests/entity-config.test.js +199 -0
  16. package/dist/internal/domain/config/tests/entity-config.test.js.map +1 -0
  17. package/dist/internal/domain/config/tests/entity-root.test.d.ts +2 -0
  18. package/dist/internal/domain/config/tests/entity-root.test.d.ts.map +1 -0
  19. package/dist/internal/domain/config/tests/entity-root.test.js +235 -0
  20. package/dist/internal/domain/config/tests/entity-root.test.js.map +1 -0
  21. package/dist/internal/domain/config/tests/factory-config.test.d.ts +2 -0
  22. package/dist/internal/domain/config/tests/factory-config.test.d.ts.map +1 -0
  23. package/dist/internal/domain/config/tests/factory-config.test.js +84 -0
  24. package/dist/internal/domain/config/tests/factory-config.test.js.map +1 -0
  25. package/dist/internal/domain/config/tests/index.test.d.ts +2 -0
  26. package/dist/internal/domain/config/tests/index.test.d.ts.map +1 -0
  27. package/dist/internal/domain/config/tests/index.test.js +197 -0
  28. package/dist/internal/domain/config/tests/index.test.js.map +1 -0
  29. package/dist/internal/domain/config/tests/mock-fs.d.ts +26 -0
  30. package/dist/internal/domain/config/tests/mock-fs.d.ts.map +1 -0
  31. package/dist/internal/domain/config/tests/mock-fs.js +281 -0
  32. package/dist/internal/domain/config/tests/mock-fs.js.map +1 -0
  33. package/dist/internal/domain/config/tests/type.test.d.ts +2 -0
  34. package/dist/internal/domain/config/tests/type.test.d.ts.map +1 -0
  35. package/dist/internal/domain/config/tests/type.test.js +272 -0
  36. package/dist/internal/domain/config/tests/type.test.js.map +1 -0
  37. package/dist/internal/domain/config/tests/vo-module.test.d.ts +2 -0
  38. package/dist/internal/domain/config/tests/vo-module.test.d.ts.map +1 -0
  39. package/dist/internal/domain/config/tests/vo-module.test.js +267 -0
  40. package/dist/internal/domain/config/tests/vo-module.test.js.map +1 -0
  41. package/dist/internal/domain/config/tests/vo-root.test.d.ts +2 -0
  42. package/dist/internal/domain/config/tests/vo-root.test.d.ts.map +1 -0
  43. package/dist/internal/domain/config/tests/vo-root.test.js +165 -0
  44. package/dist/internal/domain/config/tests/vo-root.test.js.map +1 -0
  45. package/dist/internal/domain/config/tests/vo-service.test.d.ts +2 -0
  46. package/dist/internal/domain/config/tests/vo-service.test.d.ts.map +1 -0
  47. package/dist/internal/domain/config/tests/vo-service.test.js +266 -0
  48. package/dist/internal/domain/config/tests/vo-service.test.js.map +1 -0
  49. package/dist/internal/domain/content/factory/hub.js +1 -1
  50. package/dist/internal/domain/content/factory/hub.js.map +1 -1
  51. package/dist/internal/domain/content/type.d.ts +2 -1
  52. package/dist/internal/domain/content/type.d.ts.map +1 -1
  53. package/dist/internal/domain/content/type.js.map +1 -1
  54. package/dist/internal/domain/fs/entity/overlayfs.js +1 -1
  55. package/dist/internal/domain/fs/entity/overlayfs.js.map +1 -1
  56. package/dist/internal/domain/fs/tests/entity-basefs.test.d.ts +2 -0
  57. package/dist/internal/domain/fs/tests/entity-basefs.test.d.ts.map +1 -0
  58. package/dist/internal/domain/fs/tests/entity-basefs.test.js +279 -0
  59. package/dist/internal/domain/fs/tests/entity-basefs.test.js.map +1 -0
  60. package/dist/internal/domain/fs/tests/entity-fs.test.d.ts +2 -0
  61. package/dist/internal/domain/fs/tests/entity-fs.test.d.ts.map +1 -0
  62. package/dist/internal/domain/fs/tests/entity-fs.test.js +230 -0
  63. package/dist/internal/domain/fs/tests/entity-fs.test.js.map +1 -0
  64. package/dist/internal/domain/fs/tests/entity-originfs.test.d.ts +2 -0
  65. package/dist/internal/domain/fs/tests/entity-originfs.test.d.ts.map +1 -0
  66. package/dist/internal/domain/fs/tests/entity-originfs.test.js +47 -0
  67. package/dist/internal/domain/fs/tests/entity-originfs.test.js.map +1 -0
  68. package/dist/internal/domain/fs/tests/entity-overlaydir.test.d.ts +2 -0
  69. package/dist/internal/domain/fs/tests/entity-overlaydir.test.d.ts.map +1 -0
  70. package/dist/internal/domain/fs/tests/entity-overlaydir.test.js +293 -0
  71. package/dist/internal/domain/fs/tests/entity-overlaydir.test.js.map +1 -0
  72. package/dist/internal/domain/fs/tests/entity-overlayfs.test.d.ts +2 -0
  73. package/dist/internal/domain/fs/tests/entity-overlayfs.test.d.ts.map +1 -0
  74. package/dist/internal/domain/fs/tests/entity-overlayfs.test.js +281 -0
  75. package/dist/internal/domain/fs/tests/entity-overlayfs.test.js.map +1 -0
  76. package/dist/internal/domain/fs/tests/entity-service.test.d.ts +2 -0
  77. package/dist/internal/domain/fs/tests/entity-service.test.d.ts.map +1 -0
  78. package/dist/internal/domain/fs/tests/entity-service.test.js +43 -0
  79. package/dist/internal/domain/fs/tests/entity-service.test.js.map +1 -0
  80. package/dist/internal/domain/fs/tests/factory-fs.test.d.ts +2 -0
  81. package/dist/internal/domain/fs/tests/factory-fs.test.d.ts.map +1 -0
  82. package/dist/internal/domain/fs/tests/factory-fs.test.js +105 -0
  83. package/dist/internal/domain/fs/tests/factory-fs.test.js.map +1 -0
  84. package/dist/internal/domain/fs/tests/type.test.d.ts +2 -0
  85. package/dist/internal/domain/fs/tests/type.test.d.ts.map +1 -0
  86. package/dist/internal/domain/fs/tests/type.test.js +113 -0
  87. package/dist/internal/domain/fs/tests/type.test.js.map +1 -0
  88. package/dist/internal/domain/fs/tests/vo-dir.test.d.ts +2 -0
  89. package/dist/internal/domain/fs/tests/vo-dir.test.d.ts.map +1 -0
  90. package/dist/internal/domain/fs/tests/vo-dir.test.js +211 -0
  91. package/dist/internal/domain/fs/tests/vo-dir.test.js.map +1 -0
  92. package/dist/internal/domain/fs/tests/vo-file.test.d.ts +2 -0
  93. package/dist/internal/domain/fs/tests/vo-file.test.d.ts.map +1 -0
  94. package/dist/internal/domain/fs/tests/vo-file.test.js +256 -0
  95. package/dist/internal/domain/fs/tests/vo-file.test.js.map +1 -0
  96. package/dist/internal/domain/fs/tests/vo-fileinfo.test.d.ts +2 -0
  97. package/dist/internal/domain/fs/tests/vo-fileinfo.test.d.ts.map +1 -0
  98. package/dist/internal/domain/fs/tests/vo-fileinfo.test.js +165 -0
  99. package/dist/internal/domain/fs/tests/vo-fileinfo.test.js.map +1 -0
  100. package/dist/internal/domain/fs/tests/vo-filemeta.test.d.ts +2 -0
  101. package/dist/internal/domain/fs/tests/vo-filemeta.test.d.ts.map +1 -0
  102. package/dist/internal/domain/fs/tests/vo-filemeta.test.js +171 -0
  103. package/dist/internal/domain/fs/tests/vo-filemeta.test.js.map +1 -0
  104. package/dist/internal/domain/fs/tests/vo-filesystemscollector.test.d.ts +2 -0
  105. package/dist/internal/domain/fs/tests/vo-filesystemscollector.test.d.ts.map +1 -0
  106. package/dist/internal/domain/fs/tests/vo-filesystemscollector.test.js +298 -0
  107. package/dist/internal/domain/fs/tests/vo-filesystemscollector.test.js.map +1 -0
  108. package/dist/internal/domain/fs/tests/vo-filevitural.test.d.ts +2 -0
  109. package/dist/internal/domain/fs/tests/vo-filevitural.test.d.ts.map +1 -0
  110. package/dist/internal/domain/fs/tests/vo-filevitural.test.js +167 -0
  111. package/dist/internal/domain/fs/tests/vo-filevitural.test.js.map +1 -0
  112. package/dist/internal/domain/fs/tests/vo-incremental-file-collector.test.d.ts +2 -0
  113. package/dist/internal/domain/fs/tests/vo-incremental-file-collector.test.d.ts.map +1 -0
  114. package/dist/internal/domain/fs/tests/vo-incremental-file-collector.test.js +396 -0
  115. package/dist/internal/domain/fs/tests/vo-incremental-file-collector.test.js.map +1 -0
  116. package/dist/internal/domain/fs/tests/vo-osfs.test.d.ts +2 -0
  117. package/dist/internal/domain/fs/tests/vo-osfs.test.d.ts.map +1 -0
  118. package/dist/internal/domain/fs/tests/vo-osfs.test.js +363 -0
  119. package/dist/internal/domain/fs/tests/vo-osfs.test.js.map +1 -0
  120. package/dist/internal/domain/fs/tests/vo-overlayfs-factory.test.d.ts +2 -0
  121. package/dist/internal/domain/fs/tests/vo-overlayfs-factory.test.d.ts.map +1 -0
  122. package/dist/internal/domain/fs/tests/vo-overlayfs-factory.test.js +430 -0
  123. package/dist/internal/domain/fs/tests/vo-overlayfs-factory.test.js.map +1 -0
  124. package/dist/internal/domain/fs/tests/vo-overlayoptions.test.d.ts +2 -0
  125. package/dist/internal/domain/fs/tests/vo-overlayoptions.test.d.ts.map +1 -0
  126. package/dist/internal/domain/fs/tests/vo-overlayoptions.test.js +402 -0
  127. package/dist/internal/domain/fs/tests/vo-overlayoptions.test.js.map +1 -0
  128. package/dist/internal/domain/fs/tests/vo-static-copier.test.d.ts +2 -0
  129. package/dist/internal/domain/fs/tests/vo-static-copier.test.d.ts.map +1 -0
  130. package/dist/internal/domain/fs/tests/vo-static-copier.test.js +320 -0
  131. package/dist/internal/domain/fs/tests/vo-static-copier.test.js.map +1 -0
  132. package/dist/internal/domain/fs/tests/vo-walkway.test.d.ts +2 -0
  133. package/dist/internal/domain/fs/tests/vo-walkway.test.d.ts.map +1 -0
  134. package/dist/internal/domain/fs/tests/vo-walkway.test.js +295 -0
  135. package/dist/internal/domain/fs/tests/vo-walkway.test.js.map +1 -0
  136. package/dist/internal/domain/markdown/entity/markdown.d.ts +0 -21
  137. package/dist/internal/domain/markdown/entity/markdown.d.ts.map +1 -1
  138. package/dist/internal/domain/markdown/entity/markdown.js +2 -35
  139. package/dist/internal/domain/markdown/entity/markdown.js.map +1 -1
  140. package/dist/internal/domain/markdown/factory/markdown.d.ts +2 -38
  141. package/dist/internal/domain/markdown/factory/markdown.d.ts.map +1 -1
  142. package/dist/internal/domain/markdown/factory/markdown.js +2 -70
  143. package/dist/internal/domain/markdown/factory/markdown.js.map +1 -1
  144. package/dist/internal/domain/markdown/index.d.ts +0 -3
  145. package/dist/internal/domain/markdown/index.d.ts.map +1 -1
  146. package/dist/internal/domain/markdown/index.js +0 -3
  147. package/dist/internal/domain/markdown/index.js.map +1 -1
  148. package/dist/internal/domain/markdown/type.d.ts +1 -16
  149. package/dist/internal/domain/markdown/type.d.ts.map +1 -1
  150. package/dist/internal/domain/markdown/type.js.map +1 -1
  151. package/dist/internal/domain/markdown/vo/parserresult.d.ts +1 -60
  152. package/dist/internal/domain/markdown/vo/parserresult.d.ts.map +1 -1
  153. package/dist/internal/domain/markdown/vo/parserresult.js +1 -174
  154. package/dist/internal/domain/markdown/vo/parserresult.js.map +1 -1
  155. package/dist/pkg/log/manager.js +1 -1
  156. package/package.json +1 -15
  157. package/dist/internal/application/test-incremental-ssg.d.ts +0 -9
  158. package/dist/internal/application/test-incremental-ssg.d.ts.map +0 -1
  159. package/dist/internal/application/test-incremental-ssg.js +0 -83
  160. package/dist/internal/application/test-incremental-ssg.js.map +0 -1
  161. package/dist/internal/application/test-ssg.d.ts +0 -8
  162. package/dist/internal/application/test-ssg.d.ts.map +0 -1
  163. package/dist/internal/application/test-ssg.js +0 -30
  164. package/dist/internal/application/test-ssg.js.map +0 -1
  165. package/dist/internal/domain/markdown/test/external-adapter.test.d.ts +0 -2
  166. package/dist/internal/domain/markdown/test/external-adapter.test.d.ts.map +0 -1
  167. package/dist/internal/domain/markdown/test/external-adapter.test.js +0 -150
  168. package/dist/internal/domain/markdown/test/external-adapter.test.js.map +0 -1
  169. package/dist/internal/domain/markdown/test/markdown.test.d.ts +0 -2
  170. package/dist/internal/domain/markdown/test/markdown.test.d.ts.map +0 -1
  171. package/dist/internal/domain/markdown/test/markdown.test.js +0 -88
  172. package/dist/internal/domain/markdown/test/markdown.test.js.map +0 -1
  173. package/dist/internal/domain/markdown/vo/externaladapter.d.ts +0 -63
  174. package/dist/internal/domain/markdown/vo/externaladapter.d.ts.map +0 -1
  175. package/dist/internal/domain/markdown/vo/externaladapter.js +0 -194
  176. package/dist/internal/domain/markdown/vo/externaladapter.js.map +0 -1
  177. package/dist/internal/domain/markdown/vo/markdownit.d.ts +0 -33
  178. package/dist/internal/domain/markdown/vo/markdownit.d.ts.map +0 -1
  179. package/dist/internal/domain/markdown/vo/markdownit.js +0 -175
  180. package/dist/internal/domain/markdown/vo/markdownit.js.map +0 -1
  181. package/dist/pkg/web/server/example.d.ts +0 -2
  182. package/dist/pkg/web/server/example.d.ts.map +0 -1
  183. package/dist/pkg/web/server/example.js +0 -43
  184. package/dist/pkg/web/server/example.js.map +0 -1
@@ -1,179 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ResultImpl = exports.RenderingResultImpl = exports.CodeblockContextImpl = exports.AttributesProviderImpl = exports.AttributeImpl = exports.ParserResult = void 0;
4
- const tableofcontents_1 = require("./tableofcontents");
5
- /**
6
- * ParserResult implements ParsingResult
7
- */
8
- class ParserResult {
9
- constructor(tokens, source) {
10
- this._headers = [];
11
- this.tokens = tokens;
12
- this.source = source;
13
- this._toc = this.buildTableOfContents();
14
- this._headers = this.extractHeaders();
15
- }
16
- headers() {
17
- return [...this._headers];
18
- }
19
- tableOfContents() {
20
- return this._toc;
21
- }
22
- getTokens() {
23
- return [...this.tokens];
24
- }
25
- getSource() {
26
- return this.source;
27
- }
28
- buildTableOfContents() {
29
- const builder = new tableofcontents_1.TOCBuilder();
30
- const idGenerator = new tableofcontents_1.AutoIDGenerator();
31
- for (const token of this.tokens) {
32
- if (token.type === 'heading_open') {
33
- const level = parseInt(token.tag.substring(1)); // h1 -> 1, h2 -> 2, etc.
34
- const textToken = this.findNextTextToken(token);
35
- if (textToken) {
36
- const text = textToken.content;
37
- const id = idGenerator.generateID(text);
38
- builder.addHeading(text, level, id);
39
- }
40
- }
41
- }
42
- return builder.build();
43
- }
44
- extractHeaders() {
45
- const headers = [];
46
- for (let i = 0; i < this.tokens.length; i++) {
47
- const token = this.tokens[i];
48
- if (token.type === 'heading_open') {
49
- const level = parseInt(token.tag.substring(1));
50
- const textToken = this.findNextTextToken(token, i);
51
- if (textToken) {
52
- const header = new tableofcontents_1.HeaderImpl(textToken.content, level);
53
- headers.push(header);
54
- }
55
- }
56
- }
57
- return headers;
58
- }
59
- findNextTextToken(headingToken, startIndex) {
60
- const start = startIndex !== undefined ? startIndex + 1 : this.tokens.indexOf(headingToken) + 1;
61
- for (let i = start; i < this.tokens.length; i++) {
62
- const token = this.tokens[i];
63
- if (token.type === 'inline') {
64
- return token;
65
- }
66
- if (token.type === 'heading_close') {
67
- break;
68
- }
69
- }
70
- return null;
71
- }
72
- }
73
- exports.ParserResult = ParserResult;
74
- /**
75
- * AttributeImpl implements Attribute interface
76
- */
77
- class AttributeImpl {
78
- constructor(_name, _value) {
79
- this._name = _name;
80
- this._value = _value;
81
- }
82
- name() {
83
- return this._name;
84
- }
85
- value() {
86
- return this._value;
87
- }
88
- valueString() {
89
- if (this._value === null || this._value === undefined) {
90
- return '';
91
- }
92
- return String(this._value);
93
- }
94
- }
95
- exports.AttributeImpl = AttributeImpl;
96
- /**
97
- * AttributesProviderImpl implements AttributesProvider
98
- */
99
- class AttributesProviderImpl {
100
- constructor(_attributes = {}) {
101
- this._attributes = _attributes;
102
- }
103
- attributes() {
104
- return { ...this._attributes };
105
- }
106
- setAttribute(name, value) {
107
- this._attributes[name] = value;
108
- }
109
- getAttribute(name) {
110
- return this._attributes[name];
111
- }
112
- hasAttribute(name) {
113
- return name in this._attributes;
114
- }
115
- }
116
- exports.AttributesProviderImpl = AttributesProviderImpl;
117
- /**
118
- * CodeblockContextImpl implements CodeblockContext
119
- */
120
- class CodeblockContextImpl {
121
- constructor(token, _ordinal, _page, attributesProvider) {
122
- this.token = token;
123
- this._ordinal = _ordinal;
124
- this._page = _page;
125
- this.attributesProvider = attributesProvider;
126
- }
127
- attributes() {
128
- return this.attributesProvider.attributes();
129
- }
130
- attributesSlice() {
131
- const attrs = this.attributes();
132
- return Object.entries(attrs).map(([name, value]) => new AttributeImpl(name, value));
133
- }
134
- optionsSlice() {
135
- // Extract options from token attributes
136
- const options = {};
137
- if (this.token.attrGet) {
138
- // Extract common code block options
139
- const classAttr = this.token.attrGet('class');
140
- if (classAttr) {
141
- options.class = classAttr;
142
- }
143
- }
144
- return Object.entries(options).map(([name, value]) => new AttributeImpl(name, value));
145
- }
146
- position() {
147
- if (this.token.map) {
148
- return {
149
- line: this.token.map[0] + 1, // Convert to 1-based
150
- column: 0, // Token doesn't provide column info
151
- offset: 0, // Token doesn't provide offset info
152
- };
153
- }
154
- return { line: 0, column: 0, offset: 0 };
155
- }
156
- options() {
157
- return {}; // Default empty options
158
- }
159
- type() {
160
- // Extract language from token info
161
- if (this.token.info) {
162
- return this.token.info.trim().split(/\s+/)[0];
163
- }
164
- return '';
165
- }
166
- inner() {
167
- return this.token.content || '';
168
- }
169
- ordinal() {
170
- return this._ordinal;
171
- }
172
- page() {
173
- return this._page;
174
- }
175
- }
176
- exports.CodeblockContextImpl = CodeblockContextImpl;
3
+ exports.ResultImpl = exports.RenderingResultImpl = void 0;
177
4
  /**
178
5
  * RenderingResultImpl implements RenderingResult
179
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"parserresult.js","sourceRoot":"","sources":["../../../../../internal/domain/markdown/vo/parserresult.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parserresult.js","sourceRoot":"","sources":["../../../../../internal/domain/markdown/vo/parserresult.ts"],"names":[],"mappings":";;;AAQA;;GAEG;AACH,MAAa,mBAAmB;IAC9B,YAAoB,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAEzC,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,QAAQ;QACN,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACtC,CAAC;CACF;AAXD,kDAWC;AAED;;GAEG;AACH,MAAa,UAAU;IACrB,YACU,aAA4B,EAC5B,eAAgC;QADhC,kBAAa,GAAb,aAAa,CAAe;QAC5B,oBAAe,GAAf,eAAe,CAAiB;IACvC,CAAC;IAEJ,wBAAwB;IACxB,OAAO;QACL,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;IAC9C,CAAC;IAED,0BAA0B;IAC1B,KAAK;QACH,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;CACF;AAnBD,gCAmBC"}
@@ -17,7 +17,7 @@ class LoggerManager {
17
17
  constructor() {
18
18
  // Default global configuration
19
19
  this.globalConfig = {
20
- level: types_1.LogLevel.ERROR,
20
+ level: types_1.LogLevel.DEBUG,
21
21
  enableCaller: true,
22
22
  jsonFormat: true
23
23
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mdfriday/foundry",
3
- "version": "25.8.8",
3
+ "version": "25.8.9",
4
4
  "description": "The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -43,7 +43,6 @@
43
43
  "devDependencies": {
44
44
  "@types/jest": "^29.5.8",
45
45
  "@types/jszip": "^3.4.0",
46
- "@types/markdown-it": "^13.0.7",
47
46
  "@types/node": "^20.17.57",
48
47
  "@types/terser": "^3.8.1",
49
48
  "@types/ws": "^8.18.1",
@@ -66,19 +65,6 @@
66
65
  "chokidar": "^4.0.3",
67
66
  "js-yaml": "^4.1.0",
68
67
  "jszip": "^3.10.1",
69
- "markdown-it": "^14.0.0",
70
- "markdown-it-abbr": "^2.0.0",
71
- "markdown-it-anchor": "^8.6.7",
72
- "markdown-it-attrs": "^4.1.6",
73
- "markdown-it-deflist": "^3.0.0",
74
- "markdown-it-emoji": "^3.0.0",
75
- "markdown-it-footnote": "^4.0.0",
76
- "markdown-it-ins": "^4.0.0",
77
- "markdown-it-mark": "^4.0.0",
78
- "markdown-it-sub": "^2.0.0",
79
- "markdown-it-sup": "^2.0.0",
80
- "markdown-it-task-lists": "^2.1.1",
81
- "markdown-it-toc-done-right": "^4.2.0",
82
68
  "smol-toml": "^1.4.1",
83
69
  "terser": "^5.43.1",
84
70
  "ws": "^8.18.3"
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Test script for Incremental SSG functionality - Phases 3-5
4
- * This script demonstrates and validates the complete incremental build system
5
- * Phases 3-5: FS Domain extensions + Content Domain extensions + Site Domain extensions
6
- */
7
- declare function main(): Promise<void>;
8
- export { main as runIncrementalSSGValidation };
9
- //# sourceMappingURL=test-incremental-ssg.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-incremental-ssg.d.ts","sourceRoot":"","sources":["../../../internal/application/test-incremental-ssg.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AAQH,iBAAe,IAAI,kBAwElB;AAUD,OAAO,EAAE,IAAI,IAAI,2BAA2B,EAAE,CAAA"}
@@ -1,83 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- /**
4
- * Test script for Incremental SSG functionality - Phases 3-5
5
- * This script demonstrates and validates the complete incremental build system
6
- * Phases 3-5: FS Domain extensions + Content Domain extensions + Site Domain extensions
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.runIncrementalSSGValidation = main;
10
- const incremental_ssg_1 = require("./incremental-ssg");
11
- const log_1 = require("../../pkg/log");
12
- // Initialize logging
13
- const log = (0, log_1.getDomainLogger)('test', { component: 'incremental-ssg-validation' });
14
- async function main() {
15
- const config = {
16
- projDir: "/Users/weisun/github/mdfriday/foundry/ws/proj",
17
- modulesDir: "/Users/weisun/github/mdfriday/foundry/ws/modules",
18
- contentDir: "/Users/weisun/github/mdfriday/foundry/ws/proj/content",
19
- publicDir: "/Users/weisun/github/mdfriday/foundry/ws/proj",
20
- enableWatching: true, // 启用完整的文件监控和增量构建
21
- batchDelay: 500,
22
- progressCallback: (progress) => {
23
- log.info(`Build progress: ${progress.percentage}% - ${progress.stage} - ${progress.message}`);
24
- },
25
- // Live Reload 配置
26
- liveReload: {
27
- enabled: true,
28
- port: 8091,
29
- host: 'localhost',
30
- livereloadPort: 35729
31
- }
32
- };
33
- try {
34
- // 启动增量构建系统
35
- const coordinator = await (0, incremental_ssg_1.startIncrementalBuild)(config);
36
- // 验证初始化状态
37
- if (!coordinator.isInitialized()) {
38
- throw new Error('Coordinator should be initialized');
39
- }
40
- // 验证配置
41
- const retrievedConfig = coordinator.getConfig();
42
- if (retrievedConfig.projDir !== config.projDir) {
43
- throw new Error('Configuration not properly stored');
44
- }
45
- // 验证构建状态
46
- if (coordinator.isBuildInProgress()) {
47
- throw new Error('Build should not be in progress after initialization');
48
- }
49
- // 验证 Live Reload 服务器状态
50
- const liveReloadStatus = coordinator.getLiveReloadStatus();
51
- if (!liveReloadStatus.running) {
52
- throw new Error('Live Reload server should be running');
53
- }
54
- if (!liveReloadStatus.url) {
55
- throw new Error('Live Reload server URL should be available');
56
- }
57
- // 等待一小段时间让服务器完全启动
58
- await new Promise(resolve => setTimeout(resolve, 1000));
59
- // 等待用户中断(用于手动测试)
60
- await new Promise((resolve) => {
61
- const cleanup = async () => {
62
- await coordinator.stopWatching();
63
- resolve(undefined);
64
- };
65
- process.on('SIGINT', cleanup);
66
- process.on('SIGTERM', cleanup);
67
- // 自动停止(用于自动化测试)
68
- // setTimeout(cleanup, 10000) // 10秒后自动停止,给更多时间测试
69
- });
70
- }
71
- catch (error) {
72
- log.error(`❌ Incremental build test failed: ${error}`);
73
- throw error;
74
- }
75
- }
76
- // Run the test suite
77
- if (require.main === module) {
78
- main().catch((error) => {
79
- log.error(`Test suite failed: ${error}`);
80
- process.exit(1);
81
- });
82
- }
83
- //# sourceMappingURL=test-incremental-ssg.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-incremental-ssg.js","sourceRoot":"","sources":["../../../internal/application/test-incremental-ssg.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Test script for SSG functionality
4
- * This script demonstrates and validates the SSG domain functionality
5
- */
6
- declare function main(): Promise<void>;
7
- export { main as runSSGValidation };
8
- //# sourceMappingURL=test-ssg.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-ssg.d.ts","sourceRoot":"","sources":["../../../internal/application/test-ssg.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAQH,iBAAe,IAAI,kBAUlB;AAUD,OAAO,EAAE,IAAI,IAAI,gBAAgB,EAAE,CAAC"}
@@ -1,30 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- /**
4
- * Test script for SSG functionality
5
- * This script demonstrates and validates the SSG domain functionality
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.runSSGValidation = main;
9
- const ssg_1 = require("./ssg");
10
- const log_1 = require("../../pkg/log");
11
- // Initialize logging
12
- const log = (0, log_1.getDomainLogger)('test', { component: 'ssg-validation' });
13
- async function main() {
14
- const projDir = "/Users/weisun/github/mdfriday/foundry/ws/proj";
15
- const moduleDir = "/Users/weisun/github/mdfriday/foundry/ws/modules";
16
- const startTime = performance.now();
17
- await (0, ssg_1.processSSGWithProgress)(projDir, moduleDir, (progress) => {
18
- log.info("Progress:", progress);
19
- });
20
- const endTime = performance.now();
21
- log.info(`SSG processing completed in ${(endTime - startTime).toFixed(2)} ms`);
22
- }
23
- // Run the test suite
24
- if (require.main === module) {
25
- main().catch((error) => {
26
- log.error(`Test suite failed: ${error}`);
27
- process.exit(1);
28
- });
29
- }
30
- //# sourceMappingURL=test-ssg.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-ssg.js","sourceRoot":"","sources":["../../../internal/application/test-ssg.ts"],"names":[],"mappings":";;AAEA;;;GAGG;;AA4Bc,gCAAgB;AA1BjC,+BAA+C;AAC/C,kCAA2C;AAE3C,qBAAqB;AACrB,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,MAAM,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAErE,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,+CAA+C,CAAA;IAC/D,MAAM,SAAS,GAAG,kDAAkD,CAAA;IAEpE,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;IACnC,MAAM,IAAA,4BAAsB,EAAC,OAAO,EAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;QAC5D,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAClC,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACjF,CAAC;AAED,qBAAqB;AACrB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,GAAG,CAAC,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=external-adapter.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"external-adapter.test.d.ts","sourceRoot":"","sources":["../../../../../internal/domain/markdown/test/external-adapter.test.ts"],"names":[],"mappings":""}
@@ -1,150 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const markdown_1 = require("../factory/markdown");
4
- const type_1 = require("../type");
5
- describe('External Adapter', () => {
6
- test('should work with external processor object', async () => {
7
- // Simulate an external processor (e.g., from Obsidian)
8
- const externalProcessor = {
9
- render: (source) => {
10
- // Simple markdown to HTML conversion
11
- return source
12
- .replace(/^# (.+)$/gm, '<h1>$1</h1>')
13
- .replace(/\*\*(.+?)\*\*/g, '<strong>$1</strong>')
14
- .replace(/\n\n/g, '</p><p>')
15
- .replace(/^(.+)$/gm, '<p>$1</p>')
16
- .replace(/<\/p><p><h/g, '</p><h')
17
- .replace(/h1><\/p>/g, 'h1>');
18
- },
19
- metadata: {
20
- name: 'Custom Processor',
21
- version: '1.0.0',
22
- features: ['basic-rendering'],
23
- },
24
- };
25
- const markdown = (0, markdown_1.createMarkdownWithExternalProcessor)(externalProcessor);
26
- const source = '# Hello World\n\nThis is **bold** text.';
27
- const encoder = new TextEncoder();
28
- const srcBytes = encoder.encode(source);
29
- const rctx = {
30
- ctx: {},
31
- src: srcBytes,
32
- renderTOC: false,
33
- getRenderer: type_1.DefaultRendererFunc,
34
- };
35
- const dctx = {
36
- document: null,
37
- documentID: 'external-test',
38
- documentName: 'external-test.md',
39
- filename: 'external-test.md',
40
- };
41
- const result = await markdown.render(rctx, dctx);
42
- expect(result).toBeDefined();
43
- expect(result.headers()).toHaveLength(1);
44
- expect(result.headers()[0].name()).toBe('Hello World');
45
- expect(result.headers()[0].level()).toBe(1);
46
- const html = new TextDecoder().decode(result.bytes());
47
- expect(html).toContain('<h1>Hello World</h1>');
48
- expect(html).toContain('<strong>bold</strong>');
49
- });
50
- test('should work with simple render function', async () => {
51
- // Simulate a simple render function (e.g., from a basic markdown processor)
52
- const renderFunc = (source) => {
53
- return source
54
- .replace(/^## (.+)$/gm, '<h2>$1</h2>')
55
- .replace(/\*(.+?)\*/g, '<em>$1</em>');
56
- };
57
- const markdown = (0, markdown_1.createMarkdownWithRenderFunction)(renderFunc);
58
- const source = '## Test Header\n\nSome *italic* text.';
59
- const encoder = new TextEncoder();
60
- const srcBytes = encoder.encode(source);
61
- const rctx = {
62
- ctx: {},
63
- src: srcBytes,
64
- renderTOC: false,
65
- getRenderer: type_1.DefaultRendererFunc,
66
- };
67
- const dctx = {
68
- document: null,
69
- documentID: 'function-test',
70
- documentName: 'function-test.md',
71
- filename: 'function-test.md',
72
- };
73
- const result = await markdown.render(rctx, dctx);
74
- expect(result).toBeDefined();
75
- expect(result.headers()).toHaveLength(1);
76
- expect(result.headers()[0].name()).toBe('Test Header');
77
- expect(result.headers()[0].level()).toBe(2);
78
- });
79
- test('should work with Obsidian-style processor', async () => {
80
- // Simulate Obsidian's render function
81
- const obsidianRenderFunc = (source) => {
82
- // Simulate Obsidian's markdown processing with some custom features
83
- let html = source
84
- .replace(/^### (.+)$/gm, '<h3>$1</h3>')
85
- .replace(/\[\[(.+?)\]\]/g, '<a href="obsidian://open?vault=MyVault&file=$1">$1</a>') // Obsidian internal links
86
- .replace(/==(.+?)==/g, '<mark>$1</mark>'); // Obsidian highlighting
87
- return html;
88
- };
89
- const markdown = (0, markdown_1.createMarkdownForObsidian)(obsidianRenderFunc, { pluginName: 'MyObsidianPlugin', version: '2.1.0' });
90
- const source = '### Obsidian Test\n\n[[Some Link]] with ==highlighted== text.';
91
- const encoder = new TextEncoder();
92
- const srcBytes = encoder.encode(source);
93
- const rctx = {
94
- ctx: {},
95
- src: srcBytes,
96
- renderTOC: false,
97
- getRenderer: type_1.DefaultRendererFunc,
98
- };
99
- const dctx = {
100
- document: null,
101
- documentID: 'obsidian-test',
102
- documentName: 'obsidian-test.md',
103
- filename: 'obsidian-test.md',
104
- };
105
- const result = await markdown.render(rctx, dctx);
106
- expect(result).toBeDefined();
107
- expect(result.headers()).toHaveLength(1);
108
- expect(result.headers()[0].name()).toBe('Obsidian Test');
109
- expect(result.headers()[0].level()).toBe(3);
110
- const html = new TextDecoder().decode(result.bytes());
111
- expect(html).toContain('<h3>Obsidian Test</h3>');
112
- expect(html).toContain('obsidian://open?vault=MyVault&file=Some Link');
113
- expect(html).toContain('<mark>highlighted</mark>');
114
- });
115
- test('should handle async render functions', async () => {
116
- // Simulate an async render function
117
- const asyncRenderFunc = async (source) => {
118
- // Simulate some async processing
119
- await new Promise(resolve => setTimeout(resolve, 10));
120
- return source
121
- .replace(/^#### (.+)$/gm, '<h4>$1</h4>')
122
- .replace(/`(.+?)`/g, '<code>$1</code>');
123
- };
124
- const markdown = (0, markdown_1.createMarkdownWithRenderFunction)(asyncRenderFunc);
125
- const source = '#### Async Test\n\nSome `code` here.';
126
- const encoder = new TextEncoder();
127
- const srcBytes = encoder.encode(source);
128
- const rctx = {
129
- ctx: {},
130
- src: srcBytes,
131
- renderTOC: false,
132
- getRenderer: type_1.DefaultRendererFunc,
133
- };
134
- const dctx = {
135
- document: null,
136
- documentID: 'async-test',
137
- documentName: 'async-test.md',
138
- filename: 'async-test.md',
139
- };
140
- const result = await markdown.render(rctx, dctx);
141
- expect(result).toBeDefined();
142
- expect(result.headers()).toHaveLength(1);
143
- expect(result.headers()[0].name()).toBe('Async Test');
144
- expect(result.headers()[0].level()).toBe(4);
145
- const html = new TextDecoder().decode(result.bytes());
146
- expect(html).toContain('<h4>Async Test</h4>');
147
- expect(html).toContain('<code>code</code>');
148
- });
149
- });
150
- //# sourceMappingURL=external-adapter.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"external-adapter.test.js","sourceRoot":"","sources":["../../../../../internal/domain/markdown/test/external-adapter.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=markdown.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markdown.test.d.ts","sourceRoot":"","sources":["../../../../../internal/domain/markdown/test/markdown.test.ts"],"names":[],"mappings":""}
@@ -1,88 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const markdown_1 = require("../factory/markdown");
7
- const type_1 = require("../type");
8
- const markdown_it_1 = __importDefault(require("markdown-it"));
9
- describe('Markdown Domain', () => {
10
- test('should create markdown instance with default configuration', async () => {
11
- const markdown = (0, markdown_1.createMarkdown)();
12
- const source = '# Hello World\n\nThis is a **test** markdown.';
13
- const encoder = new TextEncoder();
14
- const srcBytes = encoder.encode(source);
15
- const rctx = {
16
- ctx: {},
17
- src: srcBytes,
18
- renderTOC: false,
19
- getRenderer: type_1.DefaultRendererFunc,
20
- };
21
- const dctx = {
22
- document: null,
23
- documentID: 'test',
24
- documentName: 'test.md',
25
- filename: 'test.md',
26
- };
27
- const result = await markdown.render(rctx, dctx);
28
- expect(result).toBeDefined();
29
- expect(result.bytes()).toBeInstanceOf(Uint8Array);
30
- expect(result.headers()).toHaveLength(1);
31
- expect(result.headers()[0].name()).toBe('Hello World');
32
- expect(result.headers()[0].level()).toBe(1);
33
- });
34
- test('should work with external MarkdownIt instance', async () => {
35
- const externalMd = new markdown_it_1.default();
36
- const markdown = (0, markdown_1.createMarkdownWithExternalRenderer)(externalMd);
37
- const source = '## Test Header\n\nSome content.';
38
- const encoder = new TextEncoder();
39
- const srcBytes = encoder.encode(source);
40
- const rctx = {
41
- ctx: {},
42
- src: srcBytes,
43
- renderTOC: false,
44
- getRenderer: type_1.DefaultRendererFunc,
45
- };
46
- const dctx = {
47
- document: null,
48
- documentID: 'test2',
49
- documentName: 'test2.md',
50
- filename: 'test2.md',
51
- };
52
- const result = await markdown.render(rctx, dctx);
53
- expect(result).toBeDefined();
54
- expect(result.headers()).toHaveLength(1);
55
- expect(result.headers()[0].name()).toBe('Test Header');
56
- expect(result.headers()[0].level()).toBe(2);
57
- });
58
- test('should generate table of contents', async () => {
59
- const markdown = (0, markdown_1.createMarkdown)();
60
- const source = `# Chapter 1
61
- ## Section 1.1
62
- ### Subsection 1.1.1
63
- ## Section 1.2
64
- # Chapter 2`;
65
- const encoder = new TextEncoder();
66
- const srcBytes = encoder.encode(source);
67
- const rctx = {
68
- ctx: {},
69
- src: srcBytes,
70
- renderTOC: true,
71
- getRenderer: type_1.DefaultRendererFunc,
72
- };
73
- const dctx = {
74
- document: null,
75
- documentID: 'toc-test',
76
- documentName: 'toc-test.md',
77
- filename: 'toc-test.md',
78
- };
79
- const result = await markdown.render(rctx, dctx);
80
- expect(result.headers()).toHaveLength(5);
81
- const toc = result.tableOfContents();
82
- const tocHtml = toc.toHTML(1, 6, false);
83
- expect(tocHtml).toContain('<ul>');
84
- expect(tocHtml).toContain('Chapter 1');
85
- expect(tocHtml).toContain('Section 1.1');
86
- });
87
- });
88
- //# sourceMappingURL=markdown.test.js.map