@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,19 @@
1
+ import { DomainError } from '@lib/error/DomainError';
2
+ /**
3
+ * Defines a custom error for missing required options.
4
+ *
5
+ * @internal
6
+ */
7
+ export declare class MissingRequiredOption extends DomainError {
8
+ /**
9
+ * The name of the missing required option.
10
+ */
11
+ requiredOption: string;
12
+ /**
13
+ * Constructs a new error for missing required options.
14
+ *
15
+ * @param requiredOption - the name of the missing required option.
16
+ */
17
+ constructor(requiredOption: string);
18
+ }
19
+ //# sourceMappingURL=MissingRequiredOption.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MissingRequiredOption.d.ts","sourceRoot":"","sources":["../../../../src/lib/config/error/MissingRequiredOption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,WAAW;IACpD;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;gBACS,cAAc,EAAE,MAAM;CAInC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MissingRequiredOption = void 0;
4
+ const DomainError_1 = require("@lib/error/DomainError");
5
+ /**
6
+ * Defines a custom error for missing required options.
7
+ *
8
+ * @internal
9
+ */
10
+ class MissingRequiredOption extends DomainError_1.DomainError {
11
+ /**
12
+ * Constructs a new error for missing required options.
13
+ *
14
+ * @param requiredOption - the name of the missing required option.
15
+ */
16
+ constructor(requiredOption) {
17
+ super(`Required option not provided: "${requiredOption}".`);
18
+ this.requiredOption = requiredOption;
19
+ }
20
+ }
21
+ exports.MissingRequiredOption = MissingRequiredOption;
@@ -0,0 +1,24 @@
1
+ import { DomainError } from '@lib/error/DomainError';
2
+ /**
3
+ * Defines a custom error for non-writable directories.
4
+ *
5
+ * @internal
6
+ */
7
+ export declare class NonWritableDirectory extends DomainError {
8
+ /**
9
+ * The configuration id of the non-writable directory (dataDir, queryDir, etc).
10
+ */
11
+ directoryId: string;
12
+ /**
13
+ * Path of the non-writable directory.
14
+ */
15
+ path: string;
16
+ /**
17
+ * Constructs a new error for non-writable directories.
18
+ *
19
+ * @param directoryId - the configuration id of the non-writable directory (dataDir, queryDir, etc).
20
+ * @param path - the path of the non-writable directory.
21
+ */
22
+ constructor(directoryId: string, path: string);
23
+ }
24
+ //# sourceMappingURL=NonWritableDirectory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NonWritableDirectory.d.ts","sourceRoot":"","sources":["../../../../src/lib/config/error/NonWritableDirectory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,WAAW;IACnD;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;OAKG;gBACS,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAK9C"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NonWritableDirectory = void 0;
4
+ const DomainError_1 = require("@lib/error/DomainError");
5
+ /**
6
+ * Defines a custom error for non-writable directories.
7
+ *
8
+ * @internal
9
+ */
10
+ class NonWritableDirectory extends DomainError_1.DomainError {
11
+ /**
12
+ * Constructs a new error for non-writable directories.
13
+ *
14
+ * @param directoryId - the configuration id of the non-writable directory (dataDir, queryDir, etc).
15
+ * @param path - the path of the non-writable directory.
16
+ */
17
+ constructor(directoryId, path) {
18
+ super(`Directory "${directoryId}" is not writable: "${path}"`);
19
+ this.directoryId = directoryId;
20
+ this.path = path;
21
+ }
22
+ }
23
+ exports.NonWritableDirectory = NonWritableDirectory;
@@ -0,0 +1,5 @@
1
+ export * from './InvalidRunMode';
2
+ export * from './MissingDirectory';
3
+ export * from './NonWritableDirectory';
4
+ export * from './MissingRequiredOption';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/config/error/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,16 @@
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("./InvalidRunMode"), exports);
14
+ __exportStar(require("./MissingDirectory"), exports);
15
+ __exportStar(require("./NonWritableDirectory"), exports);
16
+ __exportStar(require("./MissingRequiredOption"), exports);
@@ -0,0 +1,2 @@
1
+ export * from './config';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,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("./config"), exports);
@@ -0,0 +1,21 @@
1
+ import { LogLevel, LogFile } from '@lib/utils/logger/logger.types';
2
+ import { Store } from '@lib/store/store.types';
3
+ import { QueryRunner, QuerySuccessfulResponse, QueryErrorResponse, QueryArgs, QueryModule, CacheStatus } from '@lib/query/query.types';
4
+ import { RunMode, DataServerReturn, DataServerInitOptions } from './dataServer.types';
5
+ /**
6
+ * The Data Server instance.
7
+ *
8
+ * @public
9
+ */
10
+ declare const dataServer: {
11
+ /**
12
+ * Initializes the Data Server.
13
+ *
14
+ * @param options - Configuration options
15
+ *
16
+ * @returns An object with the data store and the queryRunner service.
17
+ */
18
+ init: (options: DataServerInitOptions) => DataServerReturn;
19
+ };
20
+ export { dataServer, DataServerInitOptions, DataServerReturn, RunMode, LogLevel, LogFile, Store, QueryRunner, QuerySuccessfulResponse, QueryErrorResponse, QueryArgs, QueryModule, CacheStatus, };
21
+ //# sourceMappingURL=dataServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataServer.d.ts","sourceRoot":"","sources":["../../src/lib/dataServer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAKnE,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAG/C,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAE5B;;;;GAIG;AACH,QAAA,MAAM,UAAU;IACd;;;;;;OAMG;oBACa,qBAAqB,KAAG,gBAAgB;CA6BzD,CAAC;AACF,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,gBAAgB,EAChB,OAAO,EACP,QAAQ,EACR,OAAO,EACP,KAAK,EACL,WAAW,EACX,uBAAuB,EACvB,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,WAAW,GACZ,CAAC"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CacheStatus = exports.LogLevel = exports.RunMode = exports.dataServer = void 0;
4
+ const logger_1 = require("@lib/utils/logger");
5
+ const logger_types_1 = require("@lib/utils/logger/logger.types");
6
+ Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function () { return logger_types_1.LogLevel; } });
7
+ const watcher_1 = require("@lib/watcher");
8
+ const config_1 = require("@lib/config");
9
+ const dataDir_1 = require("@lib/store/dataDir");
10
+ const store_1 = require("@lib/store");
11
+ const query_1 = require("@lib/query");
12
+ const taskRunner_1 = require("@lib/task/taskRunner");
13
+ const query_types_1 = require("@lib/query/query.types");
14
+ Object.defineProperty(exports, "CacheStatus", { enumerable: true, get: function () { return query_types_1.CacheStatus; } });
15
+ const dataServer_types_1 = require("./dataServer.types");
16
+ Object.defineProperty(exports, "RunMode", { enumerable: true, get: function () { return dataServer_types_1.RunMode; } });
17
+ /**
18
+ * The Data Server instance.
19
+ *
20
+ * @public
21
+ */
22
+ const dataServer = {
23
+ /**
24
+ * Initializes the Data Server.
25
+ *
26
+ * @param options - Configuration options
27
+ *
28
+ * @returns An object with the data store and the queryRunner service.
29
+ */
30
+ init: (options) => {
31
+ // Configure logger.
32
+ (0, logger_1.configureLogger)(options.logLevel, options.logFile);
33
+ // Configure data server.
34
+ const config = (0, config_1.setConfig)({
35
+ dataDir: options.dataDir,
36
+ workDir: options.workDir,
37
+ queryDir: options.queryDir,
38
+ hookDir: options.hookDir,
39
+ taskDir: options.taskDir,
40
+ dumpDir: options.dumpDir,
41
+ runMode: options.runMode,
42
+ });
43
+ // Start watcher.
44
+ if (config.runMode === dataServer_types_1.RunMode.DEV) {
45
+ (0, watcher_1.initWatcher)();
46
+ }
47
+ // Load data from dataDir.
48
+ dataDir_1.dataDirManager.load();
49
+ return {
50
+ store: store_1.store,
51
+ queryRunner: query_1.queryRunner,
52
+ taskRunner: taskRunner_1.taskRunner,
53
+ };
54
+ },
55
+ };
56
+ exports.dataServer = dataServer;
@@ -0,0 +1,84 @@
1
+ import { LogLevel, LogFile } from '@lib/utils/logger/logger.types';
2
+ import { QueryRunner } from '@lib/query/query.types';
3
+ import { TaskRunner } from './task/task.types';
4
+ import { Store } from './store/store.types';
5
+ /**
6
+ * Init options for Data Server.
7
+ *
8
+ * @public
9
+ */
10
+ export declare type DataServerInitOptions = {
11
+ /**
12
+ * Log level. Optional. @see {@link LogLevel}
13
+ */
14
+ logLevel?: LogLevel;
15
+ /**
16
+ * Path to the log file. Optional. @see {@link LogFile}
17
+ */
18
+ logFile?: LogFile;
19
+ /**
20
+ * Log level for the log file. Optional. @see {@link LogLevel}
21
+ */
22
+ logFileLevel?: LogLevel;
23
+ /**
24
+ * Path to the directory where data is stored.
25
+ */
26
+ dataDir: string;
27
+ /**
28
+ * Path to the directory where work data is stored. Optional.
29
+ */
30
+ workDir?: string;
31
+ /**
32
+ * Path to the directory where queries are stored. Optional.
33
+ */
34
+ queryDir?: string;
35
+ /**
36
+ * Path to the directory where hooks are stored. Optional.
37
+ */
38
+ hookDir?: string;
39
+ /**
40
+ * Path to the directory where tasks are stored. Optional.
41
+ */
42
+ taskDir?: string;
43
+ /**
44
+ * Path to the directory where dumps are stored. Optional.
45
+ */
46
+ dumpDir?: string;
47
+ /**
48
+ * Run mode (dev or prod).
49
+ */
50
+ runMode: RunMode;
51
+ };
52
+ /**
53
+ * Available run modes: dev or prod.
54
+ *
55
+ * @public
56
+ */
57
+ export declare enum RunMode {
58
+ DEV = "dev",
59
+ PROD = "prod"
60
+ }
61
+ /**
62
+ * A helper to get RunMode type as strings. @see {@link RunMode}.
63
+ */
64
+ export declare type RunModeStrings = keyof typeof RunMode;
65
+ /**
66
+ * Data returned by Data Server once initialized.
67
+ *
68
+ * @public
69
+ */
70
+ export declare type DataServerReturn = {
71
+ /**
72
+ * The data store.
73
+ */
74
+ store: Store;
75
+ /**
76
+ * The query runner, to be able to run queries on demand.
77
+ */
78
+ queryRunner: QueryRunner;
79
+ /**
80
+ * The task runner, to be able to run tasks on demand.
81
+ */
82
+ taskRunner: TaskRunner;
83
+ };
84
+ //# sourceMappingURL=dataServer.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataServer.types.d.ts","sourceRoot":"","sources":["../../src/lib/dataServer.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C;;;;GAIG;AACH,oBAAY,qBAAqB,GAAG;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,QAAQ,CAAC;IAExB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AACH,oBAAY,OAAO;IACjB,GAAG,QAAQ;IACX,IAAI,SAAS;CACd;AAED;;GAEG;AACH,oBAAY,cAAc,GAAG,MAAM,OAAO,OAAO,CAAC;AAElD;;;;GAIG;AACH,oBAAY,gBAAgB,GAAG;IAC7B;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IAEb;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;IAEzB;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RunMode = void 0;
4
+ /**
5
+ * Available run modes: dev or prod.
6
+ *
7
+ * @public
8
+ */
9
+ var RunMode;
10
+ (function (RunMode) {
11
+ RunMode["DEV"] = "dev";
12
+ RunMode["PROD"] = "prod";
13
+ })(RunMode = exports.RunMode || (exports.RunMode = {}));
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Defines a custom error that extends the Error class.
3
+ *
4
+ * @internal
5
+ */
6
+ export declare class DomainError extends Error {
7
+ constructor(message: string);
8
+ }
9
+ //# sourceMappingURL=DomainError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DomainError.d.ts","sourceRoot":"","sources":["../../../src/lib/error/DomainError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM;CAW5B"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DomainError = void 0;
4
+ /**
5
+ * Defines a custom error that extends the Error class.
6
+ *
7
+ * @internal
8
+ */
9
+ class DomainError extends Error {
10
+ constructor(message) {
11
+ super(message);
12
+ // Ensure the name of this error is the same as the class name.
13
+ this.name = this.constructor.name;
14
+ // This clips the constructor invocation from the stack trace.
15
+ // It's not absolutely essential, but it does make the stack trace a little nicer.
16
+ // @see https://nodejs.org/api/errors.html#errors_error_capturestacktrace_targetobject_constructoropt
17
+ Error.captureStackTrace(this, this.constructor);
18
+ }
19
+ }
20
+ exports.DomainError = DomainError;
@@ -0,0 +1,2 @@
1
+ export * from './dataServer';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAGA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,15 @@
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
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
14
+ require('module-alias')(`${__dirname}/../..`);
15
+ __exportStar(require("./dataServer"), exports);
@@ -0,0 +1,3 @@
1
+ export * from './queryManager';
2
+ export * from './queryRunner';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/query/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,14 @@
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("./queryManager"), exports);
14
+ __exportStar(require("./queryRunner"), exports);
@@ -0,0 +1,206 @@
1
+ import { Store } from '@lib/store/store.types';
2
+ /**
3
+ * A service to handle the execution of queries.
4
+ *
5
+ * @public
6
+ */
7
+ export declare type QueryRunner = {
8
+ /**
9
+ * Runs a query and returns its results with metadata.
10
+ *
11
+ * @remarks
12
+ * It checks several validations before a query is run, and then it tries to get
13
+ * the query result from cache. If cache is empty, query is executed and saved
14
+ * into the cache.
15
+ *
16
+ * It logs an error and throws an exception if any problem occurs during the
17
+ * query execution.
18
+ *
19
+ * @param queryDefinition - An URL containing a query ID (filename without extension
20
+ * and suffix) of the query to be executed, plus and optional query string with arguments.
21
+ * @see {@link ModuleInfo#id | Definition of a module ID}
22
+ *
23
+ * @returns The result of the query as a JSON object with data and metadata keys,
24
+ * or an error response if some validation is not met.
25
+ *
26
+ * @example
27
+ * Here's a result example:
28
+ * ```
29
+ * {
30
+ * data: ['title 1', 'title 2'],
31
+ * metadata: {
32
+ * contentType: 'application/json',
33
+ * execTime: 2,
34
+ * cache: ['miss'|'hit'],
35
+ * num: 2,
36
+ * }
37
+ * }
38
+ * ```
39
+
40
+ * @throws
41
+ * Exception thrown if any problem occurs during the query execution.
42
+ */
43
+ run(queryDefinition: string): QuerySuccessfulResponse | QueryErrorResponse;
44
+ /**
45
+ * Gets number of executed queries.
46
+ *
47
+ * @remarks
48
+ * A simple counter that stores the number of executed queries, of any type.
49
+ *
50
+ * @returns Number of executed queries.
51
+ */
52
+ getCount(): number;
53
+ };
54
+ /**
55
+ * An object with query arguments.
56
+ *
57
+ * @public
58
+ */
59
+ export declare type QueryArgs = Record<string, any>;
60
+ /**
61
+ * The result that a query returns after being executed.
62
+ */
63
+ export declare type QueryModuleResult = {
64
+ /**
65
+ * A result, which can be of any kind (and array, an object, a string, etc)
66
+ */
67
+ result: any;
68
+ /**
69
+ * Optional content type for the data available in "result"
70
+ *
71
+ * @remarks
72
+ * Data coming from the query can be anything (XML, a string, etc).
73
+ * This content type is added to the metadata section of the QueryResponse.
74
+ * @see {@link QuerySuccessfulResponse#metadata}.
75
+ *
76
+ * @defaultValue 'application/json'
77
+ */
78
+ contentType?: string;
79
+ /**
80
+ * Optional flag that tells whether this result can be cached or not.
81
+ */
82
+ cacheable?: boolean;
83
+ /**
84
+ * A list of tags to get this query invalidated.
85
+ */
86
+ tags?: string[];
87
+ };
88
+ /**
89
+ * Possible values for a cache get operation: miss or hit.
90
+ *
91
+ * @public
92
+ */
93
+ export declare enum CacheStatus {
94
+ MISS = 0,
95
+ HIT = 1
96
+ }
97
+ /**
98
+ * A successful response returned after executing a query.
99
+ *
100
+ * @remarks
101
+ * It takes the results from a QueryModule#queryHandler, and wraps them into an
102
+ * structure with metadata. @see {@link QueryModule#default}
103
+ *
104
+ * @public
105
+ */
106
+ export declare type QuerySuccessfulResponse = {
107
+ /**
108
+ * Data returned by the query. @see {@link QueryModule#default}
109
+ */
110
+ data: any;
111
+ /**
112
+ * Query metadata
113
+ */
114
+ metadata: {
115
+ /**
116
+ * Content type for the data available in "data"
117
+ *
118
+ * @remarks
119
+ * Even thought this structure is a JSON object, data coming from the
120
+ * query can be anything (XML, a string, etc). It must be specified so any
121
+ * consumer of this data knows what is being returned.
122
+ */
123
+ contentType: string;
124
+ /**
125
+ * Execution time taken by the query, in milliseconds.
126
+ */
127
+ execTimeMs: number;
128
+ /**
129
+ * Tells wether the query results comes from a miss or hit.
130
+ */
131
+ cache: CacheStatus;
132
+ /**
133
+ * A list of tags to get this query invalidated.
134
+ */
135
+ tags?: string[];
136
+ };
137
+ };
138
+ /**
139
+ * A module that defines a query.
140
+ */
141
+ export declare type QueryModule = {
142
+ /**
143
+ * The handler that executes a query.
144
+ *
145
+ * @remarks
146
+ * It receives the store and a set of arguments, executes the query
147
+ * and returns its results.
148
+ *
149
+ * @param options - An object with options for the query: store and args
150
+ */
151
+ default(options: {
152
+ /**
153
+ * Store data to be used in the query
154
+ */
155
+ store: Store;
156
+ args: QueryArgs;
157
+ }): QueryModuleResult;
158
+ };
159
+ /**
160
+ * An error response returned after executing a query.
161
+ *
162
+ * @remarks
163
+ * It takes an string from QueryModule#queryHandler, and wraps them into an
164
+ * structure with metadata. @see {@link QueryModule#default}
165
+ *
166
+ * @public
167
+ */
168
+ export declare type QueryErrorResponse = {
169
+ /**
170
+ * Error message from the query, usually coming from a failed validation.
171
+ */
172
+ error: string;
173
+ };
174
+ /**
175
+ * Tells whether a query response is erroneous or not.
176
+ *
177
+ * @param queryResponse - A response (successful or erroneous) from the query handler.
178
+ * @returns True if queryResponse is erroneous.
179
+ */
180
+ export declare const isQueryErrorResponse: (queryResponse: QuerySuccessfulResponse | QueryErrorResponse) => queryResponse is QueryErrorResponse;
181
+ export declare type QueryTagManager = {
182
+ /**
183
+ * Marks query items with any of the specified tags as invalid.
184
+ *
185
+ * @param tags - The list of tags for which to invalidate query items.
186
+ */
187
+ invalidateTags(tags: string[]): void;
188
+ /**
189
+ * Resets the list of invalidated tags once consumed.
190
+ */
191
+ resetInvalidatedTags(): void;
192
+ /**
193
+ * Adds a list of query tags to a query, or removes it if tags are empty.
194
+ *
195
+ * @param queryDefinition - The string containing the query id and its arguments.
196
+ * @param tags - The list of tags for which to invalidate query items.
197
+ */
198
+ setTagsToQuery(queryDefinition: string, tags: Set<string> | null | undefined): void;
199
+ /**
200
+ * Gets a list of filepaths which contain an invalidated query.
201
+ *
202
+ * @returns A list of filepaths which contain an invalidated query.
203
+ */
204
+ getInvalidFilepaths(): string[];
205
+ };
206
+ //# sourceMappingURL=query.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.types.d.ts","sourceRoot":"","sources":["../../../src/lib/query/query.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE/C;;;;GAIG;AACH,oBAAY,WAAW,GAAG;IACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,GAAG,CAAC,eAAe,EAAE,MAAM,GAAG,uBAAuB,GAAG,kBAAkB,CAAC;IAE3E;;;;;;;OAOG;IACH,QAAQ,IAAI,MAAM,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,oBAAY,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE5C;;GAEG;AACH,oBAAY,iBAAiB,GAAG;IAC9B;;OAEG;IACH,MAAM,EAAE,GAAG,CAAC;IAEZ;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,oBAAY,WAAW;IACrB,IAAI,IAAA;IACJ,GAAG,IAAA;CACJ;AAED;;;;;;;;GAQG;AACH,oBAAY,uBAAuB,GAAG;IACpC;;OAEG;IACH,IAAI,EAAE,GAAG,CAAC;IAEV;;OAEG;IACH,QAAQ,EAAE;QACR;;;;;;;WAOG;QACH,WAAW,EAAE,MAAM,CAAC;QAEpB;;WAEG;QACH,UAAU,EAAE,MAAM,CAAC;QAEnB;;WAEG;QACH,KAAK,EAAE,WAAW,CAAC;QAEnB;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,oBAAY,WAAW,GAAG;IACxB;;;;;;;;OAQG;IACH,OAAO,CAAC,OAAO,EAAE;QACf;;WAEG;QACH,KAAK,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,SAAS,CAAC;KACjB,GAAG,iBAAiB,CAAC;CACvB,CAAC;AAEF;;;;;;;;GAQG;AACH,oBAAY,kBAAkB,GAAG;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,kBAChB,uBAAuB,GAAG,kBAAkB,wCAEF,CAAC;AAE5D,oBAAY,eAAe,GAAG;IAC5B;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAErC;;OAEG;IACH,oBAAoB,IAAI,IAAI,CAAC;IAE7B;;;;;OAKG;IACH,cAAc,CACZ,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,GACnC,IAAI,CAAC;IAER;;;;OAIG;IACH,mBAAmB,IAAI,MAAM,EAAE,CAAC;CACjC,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isQueryErrorResponse = exports.CacheStatus = void 0;
4
+ /**
5
+ * Possible values for a cache get operation: miss or hit.
6
+ *
7
+ * @public
8
+ */
9
+ var CacheStatus;
10
+ (function (CacheStatus) {
11
+ CacheStatus[CacheStatus["MISS"] = 0] = "MISS";
12
+ CacheStatus[CacheStatus["HIT"] = 1] = "HIT";
13
+ })(CacheStatus = exports.CacheStatus || (exports.CacheStatus = {}));
14
+ /**
15
+ * Tells whether a query response is erroneous or not.
16
+ *
17
+ * @param queryResponse - A response (successful or erroneous) from the query handler.
18
+ * @returns True if queryResponse is erroneous.
19
+ */
20
+ const isQueryErrorResponse = (queryResponse) => queryResponse.error !== undefined;
21
+ exports.isQueryErrorResponse = isQueryErrorResponse;
@@ -0,0 +1,10 @@
1
+ import { QueryModule } from './query.types';
2
+ /**
3
+ * A manager for queries stored in a user-land directory defined by configuration.
4
+ *
5
+ * @remarks
6
+ * It extends dirBasedModuleGroupManager, which manages groups of modules based
7
+ * on a directory: @see {@link dirBasedModuleGroupManager}
8
+ */
9
+ export declare const queryManager: import("../utils/module/module.types").ModuleGroupManager<QueryModule>;
10
+ //# sourceMappingURL=queryManager.d.ts.map