@kontur.candy/tools 2.218.0 → 2.220.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/distr/Common/CandyApiClient/CandyApiClient.js +4 -2
  2. package/distr/Common/CandyApiClient/CandyApiClient.js.map +1 -1
  3. package/distr/Common/CandyApiClient/FakeCandyApiClient.js +3 -0
  4. package/distr/Common/CandyApiClient/FakeCandyApiClient.js.map +1 -1
  5. package/distr/Common/CandyApiClient/ICandyApiClient.js.map +1 -1
  6. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js +21 -3
  7. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js.map +1 -1
  8. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js +1 -1
  9. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js.map +1 -1
  10. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +1 -1
  11. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js.map +1 -1
  12. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js +4 -0
  13. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js.map +1 -1
  14. package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js +7 -1
  15. package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js.map +1 -1
  16. package/distr/Tools/src/Commons/TasksCore/EventBus.js +11 -0
  17. package/distr/Tools/src/Commons/TasksCore/EventBus.js.map +1 -0
  18. package/distr/Tools/src/Commons/TasksCore/FileValueProducer.js +7 -2
  19. package/distr/Tools/src/Commons/TasksCore/FileValueProducer.js.map +1 -1
  20. package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -1
  21. package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
  22. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js +685 -314
  23. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -1
  24. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js +154 -108
  25. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.map +1 -1
  26. package/package.json +1 -1
@@ -16,11 +16,12 @@ var _Params = require("../../../Commons/HttpServer/AttributeRouting/Params");
16
16
  var _Results = require("../../../Commons/HttpServer/AttributeRouting/Results");
17
17
  var _StreamResultHandler = require("../../../Commons/HttpServer/AttributeRouting/Results/StreamResultHandler");
18
18
  var _SingletonController = require("../../../Commons/HttpServer/ExpressWrapper/SingletonController");
19
+ var _EventBus = require("../../../Commons/TasksCore/EventBus");
19
20
  var _FarmDirectory = require("./Directories/FarmDirectory");
