@mdfriday/foundry 25.8.8 → 25.8.10

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 (190) hide show
  1. package/README.md +4 -0
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +3 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/internal/application/incremental-build-coordinator.d.ts +2 -0
  7. package/dist/internal/application/incremental-build-coordinator.d.ts.map +1 -1
  8. package/dist/internal/application/incremental-build-coordinator.js +2 -2
  9. package/dist/internal/application/incremental-build-coordinator.js.map +1 -1
  10. package/dist/internal/application/ssg.d.ts +6 -5
  11. package/dist/internal/application/ssg.d.ts.map +1 -1
  12. package/dist/internal/application/ssg.js +12 -11
  13. package/dist/internal/application/ssg.js.map +1 -1
  14. package/dist/internal/domain/config/tests/entity-config.test.d.ts +2 -0
  15. package/dist/internal/domain/config/tests/entity-config.test.d.ts.map +1 -0
  16. package/dist/internal/domain/config/tests/entity-config.test.js +199 -0
  17. package/dist/internal/domain/config/tests/entity-config.test.js.map +1 -0
  18. package/dist/internal/domain/config/tests/entity-root.test.d.ts +2 -0
  19. package/dist/internal/domain/config/tests/entity-root.test.d.ts.map +1 -0
  20. package/dist/internal/domain/config/tests/entity-root.test.js +235 -0
  21. package/dist/internal/domain/config/tests/entity-root.test.js.map +1 -0
  22. package/dist/internal/domain/config/tests/factory-config.test.d.ts +2 -0
  23. package/dist/internal/domain/config/tests/factory-config.test.d.ts.map +1 -0
  24. package/dist/internal/domain/config/tests/factory-config.test.js +84 -0
  25. package/dist/internal/domain/config/tests/factory-config.test.js.map +1 -0
  26. package/dist/internal/domain/config/tests/index.test.d.ts +2 -0
  27. package/dist/internal/domain/config/tests/index.test.d.ts.map +1 -0
  28. package/dist/internal/domain/config/tests/index.test.js +197 -0
  29. package/dist/internal/domain/config/tests/index.test.js.map +1 -0
  30. package/dist/internal/domain/config/tests/mock-fs.d.ts +26 -0
  31. package/dist/internal/domain/config/tests/mock-fs.d.ts.map +1 -0
  32. package/dist/internal/domain/config/tests/mock-fs.js +281 -0
  33. package/dist/internal/domain/config/tests/mock-fs.js.map +1 -0
  34. package/dist/internal/domain/config/tests/type.test.d.ts +2 -0
  35. package/dist/internal/domain/config/tests/type.test.d.ts.map +1 -0
  36. package/dist/internal/domain/config/tests/type.test.js +272 -0
  37. package/dist/internal/domain/config/tests/type.test.js.map +1 -0
  38. package/dist/internal/domain/config/tests/vo-module.test.d.ts +2 -0
  39. package/dist/internal/domain/config/tests/vo-module.test.d.ts.map +1 -0
  40. package/dist/internal/domain/config/tests/vo-module.test.js +267 -0
  41. package/dist/internal/domain/config/tests/vo-module.test.js.map +1 -0
  42. package/dist/internal/domain/config/tests/vo-root.test.d.ts +2 -0
  43. package/dist/internal/domain/config/tests/vo-root.test.d.ts.map +1 -0
  44. package/dist/internal/domain/config/tests/vo-root.test.js +165 -0
  45. package/dist/internal/domain/config/tests/vo-root.test.js.map +1 -0
  46. package/dist/internal/domain/config/tests/vo-service.test.d.ts +2 -0
  47. package/dist/internal/domain/config/tests/vo-service.test.d.ts.map +1 -0
  48. package/dist/internal/domain/config/tests/vo-service.test.js +266 -0
  49. package/dist/internal/domain/config/tests/vo-service.test.js.map +1 -0
  50. package/dist/internal/domain/content/factory/hub.js +1 -1
  51. package/dist/internal/domain/content/factory/hub.js.map +1 -1
  52. package/dist/internal/domain/content/type.d.ts +2 -1
  53. package/dist/internal/domain/content/type.d.ts.map +1 -1
  54. package/dist/internal/domain/content/type.js.map +1 -1
  55. package/dist/internal/domain/fs/entity/overlayfs.js +1 -1
  56. package/dist/internal/domain/fs/entity/overlayfs.js.map +1 -1
  57. package/dist/internal/domain/fs/tests/entity-basefs.test.d.ts +2 -0
  58. package/dist/internal/domain/fs/tests/entity-basefs.test.d.ts.map +1 -0
  59. package/dist/internal/domain/fs/tests/entity-basefs.test.js +279 -0
  60. package/dist/internal/domain/fs/tests/entity-basefs.test.js.map +1 -0
  61. package/dist/internal/domain/fs/tests/entity-fs.test.d.ts +2 -0
  62. package/dist/internal/domain/fs/tests/entity-fs.test.d.ts.map +1 -0
  63. package/dist/internal/domain/fs/tests/entity-fs.test.js +230 -0
  64. package/dist/internal/domain/fs/tests/entity-fs.test.js.map +1 -0
  65. package/dist/internal/domain/fs/tests/entity-originfs.test.d.ts +2 -0
  66. package/dist/internal/domain/fs/tests/entity-originfs.test.d.ts.map +1 -0
  67. package/dist/internal/domain/fs/tests/entity-originfs.test.js +47 -0
  68. package/dist/internal/domain/fs/tests/entity-originfs.test.js.map +1 -0
  69. package/dist/internal/domain/fs/tests/entity-overlaydir.test.d.ts +2 -0
  70. package/dist/internal/domain/fs/tests/entity-overlaydir.test.d.ts.map +1 -0
  71. package/dist/internal/domain/fs/tests/entity-overlaydir.test.js +293 -0
  72. package/dist/internal/domain/fs/tests/entity-overlaydir.test.js.map +1 -0
  73. package/dist/internal/domain/fs/tests/entity-overlayfs.test.d.ts +2 -0
  74. package/dist/internal/domain/fs/tests/entity-overlayfs.test.d.ts.map +1 -0
  75. package/dist/internal/domain/fs/tests/entity-overlayfs.test.js +281 -0
  76. package/dist/internal/domain/fs/tests/entity-overlayfs.test.js.map +1 -0
  77. package/dist/internal/domain/fs/tests/entity-service.test.d.ts +2 -0
  78. package/dist/internal/domain/fs/tests/entity-service.test.d.ts.map +1 -0
  79. package/dist/internal/domain/fs/tests/entity-service.test.js +43 -0
  80. package/dist/internal/domain/fs/tests/entity-service.test.js.map +1 -0
  81. package/dist/internal/domain/fs/tests/factory-fs.test.d.ts +2 -0
  82. package/dist/internal/domain/fs/tests/factory-fs.test.d.ts.map +1 -0
  83. package/dist/internal/domain/fs/tests/factory-fs.test.js +105 -0
  84. package/dist/internal/domain/fs/tests/factory-fs.test.js.map +1 -0
  85. package/dist/internal/domain/fs/tests/type.test.d.ts +2 -0
  86. package/dist/internal/domain/fs/tests/type.test.d.ts.map +1 -0
  87. package/dist/internal/domain/fs/tests/type.test.js +113 -0
  88. package/dist/internal/domain/fs/tests/type.test.js.map +1 -0
  89. package/dist/internal/domain/fs/tests/vo-dir.test.d.ts +2 -0
  90. package/dist/internal/domain/fs/tests/vo-dir.test.d.ts.map +1 -0
  91. package/dist/internal/domain/fs/tests/vo-dir.test.js +211 -0
  92. package/dist/internal/domain/fs/tests/vo-dir.test.js.map +1 -0
  93. package/dist/internal/domain/fs/tests/vo-file.test.d.ts +2 -0
  94. package/dist/internal/domain/fs/tests/vo-file.test.d.ts.map +1 -0
  95. package/dist/internal/domain/fs/tests/vo-file.test.js +256 -0
  96. package/dist/internal/domain/fs/tests/vo-file.test.js.map +1 -0
  97. package/dist/internal/domain/fs/tests/vo-fileinfo.test.d.ts +2 -0
  98. package/dist/internal/domain/fs/tests/vo-fileinfo.test.d.ts.map +1 -0
  99. package/dist/internal/domain/fs/tests/vo-fileinfo.test.js +165 -0
  100. package/dist/internal/domain/fs/tests/vo-fileinfo.test.js.map +1 -0
  101. package/dist/internal/domain/fs/tests/vo-filemeta.test.d.ts +2 -0
  102. package/dist/internal/domain/fs/tests/vo-filemeta.test.d.ts.map +1 -0
  103. package/dist/internal/domain/fs/tests/vo-filemeta.test.js +171 -0
  104. package/dist/internal/domain/fs/tests/vo-filemeta.test.js.map +1 -0
  105. package/dist/internal/domain/fs/tests/vo-filesystemscollector.test.d.ts +2 -0
  106. package/dist/internal/domain/fs/tests/vo-filesystemscollector.test.d.ts.map +1 -0
  107. package/dist/internal/domain/fs/tests/vo-filesystemscollector.test.js +298 -0
  108. package/dist/internal/domain/fs/tests/vo-filesystemscollector.test.js.map +1 -0
  109. package/dist/internal/domain/fs/tests/vo-filevitural.test.d.ts +2 -0
  110. package/dist/internal/domain/fs/tests/vo-filevitural.test.d.ts.map +1 -0
  111. package/dist/internal/domain/fs/tests/vo-filevitural.test.js +167 -0
  112. package/dist/internal/domain/fs/tests/vo-filevitural.test.js.map +1 -0
  113. package/dist/internal/domain/fs/tests/vo-incremental-file-collector.test.d.ts +2 -0
  114. package/dist/internal/domain/fs/tests/vo-incremental-file-collector.test.d.ts.map +1 -0
  115. package/dist/internal/domain/fs/tests/vo-incremental-file-collector.test.js +396 -0
  116. package/dist/internal/domain/fs/tests/vo-incremental-file-collector.test.js.map +1 -0
  117. package/dist/internal/domain/fs/tests/vo-osfs.test.d.ts +2 -0
  118. package/dist/internal/domain/fs/tests/vo-osfs.test.d.ts.map +1 -0
  119. package/dist/internal/domain/fs/tests/vo-osfs.test.js +363 -0
  120. package/dist/internal/domain/fs/tests/vo-osfs.test.js.map +1 -0
  121. package/dist/internal/domain/fs/tests/vo-overlayfs-factory.test.d.ts +2 -0
  122. package/dist/internal/domain/fs/tests/vo-overlayfs-factory.test.d.ts.map +1 -0
  123. package/dist/internal/domain/fs/tests/vo-overlayfs-factory.test.js +430 -0
  124. package/dist/internal/domain/fs/tests/vo-overlayfs-factory.test.js.map +1 -0
  125. package/dist/internal/domain/fs/tests/vo-overlayoptions.test.d.ts +2 -0
  126. package/dist/internal/domain/fs/tests/vo-overlayoptions.test.d.ts.map +1 -0
  127. package/dist/internal/domain/fs/tests/vo-overlayoptions.test.js +402 -0
  128. package/dist/internal/domain/fs/tests/vo-overlayoptions.test.js.map +1 -0
  129. package/dist/internal/domain/fs/tests/vo-static-copier.test.d.ts +2 -0
  130. package/dist/internal/domain/fs/tests/vo-static-copier.test.d.ts.map +1 -0
  131. package/dist/internal/domain/fs/tests/vo-static-copier.test.js +320 -0
  132. package/dist/internal/domain/fs/tests/vo-static-copier.test.js.map +1 -0
  133. package/dist/internal/domain/fs/tests/vo-walkway.test.d.ts +2 -0
  134. package/dist/internal/domain/fs/tests/vo-walkway.test.d.ts.map +1 -0
  135. package/dist/internal/domain/fs/tests/vo-walkway.test.js +295 -0
  136. package/dist/internal/domain/fs/tests/vo-walkway.test.js.map +1 -0
  137. package/dist/internal/domain/markdown/entity/markdown.d.ts +0 -21
  138. package/dist/internal/domain/markdown/entity/markdown.d.ts.map +1 -1
  139. package/dist/internal/domain/markdown/entity/markdown.js +2 -35
  140. package/dist/internal/domain/markdown/entity/markdown.js.map +1 -1
  141. package/dist/internal/domain/markdown/factory/markdown.d.ts +2 -38
  142. package/dist/internal/domain/markdown/factory/markdown.d.ts.map +1 -1
  143. package/dist/internal/domain/markdown/factory/markdown.js +2 -70
  144. package/dist/internal/domain/markdown/factory/markdown.js.map +1 -1
  145. package/dist/internal/domain/markdown/index.d.ts +0 -3
  146. package/dist/internal/domain/markdown/index.d.ts.map +1 -1
  147. package/dist/internal/domain/markdown/index.js +0 -3
  148. package/dist/internal/domain/markdown/index.js.map +1 -1
  149. package/dist/internal/domain/markdown/type.d.ts +1 -16
  150. package/dist/internal/domain/markdown/type.d.ts.map +1 -1
  151. package/dist/internal/domain/markdown/type.js.map +1 -1
  152. package/dist/internal/domain/markdown/vo/parserresult.d.ts +1 -60
  153. package/dist/internal/domain/markdown/vo/parserresult.d.ts.map +1 -1
  154. package/dist/internal/domain/markdown/vo/parserresult.js +1 -174
  155. package/dist/internal/domain/markdown/vo/parserresult.js.map +1 -1
  156. package/dist/internal/domain/paths/test/pathoperations.test.js +1 -1
  157. package/dist/internal/domain/paths/test/pathoperations.test.js.map +1 -1
  158. package/dist/internal/domain/template/vo/registry.d.ts.map +1 -1
  159. package/dist/internal/domain/template/vo/registry.js +33 -0
  160. package/dist/internal/domain/template/vo/registry.js.map +1 -1
  161. package/dist/pkg/log/manager.js +1 -1
  162. package/package.json +2 -25
  163. package/dist/internal/application/test-incremental-ssg.d.ts +0 -9
  164. package/dist/internal/application/test-incremental-ssg.d.ts.map +0 -1
  165. package/dist/internal/application/test-incremental-ssg.js +0 -83
  166. package/dist/internal/application/test-incremental-ssg.js.map +0 -1
  167. package/dist/internal/application/test-ssg.d.ts +0 -8
  168. package/dist/internal/application/test-ssg.d.ts.map +0 -1
  169. package/dist/internal/application/test-ssg.js +0 -30
  170. package/dist/internal/application/test-ssg.js.map +0 -1
  171. package/dist/internal/domain/markdown/test/external-adapter.test.d.ts +0 -2
  172. package/dist/internal/domain/markdown/test/external-adapter.test.d.ts.map +0 -1
  173. package/dist/internal/domain/markdown/test/external-adapter.test.js +0 -150
  174. package/dist/internal/domain/markdown/test/external-adapter.test.js.map +0 -1
  175. package/dist/internal/domain/markdown/test/markdown.test.d.ts +0 -2
  176. package/dist/internal/domain/markdown/test/markdown.test.d.ts.map +0 -1
  177. package/dist/internal/domain/markdown/test/markdown.test.js +0 -88
  178. package/dist/internal/domain/markdown/test/markdown.test.js.map +0 -1
  179. package/dist/internal/domain/markdown/vo/externaladapter.d.ts +0 -63
  180. package/dist/internal/domain/markdown/vo/externaladapter.d.ts.map +0 -1
  181. package/dist/internal/domain/markdown/vo/externaladapter.js +0 -194
  182. package/dist/internal/domain/markdown/vo/externaladapter.js.map +0 -1
  183. package/dist/internal/domain/markdown/vo/markdownit.d.ts +0 -33
  184. package/dist/internal/domain/markdown/vo/markdownit.d.ts.map +0 -1
  185. package/dist/internal/domain/markdown/vo/markdownit.js +0 -175
  186. package/dist/internal/domain/markdown/vo/markdownit.js.map +0 -1
  187. package/dist/pkg/web/server/example.d.ts +0 -2
  188. package/dist/pkg/web/server/example.d.ts.map +0 -1
  189. package/dist/pkg/web/server/example.js +0 -43
  190. package/dist/pkg/web/server/example.js.map +0 -1
