@static-suite/static-suite-data-server 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (484) hide show
  1. package/.eslintignore +4 -0
  2. package/.eslintrc.json +49 -0
  3. package/.nvmrc +1 -0
  4. package/.prettierrc +10 -0
  5. package/.vscode/launch.json +44 -0
  6. package/LICENSE.txt +339 -0
  7. package/README.md +300 -0
  8. package/__mocks__/clear-module.js +7 -0
  9. package/api-extractor.json +339 -0
  10. package/dist/bin/serve.d.ts +3 -0
  11. package/dist/bin/serve.d.ts.map +1 -0
  12. package/dist/bin/serve.js +105 -0
  13. package/dist/http/README.md +300 -0
  14. package/dist/http/httpServer.d.ts +4 -0
  15. package/dist/http/httpServer.d.ts.map +1 -0
  16. package/dist/http/httpServer.js +24 -0
  17. package/dist/http/public/assets/bulma/bulma-tooltip.min.css +2 -0
  18. package/dist/http/public/assets/bulma/bulma.min.css +1 -0
  19. package/dist/http/public/assets/clipboard/clipboard.min.js +7 -0
  20. package/dist/http/public/assets/simple-datatables/index.js +12 -0
  21. package/dist/http/public/assets/simple-datatables/style.css +173 -0
  22. package/dist/http/routes/cache.d.ts +4 -0
  23. package/dist/http/routes/cache.d.ts.map +1 -0
  24. package/dist/http/routes/cache.js +19 -0
  25. package/dist/http/routes/data.d.ts +4 -0
  26. package/dist/http/routes/data.d.ts.map +1 -0
  27. package/dist/http/routes/data.js +104 -0
  28. package/dist/http/routes/docs.d.ts +3 -0
  29. package/dist/http/routes/docs.d.ts.map +1 -0
  30. package/dist/http/routes/docs.js +14 -0
  31. package/dist/http/routes/dump.d.ts +8 -0
  32. package/dist/http/routes/dump.d.ts.map +1 -0
  33. package/dist/http/routes/dump.js +57 -0
  34. package/dist/http/routes/home.d.ts +3 -0
  35. package/dist/http/routes/home.d.ts.map +1 -0
  36. package/dist/http/routes/home.js +17 -0
  37. package/dist/http/routes/index.d.ts +3 -0
  38. package/dist/http/routes/index.d.ts.map +1 -0
  39. package/dist/http/routes/index.js +33 -0
  40. package/dist/http/routes/query.d.ts +5 -0
  41. package/dist/http/routes/query.d.ts.map +1 -0
  42. package/dist/http/routes/query.js +21 -0
  43. package/dist/http/routes/status.d.ts +9 -0
  44. package/dist/http/routes/status.d.ts.map +1 -0
  45. package/dist/http/routes/status.js +74 -0
  46. package/dist/http/routes/task.d.ts +5 -0
  47. package/dist/http/routes/task.d.ts.map +1 -0
  48. package/dist/http/routes/task.js +22 -0
  49. package/dist/http/views/cacheClear.pug +17 -0
  50. package/dist/http/views/cacheIndex.pug +19 -0
  51. package/dist/http/views/data.pug +68 -0
  52. package/dist/http/views/docs.pug +7 -0
  53. package/dist/http/views/dumpIndex.pug +14 -0
  54. package/dist/http/views/home.pug +15 -0
  55. package/dist/http/views/includes/layout.pug +23 -0
  56. package/dist/http/views/queryIndex.pug +17 -0
  57. package/dist/http/views/statusIndex.pug +14 -0
  58. package/dist/http/views/taskIndex.pug +17 -0
  59. package/dist/lib/config/config.d.ts +26 -0
  60. package/dist/lib/config/config.d.ts.map +1 -0
  61. package/dist/lib/config/config.js +122 -0
  62. package/dist/lib/config/config.types.d.ts +74 -0
  63. package/dist/lib/config/config.types.d.ts.map +1 -0
  64. package/dist/lib/config/config.types.js +2 -0
  65. package/dist/lib/config/error/InvalidRunMode.d.ts +15 -0
  66. package/dist/lib/config/error/InvalidRunMode.d.ts.map +1 -0
  67. package/dist/lib/config/error/InvalidRunMode.js +20 -0
  68. package/dist/lib/config/error/MissingDirectory.d.ts +24 -0
  69. package/dist/lib/config/error/MissingDirectory.d.ts.map +1 -0
  70. package/dist/lib/config/error/MissingDirectory.js +23 -0
  71. package/dist/lib/config/error/MissingRequiredOption.d.ts +19 -0
  72. package/dist/lib/config/error/MissingRequiredOption.d.ts.map +1 -0
  73. package/dist/lib/config/error/MissingRequiredOption.js +21 -0
  74. package/dist/lib/config/error/NonWritableDirectory.d.ts +24 -0
  75. package/dist/lib/config/error/NonWritableDirectory.d.ts.map +1 -0
  76. package/dist/lib/config/error/NonWritableDirectory.js +23 -0
  77. package/dist/lib/config/error/index.d.ts +5 -0
  78. package/dist/lib/config/error/index.d.ts.map +1 -0
  79. package/dist/lib/config/error/index.js +16 -0
  80. package/dist/lib/config/index.d.ts +2 -0
  81. package/dist/lib/config/index.d.ts.map +1 -0
  82. package/dist/lib/config/index.js +13 -0
  83. package/dist/lib/dataServer.d.ts +21 -0
  84. package/dist/lib/dataServer.d.ts.map +1 -0
  85. package/dist/lib/dataServer.js +56 -0
  86. package/dist/lib/dataServer.types.d.ts +84 -0
  87. package/dist/lib/dataServer.types.d.ts.map +1 -0
  88. package/dist/lib/dataServer.types.js +13 -0
  89. package/dist/lib/error/DomainError.d.ts +9 -0
  90. package/dist/lib/error/DomainError.d.ts.map +1 -0
  91. package/dist/lib/error/DomainError.js +20 -0
  92. package/dist/lib/index.d.ts +2 -0
  93. package/dist/lib/index.d.ts.map +1 -0
  94. package/dist/lib/index.js +15 -0
  95. package/dist/lib/query/index.d.ts +3 -0
  96. package/dist/lib/query/index.d.ts.map +1 -0
  97. package/dist/lib/query/index.js +14 -0
  98. package/dist/lib/query/query.types.d.ts +206 -0
  99. package/dist/lib/query/query.types.d.ts.map +1 -0
  100. package/dist/lib/query/query.types.js +21 -0
  101. package/dist/lib/query/queryManager.d.ts +10 -0
  102. package/dist/lib/query/queryManager.d.ts.map +1 -0
  103. package/dist/lib/query/queryManager.js +12 -0
  104. package/dist/lib/query/queryRunner copy.d.ts +3 -0
  105. package/dist/lib/query/queryRunner copy.d.ts.map +1 -0
  106. package/dist/lib/query/queryRunner copy.js +87 -0
  107. package/dist/lib/query/queryRunner.d.ts +3 -0
  108. package/dist/lib/query/queryRunner.d.ts.map +1 -0
  109. package/dist/lib/query/queryRunner.js +96 -0
  110. package/dist/lib/query/queryTagManager.d.ts +3 -0
  111. package/dist/lib/query/queryTagManager.d.ts.map +1 -0
  112. package/dist/lib/query/queryTagManager.js +47 -0
  113. package/dist/lib/store/dataDir/dataDir.types.d.ts +36 -0
  114. package/dist/lib/store/dataDir/dataDir.types.d.ts.map +1 -0
  115. package/dist/lib/store/dataDir/dataDir.types.js +2 -0
  116. package/dist/lib/store/dataDir/dataDirManager.d.ts +3 -0
  117. package/dist/lib/store/dataDir/dataDirManager.d.ts.map +1 -0
  118. package/dist/lib/store/dataDir/dataDirManager.js +97 -0
  119. package/dist/lib/store/dataDir/index.d.ts +2 -0
  120. package/dist/lib/store/dataDir/index.d.ts.map +1 -0
  121. package/dist/lib/store/dataDir/index.js +13 -0
  122. package/dist/lib/store/dependency/dependency.types.d.ts +70 -0
  123. package/dist/lib/store/dependency/dependency.types.d.ts.map +1 -0
  124. package/dist/lib/store/dependency/dependency.types.js +2 -0
  125. package/dist/lib/store/dependency/dependencyFileHelper.d.ts +6 -0
  126. package/dist/lib/store/dependency/dependencyFileHelper.d.ts.map +1 -0
  127. package/dist/lib/store/dependency/dependencyFileHelper.js +46 -0
  128. package/dist/lib/store/dependency/dependencyManager copy.d.ts +6 -0
  129. package/dist/lib/store/dependency/dependencyManager copy.d.ts.map +1 -0
  130. package/dist/lib/store/dependency/dependencyManager copy.js +91 -0
  131. package/dist/lib/store/dependency/dependencyManager.d.ts +6 -0
  132. package/dist/lib/store/dependency/dependencyManager.d.ts.map +1 -0
  133. package/dist/lib/store/dependency/dependencyManager.js +78 -0
  134. package/dist/lib/store/dependency/dependencyManager.types.d.ts +48 -0
  135. package/dist/lib/store/dependency/dependencyManager.types.d.ts.map +1 -0
  136. package/dist/lib/store/dependency/dependencyManager.types.js +2 -0
  137. package/dist/lib/store/dependency/dependencyTagManager.d.ts +6 -0
  138. package/dist/lib/store/dependency/dependencyTagManager.d.ts.map +1 -0
  139. package/dist/lib/store/dependency/dependencyTagManager.js +33 -0
  140. package/dist/lib/store/dependency/dependencyTagger.d.ts +11 -0
  141. package/dist/lib/store/dependency/dependencyTagger.d.ts.map +1 -0
  142. package/dist/lib/store/dependency/dependencyTagger.js +99 -0
  143. package/dist/lib/store/diff/diffManager.d.ts +3 -0
  144. package/dist/lib/store/diff/diffManager.d.ts.map +1 -0
  145. package/dist/lib/store/diff/diffManager.js +114 -0
  146. package/dist/lib/store/diff/diffManager.types.d.ts +50 -0
  147. package/dist/lib/store/diff/diffManager.types.d.ts.map +1 -0
  148. package/dist/lib/store/diff/diffManager.types.js +2 -0
  149. package/dist/lib/store/diff/index.d.ts +2 -0
  150. package/dist/lib/store/diff/index.d.ts.map +1 -0
  151. package/dist/lib/store/diff/index.js +13 -0
  152. package/dist/lib/store/diff/tracker.d.ts +3 -0
  153. package/dist/lib/store/diff/tracker.d.ts.map +1 -0
  154. package/dist/lib/store/diff/tracker.js +82 -0
  155. package/dist/lib/store/diff/tracker.types.d.ts +31 -0
  156. package/dist/lib/store/diff/tracker.types.d.ts.map +1 -0
  157. package/dist/lib/store/diff/tracker.types.js +2 -0
  158. package/dist/lib/store/dump/dumpManager.d.ts +3 -0
  159. package/dist/lib/store/dump/dumpManager.d.ts.map +1 -0
  160. package/dist/lib/store/dump/dumpManager.js +199 -0
  161. package/dist/lib/store/dump/dumpManager.types.d.ts +62 -0
  162. package/dist/lib/store/dump/dumpManager.types.d.ts.map +1 -0
  163. package/dist/lib/store/dump/dumpManager.types.js +2 -0
  164. package/dist/lib/store/dump/index.d.ts +2 -0
  165. package/dist/lib/store/dump/index.d.ts.map +1 -0
  166. package/dist/lib/store/dump/index.js +13 -0
  167. package/dist/lib/store/hook/hook.types.d.ts +205 -0
  168. package/dist/lib/store/hook/hook.types.d.ts.map +1 -0
  169. package/dist/lib/store/hook/hook.types.js +2 -0
  170. package/dist/lib/store/hook/hookManager.d.ts +6 -0
  171. package/dist/lib/store/hook/hookManager.d.ts.map +1 -0
  172. package/dist/lib/store/hook/hookManager.js +168 -0
  173. package/dist/lib/store/hook/index.d.ts +2 -0
  174. package/dist/lib/store/hook/index.d.ts.map +1 -0
  175. package/dist/lib/store/hook/index.js +13 -0
  176. package/dist/lib/store/include/includeIndex.d.ts +6 -0
  177. package/dist/lib/store/include/includeIndex.d.ts.map +1 -0
  178. package/dist/lib/store/include/includeIndex.js +65 -0
  179. package/dist/lib/store/include/includeIndex.types.d.ts +29 -0
  180. package/dist/lib/store/include/includeIndex.types.d.ts.map +1 -0
  181. package/dist/lib/store/include/includeIndex.types.js +2 -0
  182. package/dist/lib/store/include/includeParser.d.ts +3 -0
  183. package/dist/lib/store/include/includeParser.d.ts.map +1 -0
  184. package/dist/lib/store/include/includeParser.js +46 -0
  185. package/dist/lib/store/include/includeParser.types.d.ts +88 -0
  186. package/dist/lib/store/include/includeParser.types.d.ts.map +1 -0
  187. package/dist/lib/store/include/includeParser.types.js +2 -0
  188. package/dist/lib/store/include/index.d.ts +2 -0
  189. package/dist/lib/store/include/index.d.ts.map +1 -0
  190. package/dist/lib/store/include/index.js +13 -0
  191. package/dist/lib/store/include/parsers/configIncludeParser.d.ts +3 -0
  192. package/dist/lib/store/include/parsers/configIncludeParser.d.ts.map +1 -0
  193. package/dist/lib/store/include/parsers/configIncludeParser.js +8 -0
  194. package/dist/lib/store/include/parsers/customIncludeParser.d.ts +3 -0
  195. package/dist/lib/store/include/parsers/customIncludeParser.d.ts.map +1 -0
  196. package/dist/lib/store/include/parsers/customIncludeParser.js +8 -0
  197. package/dist/lib/store/include/parsers/entityIncludeParser.d.ts +3 -0
  198. package/dist/lib/store/include/parsers/entityIncludeParser.d.ts.map +1 -0
  199. package/dist/lib/store/include/parsers/entityIncludeParser.js +13 -0
  200. package/dist/lib/store/include/parsers/index.d.ts +6 -0
  201. package/dist/lib/store/include/parsers/index.d.ts.map +1 -0
  202. package/dist/lib/store/include/parsers/index.js +17 -0
  203. package/dist/lib/store/include/parsers/localeIncludeParser.d.ts +3 -0
  204. package/dist/lib/store/include/parsers/localeIncludeParser.d.ts.map +1 -0
  205. package/dist/lib/store/include/parsers/localeIncludeParser.js +8 -0
  206. package/dist/lib/store/include/parsers/queryIncludeParser.d.ts +11 -0
  207. package/dist/lib/store/include/parsers/queryIncludeParser.d.ts.map +1 -0
  208. package/dist/lib/store/include/parsers/queryIncludeParser.js +45 -0
  209. package/dist/lib/store/include/parsers/types/aliasIncludeParser.d.ts +3 -0
  210. package/dist/lib/store/include/parsers/types/aliasIncludeParser.d.ts.map +1 -0
  211. package/dist/lib/store/include/parsers/types/aliasIncludeParser.js +10 -0
  212. package/dist/lib/store/include/parsers/types/aliasWithoutTypeIncludeParser.d.ts +8 -0
  213. package/dist/lib/store/include/parsers/types/aliasWithoutTypeIncludeParser.d.ts.map +1 -0
  214. package/dist/lib/store/include/parsers/types/aliasWithoutTypeIncludeParser.js +18 -0
  215. package/dist/lib/store/index.d.ts +2 -0
  216. package/dist/lib/store/index.d.ts.map +1 -0
  217. package/dist/lib/store/index.js +13 -0
  218. package/dist/lib/store/store.d.ts +7 -0
  219. package/dist/lib/store/store.d.ts.map +1 -0
  220. package/dist/lib/store/store.js +89 -0
  221. package/dist/lib/store/store.types.d.ts +231 -0
  222. package/dist/lib/store/store.types.d.ts.map +1 -0
  223. package/dist/lib/store/store.types.js +2 -0
  224. package/dist/lib/store/storeManager.d.ts +3 -0
  225. package/dist/lib/store/storeManager.d.ts.map +1 -0
  226. package/dist/lib/store/storeManager.js +149 -0
  227. package/dist/lib/store/workDir/index.d.ts +2 -0
  228. package/dist/lib/store/workDir/index.d.ts.map +1 -0
  229. package/dist/lib/store/workDir/index.js +13 -0
  230. package/dist/lib/store/workDir/storage/getChangedLinesSince.d.ts +9 -0
  231. package/dist/lib/store/workDir/storage/getChangedLinesSince.d.ts.map +1 -0
  232. package/dist/lib/store/workDir/storage/getChangedLinesSince.js +47 -0
  233. package/dist/lib/store/workDir/storage/getDataFromLogLine.d.ts +10 -0
  234. package/dist/lib/store/workDir/storage/getDataFromLogLine.d.ts.map +1 -0
  235. package/dist/lib/store/workDir/storage/getDataFromLogLine.js +33 -0
  236. package/dist/lib/store/workDir/storage/getLogFile.d.ts +8 -0
  237. package/dist/lib/store/workDir/storage/getLogFile.d.ts.map +1 -0
  238. package/dist/lib/store/workDir/storage/getLogFile.js +11 -0
  239. package/dist/lib/store/workDir/storage/index.d.ts +4 -0
  240. package/dist/lib/store/workDir/storage/index.d.ts.map +1 -0
  241. package/dist/lib/store/workDir/storage/index.js +20 -0
  242. package/dist/lib/store/workDir/workDir.types.d.ts +44 -0
  243. package/dist/lib/store/workDir/workDir.types.d.ts.map +1 -0
  244. package/dist/lib/store/workDir/workDir.types.js +2 -0
  245. package/dist/lib/store/workDir/workDirHelper.d.ts +20 -0
  246. package/dist/lib/store/workDir/workDirHelper.d.ts.map +1 -0
  247. package/dist/lib/store/workDir/workDirHelper.js +52 -0
  248. package/dist/lib/task/index.d.ts +3 -0
  249. package/dist/lib/task/index.d.ts.map +1 -0
  250. package/dist/lib/task/index.js +14 -0
  251. package/dist/lib/task/task.types.d.ts +140 -0
  252. package/dist/lib/task/task.types.d.ts.map +1 -0
  253. package/dist/lib/task/task.types.js +11 -0
  254. package/dist/lib/task/taskManager.d.ts +10 -0
  255. package/dist/lib/task/taskManager.d.ts.map +1 -0
  256. package/dist/lib/task/taskManager.js +12 -0
  257. package/dist/lib/task/taskRunner.d.ts +3 -0
  258. package/dist/lib/task/taskRunner.d.ts.map +1 -0
  259. package/dist/lib/task/taskRunner.js +71 -0
  260. package/dist/lib/tsdoc-metadata.json +11 -0
  261. package/dist/lib/utils/array/arrayUtils.d.ts +2 -0
  262. package/dist/lib/utils/array/arrayUtils.d.ts.map +1 -0
  263. package/dist/lib/utils/array/arrayUtils.js +11 -0
  264. package/dist/lib/utils/cache/cacheBinManager.d.ts +37 -0
  265. package/dist/lib/utils/cache/cacheBinManager.d.ts.map +1 -0
  266. package/dist/lib/utils/cache/cacheBinManager.js +53 -0
  267. package/dist/lib/utils/cache/index.d.ts +2 -0
  268. package/dist/lib/utils/cache/index.d.ts.map +1 -0
  269. package/dist/lib/utils/cache/index.js +13 -0
  270. package/dist/lib/utils/fs/fs.types.d.ts +20 -0
  271. package/dist/lib/utils/fs/fs.types.d.ts.map +1 -0
  272. package/dist/lib/utils/fs/fs.types.js +2 -0
  273. package/dist/lib/utils/fs/fsUtils.d.ts +62 -0
  274. package/dist/lib/utils/fs/fsUtils.d.ts.map +1 -0
  275. package/dist/lib/utils/fs/fsUtils.js +137 -0
  276. package/dist/lib/utils/fs/index.d.ts +2 -0
  277. package/dist/lib/utils/fs/index.d.ts.map +1 -0
  278. package/dist/lib/utils/fs/index.js +13 -0
  279. package/dist/lib/utils/logger/index.d.ts +2 -0
  280. package/dist/lib/utils/logger/index.d.ts.map +1 -0
  281. package/dist/lib/utils/logger/index.js +13 -0
  282. package/dist/lib/utils/logger/logger.d.ts +32 -0
  283. package/dist/lib/utils/logger/logger.d.ts.map +1 -0
  284. package/dist/lib/utils/logger/logger.js +82 -0
  285. package/dist/lib/utils/logger/logger.types.d.ts +37 -0
  286. package/dist/lib/utils/logger/logger.types.d.ts.map +1 -0
  287. package/dist/lib/utils/logger/logger.types.js +15 -0
  288. package/dist/lib/utils/module/dirBasedModuleGroupManager.d.ts +30 -0
  289. package/dist/lib/utils/module/dirBasedModuleGroupManager.d.ts.map +1 -0
  290. package/dist/lib/utils/module/dirBasedModuleGroupManager.js +78 -0
  291. package/dist/lib/utils/module/index.d.ts +3 -0
  292. package/dist/lib/utils/module/index.d.ts.map +1 -0
  293. package/dist/lib/utils/module/index.js +14 -0
  294. package/dist/lib/utils/module/module.types.d.ts +53 -0
  295. package/dist/lib/utils/module/module.types.d.ts.map +1 -0
  296. package/dist/lib/utils/module/module.types.js +2 -0
  297. package/dist/lib/utils/module/moduleManager.d.ts +64 -0
  298. package/dist/lib/utils/module/moduleManager.d.ts.map +1 -0
  299. package/dist/lib/utils/module/moduleManager.js +139 -0
  300. package/dist/lib/utils/object/index.d.ts +2 -0
  301. package/dist/lib/utils/object/index.d.ts.map +1 -0
  302. package/dist/lib/utils/object/index.js +13 -0
  303. package/dist/lib/utils/object/object.types.d.ts +72 -0
  304. package/dist/lib/utils/object/object.types.d.ts.map +1 -0
  305. package/dist/lib/utils/object/object.types.js +2 -0
  306. package/dist/lib/utils/object/objectUtils.d.ts +45 -0
  307. package/dist/lib/utils/object/objectUtils.d.ts.map +1 -0
  308. package/dist/lib/utils/object/objectUtils.js +64 -0
  309. package/dist/lib/utils/string/index.d.ts +2 -0
  310. package/dist/lib/utils/string/index.d.ts.map +1 -0
  311. package/dist/lib/utils/string/index.js +13 -0
  312. package/dist/lib/utils/string/string.types.d.ts +2 -0
  313. package/dist/lib/utils/string/string.types.d.ts.map +1 -0
  314. package/dist/lib/utils/string/string.types.js +2 -0
  315. package/dist/lib/utils/string/stringUtils.d.ts +37 -0
  316. package/dist/lib/utils/string/stringUtils.d.ts.map +1 -0
  317. package/dist/lib/utils/string/stringUtils.js +62 -0
  318. package/dist/lib/watcher/index.d.ts +2 -0
  319. package/dist/lib/watcher/index.d.ts.map +1 -0
  320. package/dist/lib/watcher/index.js +13 -0
  321. package/dist/lib/watcher/watcher.d.ts +17 -0
  322. package/dist/lib/watcher/watcher.d.ts.map +1 -0
  323. package/dist/lib/watcher/watcher.js +65 -0
  324. package/dist/static-suite-data-server.d.ts +392 -0
  325. package/package.json +102 -0
  326. package/scripts/copy-http-files-to-src.js +45 -0
  327. package/src/__tests__/fixtures/data/en/en.json +3 -0
  328. package/src/__tests__/fixtures/data/en/entity/entity.json +3 -0
  329. package/src/__tests__/fixtures/data/en/entity/node/article/article1--card.json +3 -0
  330. package/src/__tests__/fixtures/data/en/entity/node/article/article1--small.json +3 -0
  331. package/src/__tests__/fixtures/data/en/entity/node/article/article1.json +40 -0
  332. package/src/__tests__/fixtures/data/en/entity/node/article/article2--card.json +3 -0
  333. package/src/__tests__/fixtures/data/en/entity/node/article/article2--small.json +3 -0
  334. package/src/__tests__/fixtures/data/en/entity/node/article/article2.json +40 -0
  335. package/src/__tests__/fixtures/data/en/entity/node/article/article3--card.json +3 -0
  336. package/src/__tests__/fixtures/data/en/entity/node/article/article3--small.json +3 -0
  337. package/src/__tests__/fixtures/data/en/entity/node/article/article3.json +7 -0
  338. package/src/__tests__/fixtures/data/en/entity/node/node.json +3 -0
  339. package/src/__tests__/fixtures/data/en/entity/node/page/page1--card.json +3 -0
  340. package/src/__tests__/fixtures/data/en/entity/node/page/page1--small.json +3 -0
  341. package/src/__tests__/fixtures/data/en/entity/node/page/page1.json +3 -0
  342. package/src/__tests__/fixtures/data/en/entity/node/page/page2--card.json +3 -0
  343. package/src/__tests__/fixtures/data/en/entity/node/page/page2--small.json +3 -0
  344. package/src/__tests__/fixtures/data/en/entity/node/page/page2.json +3 -0
  345. package/src/__tests__/fixtures/data/global--block.json +3 -0
  346. package/src/__tests__/fixtures/data/global.json +3 -0
  347. package/src/__tests__/fixtures/hook/main.hook.js +15 -0
  348. package/src/__tests__/fixtures/hook/taxonomy/main.hook.js +15 -0
  349. package/src/__tests__/fixtures/hook/taxonomy/taxo.hook.js +15 -0
  350. package/src/__tests__/fixtures/query/error.query.js +6 -0
  351. package/src/__tests__/fixtures/query/noHandler.query.js +14 -0
  352. package/src/__tests__/fixtures/query/query1.query.js +15 -0
  353. package/src/__tests__/fixtures/query/query2.query.js +14 -0
  354. package/src/__tests__/fixtures/query/wrongNamequery.js +14 -0
  355. package/src/__tests__/fixtures/task/error.task.js +6 -0
  356. package/src/__tests__/fixtures/task/noHandler.task.js +13 -0
  357. package/src/__tests__/fixtures/task/task1.task.js +14 -0
  358. package/src/__tests__/fixtures/task/task2.task.js +13 -0
  359. package/src/__tests__/fixtures/task/wrongNametask.js +13 -0
  360. package/src/bin/serve.ts +107 -0
  361. package/src/http/httpServer.ts +21 -0
  362. package/src/http/routes/cache.ts +17 -0
  363. package/src/http/routes/data.ts +114 -0
  364. package/src/http/routes/docs.ts +9 -0
  365. package/src/http/routes/dump.ts +61 -0
  366. package/src/http/routes/home.ts +16 -0
  367. package/src/http/routes/index.ts +47 -0
  368. package/src/http/routes/query.ts +27 -0
  369. package/src/http/routes/status.ts +89 -0
  370. package/src/http/routes/task.ts +29 -0
  371. package/src/http/views/cacheClear.pug +17 -0
  372. package/src/http/views/cacheIndex.pug +19 -0
  373. package/src/http/views/data.pug +68 -0
  374. package/src/http/views/docs.pug +7 -0
  375. package/src/http/views/dumpIndex.pug +14 -0
  376. package/src/http/views/home.pug +15 -0
  377. package/src/http/views/includes/layout.pug +23 -0
  378. package/src/http/views/queryIndex.pug +17 -0
  379. package/src/http/views/statusIndex.pug +14 -0
  380. package/src/http/views/taskIndex.pug +17 -0
  381. package/src/lib/config/__tests__/config.test.ts +132 -0
  382. package/src/lib/config/config.ts +143 -0
  383. package/src/lib/config/config.types.ts +87 -0
  384. package/src/lib/config/error/InvalidRunMode.ts +17 -0
  385. package/src/lib/config/error/MissingDirectory.ts +30 -0
  386. package/src/lib/config/error/MissingRequiredOption.ts +23 -0
  387. package/src/lib/config/error/NonWritableDirectory.ts +30 -0
  388. package/src/lib/config/error/index.ts +4 -0
  389. package/src/lib/config/index.ts +1 -0
  390. package/src/lib/dataServer.ts +81 -0
  391. package/src/lib/dataServer.types.ts +98 -0
  392. package/src/lib/error/DomainError.ts +18 -0
  393. package/src/lib/index.ts +4 -0
  394. package/src/lib/query/__tests__/queryRunner.test.ts +61 -0
  395. package/src/lib/query/index.ts +2 -0
  396. package/src/lib/query/query.types.ts +231 -0
  397. package/src/lib/query/queryManager.ts +11 -0
  398. package/src/lib/query/queryRunner.ts +110 -0
  399. package/src/lib/query/queryTagManager.ts +53 -0
  400. package/src/lib/store/dataDir/__tests__/dataDirManager.test.ts +15 -0
  401. package/src/lib/store/dataDir/dataDir.types.ts +38 -0
  402. package/src/lib/store/dataDir/dataDirManager.ts +121 -0
  403. package/src/lib/store/dataDir/index.ts +1 -0
  404. package/src/lib/store/dependency/dependency.types.ts +78 -0
  405. package/src/lib/store/dependency/dependencyFileHelper.ts +50 -0
  406. package/src/lib/store/dependency/dependencyManager.ts +82 -0
  407. package/src/lib/store/dependency/dependencyTagger.ts +105 -0
  408. package/src/lib/store/diff/diffManager.ts +122 -0
  409. package/src/lib/store/diff/diffManager.types.ts +51 -0
  410. package/src/lib/store/diff/index.ts +1 -0
  411. package/src/lib/store/dump/dumpManager.ts +235 -0
  412. package/src/lib/store/dump/dumpManager.types.ts +61 -0
  413. package/src/lib/store/dump/index.ts +1 -0
  414. package/src/lib/store/hook/hook.types.ts +232 -0
  415. package/src/lib/store/hook/hookManager.ts +180 -0
  416. package/src/lib/store/hook/index.ts +1 -0
  417. package/src/lib/store/include/__tests__/includeParser.test.ts +80 -0
  418. package/src/lib/store/include/includeParser.ts +54 -0
  419. package/src/lib/store/include/includeParser.types.ts +99 -0
  420. package/src/lib/store/include/index.ts +1 -0
  421. package/src/lib/store/include/parsers/__tests__/entityIncludeParser.test.ts +43 -0
  422. package/src/lib/store/include/parsers/configIncludeParser.ts +8 -0
  423. package/src/lib/store/include/parsers/customIncludeParser.ts +8 -0
  424. package/src/lib/store/include/parsers/entityIncludeParser.ts +15 -0
  425. package/src/lib/store/include/parsers/index.ts +5 -0
  426. package/src/lib/store/include/parsers/localeIncludeParser.ts +8 -0
  427. package/src/lib/store/include/parsers/queryIncludeParser.ts +51 -0
  428. package/src/lib/store/include/parsers/types/__tests__/aliasIncludeParser.test.ts +37 -0
  429. package/src/lib/store/include/parsers/types/__tests__/aliasWithoutTypeIncludeParser.test.ts +43 -0
  430. package/src/lib/store/include/parsers/types/aliasIncludeParser.ts +13 -0
  431. package/src/lib/store/include/parsers/types/aliasWithoutTypeIncludeParser.ts +22 -0
  432. package/src/lib/store/index.ts +1 -0
  433. package/src/lib/store/store.ts +105 -0
  434. package/src/lib/store/store.types.ts +251 -0
  435. package/src/lib/store/storeManager.ts +187 -0
  436. package/src/lib/store/workDir/__tests__/workDirHelper.test.ts +25 -0
  437. package/src/lib/store/workDir/index.ts +1 -0
  438. package/src/lib/store/workDir/storage/__tests__/getChangedLinesSince.test.ts +23 -0
  439. package/src/lib/store/workDir/storage/__tests__/getDataFromLogLine.test.ts +21 -0
  440. package/src/lib/store/workDir/storage/getChangedLinesSince.ts +47 -0
  441. package/src/lib/store/workDir/storage/getDataFromLogLine.ts +31 -0
  442. package/src/lib/store/workDir/storage/getLogFile.ts +11 -0
  443. package/src/lib/store/workDir/storage/index.ts +8 -0
  444. package/src/lib/store/workDir/workDir.types.ts +48 -0
  445. package/src/lib/store/workDir/workDirHelper.ts +59 -0
  446. package/src/lib/task/__tests__/taskRunner.test.ts +47 -0
  447. package/src/lib/task/index.ts +2 -0
  448. package/src/lib/task/task.types.ts +151 -0
  449. package/src/lib/task/taskManager.ts +11 -0
  450. package/src/lib/task/taskRunner.ts +79 -0
  451. package/src/lib/utils/array/__tests__/arrayUtils.test.ts +16 -0
  452. package/src/lib/utils/array/arrayUtils.ts +7 -0
  453. package/src/lib/utils/cache/__tests__/cache.test.ts +24 -0
  454. package/src/lib/utils/cache/cacheBinManager.ts +88 -0
  455. package/src/lib/utils/cache/index.ts +1 -0
  456. package/src/lib/utils/fs/__tests__/fixtures/file.json +3 -0
  457. package/src/lib/utils/fs/__tests__/fixtures/file.txt +3 -0
  458. package/src/lib/utils/fs/__tests__/fsUtils.test.ts +93 -0
  459. package/src/lib/utils/fs/fs.types.ts +21 -0
  460. package/src/lib/utils/fs/fsUtils.ts +141 -0
  461. package/src/lib/utils/fs/index.ts +1 -0
  462. package/src/lib/utils/logger/__tests__/logger.test.ts +12 -0
  463. package/src/lib/utils/logger/index.ts +1 -0
  464. package/src/lib/utils/logger/logger.ts +87 -0
  465. package/src/lib/utils/logger/logger.types.ts +41 -0
  466. package/src/lib/utils/module/__mocks__/dummyModule.query.js +4 -0
  467. package/src/lib/utils/module/__mocks__/dummyModule2.query.js +4 -0
  468. package/src/lib/utils/module/__tests__/dirBasedModuleGroupManager.test.ts +34 -0
  469. package/src/lib/utils/module/__tests__/moduleHandler.test.ts +100 -0
  470. package/src/lib/utils/module/dirBasedModuleGroupManager.ts +78 -0
  471. package/src/lib/utils/module/index.ts +2 -0
  472. package/src/lib/utils/module/module.types.ts +57 -0
  473. package/src/lib/utils/module/moduleManager.ts +144 -0
  474. package/src/lib/utils/object/__tests__/objectUtils.test.ts +62 -0
  475. package/src/lib/utils/object/index.ts +1 -0
  476. package/src/lib/utils/object/object.types.ts +74 -0
  477. package/src/lib/utils/object/objectUtils.ts +71 -0
  478. package/src/lib/utils/string/__tests__/stringUtils.test.ts +30 -0
  479. package/src/lib/utils/string/index.ts +1 -0
  480. package/src/lib/utils/string/string.types.ts +1 -0
  481. package/src/lib/utils/string/stringUtils.ts +61 -0
  482. package/src/lib/watcher/index.ts +1 -0
  483. package/src/lib/watcher/watcher.ts +66 -0
  484. package/tsconfig.json +83 -0
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dependencyManager = void 0;
4
+ const dependencyTree = new Map();
5
+ const invalidatedTags = new Set();
6
+ const invalidatedFilepaths = new Set();
7
+ /**
8
+ * Gets a list of parents of a dependency tag
9
+ */
10
+ const getTagParents = (tag, parents = new Set()) => {
11
+ dependencyTree.forEach((children, parent) => {
12
+ if (children.has(tag)) {
13
+ parents.add(parent);
14
+ getTagParents(parent, parents);
15
+ }
16
+ });
17
+ return parents;
18
+ };
19
+ /**
20
+ * Gets a recursive list of invalidated tags.
21
+ *
22
+ * @remarks
23
+ * Iterates over all explicitly invalidated tags, and obtains all
24
+ * its parents.
25
+ */
26
+ const getInvalidatedTags = () => {
27
+ const tags = new Set();
28
+ invalidatedTags.forEach(invalidatedTag => {
29
+ // Mark this tag as invalidated.
30
+ tags.add(invalidatedTag);
31
+ // Search for parents of this invalidated tag.
32
+ getTagParents(invalidatedTag).forEach(parentTag => {
33
+ tags.add(parentTag);
34
+ });
35
+ });
36
+ return Array.from(tags);
37
+ };
38
+ /**
39
+ * Manager that keeps control of dependencies between data.
40
+ */
41
+ exports.dependencyManager = {
42
+ setDependency: (tag, dependsOnTags) => {
43
+ const previousData = dependencyTree.get(tag);
44
+ if (previousData) {
45
+ dependsOnTags.forEach(dependsOnTag => previousData.add(dependsOnTag));
46
+ }
47
+ else {
48
+ dependencyTree.set(tag, new Set(dependsOnTags));
49
+ }
50
+ },
51
+ deleteDependency: (tag, dependsOnTags) => {
52
+ const previousData = dependencyTree.get(tag);
53
+ if (previousData) {
54
+ dependsOnTags.forEach(dependsOnTag => previousData.delete(dependsOnTag));
55
+ if (previousData.size === 0) {
56
+ dependencyTree.delete(tag);
57
+ }
58
+ }
59
+ },
60
+ invalidateTags: tags => {
61
+ tags.forEach(tag => {
62
+ invalidatedTags.add(tag);
63
+ });
64
+ },
65
+ trackInvalidatedFilepaths: () => {
66
+ // const invalidFilepaths = new Set<string>();
67
+ return getInvalidatedTags();
68
+ /* store.data.forEach((json: Json, relativeFilepath: string) => {
69
+ if (json.metadata?.includes?.dynamic) {
70
+ Object.values(json.metadata.includes.dynamic).forEach(
71
+ queryDefinition => {
72
+ const tagsByQuery = tagsByQueryIndex.get(queryDefinition);
73
+ if (tagsByQuery) {
74
+ // eslint-disable-next-line no-restricted-syntax
75
+ for (const invalidatedTag of invalidatedTags) {
76
+ if (tagsByQuery.has(invalidatedTag)) {
77
+ invalidFilepaths.add(relativeFilepath);
78
+ break;
79
+ }
80
+ }
81
+ } else {
82
+ invalidFilepaths.add(relativeFilepath);
83
+ }
84
+ },
85
+ );
86
+ }
87
+ }); */
88
+ // return Array.from(invalidFilepaths);
89
+ },
90
+ getInvalidatedFilepaths: () => Array.from(invalidatedFilepaths),
91
+ };
@@ -0,0 +1,6 @@
1
+ import { DependencyManager } from './dependency.types';
2
+ /**
3
+ * Manager that keeps control of dependencies between data.
4
+ */
5
+ export declare const dependencyManager: DependencyManager;
6
+ //# sourceMappingURL=dependencyManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencyManager.d.ts","sourceRoot":"","sources":["../../../../src/lib/store/dependency/dependencyManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAkDvD;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBA2B/B,CAAC"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dependencyManager = void 0;
4
+ const store_1 = require("../store");
5
+ const dependencyTagger_1 = require("./dependencyTagger");
6
+ const invalidatedFilepaths = {
7
+ updated: new Set(),
8
+ deleted: new Set(),
9
+ };
10
+ /**
11
+ * Gets a list of parents of a dependency tag
12
+ */
13
+ const getTagParents = (tag, parents = new Set()) => {
14
+ (0, dependencyTagger_1.getReversedDependencyTree)()
15
+ .get(tag)
16
+ ?.forEach(parent => {
17
+ if (!parents.has(parent)) {
18
+ parents.add(parent);
19
+ getTagParents(parent, parents);
20
+ }
21
+ });
22
+ return parents;
23
+ };
24
+ /**
25
+ * Gets a recursive list of invalidated tags.
26
+ *
27
+ * @remarks
28
+ * Iterates over all explicitly invalidated tags, and obtains all
29
+ * its parents.
30
+ */
31
+ const getInvalidatedTags = () => {
32
+ const allInvalidatedTags = new Set();
33
+ const invalidatedTagsArray = Array.from(dependencyTagger_1.invalidatedTags);
34
+ if (invalidatedTagsArray.length > 0) {
35
+ invalidatedTagsArray.push('*');
36
+ }
37
+ invalidatedTagsArray.forEach(invalidatedTag => {
38
+ // Mark this tag as invalidated.
39
+ if (invalidatedTag !== '*') {
40
+ allInvalidatedTags.add(invalidatedTag);
41
+ }
42
+ // Search for parents of this invalidated tag.
43
+ getTagParents(invalidatedTag).forEach(parentTag => {
44
+ allInvalidatedTags.add(parentTag);
45
+ });
46
+ });
47
+ return Array.from(allInvalidatedTags);
48
+ };
49
+ /**
50
+ * Manager that keeps control of dependencies between data.
51
+ */
52
+ exports.dependencyManager = {
53
+ trackInvalidatedFilepaths: () => {
54
+ const allInvalidatedTags = getInvalidatedTags();
55
+ allInvalidatedTags.forEach(invalidatedTag => {
56
+ if (store_1.store.deleted.has(invalidatedTag)) {
57
+ invalidatedFilepaths.deleted.add(invalidatedTag);
58
+ invalidatedFilepaths.updated.delete(invalidatedTag);
59
+ }
60
+ else if (store_1.store.data.has(invalidatedTag)) {
61
+ invalidatedFilepaths.updated.add(invalidatedTag);
62
+ invalidatedFilepaths.deleted.delete(invalidatedTag);
63
+ }
64
+ });
65
+ },
66
+ getInvalidatedFilepaths: () => {
67
+ exports.dependencyManager.trackInvalidatedFilepaths();
68
+ return {
69
+ updated: Array.from(invalidatedFilepaths.updated),
70
+ deleted: Array.from(invalidatedFilepaths.deleted),
71
+ };
72
+ },
73
+ reset: () => {
74
+ dependencyTagger_1.invalidatedTags.clear();
75
+ invalidatedFilepaths.updated.clear();
76
+ invalidatedFilepaths.deleted.clear();
77
+ },
78
+ };
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Manager that keeps control of dependencies between data.
3
+ */
4
+ export declare type DependencyManager = {
5
+ /**
6
+ * Sets a dependency relationship between a tag that depends on another tags.
7
+ *
8
+ * @param tag - A tag to set a dependency for.
9
+ * @param dependsOnTags - An array of tags that depends on first parameter tag.
10
+ */
11
+ setDependency(tag: string, dependsOnTags: string[]): void;
12
+ /**
13
+ * Deletes a dependency relationship between a tag that depends on another tags.
14
+ *
15
+ * @param tag - A tag to delete a dependency for.
16
+ * @param dependsOnTags - An array of tags that depends on first parameter tag.
17
+ */
18
+ deleteDependency(tag: string, dependsOnTags: string[]): void;
19
+ /**
20
+ * Marks dependency items with any of the specified tags as invalid.
21
+ *
22
+ * @param tags - The list of tags for which to invalidate dependency items.
23
+ */
24
+ invalidateTags(tags: string[]): void;
25
+ /**
26
+ * Resets the list of invalidated tags once consumed.
27
+ */
28
+ /**
29
+ * Calculates and tracks down a list of filepaths which contain an invalidated tag.
30
+ *
31
+ * @remarks
32
+ * It calculates which filepaths have been invalidated, and stores them so they
33
+ * can be consumed later. This function should be called before the store is updated,
34
+ * before any dependency data changes, to avoid losing the set of invalidated filepaths
35
+ * between updates.
36
+ */
37
+ trackInvalidatedFilepaths(): void;
38
+ /**
39
+ * Gets a list of filepaths which contain an invalidated tag.
40
+ *
41
+ * @remarks
42
+ * It uses the set of tracked down filepaths from
43
+ *
44
+ * @returns A list of filepaths which contain an invalidated tag.
45
+ */
46
+ getInvalidatedFilepaths(): string[];
47
+ };
48
+ //# sourceMappingURL=dependencyManager.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencyManager.types.d.ts","sourceRoot":"","sources":["../../../../src/lib/store/dependency/dependencyManager.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,iBAAiB,GAAG;IAC9B;;;;;OAKG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE1D;;;;;OAKG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7D;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAErC;;OAEG;IAGH;;;;;;;;OAQG;IACH,yBAAyB,IAAI,IAAI,CAAC;IAElC;;;;;;;OAOG;IACH,uBAAuB,IAAI,MAAM,EAAE,CAAC;CACrC,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,6 @@
1
+ import { DependencyManager } from './dependencyManager.types';
2
+ /**
3
+ * Manager that keeps control of dependencies between data.
4
+ */
5
+ export declare const dependencyManager: DependencyManager;
6
+ //# sourceMappingURL=dependencyTagManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencyTagManager.d.ts","sourceRoot":"","sources":["../../../../src/lib/store/dependency/dependencyTagManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AA2C9D;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBAsD/B,CAAC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dependencyTagManager = exports.invalidatedTags = exports.dependencyTree = void 0;
4
+ exports.dependencyTree = new Map();
5
+ exports.invalidatedTags = new Set();
6
+ /**
7
+ * Manager that keeps control of dependencies between data.
8
+ */
9
+ exports.dependencyTagManager = {
10
+ setDependency: (tag, dependsOnTags) => {
11
+ const previousData = exports.dependencyTree.get(tag);
12
+ if (previousData) {
13
+ dependsOnTags.forEach(dependsOnTag => previousData.add(dependsOnTag));
14
+ }
15
+ else {
16
+ exports.dependencyTree.set(tag, new Set(dependsOnTags));
17
+ }
18
+ },
19
+ deleteDependency: (tag, dependsOnTags) => {
20
+ const previousData = exports.dependencyTree.get(tag);
21
+ if (previousData) {
22
+ dependsOnTags.forEach(dependsOnTag => previousData.delete(dependsOnTag));
23
+ if (previousData.size === 0) {
24
+ exports.dependencyTree.delete(tag);
25
+ }
26
+ }
27
+ },
28
+ invalidateTags: tags => {
29
+ tags.forEach(tag => {
30
+ exports.invalidatedTags.add(tag);
31
+ });
32
+ },
33
+ };
@@ -0,0 +1,11 @@
1
+ import { DependencyTagger, DependencyTree } from './dependency.types';
2
+ export declare const dependencyTree: DependencyTree;
3
+ export declare const invalidatedTags: Set<string>;
4
+ /**
5
+ * Makes a reverted version of the dependency tree
6
+ *
7
+ * @remarks Required to be able to search for dependencies in a fast way.
8
+ */
9
+ export declare const getReversedDependencyTree: () => DependencyTree;
10
+ export declare const dependencyTagger: DependencyTagger;
11
+ //# sourceMappingURL=dependencyTagger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencyTagger.d.ts","sourceRoot":"","sources":["../../../../src/lib/store/dependency/dependencyTagger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEtE,eAAO,MAAM,cAAc,EAAE,cAA+C,CAAC;AAE7E,eAAO,MAAM,eAAe,aAAoB,CAAC;AAMjD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,sBAiBrC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,gBAgC9B,CAAC"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dependencyTagger = exports.getReversedDependencyTree = exports.invalidatedTags = exports.dependencyTree = void 0;
4
+ exports.dependencyTree = new Map();
5
+ exports.invalidatedTags = new Set();
6
+ const reversedDependencyTree = new Map();
7
+ let reversedDependencyTreeIsValid = false;
8
+ /**
9
+ * Makes a reverted version of the dependency tree
10
+ *
11
+ * @remarks Required to be able to search for dependencies in a fast way.
12
+ */
13
+ const getReversedDependencyTree = () => {
14
+ if (!reversedDependencyTreeIsValid) {
15
+ reversedDependencyTree.clear();
16
+ exports.dependencyTree.forEach((children, parent) => {
17
+ children.forEach(child => {
18
+ const previousData = reversedDependencyTree.get(child);
19
+ if (previousData) {
20
+ previousData.add(parent);
21
+ }
22
+ else {
23
+ reversedDependencyTree.set(child, new Set([parent]));
24
+ }
25
+ });
26
+ });
27
+ reversedDependencyTreeIsValid = true;
28
+ }
29
+ return reversedDependencyTree;
30
+ };
31
+ exports.getReversedDependencyTree = getReversedDependencyTree;
32
+ exports.dependencyTagger = {
33
+ setDependency: (tag, dependsOnTags) => {
34
+ exports.dependencyTree.set(tag, new Set(dependsOnTags));
35
+ reversedDependencyTreeIsValid = false;
36
+ },
37
+ addDependency: (tag, dependsOnTags) => {
38
+ const previousData = exports.dependencyTree.get(tag);
39
+ if (previousData) {
40
+ dependsOnTags.forEach(dependsOnTag => previousData.add(dependsOnTag));
41
+ }
42
+ else {
43
+ exports.dependencyTree.set(tag, new Set(dependsOnTags));
44
+ }
45
+ reversedDependencyTreeIsValid = false;
46
+ },
47
+ deleteDependency: (tag, dependsOnTags) => {
48
+ const previousData = exports.dependencyTree.get(tag);
49
+ if (previousData) {
50
+ dependsOnTags?.forEach(dependsOnTag => previousData.delete(dependsOnTag));
51
+ if (previousData.size === 0) {
52
+ exports.dependencyTree.delete(tag);
53
+ }
54
+ }
55
+ reversedDependencyTreeIsValid = false;
56
+ },
57
+ invalidateTags: tags => {
58
+ tags.forEach(tag => {
59
+ exports.invalidatedTags.add(tag);
60
+ });
61
+ },
62
+ };
63
+ /*
64
+ import { DependencyTagger } from './dependency.types';
65
+
66
+ export const dependencyTree = new Map<string, Set<string>>();
67
+
68
+ export const invalidatedTags = new Set<string>();
69
+
70
+ export const dependencyTagger: DependencyTagger = {
71
+ setDependency: (tag, dependsOnTags) => {
72
+ dependsOnTags.forEach(dependsOnTag => {
73
+ const previousData = dependencyTree.get(dependsOnTag);
74
+ if (previousData) {
75
+ previousData.add(tag);
76
+ } else {
77
+ dependencyTree.set(dependsOnTag, new Set<string>([tag]));
78
+ }
79
+ });
80
+ },
81
+
82
+ deleteDependency: (tag, dependsOnTags) => {
83
+ dependsOnTags.forEach(dependsOnTag => {
84
+ const previousData = dependencyTree.get(dependsOnTag);
85
+ if (previousData) {
86
+ previousData.delete(tag);
87
+ if (previousData.size === 0) {
88
+ dependencyTree.delete(dependsOnTag);
89
+ }
90
+ }
91
+ });
92
+ },
93
+
94
+ invalidateTags: tags => {
95
+ tags.forEach(tag => {
96
+ invalidatedTags.add(tag);
97
+ });
98
+ },
99
+ }; */
@@ -0,0 +1,3 @@
1
+ import { DiffManager } from './diffManager.types';
2
+ export declare const diffManager: DiffManager;
3
+ //# sourceMappingURL=diffManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diffManager.d.ts","sourceRoot":"","sources":["../../../../src/lib/store/diff/diffManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAQ,MAAM,qBAAqB,CAAC;AAMxD,eAAO,MAAM,WAAW,EAAE,WAgHzB,CAAC"}
@@ -0,0 +1,114 @@
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
+ exports.diffManager = void 0;
7
+ const microtime_1 = __importDefault(require("microtime"));
8
+ const logger_1 = require("@lib/utils/logger");
9
+ const store_1 = require("../store");
10
+ const dataDirManager_1 = require("../dataDir/dataDirManager");
11
+ const dependencyManager_1 = require("../dependency/dependencyManager");
12
+ let lastDiffDate = null;
13
+ exports.diffManager = {
14
+ reset(date) {
15
+ lastDiffDate = date;
16
+ dependencyManager_1.dependencyManager.reset();
17
+ },
18
+ getDiff(options = { incremental: true }) {
19
+ const startDate = microtime_1.default.now();
20
+ // Before getting any diff data, update any pending changes from data dir.
21
+ dataDirManager_1.dataDirManager.update();
22
+ let updated = new Set();
23
+ let deleted = new Set();
24
+ if (options.incremental && lastDiffDate) {
25
+ logger_1.logger.debug(`Getting incremental diff using date "${lastDiffDate}"`);
26
+ const invalidatedFilepaths = dependencyManager_1.dependencyManager.getInvalidatedFilepaths();
27
+ updated = new Set(invalidatedFilepaths.updated);
28
+ deleted = new Set(invalidatedFilepaths.deleted);
29
+ }
30
+ else {
31
+ // If no sinceDate is passed, return all files
32
+ logger_1.logger.debug(`Getting full diff with no date`);
33
+ updated = new Set(store_1.store.data.keys());
34
+ }
35
+ const diff = {
36
+ since: lastDiffDate ? lastDiffDate.getTime() : new Date(0).getTime(),
37
+ updated,
38
+ deleted,
39
+ };
40
+ logger_1.logger.info(`Diff created in ${(microtime_1.default.now() - startDate) / 1000} ms. Updated: ${diff.updated.size} / Deleted: ${diff.deleted.size}`);
41
+ // Log diff if not empty
42
+ // if (diff.updated.length || diff.deleted.length) {
43
+ // logger.debug(`Diff: "${JSON.stringify(jsonify(diff))}"`);
44
+ // }
45
+ return diff;
46
+ },
47
+ /*
48
+ getDiff(options = { incremental: true }): Diff {
49
+ const startDate = microtime.now();
50
+
51
+ // Before getting any diff data, update any pending changes from data dir.
52
+ const changedFiles = dataDirManager.update();
53
+
54
+ let updated = new Set<string>();
55
+ let deleted = new Set<string>();
56
+ const sinceDate = getLastDiffDate();
57
+ if (options.incremental && sinceDate) {
58
+ logger.debug(`Getting incremental diff using date "${sinceDate}"`);
59
+ // Only process changedFiles if not empty.
60
+ if (changedFiles.updated.length || changedFiles.deleted.length) {
61
+ // Update tracked files so no affected parent is missed.
62
+ changedFiles.updated.forEach(file => {
63
+ tracker.trackChangedFile(file);
64
+ });
65
+ changedFiles.deleted.forEach(file => {
66
+ tracker.trackChangedFile(file);
67
+ });
68
+ }
69
+
70
+ // Create the resulting set of updated and deleted files.
71
+ // "updated" includes all affected parents tracked down
72
+ // by tracker, without any deleted file.
73
+ updated = new Set<string>(tracker.getChangedFiles());
74
+ changedFiles.deleted.forEach(file => updated.delete(file));
75
+
76
+ // "deleted" includes only deleted files, and is based only
77
+ // on data coming from changedFiles, because all deleted files
78
+ // are stored on Static Suite Data Server log
79
+ deleted = new Set<string>(changedFiles.deleted);
80
+
81
+ // Add updated files affected by queries only if "updated" or "deleted"
82
+ // contain any changes.
83
+ if (updated.size > 0 || deleted.size > 0) {
84
+ queryTagManager
85
+ .getInvalidFilepaths()
86
+ .forEach(file => updated.add(file));
87
+ queryTagManager.resetInvalidatedTags();
88
+ }
89
+ } else {
90
+ // If no sinceDate is passed, return all files
91
+ logger.debug(`Getting full diff with no date`);
92
+ updated = new Set<string>(store.data.keys());
93
+ }
94
+
95
+ const diff: Diff = {
96
+ since: sinceDate ? sinceDate.getTime() : new Date(0).getTime(),
97
+ updated,
98
+ deleted,
99
+ };
100
+
101
+ logger.info(
102
+ `Diff created in ${(microtime.now() - startDate) / 1000} ms. Updated: ${
103
+ diff.updated.size
104
+ } / Deleted: ${diff.deleted.size}`,
105
+ );
106
+
107
+ // Log diff if not empty
108
+ // if (diff.updated.length || diff.deleted.length) {
109
+ // logger.debug(`Diff: "${JSON.stringify(jsonify(diff))}"`);
110
+ // }
111
+
112
+ return diff;
113
+ }, */
114
+ };
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Service that handles the incremental differences in data (includes and queries).
3
+ */
4
+ export declare type DiffManager = {
5
+ /**
6
+ * Clears intermediate changes tracked by trackChangedFile().
7
+ *
8
+ * @param date - Date to be used as a timestamp for the next diff.
9
+ */
10
+ reset(date: Date): void;
11
+ /**
12
+ * Gets a list of changed files affected by includes and queries.
13
+ *
14
+ * @remarks
15
+ * This function does not need any date passed as argument to get a diff from.
16
+ * It simply uses the timestamp of the last generated diff. Calling this function does
17
+ * not automatically update that timestamp, because diff data must be stored in
18
+ * disk (a process called "dump"). Once a dump is finished, we can use the new
19
+ * timestamp for further diffs.
20
+ *
21
+ * To obtain a diff, we need changed files from:
22
+ *
23
+ * 1) includes: every time a file changes, all its parents are affected.
24
+ * 2) queries: there is no easy way to know if a changed file will alter a query,
25
+ * so we run all of them and check if something has changed.
26
+
27
+ * @param options - Configuration options
28
+ */
29
+ getDiff(options?: {
30
+ incremental: boolean;
31
+ }): Diff;
32
+ };
33
+ /**
34
+ * A group of changed files in Static Suite's data dir.
35
+ */
36
+ export declare type Diff = {
37
+ /**
38
+ * Timestamp in milliseconds.
39
+ */
40
+ since: number;
41
+ /**
42
+ * A list of updated files (both newly added and changed files).
43
+ */
44
+ updated: Set<string>;
45
+ /**
46
+ * A list of deleted files.
47
+ */
48
+ deleted: Set<string>;
49
+ };
50
+ //# sourceMappingURL=diffManager.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diffManager.types.d.ts","sourceRoot":"","sources":["../../../../src/lib/store/diff/diffManager.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,WAAW,GAAG;IACxB;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAExB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,OAAO,CAAC,EAAE;QAAE,WAAW,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CACnD,CAAC;AAEF;;GAEG;AACH,oBAAY,IAAI,GAAG;IACjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAErB;;OAEG;IACH,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACtB,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export * from './diffManager';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/store/diff/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./diffManager"), exports);
@@ -0,0 +1,3 @@
1
+ import { Tracker } from './tracker.types';
2
+ export declare const tracker: Tracker;
3
+ //# sourceMappingURL=tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../../../src/lib/store/diff/tracker.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AA0B1C,eAAO,MAAM,OAAO,EAAE,OA0DrB,CAAC"}