20
- var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _dec21, _class;
21
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _dec21, _dec22, _class;
21
22
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
22
23
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
23
- let BuildServerBackendResourcesController = exports.BuildServerBackendResourcesController = (_dec = (0, _Methods.httpGet)("/gfvs", _Results.httpReturn.Json), _dec2 = (0, _Methods.httpGet)("/picklists", _Results.httpReturn.PlainText), _dec3 = (0, _Methods.httpGet)("/picklists/:picklistFilename", _Results.httpReturn.StreamWithMime("application/json"), (0, _Params.httpUrlParam)("picklistFilename", _Params.httpType.String)), _dec4 = (0, _Methods.httpGet)("/converters", _Results.httpReturn.PlainText), _dec5 = (0, _Methods.httpGet)("/converters/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), _dec6 = (0, _Methods.httpGet)("/mergers", _Results.httpReturn.PlainText), _dec7 = (0, _Methods.httpGet)("/mergers/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), _dec8 = (0, _Methods.httpGet)("/schemas", _Results.httpReturn.PlainText), _dec9 = (0, _Methods.httpGet)("/schemas/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), _dec10 = (0, _Methods.httpGet)("/normalize", _Results.httpReturn.PlainText), _dec11 = (0, _Methods.httpGet)("/normalize/:gfv.xml", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("gfv", _Params.httpType.String)), _dec12 = (0, _Methods.httpGet)("/normalize/:gfv.normalize", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("gfv", _Params.httpType.String)), _dec13 = (0, _Methods.httpGet)("/attachmentpaths", _Results.httpReturn.PlainText), _dec14 = (0, _Methods.httpGet)("/attachmentpaths/:gfv.json", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("gfv", _Params.httpType.String)), _dec15 = (0, _Methods.httpGet)("/attachmentpathswithgfvs/:gfv.json", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("gfv", _Params.httpType.String)), _dec16 = (0, _Methods.httpGet)("/unmap", _Results.httpReturn.PlainText), _dec17 = (0, _Methods.httpGet)("/unmap/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), _dec18 = (0, _Methods.httpGet)("/map", _Results.httpReturn.PlainText), _dec19 = (0, _Methods.httpGet)("/map/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), _dec20 = (0, _Methods.httpGet)("/patch", _Results.httpReturn.PlainText), _dec21 = (0, _Methods.httpGet)("/patch/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("gfv", _Params.httpType.String)), (_class = class BuildServerBackendResourcesController extends _SingletonController.SingletonController {
24
+ let BuildServerBackendResourcesController = exports.BuildServerBackendResourcesController = (_dec = (0, _Methods.httpGet)("/gfvs", _Results.httpReturn.Json), _dec2 = (0, _Methods.httpGet)("/force-gfvs", _Results.httpReturn.Json), _dec3 = (0, _Methods.httpGet)("/picklists", _Results.httpReturn.PlainText), _dec4 = (0, _Methods.httpGet)("/picklists/:picklistFilename", _Results.httpReturn.StreamWithMime("application/json"), (0, _Params.httpUrlParam)("picklistFilename", _Params.httpType.String)), _dec5 = (0, _Methods.httpGet)("/converters", _Results.httpReturn.PlainText), _dec6 = (0, _Methods.httpGet)("/converters/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), _dec7 = (0, _Methods.httpGet)("/mergers", _Results.httpReturn.PlainText), _dec8 = (0, _Methods.httpGet)("/mergers/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), _dec9 = (0, _Methods.httpGet)("/schemas", _Results.httpReturn.PlainText), _dec10 = (0, _Methods.httpGet)("/schemas/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), _dec11 = (0, _Methods.httpGet)("/normalize", _Results.httpReturn.PlainText), _dec12 = (0, _Methods.httpGet)("/normalize/:gfv.xml", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("gfv", _Params.httpType.String)), _dec13 = (0, _Methods.httpGet)("/normalize/:gfv.normalize", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("gfv", _Params.httpType.String)), _dec14 = (0, _Methods.httpGet)("/attachmentpaths", _Results.httpReturn.PlainText), _dec15 = (0, _Methods.httpGet)("/attachmentpaths/:gfv.json", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("gfv", _Params.httpType.String)), _dec16 = (0, _Methods.httpGet)("/attachmentpathswithgfvs/:gfv.json", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("gfv", _Params.httpType.String)), _dec17 = (0, _Methods.httpGet)("/unmap", _Results.httpReturn.PlainText), _dec18 = (0, _Methods.httpGet)("/unmap/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), _dec19 = (0, _Methods.httpGet)("/map", _Results.httpReturn.PlainText), _dec20 = (0, _Methods.httpGet)("/map/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), _dec21 = (0, _Methods.httpGet)("/patch", _Results.httpReturn.PlainText), _dec22 = (0, _Methods.httpGet)("/patch/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("gfv", _Params.httpType.String)), (_class = class BuildServerBackendResourcesController extends _SingletonController.SingletonController {
24
25
  constructor(allFarmConfig, flangNormalizationSourcesProvider) {
25
26
  super();
26
27
  this.generatedServerSideSourcesProvider = void 0;
@@ -35,9 +36,26 @@ let BuildServerBackendResourcesController = exports.BuildServerBackendResourcesC
35
36
  this.allSchemasFiles = undefined;
36
37
  }, 5000);
37
38
  }
39
+ async afterStart() {
40
+ _EventBus.eventBus.on(_EventBus.FORM_REMOVE_EVENT, () => {
41
+ this.resetAllGfvs();
42
+ });
43
+ }
44
+ async afterStop() {
45
+ _EventBus.eventBus.off(_EventBus.FORM_REMOVE_EVENT);
46
+ }
47
+ resetAllGfvs() {
48
+ for (const farmDirectory of this.allFarmDirectories) {
49
+ farmDirectory.resetAllGfvs();
50
+ }
51
+ }
38
52
  async getAllGfvs() {
39
53
  return (await Promise.all(this.allFarmDirectories.map(x => x.getAllGfvs()))).flat();
40
54
  }
55
+ async forceGetAllGfvs() {
56
+ this.resetAllGfvs();
57
+ return this.getAllGfvs();
58
+ }
41
59
  async getAllPicklists() {
42
60
  return (await Promise.all(this.allFarmDirectories.map(x => x.getAllPicklists()))).flat().join("\n");
43
61
  }
@@ -157,5 +175,5 @@ let BuildServerBackendResourcesController = exports.BuildServerBackendResourcesC
157
175
  }
158
176
  throw new _NotFoundWebError.NotFoundWebError("File not found", false);
159
177
  }
160
- }, ((0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllGfvs", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "getAllGfvs"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllPicklists", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, "getAllPicklists"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getPicklists", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, "getPicklists"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllConvertersFiles", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, "getAllConvertersFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getConverterFile", [_dec5], Object.getOwnPropertyDescriptor(_class.prototype, "getConverterFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllMergersFiles", [_dec6], Object.getOwnPropertyDescriptor(_class.prototype, "getAllMergersFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getMergerFile", [_dec7], Object.getOwnPropertyDescriptor(_class.prototype, "getMergerFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllSchemasFiles", [_dec8], Object.getOwnPropertyDescriptor(_class.prototype, "getAllSchemasFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormSchemas", [_dec9], Object.getOwnPropertyDescriptor(_class.prototype, "getFormSchemas"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllNormalizeFiles", [_dec10], Object.getOwnPropertyDescriptor(_class.prototype, "getAllNormalizeFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getNormalizeFile", [_dec11], Object.getOwnPropertyDescriptor(_class.prototype, "getNormalizeFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFLangNormalizeFile", [_dec12], Object.getOwnPropertyDescriptor(_class.prototype, "getFLangNormalizeFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllAttachmentPathsFileNames", [_dec13], Object.getOwnPropertyDescriptor(_class.prototype, "getAllAttachmentPathsFileNames"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAttachmentPathFile", [_dec14], Object.getOwnPropertyDescriptor(_class.prototype, "getAttachmentPathFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAttachmentPathByGfvFile", [_dec15], Object.getOwnPropertyDescriptor(_class.prototype, "getAttachmentPathByGfvFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllUnmapFiles", [_dec16], Object.getOwnPropertyDescriptor(_class.prototype, "getAllUnmapFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getUnmapFile", [_dec17], Object.getOwnPropertyDescriptor(_class.prototype, "getUnmapFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllMapFiles", [_dec18], Object.getOwnPropertyDescriptor(_class.prototype, "getAllMapFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getMapFile", [_dec19], Object.getOwnPropertyDescriptor(_class.prototype, "getMapFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllPatchFiles", [_dec20], Object.getOwnPropertyDescriptor(_class.prototype, "getAllPatchFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getPatchFile", [_dec21], Object.getOwnPropertyDescriptor(_class.prototype, "getPatchFile"), _class.prototype)), _class));
178
+ }, ((0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllGfvs", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "getAllGfvs"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "forceGetAllGfvs", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, "forceGetAllGfvs"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllPicklists", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, "getAllPicklists"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getPicklists", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, "getPicklists"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllConvertersFiles", [_dec5], Object.getOwnPropertyDescriptor(_class.prototype, "getAllConvertersFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getConverterFile", [_dec6], Object.getOwnPropertyDescriptor(_class.prototype, "getConverterFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllMergersFiles", [_dec7], Object.getOwnPropertyDescriptor(_class.prototype, "getAllMergersFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getMergerFile", [_dec8], Object.getOwnPropertyDescriptor(_class.prototype, "getMergerFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllSchemasFiles", [_dec9], Object.getOwnPropertyDescriptor(_class.prototype, "getAllSchemasFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormSchemas", [_dec10], Object.getOwnPropertyDescriptor(_class.prototype, "getFormSchemas"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllNormalizeFiles", [_dec11], Object.getOwnPropertyDescriptor(_class.prototype, "getAllNormalizeFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getNormalizeFile", [_dec12], Object.getOwnPropertyDescriptor(_class.prototype, "getNormalizeFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFLangNormalizeFile", [_dec13], Object.getOwnPropertyDescriptor(_class.prototype, "getFLangNormalizeFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllAttachmentPathsFileNames", [_dec14], Object.getOwnPropertyDescriptor(_class.prototype, "getAllAttachmentPathsFileNames"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAttachmentPathFile", [_dec15], Object.getOwnPropertyDescriptor(_class.prototype, "getAttachmentPathFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAttachmentPathByGfvFile", [_dec16], Object.getOwnPropertyDescriptor(_class.prototype, "getAttachmentPathByGfvFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllUnmapFiles", [_dec17], Object.getOwnPropertyDescriptor(_class.prototype, "getAllUnmapFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getUnmapFile", [_dec18], Object.getOwnPropertyDescriptor(_class.prototype, "getUnmapFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllMapFiles", [_dec19], Object.getOwnPropertyDescriptor(_class.prototype, "getAllMapFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getMapFile", [_dec20], Object.getOwnPropertyDescriptor(_class.prototype, "getMapFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllPatchFiles", [_dec21], Object.getOwnPropertyDescriptor(_class.prototype, "getAllPatchFiles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getPatchFile", [_dec22], Object.getOwnPropertyDescriptor(_class.prototype, "getPatchFile"), _class.prototype)), _class));
161
179
  //# sourceMappingURL=BuildServerBackendResourcesController.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BuildServerBackendResourcesController.js","names":["_fs","require","path","_interopRequireWildcard","_fsExtra","_lodash","_Methods","_NotFoundWebError","_Params","_Results","_StreamResultHandler","_SingletonController","_FarmDirectory","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_dec21","_class","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BuildServerBackendResourcesController","exports","httpGet","httpReturn","Json","PlainText","StreamWithMime","httpUrlParam","httpType","String","Stream","SingletonController","constructor","allFarmConfig","flangNormalizationSourcesProvider","generatedServerSideSourcesProvider","allSchemasFiles","resetAllSchemaFilesDebounced","allFarmDirectories","map","FarmDirectory","farmDirectory","debounce","undefined","getAllGfvs","Promise","all","x","flat","getAllPicklists","join","getPicklists","picklistFilename","allFilePath","pathFile","pathExists","createReadStream","Error","getAllConvertersFiles","flatMap","getAllConverterFilePaths","basename","getConverterFile","filename","filePath","getConverterFilePathByFileNameOrUndefined","FileStreamResult","NotFoundWebError","getAllMergersFiles","getAllMergersFilePaths","getMergerFile","getMergersFilePathByFileNameOrUndefined","getAllSchemasFiles","getAllSchemasFilePaths","getFormSchemas","getSchemaFilePathByFileNameOrUndefined","getAllNormalizeFiles","files","getAllNormalizeFilePaths","flangFiles","getAllNormalizationFileNames","getNormalizeFile","gfv","getNormalizeFilePathByFileNameOrUndefined","getFLangNormalizeFile","stream","getNormalizationFileContent","StreamResult","getAllAttachmentPathsFileNames","getAllAttachmentPathFileNames","getAttachmentPathFile","getAttachmentPathsFileContent","getAttachmentPathByGfvFile","getAttachmentPathsWithGfvsFileContent","getAllUnmapFiles","getAllUnmapFilePaths","getUnmapFile","getUnmapFilePathByFileNameOrUndefined","getAllMapFiles","getAllMapFilePaths","getMapFile","getMapFilePathByFileNameOrUndefined","getAllPatchFiles","getAllPatchFilePaths","getPatchFile","getPatchFilePathByFileNameOrUndefined","_applyDecoratedDescriptor2","prototype"],"sources":["../../../../../../src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.ts"],"sourcesContent":["import { createReadStream, ReadStream } from \"fs\";\nimport * as path from \"path\";\n\nimport { pathExists } from \"fs-extra\";\nimport _, { debounce } from \"lodash\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\n\nimport { httpGet } from \"../../../Commons/HttpServer/AttributeRouting/Methods\";\nimport { NotFoundWebError } from \"../../../Commons/HttpServer/AttributeRouting/NotFoundWebError\";\nimport { httpType, httpUrlParam } from \"../../../Commons/HttpServer/AttributeRouting/Params\";\nimport { httpReturn } from \"../../../Commons/HttpServer/AttributeRouting/Results\";\nimport {\n FileStreamResult,\n StreamResult,\n} from \"../../../Commons/HttpServer/AttributeRouting/Results/StreamResultHandler\";\nimport { SingletonController } from \"../../../Commons/HttpServer/ExpressWrapper/SingletonController\";\n\nimport { IGeneratedServerSideSourcesProvider } from \"./IGeneratedServerSideSourcesProvider\";\nimport { FarmDirectory } from \"./Directories/FarmDirectory\";\n\nexport class BuildServerBackendResourcesController extends SingletonController {\n private readonly generatedServerSideSourcesProvider: IGeneratedServerSideSourcesProvider;\n private allSchemasFiles: undefined | string;\n private readonly resetAllSchemaFilesDebounced: () => void;\n private readonly allFarmDirectories: FarmDirectory[];\n private readonly allFarmConfig: FarmConfig[];\n\n public constructor(\n allFarmConfig: FarmConfig[],\n flangNormalizationSourcesProvider: IGeneratedServerSideSourcesProvider\n ) {\n super();\n this.generatedServerSideSourcesProvider = flangNormalizationSourcesProvider;\n this.allFarmConfig = allFarmConfig;\n this.allFarmDirectories = allFarmConfig.map(i => new FarmDirectory(i.farmDirectory));\n this.resetAllSchemaFilesDebounced = debounce(() => {\n this.allSchemasFiles = undefined;\n }, 5000);\n }\n\n @httpGet(\"/gfvs\", httpReturn.Json)\n public async getAllGfvs(): Promise<string[]> {\n return (await Promise.all(this.allFarmDirectories.map(x => x.getAllGfvs()))).flat();\n }\n\n @httpGet(\"/picklists\", httpReturn.PlainText)\n public async getAllPicklists(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.map(x => x.getAllPicklists()))).flat().join(\"\\n\");\n }\n\n @httpGet(\n \"/picklists/:picklistFilename\",\n httpReturn.StreamWithMime(\"application/json\"),\n httpUrlParam(\"picklistFilename\", httpType.String)\n )\n public async getPicklists(picklistFilename: string): Promise<ReadStream> {\n const allFilePath = this.allFarmConfig.map(i => path.join(i.farmDirectory, \"picklists\", picklistFilename));\n for (const pathFile of allFilePath) {\n if (await pathExists(pathFile)) {\n return createReadStream(pathFile);\n }\n }\n throw Error(`not found picklistFilename ${picklistFilename}`);\n }\n\n @httpGet(\"/converters\", httpReturn.PlainText)\n public async getAllConvertersFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllConverterFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/converters/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getConverterFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getConverterFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/mergers\", httpReturn.PlainText)\n public async getAllMergersFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllMergersFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/mergers/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getMergerFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getMergersFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/schemas\", httpReturn.PlainText)\n public async getAllSchemasFiles(): Promise<string> {\n if (this.allSchemasFiles === undefined) {\n this.allSchemasFiles = (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllSchemasFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n this.resetAllSchemaFilesDebounced();\n return this.allSchemasFiles;\n }\n\n @httpGet(\"/schemas/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getFormSchemas(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getSchemaFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/normalize\", httpReturn.PlainText)\n public async getAllNormalizeFiles(): Promise<string> {\n const files = (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllNormalizeFilePaths()))).flat();\n const flangFiles = await this.generatedServerSideSourcesProvider.getAllNormalizationFileNames();\n return [...files.map(x => path.basename(x)), ...flangFiles].join(\"\\n\");\n }\n\n @httpGet(\"/normalize/:gfv.xml\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getNormalizeFile(gfv: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getNormalizeFilePathByFileNameOrUndefined(`${gfv}.xml`);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/normalize/:gfv.normalize\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getFLangNormalizeFile(gfv: string): Promise<StreamResult> {\n const stream = await this.generatedServerSideSourcesProvider.getNormalizationFileContent(gfv);\n if (stream == null) {\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n return new StreamResult(stream);\n }\n\n @httpGet(\"/attachmentpaths\", httpReturn.PlainText)\n public async getAllAttachmentPathsFileNames(): Promise<string> {\n const flangFiles = await this.generatedServerSideSourcesProvider.getAllAttachmentPathFileNames();\n return flangFiles.join(\"\\n\");\n }\n\n @httpGet(\"/attachmentpaths/:gfv.json\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getAttachmentPathFile(gfv: string): Promise<StreamResult> {\n return new StreamResult(await this.generatedServerSideSourcesProvider.getAttachmentPathsFileContent(gfv));\n }\n\n @httpGet(\"/attachmentpathswithgfvs/:gfv.json\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getAttachmentPathByGfvFile(gfv: string): Promise<StreamResult> {\n return new StreamResult(\n await this.generatedServerSideSourcesProvider.getAttachmentPathsWithGfvsFileContent(gfv)\n );\n }\n\n @httpGet(\"/unmap\", httpReturn.PlainText)\n public async getAllUnmapFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllUnmapFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/unmap/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getUnmapFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getUnmapFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/map\", httpReturn.PlainText)\n public async getAllMapFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllMapFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/map/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getMapFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getMapFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/patch\", httpReturn.PlainText)\n public async getAllPatchFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllPatchFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/patch/:filename\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getPatchFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getPatchFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAC,uBAAA,CAAAF,OAAA;AAEA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAGA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,iBAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,oBAAA,GAAAT,OAAA;AAIA,IAAAU,oBAAA,GAAAV,OAAA;AAGA,IAAAW,cAAA,GAAAX,OAAA;AAA4D,IAAAY,IAAA,EAAAC,KAAA,EAAAC,KAAA,EAAAC,KAAA,EAAAC,KAAA,EAAAC,KAAA,EAAAC,KAAA,EAAAC,KAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA,EAAAC,MAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAjC,wBAAAiC,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,IAE/CW,qCAAqC,GAAAC,OAAA,CAAAD,qCAAA,IAAA1C,IAAA,GAoB7C,IAAA4C,gBAAO,EAAC,OAAO,EAAEC,mBAAU,CAACC,IAAI,CAAC,EAAA7C,KAAA,GAKjC,IAAA2C,gBAAO,EAAC,YAAY,EAAEC,mBAAU,CAACE,SAAS,CAAC,EAAA7C,KAAA,GAK3C,IAAA0C,gBAAO,EACJ,8BAA8B,EAC9BC,mBAAU,CAACG,cAAc,CAAC,kBAAkB,CAAC,EAC7C,IAAAC,oBAAY,EAAC,kBAAkB,EAAEC,gBAAQ,CAACC,MAAM,CACpD,CAAC,EAAAhD,KAAA,GAWA,IAAAyC,gBAAO,EAAC,aAAa,EAAEC,mBAAU,CAACE,SAAS,CAAC,EAAA3C,KAAA,GAQ5C,IAAAwC,gBAAO,EAAC,uBAAuB,EAAEC,mBAAU,CAACO,MAAM,EAAE,IAAAH,oBAAY,EAAC,UAAU,EAAEC,gBAAQ,CAACC,MAAM,CAAC,CAAC,EAAA9C,KAAA,GAY9F,IAAAuC,gBAAO,EAAC,UAAU,EAAEC,mBAAU,CAACE,SAAS,CAAC,EAAAzC,KAAA,GAQzC,IAAAsC,gBAAO,EAAC,oBAAoB,EAAEC,mBAAU,CAACO,MAAM,EAAE,IAAAH,oBAAY,EAAC,UAAU,EAAEC,gBAAQ,CAACC,MAAM,CAAC,CAAC,EAAA5C,KAAA,GAY3F,IAAAqC,gBAAO,EAAC,UAAU,EAAEC,mBAAU,CAACE,SAAS,CAAC,EAAAvC,KAAA,GAYzC,IAAAoC,gBAAO,EAAC,oBAAoB,EAAEC,mBAAU,CAACO,MAAM,EAAE,IAAAH,oBAAY,EAAC,UAAU,EAAEC,gBAAQ,CAACC,MAAM,CAAC,CAAC,EAAA1C,MAAA,GAY3F,IAAAmC,gBAAO,EAAC,YAAY,EAAEC,mBAAU,CAACE,SAAS,CAAC,EAAArC,MAAA,GAO3C,IAAAkC,gBAAO,EAAC,qBAAqB,EAAEC,mBAAU,CAACO,MAAM,EAAE,IAAAH,oBAAY,EAAC,KAAK,EAAEC,gBAAQ,CAACC,MAAM,CAAC,CAAC,EAAAxC,MAAA,GAYvF,IAAAiC,gBAAO,EAAC,2BAA2B,EAAEC,mBAAU,CAACO,MAAM,EAAE,IAAAH,oBAAY,EAAC,KAAK,EAAEC,gBAAQ,CAACC,MAAM,CAAC,CAAC,EAAAvC,MAAA,GAU7F,IAAAgC,gBAAO,EAAC,kBAAkB,EAAEC,mBAAU,CAACE,SAAS,CAAC,EAAAlC,MAAA,GAMjD,IAAA+B,gBAAO,EAAC,4BAA4B,EAAEC,mBAAU,CAACO,MAAM,EAAE,IAAAH,oBAAY,EAAC,KAAK,EAAEC,gBAAQ,CAACC,MAAM,CAAC,CAAC,EAAArC,MAAA,GAK9F,IAAA8B,gBAAO,EAAC,oCAAoC,EAAEC,mBAAU,CAACO,MAAM,EAAE,IAAAH,oBAAY,EAAC,KAAK,EAAEC,gBAAQ,CAACC,MAAM,CAAC,CAAC,EAAApC,MAAA,GAOtG,IAAA6B,gBAAO,EAAC,QAAQ,EAAEC,mBAAU,CAACE,SAAS,CAAC,EAAA/B,MAAA,GAQvC,IAAA4B,gBAAO,EAAC,kBAAkB,EAAEC,mBAAU,CAACO,MAAM,EAAE,IAAAH,oBAAY,EAAC,UAAU,EAAEC,gBAAQ,CAACC,MAAM,CAAC,CAAC,EAAAlC,MAAA,GAYzF,IAAA2B,gBAAO,EAAC,MAAM,EAAEC,mBAAU,CAACE,SAAS,CAAC,EAAA7B,MAAA,GAQrC,IAAA0B,gBAAO,EAAC,gBAAgB,EAAEC,mBAAU,CAACO,MAAM,EAAE,IAAAH,oBAAY,EAAC,UAAU,EAAEC,gBAAQ,CAACC,MAAM,CAAC,CAAC,EAAAhC,MAAA,GAYvF,IAAAyB,gBAAO,EAAC,QAAQ,EAAEC,mBAAU,CAACE,SAAS,CAAC,EAAA3B,MAAA,GAQvC,IAAAwB,gBAAO,EAAC,kBAAkB,EAAEC,mBAAU,CAACO,MAAM,EAAE,IAAAH,oBAAY,EAAC,KAAK,EAAEC,gBAAQ,CAACC,MAAM,CAAC,CAAC,GAAA9B,MAAA,GA5MlF,MAAMqB,qCAAqC,SAASW,wCAAmB,CAAC;EAOpEC,WAAWA,CACdC,aAA2B,EAC3BC,iCAAsE,EACxE;IACE,KAAK,CAAC,CAAC;IAAC,KAVKC,kCAAkC;IAAA,KAC3CC,eAAe;IAAA,KACNC,4BAA4B;IAAA,KAC5BC,kBAAkB;IAAA,KAClBL,aAAa;IAO1B,IAAI,CAACE,kCAAkC,GAAGD,iCAAiC;IAC3E,IAAI,CAACD,aAAa,GAAGA,aAAa;IAClC,IAAI,CAACK,kBAAkB,GAAGL,aAAa,CAACM,GAAG,CAACrB,CAAC,IAAI,IAAIsB,4BAAa,CAACtB,CAAC,CAACuB,aAAa,CAAC,CAAC;IACpF,IAAI,CAACJ,4BAA4B,GAAG,IAAAK,gBAAQ,EAAC,MAAM;MAC/C,IAAI,CAACN,eAAe,GAAGO,SAAS;IACpC,CAAC,EAAE,IAAI,CAAC;EACZ;EAEA,MACaC,UAAUA,CAAA,EAAsB;IACzC,OAAO,CAAC,MAAMC,OAAO,CAACC,GAAG,CAAC,IAAI,CAACR,kBAAkB,CAACC,GAAG,CAACQ,CAAC,IAAIA,CAAC,CAACH,UAAU,CAAC,CAAC,CAAC,CAAC,EAAEI,IAAI,CAAC,CAAC;EACvF;EAEA,MACaC,eAAeA,CAAA,EAAoB;IAC5C,OAAO,CAAC,MAAMJ,OAAO,CAACC,GAAG,CAAC,IAAI,CAACR,kBAAkB,CAACC,GAAG,CAACQ,CAAC,IAAIA,CAAC,CAACE,eAAe,CAAC,CAAC,CAAC,CAAC,EAAED,IAAI,CAAC,CAAC,CAACE,IAAI,CAAC,IAAI,CAAC;EACvG;EAEA,MAKaC,YAAYA,CAACC,gBAAwB,EAAuB;IACrE,MAAMC,WAAW,GAAG,IAAI,CAACpB,aAAa,CAACM,GAAG,CAACrB,CAAC,IAAInD,IAAI,CAACmF,IAAI,CAAChC,CAAC,CAACuB,aAAa,EAAE,WAAW,EAAEW,gBAAgB,CAAC,CAAC;IAC1G,KAAK,MAAME,QAAQ,IAAID,WAAW,EAAE;MAChC,IAAI,MAAM,IAAAE,mBAAU,EAACD,QAAQ,CAAC,EAAE;QAC5B,OAAO,IAAAE,oBAAgB,EAACF,QAAQ,CAAC;MACrC;IACJ;IACA,MAAMG,KAAK,CAAC,8BAA8BL,gBAAgB,EAAE,CAAC;EACjE;EAEA,MACaM,qBAAqBA,CAAA,EAAoB;IAClD,OAAO,CAAC,MAAMb,OAAO,CAACC,GAAG,CAAC,IAAI,CAACR,kBAAkB,CAACqB,OAAO,CAACZ,CAAC,IAAIA,CAAC,CAACa,wBAAwB,CAAC,CAAC,CAAC,CAAC,EACxFZ,IAAI,CAAC,CAAC,CACNT,GAAG,CAACQ,CAAC,IAAIhF,IAAI,CAAC8F,QAAQ,CAACd,CAAC,CAAC,CAAC,CAC1BG,IAAI,CAAC,IAAI,CAAC;EACnB;EAEA,MACaY,gBAAgBA,CAACC,QAAgB,EAA6B;IACvE,KAAK,MAAMtB,aAAa,IAAI,IAAI,CAACH,kBAAkB,EAAE;MACjD,MAAM0B,QAAQ,GAAG,MAAMvB,aAAa,CAACwB,yCAAyC,CAACF,QAAQ,CAAC;MACxF,IAAIC,QAAQ,IAAI,IAAI,KAAK,MAAM,IAAAT,mBAAU,EAACS,QAAQ,CAAC,CAAC,EAAE;QAClD,OAAO,IAAIE,qCAAgB,CAACF,QAAQ,CAAC;MACzC;IACJ;IAEA,MAAM,IAAIG,kCAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC;EACvD;EAEA,MACaC,kBAAkBA,CAAA,EAAoB;IAC/C,OAAO,CAAC,MAAMvB,OAAO,CAACC,GAAG,CAAC,IAAI,CAACR,kBAAkB,CAACqB,OAAO,CAACZ,CAAC,IAAIA,CAAC,CAACsB,sBAAsB,CAAC,CAAC,CAAC,CAAC,EACtFrB,IAAI,CAAC,CAAC,CACNT,GAAG,CAACQ,CAAC,IAAIhF,IAAI,CAAC8F,QAAQ,CAACd,CAAC,CAAC,CAAC,CAC1BG,IAAI,CAAC,IAAI,CAAC;EACnB;EAEA,MACaoB,aAAaA,CAACP,QAAgB,EAA6B;IACpE,KAAK,MAAMtB,aAAa,IAAI,IAAI,CAACH,kBAAkB,EAAE;MACjD,MAAM0B,QAAQ,GAAG,MAAMvB,aAAa,CAAC8B,uCAAuC,CAACR,QAAQ,CAAC;MACtF,IAAIC,QAAQ,IAAI,IAAI,KAAK,MAAM,IAAAT,mBAAU,EAACS,QAAQ,CAAC,CAAC,EAAE;QAClD,OAAO,IAAIE,qCAAgB,CAACF,QAAQ,CAAC;MACzC;IACJ;IAEA,MAAM,IAAIG,kCAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC;EACvD;EAEA,MACaK,kBAAkBA,CAAA,EAAoB;IAC/C,IAAI,IAAI,CAACpC,eAAe,KAAKO,SAAS,EAAE;MACpC,IAAI,CAACP,eAAe,GAAG,CAAC,MAAMS,OAAO,CAACC,GAAG,CAAC,IAAI,CAACR,kBAAkB,CAACqB,OAAO,CAACZ,CAAC,IAAIA,CAAC,CAAC0B,sBAAsB,CAAC,CAAC,CAAC,CAAC,EACtGzB,IAAI,CAAC,CAAC,CACNT,GAAG,CAACQ,CAAC,IAAIhF,IAAI,CAAC8F,QAAQ,CAACd,CAAC,CAAC,CAAC,CAC1BG,IAAI,CAAC,IAAI,CAAC;IACnB;IACA,IAAI,CAACb,4BAA4B,CAAC,CAAC;IACnC,OAAO,IAAI,CAACD,eAAe;EAC/B;EAEA,MACasC,cAAcA,CAACX,QAAgB,EAA6B;IACrE,KAAK,MAAMtB,aAAa,IAAI,IAAI,CAACH,kBAAkB,EAAE;MACjD,MAAM0B,QAAQ,GAAG,MAAMvB,aAAa,CAACkC,sCAAsC,CAACZ,QAAQ,CAAC;MACrF,IAAIC,QAAQ,IAAI,IAAI,KAAK,MAAM,IAAAT,mBAAU,EAACS,QAAQ,CAAC,CAAC,EAAE;QAClD,OAAO,IAAIE,qCAAgB,CAACF,QAAQ,CAAC;MACzC;IACJ;IAEA,MAAM,IAAIG,kCAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC;EACvD;EAEA,MACaS,oBAAoBA,CAAA,EAAoB;IACjD,MAAMC,KAAK,GAAG,CAAC,MAAMhC,OAAO,CAACC,GAAG,CAAC,IAAI,CAACR,kBAAkB,CAACqB,OAAO,CAACZ,CAAC,IAAIA,CAAC,CAAC+B,wBAAwB,CAAC,CAAC,CAAC,CAAC,EAAE9B,IAAI,CAAC,CAAC;IAC5G,MAAM+B,UAAU,GAAG,MAAM,IAAI,CAAC5C,kCAAkC,CAAC6C,4BAA4B,CAAC,CAAC;IAC/F,OAAO,CAAC,GAAGH,KAAK,CAACtC,GAAG,CAACQ,CAAC,IAAIhF,IAAI,CAAC8F,QAAQ,CAACd,CAAC,CAAC,CAAC,EAAE,GAAGgC,UAAU,CAAC,CAAC7B,IAAI,CAAC,IAAI,CAAC;EAC1E;EAEA,MACa+B,gBAAgBA,CAACC,GAAW,EAA6B;IAClE,KAAK,MAAMzC,aAAa,IAAI,IAAI,CAACH,kBAAkB,EAAE;MACjD,MAAM0B,QAAQ,GAAG,MAAMvB,aAAa,CAAC0C,yCAAyC,CAAC,GAAGD,GAAG,MAAM,CAAC;MAC5F,IAAIlB,QAAQ,IAAI,IAAI,KAAK,MAAM,IAAAT,mBAAU,EAACS,QAAQ,CAAC,CAAC,EAAE;QAClD,OAAO,IAAIE,qCAAgB,CAACF,QAAQ,CAAC;MACzC;IACJ;IAEA,MAAM,IAAIG,kCAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC;EACvD;EAEA,MACaiB,qBAAqBA,CAACF,GAAW,EAAyB;IACnE,MAAMG,MAAM,GAAG,MAAM,IAAI,CAAClD,kCAAkC,CAACmD,2BAA2B,CAACJ,GAAG,CAAC;IAC7F,IAAIG,MAAM,IAAI,IAAI,EAAE;MAChB,MAAM,IAAIlB,kCAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC;IACvD;IAEA,OAAO,IAAIoB,iCAAY,CAACF,MAAM,CAAC;EACnC;EAEA,MACaG,8BAA8BA,CAAA,EAAoB;IAC3D,MAAMT,UAAU,GAAG,MAAM,IAAI,CAAC5C,kCAAkC,CAACsD,6BAA6B,CAAC,CAAC;IAChG,OAAOV,UAAU,CAAC7B,IAAI,CAAC,IAAI,CAAC;EAChC;EAEA,MACawC,qBAAqBA,CAACR,GAAW,EAAyB;IACnE,OAAO,IAAIK,iCAAY,CAAC,MAAM,IAAI,CAACpD,kCAAkC,CAACwD,6BAA6B,CAACT,GAAG,CAAC,CAAC;EAC7G;EAEA,MACaU,0BAA0BA,CAACV,GAAW,EAAyB;IACxE,OAAO,IAAIK,iCAAY,CACnB,MAAM,IAAI,CAACpD,kCAAkC,CAAC0D,qCAAqC,CAACX,GAAG,CAC3F,CAAC;EACL;EAEA,MACaY,gBAAgBA,CAAA,EAAoB;IAC7C,OAAO,CAAC,MAAMjD,OAAO,CAACC,GAAG,CAAC,IAAI,CAACR,kBAAkB,CAACqB,OAAO,CAACZ,CAAC,IAAIA,CAAC,CAACgD,oBAAoB,CAAC,CAAC,CAAC,CAAC,EACpF/C,IAAI,CAAC,CAAC,CACNT,GAAG,CAACQ,CAAC,IAAIhF,IAAI,CAAC8F,QAAQ,CAACd,CAAC,CAAC,CAAC,CAC1BG,IAAI,CAAC,IAAI,CAAC;EACnB;EAEA,MACa8C,YAAYA,CAACjC,QAAgB,EAA6B;IACnE,KAAK,MAAMtB,aAAa,IAAI,IAAI,CAACH,kBAAkB,EAAE;MACjD,MAAM0B,QAAQ,GAAG,MAAMvB,aAAa,CAACwD,qCAAqC,CAAClC,QAAQ,CAAC;MACpF,IAAIC,QAAQ,IAAI,IAAI,KAAK,MAAM,IAAAT,mBAAU,EAACS,QAAQ,CAAC,CAAC,EAAE;QAClD,OAAO,IAAIE,qCAAgB,CAACF,QAAQ,CAAC;MACzC;IACJ;IAEA,MAAM,IAAIG,kCAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC;EACvD;EAEA,MACa+B,cAAcA,CAAA,EAAoB;IAC3C,OAAO,CAAC,MAAMrD,OAAO,CAACC,GAAG,CAAC,IAAI,CAACR,kBAAkB,CAACqB,OAAO,CAACZ,CAAC,IAAIA,CAAC,CAACoD,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAClFnD,IAAI,CAAC,CAAC,CACNT,GAAG,CAACQ,CAAC,IAAIhF,IAAI,CAAC8F,QAAQ,CAACd,CAAC,CAAC,CAAC,CAC1BG,IAAI,CAAC,IAAI,CAAC;EACnB;EAEA,MACakD,UAAUA,CAACrC,QAAgB,EAA6B;IACjE,KAAK,MAAMtB,aAAa,IAAI,IAAI,CAACH,kBAAkB,EAAE;MACjD,MAAM0B,QAAQ,GAAG,MAAMvB,aAAa,CAAC4D,mCAAmC,CAACtC,QAAQ,CAAC;MAClF,IAAIC,QAAQ,IAAI,IAAI,KAAK,MAAM,IAAAT,mBAAU,EAACS,QAAQ,CAAC,CAAC,EAAE;QAClD,OAAO,IAAIE,qCAAgB,CAACF,QAAQ,CAAC;MACzC;IACJ;IAEA,MAAM,IAAIG,kCAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC;EACvD;EAEA,MACamC,gBAAgBA,CAAA,EAAoB;IAC7C,OAAO,CAAC,MAAMzD,OAAO,CAACC,GAAG,CAAC,IAAI,CAACR,kBAAkB,CAACqB,OAAO,CAACZ,CAAC,IAAIA,CAAC,CAACwD,oBAAoB,CAAC,CAAC,CAAC,CAAC,EACpFvD,IAAI,CAAC,CAAC,CACNT,GAAG,CAACQ,CAAC,IAAIhF,IAAI,CAAC8F,QAAQ,CAACd,CAAC,CAAC,CAAC,CAC1BG,IAAI,CAAC,IAAI,CAAC;EACnB;EAEA,MACasD,YAAYA,CAACzC,QAAgB,EAA6B;IACnE,KAAK,MAAMtB,aAAa,IAAI,IAAI,CAACH,kBAAkB,EAAE;MACjD,MAAM0B,QAAQ,GAAG,MAAMvB,aAAa,CAACgE,qCAAqC,CAAC1C,QAAQ,CAAC;MACpF,IAAIC,QAAQ,IAAI,IAAI,KAAK,MAAM,IAAAT,mBAAU,EAACS,QAAQ,CAAC,CAAC,EAAE;QAClD,OAAO,IAAIE,qCAAgB,CAACF,QAAQ,CAAC;MACzC;IACJ;IAEA,MAAM,IAAIG,kCAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC;EACvD;AACJ,CAAC,OAAAuC,0BAAA,CAAApG,OAAA,EAAAP,MAAA,CAAA4G,SAAA,iBAAAjI,IAAA,GAAAkC,MAAA,CAAAE,wBAAA,CAAAf,MAAA,CAAA4G,SAAA,iBAAA5G,MAAA,CAAA4G,SAAA,OAAAD,0BAAA,CAAApG,OAAA,EAAAP,MAAA,CAAA4G,SAAA,sBAAAhI,KAAA,GAAAiC,MAAA,CAAAE,wBAAA,CAAAf,MAAA,CAAA4G,SAAA,sBAAA5G,MAAA,CAAA4G,SAAA,OAAAD,0BAAA,CAAApG,OAAA,EAAAP,MAAA,CAAA4G,SAAA,mBAAA/H,KAAA,GAAAgC,MAAA,CAAAE,wBAAA,CAAAf,MAAA,CAAA4G,SAAA,mBAAA5G,MAAA,CAAA4G,SAAA,OAAAD,0BAAA,CAAApG,OAAA,EAAAP,MAAA,CAAA4G,SAAA,4BAAA9H,KAAA,GAAA+B,MAAA,CAAAE,wBAAA,CAAAf,MAAA,CAAA4G,SAAA,4BAAA5G,MAAA,CAAA4G,SAAA,OAAAD,0BAAA,CAAApG,OAAA,EAAAP,MAAA,CAAA4G,SAAA,uBAAA7H,KAAA,GAAA8B,MAAA,CAAAE,wBAAA,CAAAf,MAAA,CAAA4G,SAAA,uBAAA5G,MAAA,CAAA4G,SAAA,OAAAD,0BAAA,CAAApG,OAAA,EAAAP,MAAA,CAAA4G,SAAA,yBAAA5H,KAAA,GAAA6B,MAAA,CAAAE,wBAAA,CAAAf,MAAA,CAAA4G,SAAA,yBAAA5G,MAAA,CAAA4G,SAAA,OAAAD,0BAAA,CAAApG,OAAA,EAAAP,MAAA,CAAA4G,SAAA,oBAAA3H,KAAA,GAAA4B,MAAA,CAAAE,wBAAA,CAAAf,MAAA,CAAA4G,SAAA,oBAAA5G,MAAA,CAAA4G,SAAA,OAAAD,0BAAA,CAAApG,OAAA,EAAAP,MAAA,CAAA4G,SAAA,yBAAA1H,KAAA,GAAA2B,MAAA,CAAAE,wBAAA,CAAAf,MAAA,CAAA4G,SAAA,yBAAA5G,MAAA,CAAA4G,SAAA,OAAAD,0BAAA,CAAApG,OAAA,EAAAP,MAAA,CAAA4G,SAAA,qBAAAzH,KAAA,GAAA0B,MAAA,CAAAE,wBAAA,CAAAf,MAAA,CAAA4G,SAAA,qBAAA5G,MAAA,CAAA4G,SAAA,OAAAD,0BAAA,CAAApG,OAAA,EAAAP,MAAA,CAAA4G,SAAA,2BAAAxH,MAAA,GAAAyB,MAAA,CAAAE,wBAAA,CAAAf,MAAA,CAAA4G,SAAA,2BAAA5G,MAAA,CAAA4G,SAAA,OAAAD,0BAAA,CAAApG,OAAA,EAAAP,MAAA,CAAA4G,SAAA,uBAAAvH,MAAA,GAAAwB,MAAA,CAAAE,wBAAA,CAAAf,MAAA,CAAA4G,SAAA,uBAAA5G,MAAA,CAAA4G,SAAA,OAAAD,0BAAA,CAAApG,OAAA,EAAAP,MAAA,CAAA4G,SAAA,4BAAAtH,MAAA,GAAAuB,MAAA,CAAAE,wBAAA,CAAAf,MAAA,CAAA4G,SAAA,4BAAA5G,MAAA,CAAA4G,SAAA,OAAAD,0BAAA,CAAApG,OAAA,EAAAP,MAAA,CAAA4G,SAAA,qCAAArH,MAAA,GAAAsB,MAAA,CAAAE,wBAAA,CAAAf,MAAA,CAAA4G,SAAA,qCAAA5G,MAAA,CAAA4G,SAAA,OAAAD,0BAAA,CAAApG,OAAA,EAAAP,MAAA,CAAA4G,SAAA,4BAAApH,MAAA,GAAAqB,MAAA,CAAAE,wBAAA,CAAAf,MAAA,CAAA4G,SAAA,4BAAA5G,MAAA,CAAA4G,SAAA,OAAAD,0BAAA,CAAApG,OAAA,EAAAP,MAAA,CAAA4G,SAAA,iCAAAnH,MAAA,GAAAoB,MAAA,CAAAE,wBAAA,CAAAf,MAAA,CAAA4G,SAAA,iCAAA5G,MAAA,CAAA4G,SAAA,OAAAD,0BAAA,CAAApG,OAAA,EAAAP,MAAA,CAAA4G,SAAA,uBAAAlH,MAAA,GAAAmB,MAAA,CAAAE,wBAAA,CAAAf,MAAA,CAAA4G,SAAA,uBAAA5G,MAAA,CAAA4G,SAAA,OAAAD,0BAAA,CAAApG,OAAA,EAAAP,MAAA,CAAA4G,SAAA,mBAAAjH,MAAA,GAAAkB,MAAA,CAAAE,wBAAA,CAAAf,MAAA,CAAA4G,SAAA,mBAAA5G,MAAA,CAAA4G,SAAA,OAAAD,0BAAA,CAAApG,OAAA,EAAAP,MAAA,CAAA4G,SAAA,qBAAAhH,MAAA,GAAAiB,MAAA,CAAAE,wBAAA,CAAAf,MAAA,CAAA4G,SAAA,qBAAA5G,MAAA,CAAA4G,SAAA,OAAAD,0BAAA,CAAApG,OAAA,EAAAP,MAAA,CAAA4G,SAAA,iBAAA/G,MAAA,GAAAgB,MAAA,CAAAE,wBAAA,CAAAf,MAAA,CAAA4G,SAAA,iBAAA5G,MAAA,CAAA4G,SAAA,OAAAD,0BAAA,CAAApG,OAAA,EAAAP,MAAA,CAAA4G,SAAA,uBAAA9G,MAAA,GAAAe,MAAA,CAAAE,wBAAA,CAAAf,MAAA,CAAA4G,SAAA,uBAAA5G,MAAA,CAAA4G,SAAA,OAAAD,0BAAA,CAAApG,OAAA,EAAAP,MAAA,CAAA4G,SAAA,mBAAA7G,MAAA,GAAAc,MAAA,CAAAE,wBAAA,CAAAf,MAAA,CAAA4G,SAAA,mBAAA5G,MAAA,CAAA4G,SAAA,IAAA5G,MAAA","ignoreList":[]}
1
+ {"version":3,"file":"BuildServerBackendResourcesController.js","names":["_fs","require","path","_interopRequireWildcard","_fsExtra","_lodash","_Methods","_NotFoundWebError","_Params","_Results","_StreamResultHandler","_SingletonController","_EventBus","_FarmDirectory","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_dec21","_dec22","_class","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BuildServerBackendResourcesController","exports","httpGet","httpReturn","Json","PlainText","StreamWithMime","httpUrlParam","httpType","String","Stream","SingletonController","constructor","allFarmConfig","flangNormalizationSourcesProvider","generatedServerSideSourcesProvider","allSchemasFiles","resetAllSchemaFilesDebounced","allFarmDirectories","map","FarmDirectory","farmDirectory","debounce","undefined","afterStart","eventBus","on","FORM_REMOVE_EVENT","resetAllGfvs","afterStop","off","getAllGfvs","Promise","all","x","flat","forceGetAllGfvs","getAllPicklists","join","getPicklists","picklistFilename","allFilePath","pathFile","pathExists","createReadStream","Error","getAllConvertersFiles","flatMap","getAllConverterFilePaths","basename","getConverterFile","filename","filePath","getConverterFilePathByFileNameOrUndefined","FileStreamResult","NotFoundWebError","getAllMergersFiles","getAllMergersFilePaths","getMergerFile","getMergersFilePathByFileNameOrUndefined","getAllSchemasFiles","getAllSchemasFilePaths","getFormSchemas","getSchemaFilePathByFileNameOrUndefined","getAllNormalizeFiles","files","getAllNormalizeFilePaths","flangFiles","getAllNormalizationFileNames","getNormalizeFile","gfv","getNormalizeFilePathByFileNameOrUndefined","getFLangNormalizeFile","stream","getNormalizationFileContent","StreamResult","getAllAttachmentPathsFileNames","getAllAttachmentPathFileNames","getAttachmentPathFile","getAttachmentPathsFileContent","getAttachmentPathByGfvFile","getAttachmentPathsWithGfvsFileContent","getAllUnmapFiles","getAllUnmapFilePaths","getUnmapFile","getUnmapFilePathByFileNameOrUndefined","getAllMapFiles","getAllMapFilePaths","getMapFile","getMapFilePathByFileNameOrUndefined","getAllPatchFiles","getAllPatchFilePaths","getPatchFile","getPatchFilePathByFileNameOrUndefined","_applyDecoratedDescriptor2","prototype"],"sources":["../../../../../../src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.ts"],"sourcesContent":["import { createReadStream, ReadStream } from \"fs\";\nimport * as path from \"path\";\n\nimport { pathExists } from \"fs-extra\";\nimport _, { debounce } from \"lodash\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\n\nimport { httpGet } from \"../../../Commons/HttpServer/AttributeRouting/Methods\";\nimport { NotFoundWebError } from \"../../../Commons/HttpServer/AttributeRouting/NotFoundWebError\";\nimport { httpType, httpUrlParam } from \"../../../Commons/HttpServer/AttributeRouting/Params\";\nimport { httpReturn } from \"../../../Commons/HttpServer/AttributeRouting/Results\";\nimport {\n FileStreamResult,\n StreamResult,\n} from \"../../../Commons/HttpServer/AttributeRouting/Results/StreamResultHandler\";\nimport { SingletonController } from \"../../../Commons/HttpServer/ExpressWrapper/SingletonController\";\nimport { eventBus, FORM_REMOVE_EVENT } from \"../../../Commons/TasksCore/EventBus\";\n\nimport { IGeneratedServerSideSourcesProvider } from \"./IGeneratedServerSideSourcesProvider\";\nimport { FarmDirectory } from \"./Directories/FarmDirectory\";\n\nexport class BuildServerBackendResourcesController extends SingletonController {\n private readonly generatedServerSideSourcesProvider: IGeneratedServerSideSourcesProvider;\n private allSchemasFiles: undefined | string;\n private readonly resetAllSchemaFilesDebounced: () => void;\n private readonly allFarmDirectories: FarmDirectory[];\n private readonly allFarmConfig: FarmConfig[];\n\n public constructor(\n allFarmConfig: FarmConfig[],\n flangNormalizationSourcesProvider: IGeneratedServerSideSourcesProvider\n ) {\n super();\n this.generatedServerSideSourcesProvider = flangNormalizationSourcesProvider;\n this.allFarmConfig = allFarmConfig;\n this.allFarmDirectories = allFarmConfig.map(i => new FarmDirectory(i.farmDirectory));\n this.resetAllSchemaFilesDebounced = debounce(() => {\n this.allSchemasFiles = undefined;\n }, 5000);\n }\n\n public async afterStart(): Promise<void> {\n eventBus.on(FORM_REMOVE_EVENT, () => {\n this.resetAllGfvs();\n });\n }\n\n public async afterStop(): Promise<void> {\n eventBus.off(FORM_REMOVE_EVENT);\n }\n\n private resetAllGfvs() {\n for (const farmDirectory of this.allFarmDirectories) {\n farmDirectory.resetAllGfvs();\n }\n }\n\n @httpGet(\"/gfvs\", httpReturn.Json)\n public async getAllGfvs(): Promise<string[]> {\n return (await Promise.all(this.allFarmDirectories.map(x => x.getAllGfvs()))).flat();\n }\n\n @httpGet(\"/force-gfvs\", httpReturn.Json)\n public async forceGetAllGfvs(): Promise<string[]> {\n this.resetAllGfvs();\n return this.getAllGfvs();\n }\n\n @httpGet(\"/picklists\", httpReturn.PlainText)\n public async getAllPicklists(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.map(x => x.getAllPicklists()))).flat().join(\"\\n\");\n }\n\n @httpGet(\n \"/picklists/:picklistFilename\",\n httpReturn.StreamWithMime(\"application/json\"),\n httpUrlParam(\"picklistFilename\", httpType.String)\n )\n public async getPicklists(picklistFilename: string): Promise<ReadStream> {\n const allFilePath = this.allFarmConfig.map(i => path.join(i.farmDirectory, \"picklists\", picklistFilename));\n for (const pathFile of allFilePath) {\n if (await pathExists(pathFile)) {\n return createReadStream(pathFile);\n }\n }\n throw Error(`not found picklistFilename ${picklistFilename}`);\n }\n\n @httpGet(\"/converters\", httpReturn.PlainText)\n public async getAllConvertersFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllConverterFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/converters/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getConverterFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getConverterFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/mergers\", httpReturn.PlainText)\n public async getAllMergersFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllMergersFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/mergers/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getMergerFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getMergersFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/schemas\", httpReturn.PlainText)\n public async getAllSchemasFiles(): Promise<string> {\n if (this.allSchemasFiles === undefined) {\n this.allSchemasFiles = (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllSchemasFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n this.resetAllSchemaFilesDebounced();\n return this.allSchemasFiles;\n }\n\n @httpGet(\"/schemas/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getFormSchemas(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getSchemaFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/normalize\", httpReturn.PlainText)\n public async getAllNormalizeFiles(): Promise<string> {\n const files = (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllNormalizeFilePaths()))).flat();\n const flangFiles = await this.generatedServerSideSourcesProvider.getAllNormalizationFileNames();\n return [...files.map(x => path.basename(x)), ...flangFiles].join(\"\\n\");\n }\n\n @httpGet(\"/normalize/:gfv.xml\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getNormalizeFile(gfv: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getNormalizeFilePathByFileNameOrUndefined(`${gfv}.xml`);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/normalize/:gfv.normalize\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getFLangNormalizeFile(gfv: string): Promise<StreamResult> {\n const stream = await this.generatedServerSideSourcesProvider.getNormalizationFileContent(gfv);\n if (stream == null) {\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n return new StreamResult(stream);\n }\n\n @httpGet(\"/attachmentpaths\", httpReturn.PlainText)\n public async getAllAttachmentPathsFileNames(): Promise<string> {\n const flangFiles = await this.generatedServerSideSourcesProvider.getAllAttachmentPathFileNames();\n return flangFiles.join(\"\\n\");\n }\n\n @httpGet(\"/attachmentpaths/:gfv.json\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getAttachmentPathFile(gfv: string): Promise<StreamResult> {\n return new StreamResult(await this.generatedServerSideSourcesProvider.getAttachmentPathsFileContent(gfv));\n }\n\n @httpGet(\"/attachmentpathswithgfvs/:gfv.json\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getAttachmentPathByGfvFile(gfv: string): Promise<StreamResult> {\n return new StreamResult(\n await this.generatedServerSideSourcesProvider.getAttachmentPathsWithGfvsFileContent(gfv)\n );\n }\n\n @httpGet(\"/unmap\", httpReturn.PlainText)\n public async getAllUnmapFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllUnmapFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/unmap/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getUnmapFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getUnmapFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/map\", httpReturn.PlainText)\n public async getAllMapFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllMapFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/map/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getMapFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getMapFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n\n @httpGet(\"/patch\", httpReturn.PlainText)\n public async getAllPatchFiles(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.flatMap(x => x.getAllPatchFilePaths())))\n .flat()\n .map(x => path.basename(x))\n .join(\"\\n\");\n }\n\n @httpGet(\"/patch/:filename\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getPatchFile(filename: string): Promise<FileStreamResult> {\n for (const farmDirectory of this.allFarmDirectories) {\n const filePath = await farmDirectory.getPatchFilePathByFileNameOrUndefined(filename);\n if (filePath != null && (await pathExists(filePath))) {\n return new FileStreamResult(filePath);\n }\n }\n\n throw new NotFoundWebError(\"File not found\", false);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -26,7 +26,7 @@ let BuildServerBackendResourcesUpdatesController = exports.BuildServerBackendRes
26
26
  this.resourcesWatcher = void 0;
27
27
  this.allFarmConfig = void 0;
28
28
  this.farmWatchingRegexps = ["sugarTemplates", "legacyfetchfunctions", "jsHelpers", `images`, "tour", "controls", "commonResources", "externalConverters"].map(_GlobToRegexp.globToRegexp);
29
- this.formsWatchingRegexps = [`**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/schemas`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/converters`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/mergers`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/autocalc`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/validations`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/fetchfunctions`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/helpers`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/${_WellKnownDirectories.WellKnownDirectories.FormJsonFileName}`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/sugar`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/normalize`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/unmap`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/map`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/patch`].map(_GlobToRegexp.globToRegexp);
29
+ this.formsWatchingRegexps = [`**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/schemas`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/converters`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/mergers`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/autocalc`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/validations`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/fetchfunctions`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/helpers`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/${_WellKnownDirectories.WellKnownDirectories.FormJsonFileName}`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/sugar`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/normalize`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/normalizers`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/unmap`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/map`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/patch`].map(_GlobToRegexp.globToRegexp);
30
30
  this.handleFarmFSUpdate = (eventType, filePath, rootDir) => {
31
31
  if (this.farmWatchingRegexps.some(x => x.test(filePath))) {
32
32
  (0, _fs.stat)(_path.default.join(rootDir, filePath), (err, fileStat) => {
@@ -1 +1 @@
1
- {"version":3,"file":"BuildServerBackendResourcesUpdatesController.js","names":["_fs","require","_path","_interopRequireDefault","_lodash","_Methods","_Params","_Results","_SingletonController","_WellKnownDirectories","_GlobToRegexp","_dec","_class","BuildServerBackendResourcesUpdatesController","exports","httpGet","httpReturn","PlainText","httpQueryParam","httpType","Number","SingletonController","constructor","allFarmConfig","lastUpdateTime","updateMonitor","Monitor","farmWatchers","formWatchers","resourcesWatcher","farmWatchingRegexps","map","globToRegexp","formsWatchingRegexps","WellKnownDirectories","CandySubdirectoryName","FormJsonFileName","handleFarmFSUpdate","eventType","filePath","rootDir","some","x","test","stat","path","join","err","fileStat","fileTicks","Math","max","mtimeMs","ctimeMs","Date","now","pulseAll","handleFormFSUpdate","beforeStart","config","watch","farmDirectory","recursive","_","debounce","y","formRootDirectory","normalize","FormsDirectory","getLastUpdateTime","prevLastUpdateTime","toString","afterStop","_this$farmWatchers","_this$formWatchers","_this$resourcesWatche","i","close","_applyDecoratedDescriptor2","default","prototype","Object","getOwnPropertyDescriptor","awaiters","waitPromiseHandler","resolve","push","wait","Promise","awaiter"],"sources":["../../../../../../src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.ts"],"sourcesContent":["import { FSWatcher, watch, stat } from \"fs\";\nimport path from \"path\";\n\nimport _ from \"lodash\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\n\nimport { httpGet } from \"../../../Commons/HttpServer/AttributeRouting/Methods\";\nimport { httpQueryParam, httpType } from \"../../../Commons/HttpServer/AttributeRouting/Params\";\nimport { httpReturn } from \"../../../Commons/HttpServer/AttributeRouting/Results\";\nimport { SingletonController } from \"../../../Commons/HttpServer/ExpressWrapper/SingletonController\";\nimport { WellKnownDirectories } from \"../../../../../Common/WellKnownDirectories\";\n\nimport { globToRegexp } from \"./GlobToRegexp\";\n\nexport class BuildServerBackendResourcesUpdatesController extends SingletonController {\n private lastUpdateTime = 0;\n private readonly updateMonitor: Monitor = new Monitor();\n private farmWatchers?: FSWatcher[];\n private formWatchers?: FSWatcher[];\n private readonly resourcesWatcher?: FSWatcher;\n private readonly allFarmConfig: FarmConfig[];\n private readonly farmWatchingRegexps = [\n \"sugarTemplates\",\n \"legacyfetchfunctions\",\n \"jsHelpers\",\n `images`,\n \"tour\",\n \"controls\",\n \"commonResources\",\n \"externalConverters\",\n ].map(globToRegexp);\n private readonly formsWatchingRegexps = [\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/schemas`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/converters`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/mergers`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/autocalc`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/validations`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/fetchfunctions`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/helpers`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/${WellKnownDirectories.FormJsonFileName}`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/sugar`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/normalize`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/unmap`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/map`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/patch`,\n ].map(globToRegexp);\n\n public constructor(allFarmConfig: FarmConfig[]) {\n super();\n this.allFarmConfig = allFarmConfig;\n this.lastUpdateTime = Date.now();\n }\n\n public async beforeStart(): Promise<void> {\n this.farmWatchers = this.allFarmConfig.map(config =>\n // @ts-ignore\n watch(\n config.farmDirectory,\n { recursive: true },\n _.debounce((x: string, y: string) => this.handleFarmFSUpdate(x, y, config.farmDirectory), 200)\n )\n );\n this.formWatchers = this.allFarmConfig.map(config => {\n const formRootDirectory = path.normalize(\n path.join(config.farmDirectory, \"..\", WellKnownDirectories.FormsDirectory)\n );\n\n // @ts-ignore\n return watch(\n formRootDirectory,\n { recursive: true },\n _.debounce((x: string, y: string) => this.handleFormFSUpdate(x, y, formRootDirectory), 200)\n );\n });\n }\n\n @httpGet(\n \"/updates-observer/check-last-update-long-poll\",\n httpReturn.PlainText,\n httpQueryParam(\"prevLastUpdate\", httpType.Number)\n )\n public async getLastUpdateTime(prevLastUpdateTime?: number): Promise<string> {\n return this.lastUpdateTime.toString();\n }\n\n public async afterStop(): Promise<void> {\n this.farmWatchers?.map(i => i.close());\n this.formWatchers?.map(i => i.close());\n this.resourcesWatcher?.close();\n }\n\n private readonly handleFarmFSUpdate = (eventType: string, filePath: string, rootDir: string) => {\n if (this.farmWatchingRegexps.some(x => x.test(filePath))) {\n stat(path.join(rootDir, filePath), (err, fileStat) => {\n const fileTicks = Math.max(fileStat.mtimeMs, fileStat.ctimeMs);\n if (fileTicks > this.lastUpdateTime) {\n this.lastUpdateTime = Date.now();\n this.updateMonitor.pulseAll();\n }\n });\n }\n };\n\n private readonly handleFormFSUpdate = (eventType: string, filePath: string, rootDir: string) => {\n if (this.formsWatchingRegexps.some(x => x.test(filePath))) {\n stat(path.join(rootDir, filePath), (err, fileStat) => {\n const fileTicks = Math.max(fileStat.mtimeMs, fileStat.ctimeMs);\n if (fileTicks > this.lastUpdateTime) {\n this.lastUpdateTime = Date.now();\n this.updateMonitor.pulseAll();\n }\n });\n }\n };\n}\n\nclass Monitor {\n private awaiters: Array<() => void> = [];\n\n public wait(): Promise<void> {\n return new Promise(this.waitPromiseHandler);\n }\n\n public pulseAll(): void {\n const awaiters = [...this.awaiters];\n this.awaiters = [];\n for (const awaiter of awaiters) {\n awaiter();\n }\n }\n\n private readonly waitPromiseHandler = (resolve: () => void) => {\n this.awaiters.push(resolve);\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BuildServerBackendResourcesUpdatesController.js","names":["_fs","require","_path","_interopRequireDefault","_lodash","_Methods","_Params","_Results","_SingletonController","_WellKnownDirectories","_GlobToRegexp","_dec","_class","BuildServerBackendResourcesUpdatesController","exports","httpGet","httpReturn","PlainText","httpQueryParam","httpType","Number","SingletonController","constructor","allFarmConfig","lastUpdateTime","updateMonitor","Monitor","farmWatchers","formWatchers","resourcesWatcher","farmWatchingRegexps","map","globToRegexp","formsWatchingRegexps","WellKnownDirectories","CandySubdirectoryName","FormJsonFileName","handleFarmFSUpdate","eventType","filePath","rootDir","some","x","test","stat","path","join","err","fileStat","fileTicks","Math","max","mtimeMs","ctimeMs","Date","now","pulseAll","handleFormFSUpdate","beforeStart","config","watch","farmDirectory","recursive","_","debounce","y","formRootDirectory","normalize","FormsDirectory","getLastUpdateTime","prevLastUpdateTime","toString","afterStop","_this$farmWatchers","_this$formWatchers","_this$resourcesWatche","i","close","_applyDecoratedDescriptor2","default","prototype","Object","getOwnPropertyDescriptor","awaiters","waitPromiseHandler","resolve","push","wait","Promise","awaiter"],"sources":["../../../../../../src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.ts"],"sourcesContent":["import { FSWatcher, watch, stat } from \"fs\";\nimport path from \"path\";\n\nimport _ from \"lodash\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\n\nimport { httpGet } from \"../../../Commons/HttpServer/AttributeRouting/Methods\";\nimport { httpQueryParam, httpType } from \"../../../Commons/HttpServer/AttributeRouting/Params\";\nimport { httpReturn } from \"../../../Commons/HttpServer/AttributeRouting/Results\";\nimport { SingletonController } from \"../../../Commons/HttpServer/ExpressWrapper/SingletonController\";\nimport { WellKnownDirectories } from \"../../../../../Common/WellKnownDirectories\";\n\nimport { globToRegexp } from \"./GlobToRegexp\";\n\nexport class BuildServerBackendResourcesUpdatesController extends SingletonController {\n private lastUpdateTime = 0;\n private readonly updateMonitor: Monitor = new Monitor();\n private farmWatchers?: FSWatcher[];\n private formWatchers?: FSWatcher[];\n private readonly resourcesWatcher?: FSWatcher;\n private readonly allFarmConfig: FarmConfig[];\n private readonly farmWatchingRegexps = [\n \"sugarTemplates\",\n \"legacyfetchfunctions\",\n \"jsHelpers\",\n `images`,\n \"tour\",\n \"controls\",\n \"commonResources\",\n \"externalConverters\",\n ].map(globToRegexp);\n private readonly formsWatchingRegexps = [\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/schemas`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/converters`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/mergers`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/autocalc`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/validations`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/fetchfunctions`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/helpers`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/${WellKnownDirectories.FormJsonFileName}`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/sugar`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/normalize`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/normalizers`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/unmap`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/map`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/patch`,\n ].map(globToRegexp);\n\n public constructor(allFarmConfig: FarmConfig[]) {\n super();\n this.allFarmConfig = allFarmConfig;\n this.lastUpdateTime = Date.now();\n }\n\n public async beforeStart(): Promise<void> {\n this.farmWatchers = this.allFarmConfig.map(config =>\n // @ts-ignore\n watch(\n config.farmDirectory,\n { recursive: true },\n _.debounce((x: string, y: string) => this.handleFarmFSUpdate(x, y, config.farmDirectory), 200)\n )\n );\n this.formWatchers = this.allFarmConfig.map(config => {\n const formRootDirectory = path.normalize(\n path.join(config.farmDirectory, \"..\", WellKnownDirectories.FormsDirectory)\n );\n\n // @ts-ignore\n return watch(\n formRootDirectory,\n { recursive: true },\n _.debounce((x: string, y: string) => this.handleFormFSUpdate(x, y, formRootDirectory), 200)\n );\n });\n }\n\n @httpGet(\n \"/updates-observer/check-last-update-long-poll\",\n httpReturn.PlainText,\n httpQueryParam(\"prevLastUpdate\", httpType.Number)\n )\n public async getLastUpdateTime(prevLastUpdateTime?: number): Promise<string> {\n return this.lastUpdateTime.toString();\n }\n\n public async afterStop(): Promise<void> {\n this.farmWatchers?.map(i => i.close());\n this.formWatchers?.map(i => i.close());\n this.resourcesWatcher?.close();\n }\n\n private readonly handleFarmFSUpdate = (eventType: string, filePath: string, rootDir: string) => {\n if (this.farmWatchingRegexps.some(x => x.test(filePath))) {\n stat(path.join(rootDir, filePath), (err, fileStat) => {\n const fileTicks = Math.max(fileStat.mtimeMs, fileStat.ctimeMs);\n if (fileTicks > this.lastUpdateTime) {\n this.lastUpdateTime = Date.now();\n this.updateMonitor.pulseAll();\n }\n });\n }\n };\n\n private readonly handleFormFSUpdate = (eventType: string, filePath: string, rootDir: string) => {\n if (this.formsWatchingRegexps.some(x => x.test(filePath))) {\n stat(path.join(rootDir, filePath), (err, fileStat) => {\n const fileTicks = Math.max(fileStat.mtimeMs, fileStat.ctimeMs);\n if (fileTicks > this.lastUpdateTime) {\n this.lastUpdateTime = Date.now();\n this.updateMonitor.pulseAll();\n }\n });\n }\n };\n}\n\nclass Monitor {\n private awaiters: Array<() => void> = [];\n\n public wait(): Promise<void> {\n return new Promise(this.waitPromiseHandler);\n }\n\n public pulseAll(): void {\n const awaiters = [...this.awaiters];\n this.awaiters = [];\n for (const awaiter of awaiters) {\n awaiter();\n }\n }\n\n private readonly waitPromiseHandler = (resolve: () => void) => {\n this.awaiters.push(resolve);\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -147,7 +147,7 @@ class BuildFormDevServer {
147
147
  }).attach(async fi => (0, _AcquireFormGenerator.generatorFactory)(fi.generatorSource, this.candyModulesDirectory, false, undefined), async (fi, y) => ({
148
148
  ...fi,
149
149
  generator: y
150
- }), async fi => (0, _AcquireFormGenerator.getGeneratorSourceKey)(fi.generatorSource)).attach(async fi => _Observe.Observe.files(fi.formSourcesPath, "../../controls/**/generator/*", "schemas/**/*", "sugar/**/*", "controls/**/*", "autocalc/**/*", "helpers/**/*", "validations/**/*", "localization/**/*")).do(async fi => {
150
+ }), async fi => (0, _AcquireFormGenerator.getGeneratorSourceKey)(fi.generatorSource)).attach(async fi => _Observe.Observe.files(fi.formSourcesPath, "../../controls/**/generator/*", "schemas/**/*", "sugar/**/*", "controls/**/*", "autocalc/**/*", "helpers/**/*", "normalizers/**/*", "validations/**/*", "localization/**/*")).do(async fi => {
151
151
  try {
152
152
  const FormsDirWithHlPath = this.farmConfigArray.find(i => i.farmDirectory == farmDirectory);
153
153
  if (FormsDirWithHlPath == undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"BuildFormDevServer.js","names":["path","_interopRequireWildcard","require","_stream","_https","_nodeFetch","_interopRequireDefault","_pLimit","_fsExtra","_GenerateForm","_AcquireFormGenerator","_PublishedVersionUtils","_ResolveFormInfo","_AsyncUtils","_Observe","_FsUtils","_FormPathUtils","_TypingUtils","_WellKnownDirectories","_ReportGeneratorErrorToPageBody","_RunFormCompilationViaWebpackDevServer","_WebpackHybridFileSystem","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","buildGfvToPathMap","repositoryRoots","result","Map","repositoryRoot","formPaths","globAsync","WellKnownDirectories","CandySubdirectoryName","cwd","formPath","gfv","extractGfvFromFormPath","join","BuildFormDevServer","constructor","port","allFarmConfig","candyModulesDirectory","farmConfigArray","useGeneratorFromLocalSources","engineDirectory","buildDebugOnly","skipCodeReformatting","nightly","farmDirectory","startParallelLimit","generateChain","webpackDevServerStarted","webpackHybridFileSystem","gfvPaths","undefined","pLimit","findFormPath","_this$gfvPaths","map","x","_this$gfvPaths$get","reject","normalize","formDirPath","allPossibleFilePath","pth","pathExists","Error","writeErrorInEntryAndShowInBrowser","_this$webpackHybridFi","formEntryPointPath","writeBatch","getReportGeneratorErrorToPageBodyScript","formatError","start","WebpackHybridFileSystem","Observe","file","FormJsonFileName","transform","formJsonFile","resolveFormInfo","generatorSource","resolveLocalGeneratorSource","engineSource","resolveLocalEngineSource","generatorVersion","engineVersion","resolveGeneratorVersion","resolveEngineVersion","attach","fi","generatorFactory","y","generator","getGeneratorSourceKey","files","formSourcesPath","do","FormsDirWithHlPath","find","generateForm","hlFarmDirectoryPath","resourcesHash","observe","runFormCompilationViaWebpackDevServer","getGeneratedFileAsStream","filename","delay","resultFileName","GeneratedFormSubdirectory","_this$webpackHybridFi2","statSync","Promise","resolve","_this$webpackHybridFi3","readFile","error","data","Readable","from","getFileAsStream","response","fetch","method","agent","Agent","rejectUnauthorized","compress","status","textResponse","text","buffer","stack","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.ts"],"sourcesContent":["import * as path from \"path\";\nimport { Readable } from \"stream\";\nimport { Agent } from \"https\";\n\nimport fetch from \"node-fetch\";\nimport pLimit, { Limit } from \"p-limit\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\nimport { pathExists } from \"fs-extra\";\n\nimport { generateForm } from \"../../../../BuildTasks/Form/GenerateForm\";\nimport { generatorFactory, getGeneratorSourceKey } from \"../../../../BuildTasks/Generator/AcquireFormGenerator\";\nimport {\n resolveEngineVersion,\n resolveGeneratorVersion,\n resolveLocalEngineSource,\n resolveLocalGeneratorSource,\n} from \"../../../../BuildTasks/PublishedVersionUtils\";\nimport { resolveFormInfo } from \"../../../../BuildTasks/ResolveFormInfo\";\nimport { delay } from \"../../../../../../Common/AsyncUtils\";\nimport { ReasonOrError } from \"../../../../Commons/ErrorUntyped\";\nimport { ChainableValueProducer } from \"../../../../Commons/TasksCore/ChainableValueProducer\";\nimport { Observe } from \"../../../../Commons/TasksCore/Observe\";\nimport { globAsync } from \"../../../../Commons/FsUtils\";\nimport { extractGfvFromFormPath } from \"../../../../../../Common/FormPathUtils\";\nimport { reject } from \"../../../../../../Common/TypingUtils\";\nimport { WellKnownDirectories } from \"../../../../../../Common/WellKnownDirectories\";\n\nimport { getReportGeneratorErrorToPageBodyScript } from \"./ReportGeneratorErrorToPageBody\";\nimport { runFormCompilationViaWebpackDevServer } from \"./RunFormCompilationViaWebpackDevServer\";\nimport { WebpackHybridFileSystem } from \"./WebpackInMemoryUtils/WebpackHybridFileSystem\";\n\nasync function buildGfvToPathMap(repositoryRoots: string[]): Promise<Map<string, string>> {\n const result = new Map<string, string>();\n\n for (const repositoryRoot of repositoryRoots) {\n const formPaths = await globAsync(`forms/**/*/${WellKnownDirectories.CandySubdirectoryName}`, {\n cwd: repositoryRoot,\n });\n for (const formPath of formPaths) {\n const gfv = extractGfvFromFormPath(formPath);\n result.set(gfv, path.join(repositoryRoot, formPath));\n }\n }\n\n return result;\n}\n\nexport class BuildFormDevServer {\n private readonly port: number;\n private readonly allFarmConfig: string[];\n private readonly gfv: string;\n private readonly candyModulesDirectory: string;\n private farmDirectory: string;\n private formPath: string;\n private readonly farmConfigArray: FarmConfig[];\n private readonly startParallelLimit: Limit;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private generateChain?: ChainableValueProducer<any>;\n private webpackDevServerStarted = false;\n private readonly useGeneratorFromLocalSources: boolean;\n private readonly engineDirectory: string;\n private readonly nightly: boolean;\n private readonly buildDebugOnly: boolean;\n private readonly skipCodeReformatting: boolean;\n private webpackHybridFileSystem?: WebpackHybridFileSystem;\n private gfvPaths: undefined | Map<string, string> = undefined;\n\n public constructor(\n port: number,\n allFarmConfig: string[],\n gfv: string,\n candyModulesDirectory: string,\n farmConfigArray: FarmConfig[],\n useGeneratorFromLocalSources: boolean,\n engineDirectory: string,\n buildDebugOnly: boolean,\n skipCodeReformatting: boolean,\n nightly: boolean\n ) {\n this.port = port;\n this.allFarmConfig = allFarmConfig;\n this.gfv = gfv;\n this.candyModulesDirectory = candyModulesDirectory;\n this.farmConfigArray = farmConfigArray;\n this.startParallelLimit = pLimit(1);\n this.useGeneratorFromLocalSources = useGeneratorFromLocalSources;\n this.engineDirectory = engineDirectory;\n this.buildDebugOnly = buildDebugOnly;\n this.skipCodeReformatting = skipCodeReformatting;\n this.nightly = nightly;\n this.farmDirectory = \"\";\n this.formPath = \"\";\n }\n\n private async findFormPath(gfv: string): Promise<{ formPath: string; farmDirectory: string }> {\n this.gfvPaths = this.gfvPaths ?? (await buildGfvToPathMap(this.allFarmConfig.map(x => path.join(x, \"..\"))));\n\n if (this.gfvPaths.has(gfv)) {\n const formPath = this.gfvPaths.get(gfv) ?? reject();\n return {\n formPath: formPath ?? reject(),\n farmDirectory: path.normalize(path.join(formPath, \"..\", \"..\", \"..\", \"..\", \"..\", \"candy.farm\")),\n };\n }\n\n let farmDirectory: string | undefined;\n let formDirPath = \"\";\n\n const allPossibleFilePath = this.allFarmConfig.map(i => path.join(i, \"forms\", this.gfv));\n for (const pth of allPossibleFilePath) {\n if (await pathExists(pth)) {\n formDirPath = pth;\n farmDirectory = path.join(pth, \"..\", \"..\");\n break;\n }\n }\n\n if (formDirPath === \"\") {\n throw Error(\"formDirPath not found\");\n }\n if (farmDirectory == undefined || !(await pathExists(farmDirectory))) {\n throw Error(`FarmDirectory = ${this.farmDirectory} not exist`);\n }\n return {\n formPath: formDirPath,\n farmDirectory: farmDirectory,\n };\n }\n\n private async writeErrorInEntryAndShowInBrowser(e: unknown) {\n const formEntryPointPath = path.join(this.formPath, \"form\", \"web.js\");\n await this.webpackHybridFileSystem?.writeBatch({\n [formEntryPointPath]: getReportGeneratorErrorToPageBodyScript(this.formatError(e)),\n });\n }\n\n public start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.generateChain != undefined) {\n return;\n }\n\n const { formPath, farmDirectory } = await this.findFormPath(this.gfv);\n this.farmDirectory = farmDirectory;\n this.formPath = formPath;\n this.webpackHybridFileSystem = new WebpackHybridFileSystem(path.join(this.formPath, \"form\"));\n\n this.generateChain = Observe.file(path.join(this.formPath, WellKnownDirectories.FormJsonFileName))\n .transform(formJsonFile =>\n resolveFormInfo(\n formJsonFile,\n this.formPath,\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n this.nightly\n )\n )\n .transform(async x => {\n if (this.useGeneratorFromLocalSources) {\n return {\n ...x,\n generatorSource: resolveLocalGeneratorSource(this.engineDirectory),\n engineSource: resolveLocalEngineSource(this.engineDirectory),\n };\n } else {\n if (x.generatorVersion == undefined) {\n throw new Error(\"generatorVersion is no defined\");\n }\n if (x.engineVersion == undefined) {\n throw new Error(\"engineVersion is no defined\");\n }\n return {\n ...x,\n generatorSource: await resolveGeneratorVersion(x.generatorVersion),\n engineSource: await resolveEngineVersion(x.engineVersion),\n };\n }\n })\n .attach(\n async fi => generatorFactory(fi.generatorSource, this.candyModulesDirectory, false, undefined),\n async (fi, y) => ({ ...fi, generator: y }),\n async fi => getGeneratorSourceKey(fi.generatorSource)\n )\n .attach(async fi =>\n Observe.files(\n fi.formSourcesPath,\n \"../../controls/**/generator/*\",\n \"schemas/**/*\",\n \"sugar/**/*\",\n \"controls/**/*\",\n \"autocalc/**/*\",\n \"helpers/**/*\",\n \"validations/**/*\",\n \"localization/**/*\"\n )\n )\n .do(async fi => {\n try {\n const FormsDirWithHlPath = this.farmConfigArray.find(i => i.farmDirectory == farmDirectory);\n if (FormsDirWithHlPath == undefined) {\n throw Error(\"FormsDirWithHlPath === undefined\");\n }\n await generateForm(\n fi.formSourcesPath,\n this.farmDirectory,\n FormsDirWithHlPath.hlFarmDirectoryPath,\n fi.generator,\n undefined,\n {\n skipCodeReformatting: this.skipCodeReformatting,\n resourcesHash: \"local-hash\",\n },\n this.webpackHybridFileSystem\n );\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n });\n try {\n await this.generateChain.observe();\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n\n await runFormCompilationViaWebpackDevServer(\n this.gfv,\n this.farmDirectory,\n this.formPath,\n path.join(this.farmDirectory, \"res\"),\n \"local-hash\",\n this.buildDebugOnly,\n this.webpackHybridFileSystem,\n this.port\n );\n this.webpackDevServerStarted = true;\n });\n }\n\n public async getGeneratedFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n let resultFileName = \"\";\n const formPath = await this.findFormPath(this.gfv);\n const allPossibleFilePath = [\n path.join(formPath.formPath, WellKnownDirectories.GeneratedFormSubdirectory, filename),\n ];\n for (const pth of allPossibleFilePath) {\n try {\n if (this.webpackHybridFileSystem?.statSync(pth)) {\n resultFileName = pth;\n break;\n }\n } catch (e) {\n continue;\n }\n }\n if (resultFileName === \"\") {\n throw Error(`getGeneratedFileAsStream ${filename} not found`);\n }\n\n return new Promise((resolve, r) => {\n this.webpackHybridFileSystem?.readFile(resultFileName, \"utf-8\", (error, data) => {\n if (error) {\n r(error);\n } else {\n resolve(Readable.from([data]));\n }\n });\n });\n }\n\n public async getFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n const response = await fetch(`https://localhost:${this.port}/${filename}`, {\n method: \"GET\",\n agent: new Agent({ rejectUnauthorized: false }),\n compress: true,\n });\n if (response.status != 200) {\n const textResponse = await response.text();\n throw new Error(textResponse);\n }\n const buffer = await response.buffer();\n return Readable.from(buffer);\n }\n\n private formatError(e: ReasonOrError): string {\n if (e instanceof Error) {\n return `${e}\\n${e.stack}`;\n }\n return `${e}`;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BuildFormDevServer.js","names":["path","_interopRequireWildcard","require","_stream","_https","_nodeFetch","_interopRequireDefault","_pLimit","_fsExtra","_GenerateForm","_AcquireFormGenerator","_PublishedVersionUtils","_ResolveFormInfo","_AsyncUtils","_Observe","_FsUtils","_FormPathUtils","_TypingUtils","_WellKnownDirectories","_ReportGeneratorErrorToPageBody","_RunFormCompilationViaWebpackDevServer","_WebpackHybridFileSystem","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","buildGfvToPathMap","repositoryRoots","result","Map","repositoryRoot","formPaths","globAsync","WellKnownDirectories","CandySubdirectoryName","cwd","formPath","gfv","extractGfvFromFormPath","join","BuildFormDevServer","constructor","port","allFarmConfig","candyModulesDirectory","farmConfigArray","useGeneratorFromLocalSources","engineDirectory","buildDebugOnly","skipCodeReformatting","nightly","farmDirectory","startParallelLimit","generateChain","webpackDevServerStarted","webpackHybridFileSystem","gfvPaths","undefined","pLimit","findFormPath","_this$gfvPaths","map","x","_this$gfvPaths$get","reject","normalize","formDirPath","allPossibleFilePath","pth","pathExists","Error","writeErrorInEntryAndShowInBrowser","_this$webpackHybridFi","formEntryPointPath","writeBatch","getReportGeneratorErrorToPageBodyScript","formatError","start","WebpackHybridFileSystem","Observe","file","FormJsonFileName","transform","formJsonFile","resolveFormInfo","generatorSource","resolveLocalGeneratorSource","engineSource","resolveLocalEngineSource","generatorVersion","engineVersion","resolveGeneratorVersion","resolveEngineVersion","attach","fi","generatorFactory","y","generator","getGeneratorSourceKey","files","formSourcesPath","do","FormsDirWithHlPath","find","generateForm","hlFarmDirectoryPath","resourcesHash","observe","runFormCompilationViaWebpackDevServer","getGeneratedFileAsStream","filename","delay","resultFileName","GeneratedFormSubdirectory","_this$webpackHybridFi2","statSync","Promise","resolve","_this$webpackHybridFi3","readFile","error","data","Readable","from","getFileAsStream","response","fetch","method","agent","Agent","rejectUnauthorized","compress","status","textResponse","text","buffer","stack","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.ts"],"sourcesContent":["import * as path from \"path\";\nimport { Readable } from \"stream\";\nimport { Agent } from \"https\";\n\nimport fetch from \"node-fetch\";\nimport pLimit, { Limit } from \"p-limit\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\nimport { pathExists } from \"fs-extra\";\n\nimport { generateForm } from \"../../../../BuildTasks/Form/GenerateForm\";\nimport { generatorFactory, getGeneratorSourceKey } from \"../../../../BuildTasks/Generator/AcquireFormGenerator\";\nimport {\n resolveEngineVersion,\n resolveGeneratorVersion,\n resolveLocalEngineSource,\n resolveLocalGeneratorSource,\n} from \"../../../../BuildTasks/PublishedVersionUtils\";\nimport { resolveFormInfo } from \"../../../../BuildTasks/ResolveFormInfo\";\nimport { delay } from \"../../../../../../Common/AsyncUtils\";\nimport { ReasonOrError } from \"../../../../Commons/ErrorUntyped\";\nimport { ChainableValueProducer } from \"../../../../Commons/TasksCore/ChainableValueProducer\";\nimport { Observe } from \"../../../../Commons/TasksCore/Observe\";\nimport { globAsync } from \"../../../../Commons/FsUtils\";\nimport { extractGfvFromFormPath } from \"../../../../../../Common/FormPathUtils\";\nimport { reject } from \"../../../../../../Common/TypingUtils\";\nimport { WellKnownDirectories } from \"../../../../../../Common/WellKnownDirectories\";\n\nimport { getReportGeneratorErrorToPageBodyScript } from \"./ReportGeneratorErrorToPageBody\";\nimport { runFormCompilationViaWebpackDevServer } from \"./RunFormCompilationViaWebpackDevServer\";\nimport { WebpackHybridFileSystem } from \"./WebpackInMemoryUtils/WebpackHybridFileSystem\";\n\nasync function buildGfvToPathMap(repositoryRoots: string[]): Promise<Map<string, string>> {\n const result = new Map<string, string>();\n\n for (const repositoryRoot of repositoryRoots) {\n const formPaths = await globAsync(`forms/**/*/${WellKnownDirectories.CandySubdirectoryName}`, {\n cwd: repositoryRoot,\n });\n for (const formPath of formPaths) {\n const gfv = extractGfvFromFormPath(formPath);\n result.set(gfv, path.join(repositoryRoot, formPath));\n }\n }\n\n return result;\n}\n\nexport class BuildFormDevServer {\n private readonly port: number;\n private readonly allFarmConfig: string[];\n private readonly gfv: string;\n private readonly candyModulesDirectory: string;\n private farmDirectory: string;\n private formPath: string;\n private readonly farmConfigArray: FarmConfig[];\n private readonly startParallelLimit: Limit;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private generateChain?: ChainableValueProducer<any>;\n private webpackDevServerStarted = false;\n private readonly useGeneratorFromLocalSources: boolean;\n private readonly engineDirectory: string;\n private readonly nightly: boolean;\n private readonly buildDebugOnly: boolean;\n private readonly skipCodeReformatting: boolean;\n private webpackHybridFileSystem?: WebpackHybridFileSystem;\n private gfvPaths: undefined | Map<string, string> = undefined;\n\n public constructor(\n port: number,\n allFarmConfig: string[],\n gfv: string,\n candyModulesDirectory: string,\n farmConfigArray: FarmConfig[],\n useGeneratorFromLocalSources: boolean,\n engineDirectory: string,\n buildDebugOnly: boolean,\n skipCodeReformatting: boolean,\n nightly: boolean\n ) {\n this.port = port;\n this.allFarmConfig = allFarmConfig;\n this.gfv = gfv;\n this.candyModulesDirectory = candyModulesDirectory;\n this.farmConfigArray = farmConfigArray;\n this.startParallelLimit = pLimit(1);\n this.useGeneratorFromLocalSources = useGeneratorFromLocalSources;\n this.engineDirectory = engineDirectory;\n this.buildDebugOnly = buildDebugOnly;\n this.skipCodeReformatting = skipCodeReformatting;\n this.nightly = nightly;\n this.farmDirectory = \"\";\n this.formPath = \"\";\n }\n\n private async findFormPath(gfv: string): Promise<{ formPath: string; farmDirectory: string }> {\n this.gfvPaths = this.gfvPaths ?? (await buildGfvToPathMap(this.allFarmConfig.map(x => path.join(x, \"..\"))));\n\n if (this.gfvPaths.has(gfv)) {\n const formPath = this.gfvPaths.get(gfv) ?? reject();\n return {\n formPath: formPath ?? reject(),\n farmDirectory: path.normalize(path.join(formPath, \"..\", \"..\", \"..\", \"..\", \"..\", \"candy.farm\")),\n };\n }\n\n let farmDirectory: string | undefined;\n let formDirPath = \"\";\n\n const allPossibleFilePath = this.allFarmConfig.map(i => path.join(i, \"forms\", this.gfv));\n for (const pth of allPossibleFilePath) {\n if (await pathExists(pth)) {\n formDirPath = pth;\n farmDirectory = path.join(pth, \"..\", \"..\");\n break;\n }\n }\n\n if (formDirPath === \"\") {\n throw Error(\"formDirPath not found\");\n }\n if (farmDirectory == undefined || !(await pathExists(farmDirectory))) {\n throw Error(`FarmDirectory = ${this.farmDirectory} not exist`);\n }\n return {\n formPath: formDirPath,\n farmDirectory: farmDirectory,\n };\n }\n\n private async writeErrorInEntryAndShowInBrowser(e: unknown) {\n const formEntryPointPath = path.join(this.formPath, \"form\", \"web.js\");\n await this.webpackHybridFileSystem?.writeBatch({\n [formEntryPointPath]: getReportGeneratorErrorToPageBodyScript(this.formatError(e)),\n });\n }\n\n public start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.generateChain != undefined) {\n return;\n }\n\n const { formPath, farmDirectory } = await this.findFormPath(this.gfv);\n this.farmDirectory = farmDirectory;\n this.formPath = formPath;\n this.webpackHybridFileSystem = new WebpackHybridFileSystem(path.join(this.formPath, \"form\"));\n\n this.generateChain = Observe.file(path.join(this.formPath, WellKnownDirectories.FormJsonFileName))\n .transform(formJsonFile =>\n resolveFormInfo(\n formJsonFile,\n this.formPath,\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n this.nightly\n )\n )\n .transform(async x => {\n if (this.useGeneratorFromLocalSources) {\n return {\n ...x,\n generatorSource: resolveLocalGeneratorSource(this.engineDirectory),\n engineSource: resolveLocalEngineSource(this.engineDirectory),\n };\n } else {\n if (x.generatorVersion == undefined) {\n throw new Error(\"generatorVersion is no defined\");\n }\n if (x.engineVersion == undefined) {\n throw new Error(\"engineVersion is no defined\");\n }\n return {\n ...x,\n generatorSource: await resolveGeneratorVersion(x.generatorVersion),\n engineSource: await resolveEngineVersion(x.engineVersion),\n };\n }\n })\n .attach(\n async fi => generatorFactory(fi.generatorSource, this.candyModulesDirectory, false, undefined),\n async (fi, y) => ({ ...fi, generator: y }),\n async fi => getGeneratorSourceKey(fi.generatorSource)\n )\n .attach(async fi =>\n Observe.files(\n fi.formSourcesPath,\n \"../../controls/**/generator/*\",\n \"schemas/**/*\",\n \"sugar/**/*\",\n \"controls/**/*\",\n \"autocalc/**/*\",\n \"helpers/**/*\",\n \"normalizers/**/*\",\n \"validations/**/*\",\n \"localization/**/*\"\n )\n )\n .do(async fi => {\n try {\n const FormsDirWithHlPath = this.farmConfigArray.find(i => i.farmDirectory == farmDirectory);\n if (FormsDirWithHlPath == undefined) {\n throw Error(\"FormsDirWithHlPath === undefined\");\n }\n await generateForm(\n fi.formSourcesPath,\n this.farmDirectory,\n FormsDirWithHlPath.hlFarmDirectoryPath,\n fi.generator,\n undefined,\n {\n skipCodeReformatting: this.skipCodeReformatting,\n resourcesHash: \"local-hash\",\n },\n this.webpackHybridFileSystem\n );\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n });\n try {\n await this.generateChain.observe();\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n\n await runFormCompilationViaWebpackDevServer(\n this.gfv,\n this.farmDirectory,\n this.formPath,\n path.join(this.farmDirectory, \"res\"),\n \"local-hash\",\n this.buildDebugOnly,\n this.webpackHybridFileSystem,\n this.port\n );\n this.webpackDevServerStarted = true;\n });\n }\n\n public async getGeneratedFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n let resultFileName = \"\";\n const formPath = await this.findFormPath(this.gfv);\n const allPossibleFilePath = [\n path.join(formPath.formPath, WellKnownDirectories.GeneratedFormSubdirectory, filename),\n ];\n for (const pth of allPossibleFilePath) {\n try {\n if (this.webpackHybridFileSystem?.statSync(pth)) {\n resultFileName = pth;\n break;\n }\n } catch (e) {\n continue;\n }\n }\n if (resultFileName === \"\") {\n throw Error(`getGeneratedFileAsStream ${filename} not found`);\n }\n\n return new Promise((resolve, r) => {\n this.webpackHybridFileSystem?.readFile(resultFileName, \"utf-8\", (error, data) => {\n if (error) {\n r(error);\n } else {\n resolve(Readable.from([data]));\n }\n });\n });\n }\n\n public async getFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n const response = await fetch(`https://localhost:${this.port}/${filename}`, {\n method: \"GET\",\n agent: new Agent({ rejectUnauthorized: false }),\n compress: true,\n });\n if (response.status != 200) {\n const textResponse = await response.text();\n throw new Error(textResponse);\n }\n const buffer = await response.buffer();\n return Readable.from(buffer);\n }\n\n private formatError(e: ReasonOrError): string {\n if (e instanceof Error) {\n return `${e}\\n${e.stack}`;\n }\n return `${e}`;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -209,6 +209,10 @@ class FarmDirectory {
209
209
  }
210
210
  return undefined;
211
211
  }
212
+ resetAllGfvs() {
213
+ this.allGfvInfos = undefined;
214
+ this.gfvToPathMap = undefined;
215
+ }
212
216
  }
213
217
  exports.FarmDirectory = FarmDirectory;
214
218
  //# sourceMappingURL=FarmDirectory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FarmDirectory.js","names":["_path","_interopRequireDefault","require","_fs","_fsExtra","_pLimit","_FormGlobsUtils","_FsUtils","_TypingUtils","_ExtractGfvsFromFileName","_WellKnownDirectories","FarmDirectory","constructor","farmDirectory","gfvToPathMap","allGfvInfos","ensureGfvDirectoriesUpdated","updateGfvDirectoriesLimit","pLimit","undefined","updateGfvDirectories","setTimeout","FormGlobs","enumerateFormsInRepository","path","join","Map","map","x","gfv","formPath","getAllPicklists","globAsync","cwd","getFormDirectory","enumerateAllGfvs","_this$allGfvInfos","reject","getGfvToPathMap","_this$gfvToPathMap","getAllGfvs","formGfvPaths","getAllGfvWithLocations","getFormJsonPath","_this$gfvToPathMap2","formDirPath","get","existsSync","WellKnownDirectories","FormJsonFileName","getAllConverterFilePaths","result","gfvInfo","push","getConverterFilePathByFileNameOrUndefined","filename","extractGfvsFromFileName","filePath","pathExists","getAllSchemasFilePaths","getSchemaFilePathByFileNameOrUndefined","getAllNormalizeFilePaths","getNormalizeFilePathByFileNameOrUndefined","getAllUnmapFilePaths","getUnmapFilePathByFileNameOrUndefined","getAllMapFilePaths","getMapFilePathByFileNameOrUndefined","getAllPatchFilePaths","getPatchFilePathByFileNameOrUndefined","getAllMergersFilePaths","getMergersFilePathByFileNameOrUndefined","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.ts"],"sourcesContent":["import path from \"path\";\nimport { existsSync } from \"fs\";\n\nimport { pathExists } from \"fs-extra\";\nimport pLimit from \"p-limit\";\n\nimport { FormGlobs } from \"../../../../Commons/FormGlobsUtils\";\nimport { globAsync } from \"../../../../Commons/FsUtils\";\nimport { reject } from \"../../../../../../Common/TypingUtils\";\nimport { extractGfvsFromFileName } from \"../../../../Commons/ExtractGfvsFromFileName\";\nimport { WellKnownDirectories } from \"../../../../../../Common/WellKnownDirectories\";\nimport { FormLocationInfo } from \"../../../../Commons/FormLocationInfo\";\n\nexport class FarmDirectory {\n private readonly farmDirectory: string;\n private gfvToPathMap: undefined | Map<string, string>;\n private allGfvInfos?: Array<{ gfv: string; formPath: string; formRelativePath: string }>;\n private readonly ensureGfvDirectoriesUpdated: () => Promise<void>;\n\n public constructor(farmDirectory: string) {\n this.farmDirectory = farmDirectory;\n const updateGfvDirectoriesLimit = pLimit(1);\n this.ensureGfvDirectoriesUpdated = async () => {\n if (this.allGfvInfos == undefined || this.gfvToPathMap == undefined) {\n await updateGfvDirectoriesLimit(async () => {\n if (this.allGfvInfos == undefined || this.gfvToPathMap == undefined) {\n await this.updateGfvDirectories();\n }\n });\n }\n };\n setTimeout(() => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n updateGfvDirectoriesLimit(() => this.updateGfvDirectories());\n }, 60000);\n }\n\n private async updateGfvDirectories(): Promise<void> {\n this.allGfvInfos = await FormGlobs.enumerateFormsInRepository(path.join(this.farmDirectory, \"..\"));\n // @ts-ignore\n this.gfvToPathMap = new Map(this.allGfvInfos.map(x => [x.gfv, x.formPath]));\n }\n\n public async getAllPicklists(): Promise<string[]> {\n return await globAsync(\"*\", { cwd: path.join(this.farmDirectory, \"picklists\") });\n }\n\n public async getFormDirectory(): Promise<string[]> {\n return await globAsync(\"*\", { cwd: path.join(this.farmDirectory, \"picklists\") });\n }\n\n private async enumerateAllGfvs(): Promise<Array<{ gfv: string; formPath: string; formRelativePath: string }>> {\n await this.ensureGfvDirectoriesUpdated();\n return this.allGfvInfos ?? reject();\n }\n\n private async getGfvToPathMap(): Promise<Map<string, string>> {\n await this.ensureGfvDirectoriesUpdated();\n return this.gfvToPathMap ?? reject();\n }\n\n public async getAllGfvs(): Promise<string[]> {\n const formGfvPaths = await this.enumerateAllGfvs();\n return formGfvPaths.map(x => x.gfv);\n }\n\n public async getAllGfvWithLocations(): Promise<FormLocationInfo[]> {\n const formGfvPaths = await this.enumerateAllGfvs();\n return formGfvPaths;\n }\n\n public async getFormJsonPath(gfv: string): Promise<string | undefined> {\n await this.ensureGfvDirectoriesUpdated();\n const formDirPath = (this.gfvToPathMap ?? reject()).get(gfv);\n if (formDirPath != undefined && existsSync(path.join(formDirPath, WellKnownDirectories.FormJsonFileName))) {\n return path.join(formDirPath, WellKnownDirectories.FormJsonFileName);\n }\n return undefined;\n }\n\n public async getAllConverterFilePaths(): Promise<string[]> {\n const result = [];\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n result.push(...(await globAsync(\"converters/*\", { cwd: gfvInfo.formPath })));\n }\n return result;\n }\n\n public async getConverterFilePathByFileNameOrUndefined(filename: string): Promise<string | undefined> {\n const gfvToPathMap = await this.getGfvToPathMap();\n for (const gfv of extractGfvsFromFileName(filename)) {\n const formPath = gfvToPathMap.get(gfv);\n if (formPath == undefined) {\n continue;\n }\n const filePath = path.join(formPath, \"converters\", filename);\n if (await pathExists(filePath)) {\n return filePath;\n }\n }\n return undefined;\n }\n\n public async getAllSchemasFilePaths(): Promise<string[]> {\n const result = [];\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n result.push(...(await globAsync(\"schemas/*\", { cwd: gfvInfo.formPath })));\n }\n return result;\n }\n\n public async getSchemaFilePathByFileNameOrUndefined(filename: string): Promise<string | undefined> {\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n const filePath = path.join(gfvInfo.formPath, \"schemas\", filename);\n if (await pathExists(filePath)) {\n return filePath;\n }\n }\n return undefined;\n }\n\n public async getAllNormalizeFilePaths(): Promise<string[]> {\n const result = [];\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n result.push(...(await globAsync(\"normalize/*\", { cwd: gfvInfo.formPath })));\n }\n return result;\n }\n\n public async getNormalizeFilePathByFileNameOrUndefined(filename: string): Promise<string | undefined> {\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n const filePath = path.join(gfvInfo.formPath, \"normalize\", filename);\n if (await pathExists(filePath)) {\n return filePath;\n }\n }\n return undefined;\n }\n\n public async getAllUnmapFilePaths(): Promise<string[]> {\n const result = [];\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n result.push(...(await globAsync(\"unmap/*\", { cwd: gfvInfo.formPath })));\n }\n return result;\n }\n\n public async getUnmapFilePathByFileNameOrUndefined(filename: string): Promise<string | undefined> {\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n const filePath = path.join(gfvInfo.formPath, \"unmap\", filename);\n if (await pathExists(filePath)) {\n return filePath;\n }\n }\n return undefined;\n }\n\n public async getAllMapFilePaths(): Promise<string[]> {\n const result = [];\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n result.push(...(await globAsync(\"map/*\", { cwd: gfvInfo.formPath })));\n }\n return result;\n }\n\n public async getMapFilePathByFileNameOrUndefined(filename: string): Promise<string | undefined> {\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n const filePath = path.join(gfvInfo.formPath, \"map\", filename);\n if (await pathExists(filePath)) {\n return filePath;\n }\n }\n return undefined;\n }\n\n public async getAllPatchFilePaths(): Promise<string[]> {\n const result = [];\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n result.push(...(await globAsync(\"patch/*\", { cwd: gfvInfo.formPath })));\n }\n return result;\n }\n\n public async getPatchFilePathByFileNameOrUndefined(filename: string): Promise<string | undefined> {\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n const filePath = path.join(gfvInfo.formPath, \"patch\", filename);\n if (await pathExists(filePath)) {\n return filePath;\n }\n }\n return undefined;\n }\n\n public async getAllMergersFilePaths(): Promise<string[]> {\n const result = [];\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n result.push(...(await globAsync(\"mergers/*\", { cwd: gfvInfo.formPath })));\n }\n return result;\n }\n\n public async getMergersFilePathByFileNameOrUndefined(filename: string): Promise<string | undefined> {\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n const filePath = path.join(gfvInfo.formPath, \"mergers\", filename);\n if (await pathExists(filePath)) {\n return filePath;\n }\n }\n return undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FarmDirectory.js","names":["_path","_interopRequireDefault","require","_fs","_fsExtra","_pLimit","_FormGlobsUtils","_FsUtils","_TypingUtils","_ExtractGfvsFromFileName","_WellKnownDirectories","FarmDirectory","constructor","farmDirectory","gfvToPathMap","allGfvInfos","ensureGfvDirectoriesUpdated","updateGfvDirectoriesLimit","pLimit","undefined","updateGfvDirectories","setTimeout","FormGlobs","enumerateFormsInRepository","path","join","Map","map","x","gfv","formPath","getAllPicklists","globAsync","cwd","getFormDirectory","enumerateAllGfvs","_this$allGfvInfos","reject","getGfvToPathMap","_this$gfvToPathMap","getAllGfvs","formGfvPaths","getAllGfvWithLocations","getFormJsonPath","_this$gfvToPathMap2","formDirPath","get","existsSync","WellKnownDirectories","FormJsonFileName","getAllConverterFilePaths","result","gfvInfo","push","getConverterFilePathByFileNameOrUndefined","filename","extractGfvsFromFileName","filePath","pathExists","getAllSchemasFilePaths","getSchemaFilePathByFileNameOrUndefined","getAllNormalizeFilePaths","getNormalizeFilePathByFileNameOrUndefined","getAllUnmapFilePaths","getUnmapFilePathByFileNameOrUndefined","getAllMapFilePaths","getMapFilePathByFileNameOrUndefined","getAllPatchFilePaths","getPatchFilePathByFileNameOrUndefined","getAllMergersFilePaths","getMergersFilePathByFileNameOrUndefined","resetAllGfvs","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.ts"],"sourcesContent":["import path from \"path\";\nimport { existsSync } from \"fs\";\n\nimport { pathExists } from \"fs-extra\";\nimport pLimit from \"p-limit\";\n\nimport { FormGlobs } from \"../../../../Commons/FormGlobsUtils\";\nimport { globAsync } from \"../../../../Commons/FsUtils\";\nimport { reject } from \"../../../../../../Common/TypingUtils\";\nimport { extractGfvsFromFileName } from \"../../../../Commons/ExtractGfvsFromFileName\";\nimport { WellKnownDirectories } from \"../../../../../../Common/WellKnownDirectories\";\nimport { FormLocationInfo } from \"../../../../Commons/FormLocationInfo\";\n\nexport class FarmDirectory {\n private readonly farmDirectory: string;\n private gfvToPathMap: undefined | Map<string, string>;\n private allGfvInfos?: Array<{ gfv: string; formPath: string; formRelativePath: string }>;\n private readonly ensureGfvDirectoriesUpdated: () => Promise<void>;\n\n public constructor(farmDirectory: string) {\n this.farmDirectory = farmDirectory;\n const updateGfvDirectoriesLimit = pLimit(1);\n this.ensureGfvDirectoriesUpdated = async () => {\n if (this.allGfvInfos == undefined || this.gfvToPathMap == undefined) {\n await updateGfvDirectoriesLimit(async () => {\n if (this.allGfvInfos == undefined || this.gfvToPathMap == undefined) {\n await this.updateGfvDirectories();\n }\n });\n }\n };\n setTimeout(() => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n updateGfvDirectoriesLimit(() => this.updateGfvDirectories());\n }, 60000);\n }\n\n private async updateGfvDirectories(): Promise<void> {\n this.allGfvInfos = await FormGlobs.enumerateFormsInRepository(path.join(this.farmDirectory, \"..\"));\n // @ts-ignore\n this.gfvToPathMap = new Map(this.allGfvInfos.map(x => [x.gfv, x.formPath]));\n }\n\n public async getAllPicklists(): Promise<string[]> {\n return await globAsync(\"*\", { cwd: path.join(this.farmDirectory, \"picklists\") });\n }\n\n public async getFormDirectory(): Promise<string[]> {\n return await globAsync(\"*\", { cwd: path.join(this.farmDirectory, \"picklists\") });\n }\n\n private async enumerateAllGfvs(): Promise<Array<{ gfv: string; formPath: string; formRelativePath: string }>> {\n await this.ensureGfvDirectoriesUpdated();\n return this.allGfvInfos ?? reject();\n }\n\n private async getGfvToPathMap(): Promise<Map<string, string>> {\n await this.ensureGfvDirectoriesUpdated();\n return this.gfvToPathMap ?? reject();\n }\n\n public async getAllGfvs(): Promise<string[]> {\n const formGfvPaths = await this.enumerateAllGfvs();\n return formGfvPaths.map(x => x.gfv);\n }\n\n public async getAllGfvWithLocations(): Promise<FormLocationInfo[]> {\n const formGfvPaths = await this.enumerateAllGfvs();\n return formGfvPaths;\n }\n\n public async getFormJsonPath(gfv: string): Promise<string | undefined> {\n await this.ensureGfvDirectoriesUpdated();\n const formDirPath = (this.gfvToPathMap ?? reject()).get(gfv);\n if (formDirPath != undefined && existsSync(path.join(formDirPath, WellKnownDirectories.FormJsonFileName))) {\n return path.join(formDirPath, WellKnownDirectories.FormJsonFileName);\n }\n return undefined;\n }\n\n public async getAllConverterFilePaths(): Promise<string[]> {\n const result = [];\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n result.push(...(await globAsync(\"converters/*\", { cwd: gfvInfo.formPath })));\n }\n return result;\n }\n\n public async getConverterFilePathByFileNameOrUndefined(filename: string): Promise<string | undefined> {\n const gfvToPathMap = await this.getGfvToPathMap();\n for (const gfv of extractGfvsFromFileName(filename)) {\n const formPath = gfvToPathMap.get(gfv);\n if (formPath == undefined) {\n continue;\n }\n const filePath = path.join(formPath, \"converters\", filename);\n if (await pathExists(filePath)) {\n return filePath;\n }\n }\n return undefined;\n }\n\n public async getAllSchemasFilePaths(): Promise<string[]> {\n const result = [];\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n result.push(...(await globAsync(\"schemas/*\", { cwd: gfvInfo.formPath })));\n }\n return result;\n }\n\n public async getSchemaFilePathByFileNameOrUndefined(filename: string): Promise<string | undefined> {\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n const filePath = path.join(gfvInfo.formPath, \"schemas\", filename);\n if (await pathExists(filePath)) {\n return filePath;\n }\n }\n return undefined;\n }\n\n public async getAllNormalizeFilePaths(): Promise<string[]> {\n const result = [];\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n result.push(...(await globAsync(\"normalize/*\", { cwd: gfvInfo.formPath })));\n }\n return result;\n }\n\n public async getNormalizeFilePathByFileNameOrUndefined(filename: string): Promise<string | undefined> {\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n const filePath = path.join(gfvInfo.formPath, \"normalize\", filename);\n if (await pathExists(filePath)) {\n return filePath;\n }\n }\n return undefined;\n }\n\n public async getAllUnmapFilePaths(): Promise<string[]> {\n const result = [];\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n result.push(...(await globAsync(\"unmap/*\", { cwd: gfvInfo.formPath })));\n }\n return result;\n }\n\n public async getUnmapFilePathByFileNameOrUndefined(filename: string): Promise<string | undefined> {\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n const filePath = path.join(gfvInfo.formPath, \"unmap\", filename);\n if (await pathExists(filePath)) {\n return filePath;\n }\n }\n return undefined;\n }\n\n public async getAllMapFilePaths(): Promise<string[]> {\n const result = [];\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n result.push(...(await globAsync(\"map/*\", { cwd: gfvInfo.formPath })));\n }\n return result;\n }\n\n public async getMapFilePathByFileNameOrUndefined(filename: string): Promise<string | undefined> {\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n const filePath = path.join(gfvInfo.formPath, \"map\", filename);\n if (await pathExists(filePath)) {\n return filePath;\n }\n }\n return undefined;\n }\n\n public async getAllPatchFilePaths(): Promise<string[]> {\n const result = [];\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n result.push(...(await globAsync(\"patch/*\", { cwd: gfvInfo.formPath })));\n }\n return result;\n }\n\n public async getPatchFilePathByFileNameOrUndefined(filename: string): Promise<string | undefined> {\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n const filePath = path.join(gfvInfo.formPath, \"patch\", filename);\n if (await pathExists(filePath)) {\n return filePath;\n }\n }\n return undefined;\n }\n\n public async getAllMergersFilePaths(): Promise<string[]> {\n const result = [];\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n result.push(...(await globAsync(\"mergers/*\", { cwd: gfvInfo.formPath })));\n }\n return result;\n }\n\n public async getMergersFilePathByFileNameOrUndefined(filename: string): Promise<string | undefined> {\n for (const gfvInfo of await this.enumerateAllGfvs()) {\n const filePath = path.join(gfvInfo.formPath, \"mergers\", filename);\n if (await pathExists(filePath)) {\n return filePath;\n }\n }\n return undefined;\n }\n\n public resetAllGfvs() {\n this.allGfvInfos = undefined;\n this.gfvToPathMap = undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -317,7 +317,13 @@ class TransformValueProducer extends ChainableValueProducer {
317
317
  }
318
318
  onNext(listener) {
319
319
  return this.parent.onNext(async parentValue => {
320
- await listener(await this.transformFunction(parentValue));
320
+ try {
321
+ await listener(await this.transformFunction(parentValue));
322
+ } catch (e) {
323
+ // eslint-disable-next-line no-console
324
+ console.error(e);
325
+ await this.emitError(e);
326
+ }
321
327
  });
322
328
  }
323
329
  }