@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.
- package/.eslintignore +4 -0
- package/.eslintrc.json +49 -0
- package/.nvmrc +1 -0
- package/.prettierrc +10 -0
- package/.vscode/launch.json +44 -0
- package/LICENSE.txt +339 -0
- package/README.md +300 -0
- package/__mocks__/clear-module.js +7 -0
- package/api-extractor.json +339 -0
- package/dist/bin/serve.d.ts +3 -0
- package/dist/bin/serve.d.ts.map +1 -0
- package/dist/bin/serve.js +105 -0
- package/dist/http/README.md +300 -0
- package/dist/http/httpServer.d.ts +4 -0
- package/dist/http/httpServer.d.ts.map +1 -0
- package/dist/http/httpServer.js +24 -0
- package/dist/http/public/assets/bulma/bulma-tooltip.min.css +2 -0
- package/dist/http/public/assets/bulma/bulma.min.css +1 -0
- package/dist/http/public/assets/clipboard/clipboard.min.js +7 -0
- package/dist/http/public/assets/simple-datatables/index.js +12 -0
- package/dist/http/public/assets/simple-datatables/style.css +173 -0
- package/dist/http/routes/cache.d.ts +4 -0
- package/dist/http/routes/cache.d.ts.map +1 -0
- package/dist/http/routes/cache.js +19 -0
- package/dist/http/routes/data.d.ts +4 -0
- package/dist/http/routes/data.d.ts.map +1 -0
- package/dist/http/routes/data.js +104 -0
- package/dist/http/routes/docs.d.ts +3 -0
- package/dist/http/routes/docs.d.ts.map +1 -0
- package/dist/http/routes/docs.js +14 -0
- package/dist/http/routes/dump.d.ts +8 -0
- package/dist/http/routes/dump.d.ts.map +1 -0
- package/dist/http/routes/dump.js +57 -0
- package/dist/http/routes/home.d.ts +3 -0
- package/dist/http/routes/home.d.ts.map +1 -0
- package/dist/http/routes/home.js +17 -0
- package/dist/http/routes/index.d.ts +3 -0
- package/dist/http/routes/index.d.ts.map +1 -0
- package/dist/http/routes/index.js +33 -0
- package/dist/http/routes/query.d.ts +5 -0
- package/dist/http/routes/query.d.ts.map +1 -0
- package/dist/http/routes/query.js +21 -0
- package/dist/http/routes/status.d.ts +9 -0
- package/dist/http/routes/status.d.ts.map +1 -0
- package/dist/http/routes/status.js +74 -0
- package/dist/http/routes/task.d.ts +5 -0
- package/dist/http/routes/task.d.ts.map +1 -0
- package/dist/http/routes/task.js +22 -0
- package/dist/http/views/cacheClear.pug +17 -0
- package/dist/http/views/cacheIndex.pug +19 -0
- package/dist/http/views/data.pug +68 -0
- package/dist/http/views/docs.pug +7 -0
- package/dist/http/views/dumpIndex.pug +14 -0
- package/dist/http/views/home.pug +15 -0
- package/dist/http/views/includes/layout.pug +23 -0
- package/dist/http/views/queryIndex.pug +17 -0
- package/dist/http/views/statusIndex.pug +14 -0
- package/dist/http/views/taskIndex.pug +17 -0
- package/dist/lib/config/config.d.ts +26 -0
- package/dist/lib/config/config.d.ts.map +1 -0
- package/dist/lib/config/config.js +122 -0
- package/dist/lib/config/config.types.d.ts +74 -0
- package/dist/lib/config/config.types.d.ts.map +1 -0
- package/dist/lib/config/config.types.js +2 -0
- package/dist/lib/config/error/InvalidRunMode.d.ts +15 -0
- package/dist/lib/config/error/InvalidRunMode.d.ts.map +1 -0
- package/dist/lib/config/error/InvalidRunMode.js +20 -0
- package/dist/lib/config/error/MissingDirectory.d.ts +24 -0
- package/dist/lib/config/error/MissingDirectory.d.ts.map +1 -0
- package/dist/lib/config/error/MissingDirectory.js +23 -0
- package/dist/lib/config/error/MissingRequiredOption.d.ts +19 -0
- package/dist/lib/config/error/MissingRequiredOption.d.ts.map +1 -0
- package/dist/lib/config/error/MissingRequiredOption.js +21 -0
- package/dist/lib/config/error/NonWritableDirectory.d.ts +24 -0
- package/dist/lib/config/error/NonWritableDirectory.d.ts.map +1 -0
- package/dist/lib/config/error/NonWritableDirectory.js +23 -0
- package/dist/lib/config/error/index.d.ts +5 -0
- package/dist/lib/config/error/index.d.ts.map +1 -0
- package/dist/lib/config/error/index.js +16 -0
- package/dist/lib/config/index.d.ts +2 -0
- package/dist/lib/config/index.d.ts.map +1 -0
- package/dist/lib/config/index.js +13 -0
- package/dist/lib/dataServer.d.ts +21 -0
- package/dist/lib/dataServer.d.ts.map +1 -0
- package/dist/lib/dataServer.js +56 -0
- package/dist/lib/dataServer.types.d.ts +84 -0
- package/dist/lib/dataServer.types.d.ts.map +1 -0
- package/dist/lib/dataServer.types.js +13 -0
- package/dist/lib/error/DomainError.d.ts +9 -0
- package/dist/lib/error/DomainError.d.ts.map +1 -0
- package/dist/lib/error/DomainError.js +20 -0
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +15 -0
- package/dist/lib/query/index.d.ts +3 -0
- package/dist/lib/query/index.d.ts.map +1 -0
- package/dist/lib/query/index.js +14 -0
- package/dist/lib/query/query.types.d.ts +206 -0
- package/dist/lib/query/query.types.d.ts.map +1 -0
- package/dist/lib/query/query.types.js +21 -0
- package/dist/lib/query/queryManager.d.ts +10 -0
- package/dist/lib/query/queryManager.d.ts.map +1 -0
- package/dist/lib/query/queryManager.js +12 -0
- package/dist/lib/query/queryRunner copy.d.ts +3 -0
- package/dist/lib/query/queryRunner copy.d.ts.map +1 -0
- package/dist/lib/query/queryRunner copy.js +87 -0
- package/dist/lib/query/queryRunner.d.ts +3 -0
- package/dist/lib/query/queryRunner.d.ts.map +1 -0
- package/dist/lib/query/queryRunner.js +96 -0
- package/dist/lib/query/queryTagManager.d.ts +3 -0
- package/dist/lib/query/queryTagManager.d.ts.map +1 -0
- package/dist/lib/query/queryTagManager.js +47 -0
- package/dist/lib/store/dataDir/dataDir.types.d.ts +36 -0
- package/dist/lib/store/dataDir/dataDir.types.d.ts.map +1 -0
- package/dist/lib/store/dataDir/dataDir.types.js +2 -0
- package/dist/lib/store/dataDir/dataDirManager.d.ts +3 -0
- package/dist/lib/store/dataDir/dataDirManager.d.ts.map +1 -0
- package/dist/lib/store/dataDir/dataDirManager.js +97 -0
- package/dist/lib/store/dataDir/index.d.ts +2 -0
- package/dist/lib/store/dataDir/index.d.ts.map +1 -0
- package/dist/lib/store/dataDir/index.js +13 -0
- package/dist/lib/store/dependency/dependency.types.d.ts +70 -0
- package/dist/lib/store/dependency/dependency.types.d.ts.map +1 -0
- package/dist/lib/store/dependency/dependency.types.js +2 -0
- package/dist/lib/store/dependency/dependencyFileHelper.d.ts +6 -0
- package/dist/lib/store/dependency/dependencyFileHelper.d.ts.map +1 -0
- package/dist/lib/store/dependency/dependencyFileHelper.js +46 -0
- package/dist/lib/store/dependency/dependencyManager copy.d.ts +6 -0
- package/dist/lib/store/dependency/dependencyManager copy.d.ts.map +1 -0
- package/dist/lib/store/dependency/dependencyManager copy.js +91 -0
- package/dist/lib/store/dependency/dependencyManager.d.ts +6 -0
- package/dist/lib/store/dependency/dependencyManager.d.ts.map +1 -0
- package/dist/lib/store/dependency/dependencyManager.js +78 -0
- package/dist/lib/store/dependency/dependencyManager.types.d.ts +48 -0
- package/dist/lib/store/dependency/dependencyManager.types.d.ts.map +1 -0
- package/dist/lib/store/dependency/dependencyManager.types.js +2 -0
- package/dist/lib/store/dependency/dependencyTagManager.d.ts +6 -0
- package/dist/lib/store/dependency/dependencyTagManager.d.ts.map +1 -0
- package/dist/lib/store/dependency/dependencyTagManager.js +33 -0
- package/dist/lib/store/dependency/dependencyTagger.d.ts +11 -0
- package/dist/lib/store/dependency/dependencyTagger.d.ts.map +1 -0
- package/dist/lib/store/dependency/dependencyTagger.js +99 -0
- package/dist/lib/store/diff/diffManager.d.ts +3 -0
- package/dist/lib/store/diff/diffManager.d.ts.map +1 -0
- package/dist/lib/store/diff/diffManager.js +114 -0
- package/dist/lib/store/diff/diffManager.types.d.ts +50 -0
- package/dist/lib/store/diff/diffManager.types.d.ts.map +1 -0
- package/dist/lib/store/diff/diffManager.types.js +2 -0
- package/dist/lib/store/diff/index.d.ts +2 -0
- package/dist/lib/store/diff/index.d.ts.map +1 -0
- package/dist/lib/store/diff/index.js +13 -0
- package/dist/lib/store/diff/tracker.d.ts +3 -0
- package/dist/lib/store/diff/tracker.d.ts.map +1 -0
- package/dist/lib/store/diff/tracker.js +82 -0
- package/dist/lib/store/diff/tracker.types.d.ts +31 -0
- package/dist/lib/store/diff/tracker.types.d.ts.map +1 -0
- package/dist/lib/store/diff/tracker.types.js +2 -0
- package/dist/lib/store/dump/dumpManager.d.ts +3 -0
- package/dist/lib/store/dump/dumpManager.d.ts.map +1 -0
- package/dist/lib/store/dump/dumpManager.js +199 -0
- package/dist/lib/store/dump/dumpManager.types.d.ts +62 -0
- package/dist/lib/store/dump/dumpManager.types.d.ts.map +1 -0
- package/dist/lib/store/dump/dumpManager.types.js +2 -0
- package/dist/lib/store/dump/index.d.ts +2 -0
- package/dist/lib/store/dump/index.d.ts.map +1 -0
- package/dist/lib/store/dump/index.js +13 -0
- package/dist/lib/store/hook/hook.types.d.ts +205 -0
- package/dist/lib/store/hook/hook.types.d.ts.map +1 -0
- package/dist/lib/store/hook/hook.types.js +2 -0
- package/dist/lib/store/hook/hookManager.d.ts +6 -0
- package/dist/lib/store/hook/hookManager.d.ts.map +1 -0
- package/dist/lib/store/hook/hookManager.js +168 -0
- package/dist/lib/store/hook/index.d.ts +2 -0
- package/dist/lib/store/hook/index.d.ts.map +1 -0
- package/dist/lib/store/hook/index.js +13 -0
- package/dist/lib/store/include/includeIndex.d.ts +6 -0
- package/dist/lib/store/include/includeIndex.d.ts.map +1 -0
- package/dist/lib/store/include/includeIndex.js +65 -0
- package/dist/lib/store/include/includeIndex.types.d.ts +29 -0
- package/dist/lib/store/include/includeIndex.types.d.ts.map +1 -0
- package/dist/lib/store/include/includeIndex.types.js +2 -0
- package/dist/lib/store/include/includeParser.d.ts +3 -0
- package/dist/lib/store/include/includeParser.d.ts.map +1 -0
- package/dist/lib/store/include/includeParser.js +46 -0
- package/dist/lib/store/include/includeParser.types.d.ts +88 -0
- package/dist/lib/store/include/includeParser.types.d.ts.map +1 -0
- package/dist/lib/store/include/includeParser.types.js +2 -0
- package/dist/lib/store/include/index.d.ts +2 -0
- package/dist/lib/store/include/index.d.ts.map +1 -0
- package/dist/lib/store/include/index.js +13 -0
- package/dist/lib/store/include/parsers/configIncludeParser.d.ts +3 -0
- package/dist/lib/store/include/parsers/configIncludeParser.d.ts.map +1 -0
- package/dist/lib/store/include/parsers/configIncludeParser.js +8 -0
- package/dist/lib/store/include/parsers/customIncludeParser.d.ts +3 -0
- package/dist/lib/store/include/parsers/customIncludeParser.d.ts.map +1 -0
- package/dist/lib/store/include/parsers/customIncludeParser.js +8 -0
- package/dist/lib/store/include/parsers/entityIncludeParser.d.ts +3 -0
- package/dist/lib/store/include/parsers/entityIncludeParser.d.ts.map +1 -0
- package/dist/lib/store/include/parsers/entityIncludeParser.js +13 -0
- package/dist/lib/store/include/parsers/index.d.ts +6 -0
- package/dist/lib/store/include/parsers/index.d.ts.map +1 -0
- package/dist/lib/store/include/parsers/index.js +17 -0
- package/dist/lib/store/include/parsers/localeIncludeParser.d.ts +3 -0
- package/dist/lib/store/include/parsers/localeIncludeParser.d.ts.map +1 -0
- package/dist/lib/store/include/parsers/localeIncludeParser.js +8 -0
- package/dist/lib/store/include/parsers/queryIncludeParser.d.ts +11 -0
- package/dist/lib/store/include/parsers/queryIncludeParser.d.ts.map +1 -0
- package/dist/lib/store/include/parsers/queryIncludeParser.js +45 -0
- package/dist/lib/store/include/parsers/types/aliasIncludeParser.d.ts +3 -0
- package/dist/lib/store/include/parsers/types/aliasIncludeParser.d.ts.map +1 -0
- package/dist/lib/store/include/parsers/types/aliasIncludeParser.js +10 -0
- package/dist/lib/store/include/parsers/types/aliasWithoutTypeIncludeParser.d.ts +8 -0
- package/dist/lib/store/include/parsers/types/aliasWithoutTypeIncludeParser.d.ts.map +1 -0
- package/dist/lib/store/include/parsers/types/aliasWithoutTypeIncludeParser.js +18 -0
- package/dist/lib/store/index.d.ts +2 -0
- package/dist/lib/store/index.d.ts.map +1 -0
- package/dist/lib/store/index.js +13 -0
- package/dist/lib/store/store.d.ts +7 -0
- package/dist/lib/store/store.d.ts.map +1 -0
- package/dist/lib/store/store.js +89 -0
- package/dist/lib/store/store.types.d.ts +231 -0
- package/dist/lib/store/store.types.d.ts.map +1 -0
- package/dist/lib/store/store.types.js +2 -0
- package/dist/lib/store/storeManager.d.ts +3 -0
- package/dist/lib/store/storeManager.d.ts.map +1 -0
- package/dist/lib/store/storeManager.js +149 -0
- package/dist/lib/store/workDir/index.d.ts +2 -0
- package/dist/lib/store/workDir/index.d.ts.map +1 -0
- package/dist/lib/store/workDir/index.js +13 -0
- package/dist/lib/store/workDir/storage/getChangedLinesSince.d.ts +9 -0
- package/dist/lib/store/workDir/storage/getChangedLinesSince.d.ts.map +1 -0
- package/dist/lib/store/workDir/storage/getChangedLinesSince.js +47 -0
- package/dist/lib/store/workDir/storage/getDataFromLogLine.d.ts +10 -0
- package/dist/lib/store/workDir/storage/getDataFromLogLine.d.ts.map +1 -0
- package/dist/lib/store/workDir/storage/getDataFromLogLine.js +33 -0
- package/dist/lib/store/workDir/storage/getLogFile.d.ts +8 -0
- package/dist/lib/store/workDir/storage/getLogFile.d.ts.map +1 -0
- package/dist/lib/store/workDir/storage/getLogFile.js +11 -0
- package/dist/lib/store/workDir/storage/index.d.ts +4 -0
- package/dist/lib/store/workDir/storage/index.d.ts.map +1 -0
- package/dist/lib/store/workDir/storage/index.js +20 -0
- package/dist/lib/store/workDir/workDir.types.d.ts +44 -0
- package/dist/lib/store/workDir/workDir.types.d.ts.map +1 -0
- package/dist/lib/store/workDir/workDir.types.js +2 -0
- package/dist/lib/store/workDir/workDirHelper.d.ts +20 -0
- package/dist/lib/store/workDir/workDirHelper.d.ts.map +1 -0
- package/dist/lib/store/workDir/workDirHelper.js +52 -0
- package/dist/lib/task/index.d.ts +3 -0
- package/dist/lib/task/index.d.ts.map +1 -0
- package/dist/lib/task/index.js +14 -0
- package/dist/lib/task/task.types.d.ts +140 -0
- package/dist/lib/task/task.types.d.ts.map +1 -0
- package/dist/lib/task/task.types.js +11 -0
- package/dist/lib/task/taskManager.d.ts +10 -0
- package/dist/lib/task/taskManager.d.ts.map +1 -0
- package/dist/lib/task/taskManager.js +12 -0
- package/dist/lib/task/taskRunner.d.ts +3 -0
- package/dist/lib/task/taskRunner.d.ts.map +1 -0
- package/dist/lib/task/taskRunner.js +71 -0
- package/dist/lib/tsdoc-metadata.json +11 -0
- package/dist/lib/utils/array/arrayUtils.d.ts +2 -0
- package/dist/lib/utils/array/arrayUtils.d.ts.map +1 -0
- package/dist/lib/utils/array/arrayUtils.js +11 -0
- package/dist/lib/utils/cache/cacheBinManager.d.ts +37 -0
- package/dist/lib/utils/cache/cacheBinManager.d.ts.map +1 -0
- package/dist/lib/utils/cache/cacheBinManager.js +53 -0
- package/dist/lib/utils/cache/index.d.ts +2 -0
- package/dist/lib/utils/cache/index.d.ts.map +1 -0
- package/dist/lib/utils/cache/index.js +13 -0
- package/dist/lib/utils/fs/fs.types.d.ts +20 -0
- package/dist/lib/utils/fs/fs.types.d.ts.map +1 -0
- package/dist/lib/utils/fs/fs.types.js +2 -0
- package/dist/lib/utils/fs/fsUtils.d.ts +62 -0
- package/dist/lib/utils/fs/fsUtils.d.ts.map +1 -0
- package/dist/lib/utils/fs/fsUtils.js +137 -0
- package/dist/lib/utils/fs/index.d.ts +2 -0
- package/dist/lib/utils/fs/index.d.ts.map +1 -0
- package/dist/lib/utils/fs/index.js +13 -0
- package/dist/lib/utils/logger/index.d.ts +2 -0
- package/dist/lib/utils/logger/index.d.ts.map +1 -0
- package/dist/lib/utils/logger/index.js +13 -0
- package/dist/lib/utils/logger/logger.d.ts +32 -0
- package/dist/lib/utils/logger/logger.d.ts.map +1 -0
- package/dist/lib/utils/logger/logger.js +82 -0
- package/dist/lib/utils/logger/logger.types.d.ts +37 -0
- package/dist/lib/utils/logger/logger.types.d.ts.map +1 -0
- package/dist/lib/utils/logger/logger.types.js +15 -0
- package/dist/lib/utils/module/dirBasedModuleGroupManager.d.ts +30 -0
- package/dist/lib/utils/module/dirBasedModuleGroupManager.d.ts.map +1 -0
- package/dist/lib/utils/module/dirBasedModuleGroupManager.js +78 -0
- package/dist/lib/utils/module/index.d.ts +3 -0
- package/dist/lib/utils/module/index.d.ts.map +1 -0
- package/dist/lib/utils/module/index.js +14 -0
- package/dist/lib/utils/module/module.types.d.ts +53 -0
- package/dist/lib/utils/module/module.types.d.ts.map +1 -0
- package/dist/lib/utils/module/module.types.js +2 -0
- package/dist/lib/utils/module/moduleManager.d.ts +64 -0
- package/dist/lib/utils/module/moduleManager.d.ts.map +1 -0
- package/dist/lib/utils/module/moduleManager.js +139 -0
- package/dist/lib/utils/object/index.d.ts +2 -0
- package/dist/lib/utils/object/index.d.ts.map +1 -0
- package/dist/lib/utils/object/index.js +13 -0
- package/dist/lib/utils/object/object.types.d.ts +72 -0
- package/dist/lib/utils/object/object.types.d.ts.map +1 -0
- package/dist/lib/utils/object/object.types.js +2 -0
- package/dist/lib/utils/object/objectUtils.d.ts +45 -0
- package/dist/lib/utils/object/objectUtils.d.ts.map +1 -0
- package/dist/lib/utils/object/objectUtils.js +64 -0
- package/dist/lib/utils/string/index.d.ts +2 -0
- package/dist/lib/utils/string/index.d.ts.map +1 -0
- package/dist/lib/utils/string/index.js +13 -0
- package/dist/lib/utils/string/string.types.d.ts +2 -0
- package/dist/lib/utils/string/string.types.d.ts.map +1 -0
- package/dist/lib/utils/string/string.types.js +2 -0
- package/dist/lib/utils/string/stringUtils.d.ts +37 -0
- package/dist/lib/utils/string/stringUtils.d.ts.map +1 -0
- package/dist/lib/utils/string/stringUtils.js +62 -0
- package/dist/lib/watcher/index.d.ts +2 -0
- package/dist/lib/watcher/index.d.ts.map +1 -0
- package/dist/lib/watcher/index.js +13 -0
- package/dist/lib/watcher/watcher.d.ts +17 -0
- package/dist/lib/watcher/watcher.d.ts.map +1 -0
- package/dist/lib/watcher/watcher.js +65 -0
- package/dist/static-suite-data-server.d.ts +392 -0
- package/package.json +102 -0
- package/scripts/copy-http-files-to-src.js +45 -0
- package/src/__tests__/fixtures/data/en/en.json +3 -0
- package/src/__tests__/fixtures/data/en/entity/entity.json +3 -0
- package/src/__tests__/fixtures/data/en/entity/node/article/article1--card.json +3 -0
- package/src/__tests__/fixtures/data/en/entity/node/article/article1--small.json +3 -0
- package/src/__tests__/fixtures/data/en/entity/node/article/article1.json +40 -0
- package/src/__tests__/fixtures/data/en/entity/node/article/article2--card.json +3 -0
- package/src/__tests__/fixtures/data/en/entity/node/article/article2--small.json +3 -0
- package/src/__tests__/fixtures/data/en/entity/node/article/article2.json +40 -0
- package/src/__tests__/fixtures/data/en/entity/node/article/article3--card.json +3 -0
- package/src/__tests__/fixtures/data/en/entity/node/article/article3--small.json +3 -0
- package/src/__tests__/fixtures/data/en/entity/node/article/article3.json +7 -0
- package/src/__tests__/fixtures/data/en/entity/node/node.json +3 -0
- package/src/__tests__/fixtures/data/en/entity/node/page/page1--card.json +3 -0
- package/src/__tests__/fixtures/data/en/entity/node/page/page1--small.json +3 -0
- package/src/__tests__/fixtures/data/en/entity/node/page/page1.json +3 -0
- package/src/__tests__/fixtures/data/en/entity/node/page/page2--card.json +3 -0
- package/src/__tests__/fixtures/data/en/entity/node/page/page2--small.json +3 -0
- package/src/__tests__/fixtures/data/en/entity/node/page/page2.json +3 -0
- package/src/__tests__/fixtures/data/global--block.json +3 -0
- package/src/__tests__/fixtures/data/global.json +3 -0
- package/src/__tests__/fixtures/hook/main.hook.js +15 -0
- package/src/__tests__/fixtures/hook/taxonomy/main.hook.js +15 -0
- package/src/__tests__/fixtures/hook/taxonomy/taxo.hook.js +15 -0
- package/src/__tests__/fixtures/query/error.query.js +6 -0
- package/src/__tests__/fixtures/query/noHandler.query.js +14 -0
- package/src/__tests__/fixtures/query/query1.query.js +15 -0
- package/src/__tests__/fixtures/query/query2.query.js +14 -0
- package/src/__tests__/fixtures/query/wrongNamequery.js +14 -0
- package/src/__tests__/fixtures/task/error.task.js +6 -0
- package/src/__tests__/fixtures/task/noHandler.task.js +13 -0
- package/src/__tests__/fixtures/task/task1.task.js +14 -0
- package/src/__tests__/fixtures/task/task2.task.js +13 -0
- package/src/__tests__/fixtures/task/wrongNametask.js +13 -0
- package/src/bin/serve.ts +107 -0
- package/src/http/httpServer.ts +21 -0
- package/src/http/routes/cache.ts +17 -0
- package/src/http/routes/data.ts +114 -0
- package/src/http/routes/docs.ts +9 -0
- package/src/http/routes/dump.ts +61 -0
- package/src/http/routes/home.ts +16 -0
- package/src/http/routes/index.ts +47 -0
- package/src/http/routes/query.ts +27 -0
- package/src/http/routes/status.ts +89 -0
- package/src/http/routes/task.ts +29 -0
- package/src/http/views/cacheClear.pug +17 -0
- package/src/http/views/cacheIndex.pug +19 -0
- package/src/http/views/data.pug +68 -0
- package/src/http/views/docs.pug +7 -0
- package/src/http/views/dumpIndex.pug +14 -0
- package/src/http/views/home.pug +15 -0
- package/src/http/views/includes/layout.pug +23 -0
- package/src/http/views/queryIndex.pug +17 -0
- package/src/http/views/statusIndex.pug +14 -0
- package/src/http/views/taskIndex.pug +17 -0
- package/src/lib/config/__tests__/config.test.ts +132 -0
- package/src/lib/config/config.ts +143 -0
- package/src/lib/config/config.types.ts +87 -0
- package/src/lib/config/error/InvalidRunMode.ts +17 -0
- package/src/lib/config/error/MissingDirectory.ts +30 -0
- package/src/lib/config/error/MissingRequiredOption.ts +23 -0
- package/src/lib/config/error/NonWritableDirectory.ts +30 -0
- package/src/lib/config/error/index.ts +4 -0
- package/src/lib/config/index.ts +1 -0
- package/src/lib/dataServer.ts +81 -0
- package/src/lib/dataServer.types.ts +98 -0
- package/src/lib/error/DomainError.ts +18 -0
- package/src/lib/index.ts +4 -0
- package/src/lib/query/__tests__/queryRunner.test.ts +61 -0
- package/src/lib/query/index.ts +2 -0
- package/src/lib/query/query.types.ts +231 -0
- package/src/lib/query/queryManager.ts +11 -0
- package/src/lib/query/queryRunner.ts +110 -0
- package/src/lib/query/queryTagManager.ts +53 -0
- package/src/lib/store/dataDir/__tests__/dataDirManager.test.ts +15 -0
- package/src/lib/store/dataDir/dataDir.types.ts +38 -0
- package/src/lib/store/dataDir/dataDirManager.ts +121 -0
- package/src/lib/store/dataDir/index.ts +1 -0
- package/src/lib/store/dependency/dependency.types.ts +78 -0
- package/src/lib/store/dependency/dependencyFileHelper.ts +50 -0
- package/src/lib/store/dependency/dependencyManager.ts +82 -0
- package/src/lib/store/dependency/dependencyTagger.ts +105 -0
- package/src/lib/store/diff/diffManager.ts +122 -0
- package/src/lib/store/diff/diffManager.types.ts +51 -0
- package/src/lib/store/diff/index.ts +1 -0
- package/src/lib/store/dump/dumpManager.ts +235 -0
- package/src/lib/store/dump/dumpManager.types.ts +61 -0
- package/src/lib/store/dump/index.ts +1 -0
- package/src/lib/store/hook/hook.types.ts +232 -0
- package/src/lib/store/hook/hookManager.ts +180 -0
- package/src/lib/store/hook/index.ts +1 -0
- package/src/lib/store/include/__tests__/includeParser.test.ts +80 -0
- package/src/lib/store/include/includeParser.ts +54 -0
- package/src/lib/store/include/includeParser.types.ts +99 -0
- package/src/lib/store/include/index.ts +1 -0
- package/src/lib/store/include/parsers/__tests__/entityIncludeParser.test.ts +43 -0
- package/src/lib/store/include/parsers/configIncludeParser.ts +8 -0
- package/src/lib/store/include/parsers/customIncludeParser.ts +8 -0
- package/src/lib/store/include/parsers/entityIncludeParser.ts +15 -0
- package/src/lib/store/include/parsers/index.ts +5 -0
- package/src/lib/store/include/parsers/localeIncludeParser.ts +8 -0
- package/src/lib/store/include/parsers/queryIncludeParser.ts +51 -0
- package/src/lib/store/include/parsers/types/__tests__/aliasIncludeParser.test.ts +37 -0
- package/src/lib/store/include/parsers/types/__tests__/aliasWithoutTypeIncludeParser.test.ts +43 -0
- package/src/lib/store/include/parsers/types/aliasIncludeParser.ts +13 -0
- package/src/lib/store/include/parsers/types/aliasWithoutTypeIncludeParser.ts +22 -0
- package/src/lib/store/index.ts +1 -0
- package/src/lib/store/store.ts +105 -0
- package/src/lib/store/store.types.ts +251 -0
- package/src/lib/store/storeManager.ts +187 -0
- package/src/lib/store/workDir/__tests__/workDirHelper.test.ts +25 -0
- package/src/lib/store/workDir/index.ts +1 -0
- package/src/lib/store/workDir/storage/__tests__/getChangedLinesSince.test.ts +23 -0
- package/src/lib/store/workDir/storage/__tests__/getDataFromLogLine.test.ts +21 -0
- package/src/lib/store/workDir/storage/getChangedLinesSince.ts +47 -0
- package/src/lib/store/workDir/storage/getDataFromLogLine.ts +31 -0
- package/src/lib/store/workDir/storage/getLogFile.ts +11 -0
- package/src/lib/store/workDir/storage/index.ts +8 -0
- package/src/lib/store/workDir/workDir.types.ts +48 -0
- package/src/lib/store/workDir/workDirHelper.ts +59 -0
- package/src/lib/task/__tests__/taskRunner.test.ts +47 -0
- package/src/lib/task/index.ts +2 -0
- package/src/lib/task/task.types.ts +151 -0
- package/src/lib/task/taskManager.ts +11 -0
- package/src/lib/task/taskRunner.ts +79 -0
- package/src/lib/utils/array/__tests__/arrayUtils.test.ts +16 -0
- package/src/lib/utils/array/arrayUtils.ts +7 -0
- package/src/lib/utils/cache/__tests__/cache.test.ts +24 -0
- package/src/lib/utils/cache/cacheBinManager.ts +88 -0
- package/src/lib/utils/cache/index.ts +1 -0
- package/src/lib/utils/fs/__tests__/fixtures/file.json +3 -0
- package/src/lib/utils/fs/__tests__/fixtures/file.txt +3 -0
- package/src/lib/utils/fs/__tests__/fsUtils.test.ts +93 -0
- package/src/lib/utils/fs/fs.types.ts +21 -0
- package/src/lib/utils/fs/fsUtils.ts +141 -0
- package/src/lib/utils/fs/index.ts +1 -0
- package/src/lib/utils/logger/__tests__/logger.test.ts +12 -0
- package/src/lib/utils/logger/index.ts +1 -0
- package/src/lib/utils/logger/logger.ts +87 -0
- package/src/lib/utils/logger/logger.types.ts +41 -0
- package/src/lib/utils/module/__mocks__/dummyModule.query.js +4 -0
- package/src/lib/utils/module/__mocks__/dummyModule2.query.js +4 -0
- package/src/lib/utils/module/__tests__/dirBasedModuleGroupManager.test.ts +34 -0
- package/src/lib/utils/module/__tests__/moduleHandler.test.ts +100 -0
- package/src/lib/utils/module/dirBasedModuleGroupManager.ts +78 -0
- package/src/lib/utils/module/index.ts +2 -0
- package/src/lib/utils/module/module.types.ts +57 -0
- package/src/lib/utils/module/moduleManager.ts +144 -0
- package/src/lib/utils/object/__tests__/objectUtils.test.ts +62 -0
- package/src/lib/utils/object/index.ts +1 -0
- package/src/lib/utils/object/object.types.ts +74 -0
- package/src/lib/utils/object/objectUtils.ts +71 -0
- package/src/lib/utils/string/__tests__/stringUtils.test.ts +30 -0
- package/src/lib/utils/string/index.ts +1 -0
- package/src/lib/utils/string/string.types.ts +1 -0
- package/src/lib/utils/string/stringUtils.ts +61 -0
- package/src/lib/watcher/index.ts +1 -0
- package/src/lib/watcher/watcher.ts +66 -0
- 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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|