@@ -0,0 +1,279 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const basefs_1 = require("../entity/basefs");
37
+ const path = __importStar(require("path"));
38
+ // Mock dependencies
39
+ jest.mock('../vo/filemeta');
40
+ jest.mock('../vo/fileinfo');
41
+ jest.mock('../vo/file');
42
+ jest.mock('../vo/dir');
43
+ jest.mock('@pkg/log');
44
+ describe('BaseFs Entity', () => {
45
+ let mockFs;
46
+ let baseFs;
47
+ let roots;
48
+ beforeEach(() => {
49
+ roots = ['/root1', '/root2'];
50
+ mockFs = {
51
+ create: jest.fn(),
52
+ mkdir: jest.fn(),
53
+ mkdirAll: jest.fn(),
54
+ open: jest.fn(),
55
+ openFile: jest.fn(),
56
+ remove: jest.fn(),
57
+ removeAll: jest.fn(),
58
+ rename: jest.fn(),
59
+ stat: jest.fn(),
60
+ name: jest.fn().mockReturnValue('MockFs'),
61
+ chmod: jest.fn(),
62
+ chown: jest.fn(),
63
+ chtimes: jest.fn(),
64
+ };
65
+ baseFs = new basefs_1.BaseFs(mockFs, roots);
66
+ });
67
+ afterEach(() => {
68
+ jest.clearAllMocks();
69
+ });
70
+ describe('constructor', () => {
71
+ it('should initialize with filesystem and roots', () => {
72
+ expect(baseFs.fs).toBe(mockFs);
73
+ expect(baseFs.roots).toBe(roots);
74
+ });
75
+ });
76
+ describe('toAbsolutePath', () => {
77
+ it('should return name when no roots are provided', () => {
78
+ const emptyRootsFs = new basefs_1.BaseFs(mockFs, []);
79
+ const result = emptyRootsFs.toAbsolutePath('test.txt');
80
+ expect(result).toBe('test.txt');
81
+ });
82
+ it('should return root when name is empty', () => {
83
+ const result = baseFs.toAbsolutePath('');
84
+ expect(result).toBe('/root1');
85
+ });
86
+ it('should join root with relative path', () => {
87
+ const result = baseFs.toAbsolutePath('test.txt');
88
+ expect(result).toBe(path.join('/root1', 'test.txt'));
89
+ });
90
+ it('should return absolute path when it starts with root', () => {
91
+ const absPath = '/root1/test.txt';
92
+ const result = baseFs.toAbsolutePath(absPath);
93
+ expect(result).toBe(absPath);
94
+ });
95
+ it('should treat absolute path as relative when it does not start with root', () => {
96
+ const result = baseFs.toAbsolutePath('/other/test.txt');
97
+ expect(result).toBe(path.join('/root1', 'other/test.txt'));
98
+ });
99
+ });
100
+ describe('getRoot', () => {
101
+ it('should return matching root for given name', () => {
102
+ const result = baseFs.getRoot('/root2/test.txt');
103
+ expect(result).toBe('/root2');
104
+ });
105
+ it('should return first matching root', () => {
106
+ const result = baseFs.getRoot('/root1/test.txt');
107
+ expect(result).toBe('/root1');
108
+ });
109
+ it('should return empty string when no root matches', () => {
110
+ const result = baseFs.getRoot('/other/test.txt');
111
+ expect(result).toBe('');
112
+ });
113
+ });
114
+ describe('stat', () => {
115
+ it('should stat file and return FileInfo with metadata', async () => {
116
+ const mockFileInfo = {
117
+ isDir: jest.fn().mockReturnValue(false),
118
+ name: jest.fn().mockReturnValue('test.txt'),
119
+ size: jest.fn().mockReturnValue(100),
120
+ mode: jest.fn().mockReturnValue(0o644),
121
+ modTime: jest.fn().mockReturnValue(new Date()),
122
+ sys: jest.fn().mockReturnValue(null),
123
+ };
124
+ const mockWrappedFileInfo = {
125
+ meta: jest.fn().mockReturnValue({
126
+ setOpenFunc: jest.fn(),
127
+ setComponentRoot: jest.fn(),
128
+ }),
129
+ };
130
+ mockFs.stat.mockResolvedValue(mockFileInfo);
131
+ const { newFileInfo } = require('../vo/fileinfo');
132
+ newFileInfo.mockReturnValue(mockWrappedFileInfo);
133
+ const result = await baseFs.stat('test.txt');
134
+ expect(mockFs.stat).toHaveBeenCalledWith(path.join('/root1', 'test.txt'));
135
+ expect(newFileInfo).toHaveBeenCalledWith(mockFileInfo, path.join('/root1', 'test.txt'));
136
+ expect(mockWrappedFileInfo.meta().setComponentRoot).toHaveBeenCalledWith('/root1');
137
+ expect(mockWrappedFileInfo.meta().setOpenFunc).toHaveBeenCalled();
138
+ expect(result).toBe(mockWrappedFileInfo);
139
+ });
140
+ it('should stat directory and return FileInfo with directory opener', async () => {
141
+ const mockFileInfo = {
142
+ isDir: jest.fn().mockReturnValue(true),
143
+ name: jest.fn().mockReturnValue('testdir'),
144
+ size: jest.fn().mockReturnValue(0),
145
+ mode: jest.fn().mockReturnValue(0o755),
146
+ modTime: jest.fn().mockReturnValue(new Date()),
147
+ sys: jest.fn().mockReturnValue(null),
148
+ };
149
+ const mockWrappedFileInfo = {
150
+ meta: jest.fn().mockReturnValue({
151
+ setOpenFunc: jest.fn(),
152
+ }),
153
+ };
154
+ mockFs.stat.mockResolvedValue(mockFileInfo);
155
+ const { newFileInfo } = require('../vo/fileinfo');
156
+ newFileInfo.mockReturnValue(mockWrappedFileInfo);
157
+ const result = await baseFs.stat('testdir');
158
+ expect(mockFs.stat).toHaveBeenCalledWith(path.join('/root1', 'testdir'));
159
+ expect(newFileInfo).toHaveBeenCalledWith(mockFileInfo, path.join('/root1', 'testdir'));
160
+ expect(mockWrappedFileInfo.meta().setOpenFunc).toHaveBeenCalled();
161
+ expect(result).toBe(mockWrappedFileInfo);
162
+ });
163
+ it('should propagate errors from underlying filesystem', async () => {
164
+ const error = new Error('File not found');
165
+ mockFs.stat.mockRejectedValue(error);
166
+ await expect(baseFs.stat('nonexistent.txt')).rejects.toThrow(error);
167
+ });
168
+ });
169
+ describe('open', () => {
170
+ it('should open file when it is not a directory', async () => {
171
+ const mockFileInfo = {
172
+ isDir: jest.fn().mockReturnValue(false),
173
+ name: jest.fn().mockReturnValue('test.txt'),
174
+ size: jest.fn().mockReturnValue(100),
175
+ mode: jest.fn().mockReturnValue(0o644),
176
+ modTime: jest.fn().mockReturnValue(new Date()),
177
+ sys: jest.fn().mockReturnValue(null),
178
+ };
179
+ const mockFile = {};
180
+ mockFs.stat.mockResolvedValue(mockFileInfo);
181
+ mockFs.open.mockResolvedValue(mockFile);
182
+ const mockWrappedFile = {};
183
+ const { newFileWithMeta } = require('../vo/file');
184
+ const { newFileMeta } = require('../vo/filemeta');
185
+ newFileMeta.mockReturnValue({ setComponentRoot: jest.fn() });
186
+ newFileWithMeta.mockReturnValue(mockWrappedFile);
187
+ const result = await baseFs.open('test.txt');
188
+ expect(mockFs.stat).toHaveBeenCalledWith(path.join('/root1', 'test.txt'));
189
+ expect(result).toBe(mockWrappedFile);
190
+ });
191
+ it('should open directory when it is a directory', async () => {
192
+ const mockFileInfo = {
193
+ isDir: jest.fn().mockReturnValue(true),
194
+ name: jest.fn().mockReturnValue('testdir'),
195
+ size: jest.fn().mockReturnValue(0),
196
+ mode: jest.fn().mockReturnValue(0o755),
197
+ modTime: jest.fn().mockReturnValue(new Date()),
198
+ sys: jest.fn().mockReturnValue(null),
199
+ };
200
+ const mockFile = {};
201
+ mockFs.stat.mockResolvedValue(mockFileInfo);
202
+ mockFs.open.mockResolvedValue(mockFile);
203
+ const mockDirFile = {};
204
+ const { newDirFile } = require('../vo/dir');
205
+ const { newFileMeta } = require('../vo/filemeta');
206
+ newFileMeta.mockReturnValue({ setComponentRoot: jest.fn() });
207
+ newDirFile.mockReturnValue(mockDirFile);
208
+ const result = await baseFs.open('testdir');
209
+ expect(mockFs.stat).toHaveBeenCalledWith(path.join('/root1', 'testdir'));
210
+ expect(result).toBe(mockDirFile);
211
+ });
212
+ });
213
+ describe('filesystem delegation methods', () => {
214
+ it('should delegate create with absolute path', async () => {
215
+ const mockFile = {};
216
+ mockFs.create.mockResolvedValue(mockFile);
217
+ const result = await baseFs.create('test.txt');
218
+ expect(mockFs.create).toHaveBeenCalledWith(path.join('/root1', 'test.txt'));
219
+ expect(result).toBe(mockFile);
220
+ });
221
+ it('should delegate mkdir with absolute path', async () => {
222
+ await baseFs.mkdir('testdir', 0o755);
223
+ expect(mockFs.mkdir).toHaveBeenCalledWith(path.join('/root1', 'testdir'), 0o755);
224
+ });
225
+ it('should delegate mkdirAll with absolute path', async () => {
226
+ await baseFs.mkdirAll('test/deep/dir', 0o755);
227
+ expect(mockFs.mkdirAll).toHaveBeenCalledWith(path.join('/root1', 'test/deep/dir'), 0o755);
228
+ });
229
+ it('should delegate openFile with absolute path', async () => {
230
+ const mockFile = {};
231
+ mockFs.openFile.mockResolvedValue(mockFile);
232
+ const result = await baseFs.openFile('test.txt', 1, 0o644);
233
+ expect(mockFs.openFile).toHaveBeenCalledWith(path.join('/root1', 'test.txt'), 1, 0o644);
234
+ expect(result).toBe(mockFile);
235
+ });
236
+ it('should delegate remove with absolute path', async () => {
237
+ await baseFs.remove('test.txt');
238
+ expect(mockFs.remove).toHaveBeenCalledWith(path.join('/root1', 'test.txt'));
239
+ });
240
+ it('should delegate removeAll with absolute path', async () => {
241
+ await baseFs.removeAll('testdir');
242
+ expect(mockFs.removeAll).toHaveBeenCalledWith(path.join('/root1', 'testdir'));
243
+ });
244
+ it('should delegate rename with absolute paths', async () => {
245
+ await baseFs.rename('old.txt', 'new.txt');
246
+ expect(mockFs.rename).toHaveBeenCalledWith(path.join('/root1', 'old.txt'), path.join('/root1', 'new.txt'));
247
+ });
248
+ it('should delegate chmod with absolute path', async () => {
249
+ await baseFs.chmod('test.txt', 0o644);
250
+ expect(mockFs.chmod).toHaveBeenCalledWith(path.join('/root1', 'test.txt'), 0o644);
251
+ });
252
+ it('should delegate chown with absolute path', async () => {
253
+ await baseFs.chown('test.txt', 1000, 1000);
254
+ expect(mockFs.chown).toHaveBeenCalledWith(path.join('/root1', 'test.txt'), 1000, 1000);
255
+ });
256
+ it('should delegate chtimes with absolute path', async () => {
257
+ const atime = new Date('2023-01-01');
258
+ const mtime = new Date('2023-01-02');
259
+ await baseFs.chtimes('test.txt', atime, mtime);
260
+ expect(mockFs.chtimes).toHaveBeenCalledWith(path.join('/root1', 'test.txt'), atime, mtime);
261
+ });
262
+ });
263
+ describe('name', () => {
264
+ it('should return name with underlying filesystem name', () => {
265
+ const result = baseFs.name();
266
+ expect(result).toBe('BaseFs(MockFs)');
267
+ expect(mockFs.name).toHaveBeenCalledTimes(1);
268
+ });
269
+ });
270
+ describe('newBaseFs factory function', () => {
271
+ it('should create new BaseFs instance', () => {
272
+ const result = (0, basefs_1.newBaseFs)(mockFs, roots);
273
+ expect(result).toBeInstanceOf(basefs_1.BaseFs);
274
+ expect(result.fs).toBe(mockFs);
275
+ expect(result.roots).toBe(roots);
276
+ });
277
+ });
278
+ });
279
+ //# sourceMappingURL=entity-basefs.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-basefs.test.js","sourceRoot":"","sources":["../../../../../internal/domain/fs/tests/entity-basefs.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=entity-fs.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-fs.test.d.ts","sourceRoot":"","sources":["../../../../../internal/domain/fs/tests/entity-fs.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fs_1 = require("../entity/fs");
4
+ const static_copier_1 = require("../vo/static-copier");
5
+ const incremental_file_collector_1 = require("../vo/incremental-file-collector");
6
+ // Mock dependencies
7
+ jest.mock('../entity/service');
8
+ jest.mock('../vo/static-copier');
9
+ jest.mock('../vo/incremental-file-collector');
10
+ jest.mock('../vo/walkway');
11
+ jest.mock('../entity/basefs');
12
+ describe('Fs Entity', () => {
13
+ let mockOriginFs;
14
+ let mockPrompts;
15
+ let mockWorkflows;
16
+ let mockContent;
17
+ let mockLayouts;
18
+ let mockStatics;
19
+ let mockAssets;
20
+ let mockWork;
21
+ let mockService;
22
+ let fs;
23
+ beforeEach(() => {
24
+ // Create mock filesystems
25
+ mockOriginFs = {
26
+ getOrigin: jest.fn(),
27
+ getSource: jest.fn(),
28
+ publish: jest.fn(),
29
+ };
30
+ mockPrompts = {};
31
+ mockWorkflows = {};
32
+ mockContent = {};
33
+ mockLayouts = {};
34
+ mockStatics = {};
35
+ mockAssets = {};
36
+ mockWork = {};
37
+ // Mock service
38
+ mockService = {
39
+ newFileMetaInfo: jest.fn(),
40
+ newFileMetaInfoWithContent: jest.fn(),
41
+ };
42
+ // Mock the newService function
43
+ const { newService } = require('../entity/service');
44
+ newService.mockReturnValue(mockService);
45
+ // Create Fs instance
46
+ fs = new fs_1.Fs(mockOriginFs, mockPrompts, mockWorkflows, mockContent, mockLayouts, mockStatics, mockAssets, mockWork);
47
+ });
48
+ afterEach(() => {
49
+ jest.clearAllMocks();
50
+ });
51
+ describe('constructor', () => {
52
+ it('should initialize all filesystem properties correctly', () => {
53
+ expect(fs.originFs).toBe(mockOriginFs);
54
+ expect(fs.prompts).toBe(mockPrompts);
55
+ expect(fs.workflows).toBe(mockWorkflows);
56
+ expect(fs.content).toBe(mockContent);
57
+ expect(fs.layouts).toBe(mockLayouts);
58
+ expect(fs.statics).toBe(mockStatics);
59
+ expect(fs.assets).toBe(mockAssets);
60
+ expect(fs.work).toBe(mockWork);
61
+ expect(fs.service).toBe(mockService);
62
+ });
63
+ });
64
+ describe('filesystem access methods', () => {
65
+ it('should return OS filesystem from originFs', () => {
66
+ const mockOsFs = {};
67
+ mockOriginFs.getOrigin.mockReturnValue(mockOsFs);
68
+ const result = fs.os();
69
+ expect(result).toBe(mockOsFs);
70
+ expect(mockOriginFs.getOrigin).toHaveBeenCalledTimes(1);
71
+ });
72
+ it('should return work filesystem', () => {
73
+ const result = fs.workFs();
74
+ expect(result).toBe(mockWork);
75
+ });
76
+ it('should return workflow filesystem', () => {
77
+ const result = fs.workflowFs();
78
+ expect(result).toBe(mockWorkflows);
79
+ });
80
+ it('should return prompt filesystem', () => {
81
+ const result = fs.promptFs();
82
+ expect(result).toBe(mockPrompts);
83
+ });
84
+ it('should return content filesystem', () => {
85
+ const result = fs.contentFs();
86
+ expect(result).toBe(mockContent);
87
+ });
88
+ it('should return layouts filesystem', () => {
89
+ const result = fs.layoutsFs();
90
+ expect(result).toBe(mockLayouts);
91
+ });
92
+ it('should return static filesystem', () => {
93
+ const result = fs.staticFs();
94
+ expect(result).toBe(mockStatics);
95
+ });
96
+ it('should return assets filesystem', () => {
97
+ const result = fs.assetsFs();
98
+ expect(result).toBe(mockAssets);
99
+ });
100
+ it('should return publish filesystem from originFs', () => {
101
+ const mockPublishFs = {};
102
+ mockOriginFs.publish.mockReturnValue(mockPublishFs);
103
+ const result = fs.publishFs();
104
+ expect(result).toBe(mockPublishFs);
105
+ expect(mockOriginFs.publish).toHaveBeenCalledTimes(1);
106
+ });
107
+ });
108
+ describe('copyStatic', () => {
109
+ it('should create StaticCopier and call copy', () => {
110
+ const mockFroms = [{}, {}];
111
+ const mockTo = {};
112
+ const mockCopyResult = Promise.resolve();
113
+ const mockStaticCopier = {
114
+ copy: jest.fn().mockReturnValue(mockCopyResult),
115
+ };
116
+ static_copier_1.StaticCopier.mockImplementation(() => mockStaticCopier);
117
+ const result = fs.copyStatic(mockFroms, mockTo);
118
+ expect(static_copier_1.StaticCopier).toHaveBeenCalledWith(mockFroms, mockTo);
119
+ expect(mockStaticCopier.copy).toHaveBeenCalledTimes(1);
120
+ expect(result).toBe(mockCopyResult);
121
+ });
122
+ });
123
+ describe('FileMetaInfo creation methods', () => {
124
+ it('should create FileMetaInfo with filename', () => {
125
+ const filename = 'test.txt';
126
+ const mockFileMetaInfo = {};
127
+ mockService.newFileMetaInfo.mockReturnValue(mockFileMetaInfo);
128
+ const result = fs.newFileMetaInfo(filename);
129
+ expect(result).toBe(mockFileMetaInfo);
130
+ expect(mockService.newFileMetaInfo).toHaveBeenCalledWith(filename);
131
+ });
132
+ it('should create FileMetaInfo with content', () => {
133
+ const content = 'test content';
134
+ const mockFileMetaInfo = {};
135
+ mockService.newFileMetaInfoWithContent.mockReturnValue(mockFileMetaInfo);
136
+ const result = fs.newFileMetaInfoWithContent(content);
137
+ expect(result).toBe(mockFileMetaInfo);
138
+ expect(mockService.newFileMetaInfoWithContent).toHaveBeenCalledWith(content);
139
+ });
140
+ });
141
+ describe('getFileMetaInfos', () => {
142
+ it('should collect FileMetaInfos for given paths', async () => {
143
+ const paths = ['path1', 'path2'];
144
+ const mockResult = new Map([['path1', {}]]);
145
+ incremental_file_collector_1.collectFileMetaInfos.mockResolvedValue(mockResult);
146
+ const result = await fs.getFileMetaInfos(paths);
147
+ expect(result).toBe(mockResult);
148
+ expect(incremental_file_collector_1.collectFileMetaInfos).toHaveBeenCalledWith(paths, mockContent);
149
+ });
150
+ });
151
+ describe('newBasePathFs', () => {
152
+ it('should create new base path filesystem', () => {
153
+ const mockSource = {};
154
+ const path = '/test/path';
155
+ const mockBaseFs = {};
156
+ // Get the mocked newBaseFs function
157
+ const { newBaseFs } = require('../entity/basefs');
158
+ newBaseFs.mockReturnValue(mockBaseFs);
159
+ const result = fs.newBasePathFs(mockSource, path);
160
+ expect(result).toBe(mockBaseFs);
161
+ expect(newBaseFs).toHaveBeenCalledWith(mockSource, [path]);
162
+ });
163
+ });
164
+ describe('walk methods', () => {
165
+ let mockWalkway;
166
+ let mockCallback;
167
+ let mockConfig;
168
+ beforeEach(() => {
169
+ mockWalkway = {
170
+ walkWith: jest.fn().mockResolvedValue(undefined),
171
+ };
172
+ const { newWalkway } = require('../vo/walkway');
173
+ newWalkway.mockReturnValue(mockWalkway);
174
+ mockCallback = {
175
+ walkFn: jest.fn(),
176
+ };
177
+ mockConfig = {};
178
+ });
179
+ it('should walk prompts filesystem', async () => {
180
+ const start = '/prompts';
181
+ await fs.walkPrompts(start, mockCallback, mockConfig);
182
+ const { newWalkway } = require('../vo/walkway');
183
+ expect(newWalkway).toHaveBeenCalledWith(mockPrompts, mockCallback);
184
+ expect(mockWalkway.walkWith).toHaveBeenCalledWith(start, mockConfig);
185
+ });
186
+ it('should walk workflows filesystem', async () => {
187
+ const start = '/workflows';
188
+ await fs.walkWorkflows(start, mockCallback, mockConfig);
189
+ const { newWalkway } = require('../vo/walkway');
190
+ expect(newWalkway).toHaveBeenCalledWith(mockWorkflows, mockCallback);
191
+ expect(mockWalkway.walkWith).toHaveBeenCalledWith(start, mockConfig);
192
+ });
193
+ it('should walk layouts filesystem', async () => {
194
+ const start = '/layouts';
195
+ await fs.walkLayouts(start, mockCallback, mockConfig);
196
+ const { newWalkway } = require('../vo/walkway');
197
+ expect(newWalkway).toHaveBeenCalledWith(mockLayouts, mockCallback);
198
+ expect(mockWalkway.walkWith).toHaveBeenCalledWith(start, mockConfig);
199
+ });
200
+ it('should walk content filesystem', async () => {
201
+ const start = '/content';
202
+ await fs.walkContent(start, mockCallback, mockConfig);
203
+ const { newWalkway } = require('../vo/walkway');
204
+ expect(newWalkway).toHaveBeenCalledWith(mockContent, mockCallback);
205
+ expect(mockWalkway.walkWith).toHaveBeenCalledWith(start, mockConfig);
206
+ });
207
+ it('should walk statics filesystem', async () => {
208
+ const start = '/statics';
209
+ await fs.walkStatics(start, mockCallback, mockConfig);
210
+ const { newWalkway } = require('../vo/walkway');
211
+ expect(newWalkway).toHaveBeenCalledWith(mockStatics, mockCallback);
212
+ expect(mockWalkway.walkWith).toHaveBeenCalledWith(start, mockConfig);
213
+ });
214
+ it('should use default root path when start is empty', async () => {
215
+ const start = '';
216
+ await fs.walk(mockContent, start, mockCallback, mockConfig);
217
+ const { newWalkway } = require('../vo/walkway');
218
+ expect(newWalkway).toHaveBeenCalledWith(mockContent, mockCallback);
219
+ expect(mockWalkway.walkWith).toHaveBeenCalledWith('/', mockConfig);
220
+ });
221
+ it('should use provided start path when not empty', async () => {
222
+ const start = '/custom/path';
223
+ await fs.walk(mockContent, start, mockCallback, mockConfig);
224
+ const { newWalkway } = require('../vo/walkway');
225
+ expect(newWalkway).toHaveBeenCalledWith(mockContent, mockCallback);
226
+ expect(mockWalkway.walkWith).toHaveBeenCalledWith(start, mockConfig);
227
+ });
228
+ });
229
+ });
230
+ //# sourceMappingURL=entity-fs.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-fs.test.js","sourceRoot":"","sources":["../../../../../internal/domain/fs/tests/entity-fs.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=entity-originfs.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-originfs.test.d.ts","sourceRoot":"","sources":["../../../../../internal/domain/fs/tests/entity-originfs.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const originfs_1 = require("../entity/originfs");
4
+ describe('OriginFs Entity', () => {
5
+ let mockSource;
6
+ let mockOrigin;
7
+ let mockPublishDir;
8
+ let originFs;
9
+ beforeEach(() => {
10
+ mockSource = {
11
+ name: jest.fn().mockReturnValue('SourceFs'),
12
+ };
13
+ mockOrigin = {
14
+ name: jest.fn().mockReturnValue('OriginFs'),
15
+ };
16
+ mockPublishDir = {
17
+ name: jest.fn().mockReturnValue('PublishFs'),
18
+ };
19
+ originFs = new originfs_1.OriginFs(mockSource, mockOrigin, mockPublishDir);
20
+ });
21
+ describe('constructor', () => {
22
+ it('should initialize all filesystem properties correctly', () => {
23
+ expect(originFs.source).toBe(mockSource);
24
+ expect(originFs.origin).toBe(mockOrigin);
25
+ expect(originFs.publishDir).toBe(mockPublishDir);
26
+ });
27
+ });
28
+ describe('getSource', () => {
29
+ it('should return the source filesystem', () => {
30
+ const result = originFs.getSource();
31
+ expect(result).toBe(mockSource);
32
+ });
33
+ });
34
+ describe('getOrigin', () => {
35
+ it('should return the origin filesystem', () => {
36
+ const result = originFs.getOrigin();
37
+ expect(result).toBe(mockOrigin);
38
+ });
39
+ });
40
+ describe('publish', () => {
41
+ it('should return the publish directory filesystem', () => {
42
+ const result = originFs.publish();
43
+ expect(result).toBe(mockPublishDir);
44
+ });
45
+ });
46
+ });
47
+ //# sourceMappingURL=entity-originfs.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-originfs.test.js","sourceRoot":"","sources":["../../../../../internal/domain/fs/tests/entity-originfs.test.ts"],"names":[],"mappings":";;AAAA,iDAA8C;AAG9C,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,UAA4B,CAAC;IACjC,IAAI,UAA4B,CAAC;IACjC,IAAI,cAAgC,CAAC;IACrC,IAAI,QAAkB,CAAC;IAEvB,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG;YACX,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC;SACrC,CAAC;QAET,UAAU,GAAG;YACX,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC;SACrC,CAAC;QAET,cAAc,GAAG;YACf,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC;SACtC,CAAC;QAET,QAAQ,GAAG,IAAI,mBAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=entity-overlaydir.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-overlaydir.test.d.ts","sourceRoot":"","sources":["../../../../../internal/domain/fs/tests/entity-overlaydir.test.ts"],"names":[],"mappings":""}