@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,82 @@
|
|
|
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.tracker = void 0;
|
|
7
|
+
const os_1 = __importDefault(require("os"));
|
|
8
|
+
const fs_1 = __importDefault(require("fs"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const config_1 = require("@lib/config");
|
|
11
|
+
const logger_1 = require("@lib/utils/logger");
|
|
12
|
+
const object_1 = require("@lib/utils/object");
|
|
13
|
+
const includeIndex_1 = require("../include/includeIndex");
|
|
14
|
+
/**
|
|
15
|
+
* A list of changed files with includes that have changed since last reset.
|
|
16
|
+
*/
|
|
17
|
+
const changedFiles = new Set();
|
|
18
|
+
/**
|
|
19
|
+
* A flag to tell wether getChangedFiles() has been already called.
|
|
20
|
+
*/
|
|
21
|
+
let isChangedFilesInitialized = false;
|
|
22
|
+
// Ensure several concurrent Data Servers use different files.
|
|
23
|
+
let trackerFilepath = null;
|
|
24
|
+
const getTrackerFilepath = () => {
|
|
25
|
+
if (!trackerFilepath) {
|
|
26
|
+
const dataDirHash = config_1.config.dataDir
|
|
27
|
+
.replace(/\//g, '-')
|
|
28
|
+
.replace(/([^a-zA-Z0-9-])/g, '')
|
|
29
|
+
.replace(/^-/g, '')
|
|
30
|
+
.replace(/-$/g, '');
|
|
31
|
+
trackerFilepath = `${os_1.default.homedir()}/.static-suite/data-server/${dataDirHash}/tracker.json`;
|
|
32
|
+
}
|
|
33
|
+
return trackerFilepath;
|
|
34
|
+
};
|
|
35
|
+
exports.tracker = {
|
|
36
|
+
trackChangedFile(relativeFilepath) {
|
|
37
|
+
// Add parents.
|
|
38
|
+
includeIndex_1.includeIndex
|
|
39
|
+
.getParents(relativeFilepath)
|
|
40
|
+
.forEach((parentRelativeFilepath) => {
|
|
41
|
+
changedFiles.add(parentRelativeFilepath);
|
|
42
|
+
});
|
|
43
|
+
// Add the passed file.
|
|
44
|
+
changedFiles.add(relativeFilepath);
|
|
45
|
+
// Store memory data into disk
|
|
46
|
+
const trackerFile = getTrackerFilepath();
|
|
47
|
+
const dataToStore = JSON.stringify({ changedFiles: (0, object_1.jsonify)(changedFiles) });
|
|
48
|
+
try {
|
|
49
|
+
if (!fs_1.default.existsSync(trackerFile)) {
|
|
50
|
+
fs_1.default.mkdirSync(path_1.default.dirname(trackerFile), { recursive: true });
|
|
51
|
+
}
|
|
52
|
+
fs_1.default.writeFileSync(trackerFile, dataToStore);
|
|
53
|
+
}
|
|
54
|
+
catch (e) {
|
|
55
|
+
logger_1.logger.error(`Error writing tracker file located at "${trackerFile}": ${e}`);
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
getChangedFiles: () => {
|
|
59
|
+
const trackerFile = getTrackerFilepath();
|
|
60
|
+
// The first time this function is executed (after Data Server is started for the first time),
|
|
61
|
+
// it tries to get changed files from previously stored value on disk.
|
|
62
|
+
if (!isChangedFilesInitialized && fs_1.default.existsSync(trackerFile)) {
|
|
63
|
+
try {
|
|
64
|
+
const trackerFileData = JSON.parse(fs_1.default.readFileSync(trackerFile).toString().trim());
|
|
65
|
+
isChangedFilesInitialized = true;
|
|
66
|
+
trackerFileData.changedFiles?.forEach((changedFile) => changedFiles.add(changedFile));
|
|
67
|
+
}
|
|
68
|
+
catch (e) {
|
|
69
|
+
logger_1.logger.error(`Error reading tracker file located at "${trackerFile}": ${e}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return Array.from(changedFiles);
|
|
73
|
+
},
|
|
74
|
+
reset: () => {
|
|
75
|
+
changedFiles.clear();
|
|
76
|
+
// Delete tracker file.
|
|
77
|
+
const trackerFile = getTrackerFilepath();
|
|
78
|
+
if (fs_1.default.existsSync(trackerFile)) {
|
|
79
|
+
fs_1.default.unlinkSync(trackerFile);
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Track changed files affected by includes.
|
|
3
|
+
*/
|
|
4
|
+
export declare type Tracker = {
|
|
5
|
+
/**
|
|
6
|
+
* Gets a set of changed files from a file and adds them to a temporary stack.
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* Between two builds, stored data can be mutated when dataDirManager::update() runs. That
|
|
10
|
+
* creates a problem when an include or file is removed, since once store is updated we cannot
|
|
11
|
+
* go back in time to track past changes. To avoid this, track changes files whenever store
|
|
12
|
+
* is updated.
|
|
13
|
+
*
|
|
14
|
+
* This function only tracks changed files affected by static includes. There is no need to track
|
|
15
|
+
* intermediate changes in query results, since they are evaluated on demand.
|
|
16
|
+
*
|
|
17
|
+
* @param relativeFilepath - Relative file path, inside dataDir, to the file to be processed.
|
|
18
|
+
*/
|
|
19
|
+
trackChangedFile(relativeFilepath: string): void;
|
|
20
|
+
/**
|
|
21
|
+
* Gets the current set of changed files.
|
|
22
|
+
*
|
|
23
|
+
* @returns an array of changed files.
|
|
24
|
+
*/
|
|
25
|
+
getChangedFiles(): string[];
|
|
26
|
+
/**
|
|
27
|
+
* Resets current set of changed files.
|
|
28
|
+
*/
|
|
29
|
+
reset(): void;
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=tracker.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracker.types.d.ts","sourceRoot":"","sources":["../../../../src/lib/store/diff/tracker.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,OAAO,GAAG;IACpB;;;;;;;;;;;;;OAaG;IACH,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjD;;;;OAIG;IACH,eAAe,IAAI,MAAM,EAAE,CAAC;IAE5B;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;CACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dumpManager.d.ts","sourceRoot":"","sources":["../../../../src/lib/store/dump/dumpManager.ts"],"names":[],"mappings":"AAUA,OAAO,EAAQ,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAqIxD,eAAO,MAAM,WAAW,EAAE,WA2FzB,CAAC"}
|
|
@@ -0,0 +1,199 @@
|
|
|
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.dumpManager = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const microtime_1 = __importDefault(require("microtime"));
|
|
10
|
+
const logger_1 = require("@lib/utils/logger");
|
|
11
|
+
const object_1 = require("@lib/utils/object");
|
|
12
|
+
const fs_2 = require("@lib/utils/fs");
|
|
13
|
+
const config_1 = require("@lib/config");
|
|
14
|
+
const store_1 = require("@lib/store");
|
|
15
|
+
const diffManager_1 = require("../diff/diffManager");
|
|
16
|
+
const hook_1 = require("../hook");
|
|
17
|
+
const removeEmptyDirsUpwards = (dir) => {
|
|
18
|
+
const isEmpty = fs_1.default.readdirSync(dir).length === 0;
|
|
19
|
+
if (isEmpty) {
|
|
20
|
+
try {
|
|
21
|
+
fs_1.default.rmdirSync(dir);
|
|
22
|
+
}
|
|
23
|
+
catch (e) {
|
|
24
|
+
logger_1.logger.debug(`Error deleting empty directory "${dir}": ${e}`);
|
|
25
|
+
}
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
27
|
+
removeEmptyDirsUpwards(path_1.default.dirname(dir));
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const storeUpdatedFiles = (diff, dump, dumpDir) => {
|
|
31
|
+
diff.updated.forEach(relativeFilepath => {
|
|
32
|
+
const storeFileContentData = store_1.store.data.get(relativeFilepath);
|
|
33
|
+
if (storeFileContentData) {
|
|
34
|
+
const absoluteFilepathInDumpDir = `${dumpDir}/${relativeFilepath}`;
|
|
35
|
+
try {
|
|
36
|
+
// Create parent directories if they are missing.
|
|
37
|
+
const dir = path_1.default.dirname(absoluteFilepathInDumpDir);
|
|
38
|
+
if (!fs_1.default.existsSync(dir)) {
|
|
39
|
+
fs_1.default.mkdirSync(dir, { recursive: true });
|
|
40
|
+
}
|
|
41
|
+
// If store data is an object, stringify it to execute its
|
|
42
|
+
// queries and resolve its includes.
|
|
43
|
+
const isJson = (0, fs_2.isJsonFile)(relativeFilepath);
|
|
44
|
+
const storeFileContentString = isJson
|
|
45
|
+
? JSON.stringify(storeFileContentData)
|
|
46
|
+
: storeFileContentData;
|
|
47
|
+
// Before overwriting a file, check it has changed.
|
|
48
|
+
let needsSave = true;
|
|
49
|
+
let oldPublicUrl = null;
|
|
50
|
+
const newPublicUrl = storeFileContentData.data?.content?.url?.path || null;
|
|
51
|
+
if (fs_1.default.existsSync(absoluteFilepathInDumpDir)) {
|
|
52
|
+
const dumpFileContentString = (0, fs_2.readFile)(absoluteFilepathInDumpDir);
|
|
53
|
+
if (storeFileContentString === dumpFileContentString) {
|
|
54
|
+
// No need to save it, file has not changed.
|
|
55
|
+
needsSave = false;
|
|
56
|
+
}
|
|
57
|
+
else if (isJson && dumpFileContentString) {
|
|
58
|
+
// Get old public URL before it changes on disk.
|
|
59
|
+
oldPublicUrl =
|
|
60
|
+
JSON.parse(dumpFileContentString)?.data?.content?.url?.path ||
|
|
61
|
+
null;
|
|
62
|
+
/*
|
|
63
|
+
fs.renameSync(
|
|
64
|
+
absoluteFilepathInDumpDir,
|
|
65
|
+
absoluteFilepathInDumpDir.replace('.json', '.2.json'),
|
|
66
|
+
);
|
|
67
|
+
*/
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (needsSave) {
|
|
71
|
+
// Save it.
|
|
72
|
+
fs_1.default.writeFileSync(absoluteFilepathInDumpDir, storeFileContentString);
|
|
73
|
+
// Mark it as updated.
|
|
74
|
+
dump.updated.set(relativeFilepath, {
|
|
75
|
+
oldPublicUrl,
|
|
76
|
+
newPublicUrl,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
catch (e) {
|
|
81
|
+
logger_1.logger.error(`Dump: error writing file "${absoluteFilepathInDumpDir}": ${e}`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
logger_1.logger.error(`Dump: store data for file "${relativeFilepath}" not found.`);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
const removeDeletedFiles = (diff, dump, dumpDir) => {
|
|
90
|
+
diff.deleted.forEach(relativeFilepath => {
|
|
91
|
+
const absoluteFilepath = `${dumpDir}/${relativeFilepath}`;
|
|
92
|
+
try {
|
|
93
|
+
if (fs_1.default.existsSync(absoluteFilepath)) {
|
|
94
|
+
// Get old public URLs before they change on disk.
|
|
95
|
+
const dumpContent = (0, fs_2.getFileContent)(absoluteFilepath);
|
|
96
|
+
const oldPublicUrl = dumpContent.json?.data?.content?.url?.path;
|
|
97
|
+
// Delete it.
|
|
98
|
+
fs_1.default.unlinkSync(absoluteFilepath);
|
|
99
|
+
// Mark it as deleted.
|
|
100
|
+
dump.deleted.set(relativeFilepath, {
|
|
101
|
+
oldPublicUrl,
|
|
102
|
+
newPublicUrl: null,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
catch (e) {
|
|
107
|
+
logger_1.logger.error(`Dump: error deleting file "${absoluteFilepath}": ${e}`);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
const storeDumpMetadata = (metadataFilepath, dump, diffResetDate) => {
|
|
112
|
+
let currentDumpMetadata = [];
|
|
113
|
+
try {
|
|
114
|
+
currentDumpMetadata = JSON.parse(fs_1.default.readFileSync(metadataFilepath).toString());
|
|
115
|
+
}
|
|
116
|
+
catch (e) {
|
|
117
|
+
currentDumpMetadata = [];
|
|
118
|
+
}
|
|
119
|
+
currentDumpMetadata.push((0, object_1.jsonify)(dump));
|
|
120
|
+
try {
|
|
121
|
+
const currentDumpMetadataString = JSON.stringify(currentDumpMetadata);
|
|
122
|
+
fs_1.default.writeFileSync(metadataFilepath, currentDumpMetadataString);
|
|
123
|
+
// Resetting the diff must happen when dump metadata is successfully
|
|
124
|
+
// stored into disk.
|
|
125
|
+
diffManager_1.diffManager.reset(diffResetDate);
|
|
126
|
+
}
|
|
127
|
+
catch (e) {
|
|
128
|
+
logger_1.logger.error(`Dump: error saving dump metadata to "${metadataFilepath}": ${e}`);
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
exports.dumpManager = {
|
|
132
|
+
dump(options = { incremental: true }) {
|
|
133
|
+
const startDate = microtime_1.default.now();
|
|
134
|
+
// Create a diff reset date just before consuming a diff.
|
|
135
|
+
const diffResetDate = new Date();
|
|
136
|
+
const diff = diffManager_1.diffManager.getDiff({ incremental: options.incremental });
|
|
137
|
+
// Diff data is processed and transformed into a dump object.
|
|
138
|
+
let dump = {
|
|
139
|
+
since: diff.since,
|
|
140
|
+
updated: new Map(),
|
|
141
|
+
deleted: new Map(),
|
|
142
|
+
};
|
|
143
|
+
if (config_1.config.dumpDir) {
|
|
144
|
+
const dumpDir = `${config_1.config.dumpDir}/files`;
|
|
145
|
+
const metadataFilepath = `${config_1.config.dumpDir}/metadata.json`;
|
|
146
|
+
if (diff.updated.size || diff.deleted.size) {
|
|
147
|
+
// Store updated files.
|
|
148
|
+
storeUpdatedFiles(diff, dump, dumpDir);
|
|
149
|
+
// Remove deleted files.
|
|
150
|
+
removeDeletedFiles(diff, dump, dumpDir);
|
|
151
|
+
// Invoke "onDumpCreate" hook.
|
|
152
|
+
dump = hook_1.hookManager.invokeOnDumpCreate(dump);
|
|
153
|
+
const execTimeMs = (microtime_1.default.now() - startDate) / 1000;
|
|
154
|
+
dump.execTimeMs = execTimeMs;
|
|
155
|
+
// Merge and store dump metadata if any.
|
|
156
|
+
if (dump.updated.size || dump.deleted.size) {
|
|
157
|
+
storeDumpMetadata(metadataFilepath, dump, diffResetDate);
|
|
158
|
+
logger_1.logger.info(`Dump created in ${execTimeMs} ms. Updated: ${dump.updated.size} / Deleted: ${dump.deleted.size}`);
|
|
159
|
+
// Log dump if not empty
|
|
160
|
+
if (dump.updated.size || dump.deleted.size) {
|
|
161
|
+
logger_1.logger.debug(`Dump: "${JSON.stringify((0, object_1.jsonify)(dump))}"`);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
// Resetting the diff must happen when no other operations are pending.
|
|
166
|
+
diffManager_1.diffManager.reset(diffResetDate);
|
|
167
|
+
logger_1.logger.info(`Dump done in ${execTimeMs} ms without changes stored into disk.`);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
logger_1.logger.info('Dump not stored into disk due to an empty diff.');
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
logger_1.logger.error('"dumpDir" option not provided. Dump cannot be executed.');
|
|
176
|
+
}
|
|
177
|
+
return dump;
|
|
178
|
+
},
|
|
179
|
+
reset(timestamp) {
|
|
180
|
+
if (config_1.config.dumpDir) {
|
|
181
|
+
const metadataFilepath = `${config_1.config.dumpDir}/metadata.json`;
|
|
182
|
+
const metadata = JSON.parse(fs_1.default.existsSync(metadataFilepath)
|
|
183
|
+
? fs_1.default.readFileSync(metadataFilepath).toString()
|
|
184
|
+
: '[]');
|
|
185
|
+
// Remove any dump data older that timestamp
|
|
186
|
+
const resetMetadata = metadata.filter((dump) => dump.since > timestamp);
|
|
187
|
+
logger_1.logger.debug(`Dump reset : "${JSON.stringify(resetMetadata)}"`);
|
|
188
|
+
try {
|
|
189
|
+
fs_1.default.writeFileSync(metadataFilepath, JSON.stringify(resetMetadata));
|
|
190
|
+
}
|
|
191
|
+
catch (e) {
|
|
192
|
+
logger_1.logger.error(`Dump: error resetting dump metadata to "${metadataFilepath}": ${e}`);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
logger_1.logger.error('"dumpDir" option not provided. Dump reset cannot be executed.');
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Service that dumps resolved data (with resolved includes) into a dump directory.
|
|
3
|
+
*/
|
|
4
|
+
export declare type DumpManager = {
|
|
5
|
+
/**
|
|
6
|
+
* Dump resolved data (with resolved includes) into a dump directory.
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* Raw data stored in Data Server does not resolve its includes until
|
|
10
|
+
* each file is consumed (and therefore stringified). A dump consumes
|
|
11
|
+
* that raw data and stores it in a directory, along its metadata
|
|
12
|
+
* (a list of changed/deleted files), so a later process can store
|
|
13
|
+
* those changes in another service like AWS S3.
|
|
14
|
+
*
|
|
15
|
+
* @param options - Configuration options
|
|
16
|
+
*/
|
|
17
|
+
dump(options?: {
|
|
18
|
+
incremental: boolean;
|
|
19
|
+
}): Dump;
|
|
20
|
+
/**
|
|
21
|
+
* Reset dump metadata.
|
|
22
|
+
*
|
|
23
|
+
* @remarks
|
|
24
|
+
* Resets dump metadata, removing any dump information older than the passed timestamp.
|
|
25
|
+
*
|
|
26
|
+
* @param timestamp - Timestamp
|
|
27
|
+
*/
|
|
28
|
+
reset(timestamp: number): void;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* A group of files to by dumped to dump directory.
|
|
32
|
+
*/
|
|
33
|
+
export declare type Dump = {
|
|
34
|
+
/**
|
|
35
|
+
* Timestamp in milliseconds.
|
|
36
|
+
*/
|
|
37
|
+
since: number;
|
|
38
|
+
/**
|
|
39
|
+
* A list of updated files, keyed by file path. Its value is an object with two keys,
|
|
40
|
+
* old public URL and new public URL (the value stored at data.content.url.path) before
|
|
41
|
+
* and after updating file in dumpDir.
|
|
42
|
+
*/
|
|
43
|
+
updated: Map<string, {
|
|
44
|
+
oldPublicUrl: string | null;
|
|
45
|
+
newPublicUrl: string | null;
|
|
46
|
+
}>;
|
|
47
|
+
/**
|
|
48
|
+
* A list of deleted files, keyed by file path. Its value is an object with two keys,
|
|
49
|
+
* old public URL and new public URL (the value stored at data.content.url.path) before
|
|
50
|
+
* and after updating file in dumpDir. New public URL is always null, since file is
|
|
51
|
+
* deleted. We keep the same structure for both updated and deleted items.
|
|
52
|
+
*/
|
|
53
|
+
deleted: Map<string, {
|
|
54
|
+
oldPublicUrl: string | null;
|
|
55
|
+
newPublicUrl: null;
|
|
56
|
+
}>;
|
|
57
|
+
/**
|
|
58
|
+
* Optional execution time taken by the dump, in milliseconds.
|
|
59
|
+
*/
|
|
60
|
+
execTimeMs?: number;
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=dumpManager.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dumpManager.types.d.ts","sourceRoot":"","sources":["../../../../src/lib/store/dump/dumpManager.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,WAAW,GAAG;IACxB;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,WAAW,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAE/C;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,oBAAY,IAAI,GAAG;IACjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,OAAO,EAAE,GAAG,CACV,MAAM,EACN;QAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAC7D,CAAC;IAEF;;;;;OAKG;IACH,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IAE1E;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/store/dump/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("./dumpManager"), exports);
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { ConfigOptions } from '@lib/config/config.types';
|
|
2
|
+
import { Store } from '@lib/store/store.types';
|
|
3
|
+
import { FileType } from '@lib/utils/fs/fs.types';
|
|
4
|
+
import { DependencyTagger } from '../dependency/dependency.types';
|
|
5
|
+
import { Dump } from '../dump/dumpManager.types';
|
|
6
|
+
import { ChangedFiles } from '../workDir/workDir.types';
|
|
7
|
+
/**
|
|
8
|
+
* A manager for a group of user-land modules.
|
|
9
|
+
*
|
|
10
|
+
* @typeParam ModuleType - The type of module being managed.
|
|
11
|
+
*/
|
|
12
|
+
export declare type HookManager = {
|
|
13
|
+
reset(): void;
|
|
14
|
+
invokeOnStoreLoadStart(): void;
|
|
15
|
+
invokeOnProcessFile(options: FileHookOptions): FileType;
|
|
16
|
+
invokeOnStoreItemAdd(options: FileHookOptions): void;
|
|
17
|
+
invokeOnStoreLoadDone(): void;
|
|
18
|
+
invokeOnStoreChangeStart(changedFiles: ChangedFiles): void;
|
|
19
|
+
invokeOnStoreItemBeforeUpdate(options: FileHookOptions): void;
|
|
20
|
+
invokeOnStoreItemAfterUpdate(options: FileHookOptions): void;
|
|
21
|
+
invokeOnStoreItemDelete(options: FileHookOptions): void;
|
|
22
|
+
invokeOnStoreChangeDone(changedFiles: ChangedFiles): void;
|
|
23
|
+
invokeOnDumpCreate(dump: Dump): Dump;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Options passed to an onModuleLoad hook.
|
|
27
|
+
*/
|
|
28
|
+
export interface OnModuleLoadHookOptions {
|
|
29
|
+
/**
|
|
30
|
+
* Configuration options.
|
|
31
|
+
*/
|
|
32
|
+
config: ConfigOptions;
|
|
33
|
+
/**
|
|
34
|
+
* The data store.
|
|
35
|
+
*/
|
|
36
|
+
store: Store;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Options passed to a hook.
|
|
40
|
+
*
|
|
41
|
+
* @remarks
|
|
42
|
+
* Since hooks are user-land modules, they do not have access to configuration
|
|
43
|
+
* or any other part of the Data Server. All data they need to function must be
|
|
44
|
+
* passed as parameters.
|
|
45
|
+
*/
|
|
46
|
+
export interface BaseHookOptions {
|
|
47
|
+
/**
|
|
48
|
+
* The data store.
|
|
49
|
+
*/
|
|
50
|
+
store: Store;
|
|
51
|
+
/**
|
|
52
|
+
* The dependency tagger service.
|
|
53
|
+
*/
|
|
54
|
+
dependencyTagger: DependencyTagger;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Options passed to a file hook.
|
|
58
|
+
*/
|
|
59
|
+
export interface FileHookOptions {
|
|
60
|
+
/**
|
|
61
|
+
* Relative file path inside the data dir.
|
|
62
|
+
*/
|
|
63
|
+
relativeFilepath: string;
|
|
64
|
+
/**
|
|
65
|
+
* File contents, an object with "raw" and "json" members.
|
|
66
|
+
*/
|
|
67
|
+
fileContent: FileType;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Full options passed to a hook.
|
|
71
|
+
*/
|
|
72
|
+
export interface FullHookOptions extends BaseHookOptions, FileHookOptions {
|
|
73
|
+
}
|
|
74
|
+
export interface ChangedFilesHookOptions extends BaseHookOptions {
|
|
75
|
+
/**
|
|
76
|
+
* A group of changed files in Static Suite's data dir.
|
|
77
|
+
*/
|
|
78
|
+
changedFiles: ChangedFiles;
|
|
79
|
+
}
|
|
80
|
+
export interface OnDumpHookOptions {
|
|
81
|
+
/**
|
|
82
|
+
* Path to the dump directory.
|
|
83
|
+
*/
|
|
84
|
+
dumpDir: string;
|
|
85
|
+
/**
|
|
86
|
+
* The data store.
|
|
87
|
+
*/
|
|
88
|
+
store: Store;
|
|
89
|
+
/**
|
|
90
|
+
* The dump to be processed.
|
|
91
|
+
*/
|
|
92
|
+
dump: Dump;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* A module that defines several hooks.
|
|
96
|
+
*/
|
|
97
|
+
export declare type HookModule = {
|
|
98
|
+
/**
|
|
99
|
+
* A hook executed when a hook module is loaded or reloaded.
|
|
100
|
+
*
|
|
101
|
+
* @remarks
|
|
102
|
+
* This hook is aimed at bootstrapping some data structure, or establishing some connection
|
|
103
|
+
* to an external system before other hooks are run.
|
|
104
|
+
*/
|
|
105
|
+
onModuleLoad?(options: OnModuleLoadHookOptions): void;
|
|
106
|
+
/**
|
|
107
|
+
* A hook executed before the store starts loading.
|
|
108
|
+
*
|
|
109
|
+
* @remarks
|
|
110
|
+
* This hook is aimed at bootstrapping some data structure, or establishing some connection
|
|
111
|
+
* to an external system before other hooks are run.
|
|
112
|
+
*
|
|
113
|
+
* @param options - An object with options passed to the hook. @see {@link HookOptions}
|
|
114
|
+
*/
|
|
115
|
+
onStoreLoadStart?(options: BaseHookOptions): void;
|
|
116
|
+
/**
|
|
117
|
+
* A hook executed after a file is read from disk, before adding it to the store.
|
|
118
|
+
*
|
|
119
|
+
* @remarks
|
|
120
|
+
* This hook is aimed at altering the contents of the file before it being added to the store.
|
|
121
|
+
*
|
|
122
|
+
* @param options - An object with options passed to the hook. @see {@link FileHookOptions}
|
|
123
|
+
*
|
|
124
|
+
* @returns The file contents, and object with "raw" and "json" members.
|
|
125
|
+
*/
|
|
126
|
+
onProcessFile?(options: FullHookOptions): FileType;
|
|
127
|
+
/**
|
|
128
|
+
* A hook executed after a file is added into the store.
|
|
129
|
+
*
|
|
130
|
+
* @remarks
|
|
131
|
+
* This hook is aimed at adding some information to the store, e.g.- indexing all contents
|
|
132
|
+
* by their taxonomy.
|
|
133
|
+
*
|
|
134
|
+
* @param options - An object with options passed to the hook. @see {@link FileHookOptions}
|
|
135
|
+
*/
|
|
136
|
+
onStoreItemAdd?(options: FullHookOptions): void;
|
|
137
|
+
/**
|
|
138
|
+
* A hook executed after the store finishes loading.
|
|
139
|
+
*
|
|
140
|
+
* @remarks
|
|
141
|
+
* This hook is aimed at adding some final information to the store, e.g.- counting all images, etc
|
|
142
|
+
*
|
|
143
|
+
* @param options - An object with options passed to the hook. @see {@link HookOptions}
|
|
144
|
+
*/
|
|
145
|
+
onStoreLoadDone?(options: BaseHookOptions): void;
|
|
146
|
+
/**
|
|
147
|
+
* A hook executed before the store starts updating.
|
|
148
|
+
*
|
|
149
|
+
* @remarks
|
|
150
|
+
* This hook is aimed at bootstrapping or updating some data structure
|
|
151
|
+
* before a set of update/delete operations starts.
|
|
152
|
+
*
|
|
153
|
+
* @param options - An object with options passed to the hook. @see {@link HookOptions}
|
|
154
|
+
*/
|
|
155
|
+
onStoreChangeStart?(options: ChangedFilesHookOptions): void;
|
|
156
|
+
/**
|
|
157
|
+
* A hook executed before a file is updated in the store.
|
|
158
|
+
*
|
|
159
|
+
* @remarks
|
|
160
|
+
* This hook is aimed at adding some information to the store, e.g.- indexing all contents
|
|
161
|
+
* by their taxonomy.
|
|
162
|
+
*
|
|
163
|
+
* @param options - An object with options passed to the hook. @see {@link FileHookOptions}
|
|
164
|
+
*/
|
|
165
|
+
onStoreItemBeforeUpdate?(options: FullHookOptions): void;
|
|
166
|
+
/**
|
|
167
|
+
* A hook executed after a file is updated in the store.
|
|
168
|
+
*
|
|
169
|
+
* @remarks
|
|
170
|
+
* This hook is aimed at adding some information to the store, e.g.- indexing all contents
|
|
171
|
+
* by their taxonomy.
|
|
172
|
+
*
|
|
173
|
+
* @param options - An object with options passed to the hook. @see {@link FileHookOptions}
|
|
174
|
+
*/
|
|
175
|
+
onStoreItemAfterUpdate?(options: FullHookOptions): void;
|
|
176
|
+
/**
|
|
177
|
+
* A hook executed after a file is deleted from the store.
|
|
178
|
+
*
|
|
179
|
+
* @remarks
|
|
180
|
+
* This hook is aimed at reverting the actions taken in storeAdd hook, e.g.- removing a file
|
|
181
|
+
* from a taxonomy index.
|
|
182
|
+
*
|
|
183
|
+
* @param options - An object with options passed to the hook. @see {@link FileHookOptions}
|
|
184
|
+
*/
|
|
185
|
+
onStoreItemDelete?(options: FullHookOptions): void;
|
|
186
|
+
/**
|
|
187
|
+
* A hook executed after the store ends updating.
|
|
188
|
+
*
|
|
189
|
+
* @remarks
|
|
190
|
+
* This hook is run after a set of update/delete operations finishes.
|
|
191
|
+
*
|
|
192
|
+
* @param options - An object with options passed to the hook. @see {@link HookOptions}
|
|
193
|
+
*/
|
|
194
|
+
onStoreChangeDone?(options: ChangedFilesHookOptions): void;
|
|
195
|
+
/**
|
|
196
|
+
* A hook executed after a dump object is created.
|
|
197
|
+
*
|
|
198
|
+
* @remarks
|
|
199
|
+
* This hook can alter the contents of the dump being saved, and add/remove items.
|
|
200
|
+
*
|
|
201
|
+
* @param options - An object with options passed to the hook. @see {@link OnDumpHookOptions}
|
|
202
|
+
*/
|
|
203
|
+
onDumpCreate?(options: OnDumpHookOptions): Dump;
|
|
204
|
+
};
|
|
205
|
+
//# sourceMappingURL=hook.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook.types.d.ts","sourceRoot":"","sources":["../../../../src/lib/store/hook/hook.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD;;;;GAIG;AACH,oBAAY,WAAW,GAAG;IACxB,KAAK,IAAI,IAAI,CAAC;IAGd,sBAAsB,IAAI,IAAI,CAAC;IAC/B,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,QAAQ,CAAC;IACxD,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IACrD,qBAAqB,IAAI,IAAI,CAAC;IAG9B,wBAAwB,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3D,6BAA6B,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9D,4BAA4B,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAC7D,uBAAuB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IACxD,uBAAuB,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAG1D,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;CACtC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;IAEtB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IAEb;;OAEG;IACH,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,WAAW,EAAE,QAAQ,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,eAAe,EAAE,eAAe;CAAG;AAE5E,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D;;OAEG;IACH,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,oBAAY,UAAU,GAAG;IACvB;;;;;;OAMG;IACH,YAAY,CAAC,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAEtD;;;;;;;;OAQG;IACH,gBAAgB,CAAC,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAElD;;;;;;;;;OASG;IACH,aAAa,CAAC,CAAC,OAAO,EAAE,eAAe,GAAG,QAAQ,CAAC;IAEnD;;;;;;;;OAQG;IACH,cAAc,CAAC,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAEhD;;;;;;;OAOG;IACH,eAAe,CAAC,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAEjD;;;;;;;;OAQG;IACH,kBAAkB,CAAC,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAE5D;;;;;;;;OAQG;IACH,uBAAuB,CAAC,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAEzD;;;;;;;;OAQG;IACH,sBAAsB,CAAC,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAExD;;;;;;;;OAQG;IACH,iBAAiB,CAAC,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAEnD;;;;;;;OAOG;IACH,iBAAiB,CAAC,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAE3D;;;;;;;OAOG;IACH,YAAY,CAAC,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACjD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hookManager.d.ts","sourceRoot":"","sources":["../../../../src/lib/store/hook/hookManager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAc,MAAM,cAAc,CAAC;AAYvD;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,WA+JzB,CAAC"}
|