@kontur.candy/tools 2.221.0 → 2.223.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/distr/Common/CandyApiClient/CandyApiClient.js +25 -63
- package/distr/Common/CandyApiClient/CandyApiClient.js.map +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js.map +1 -1
- package/distr/Common/CandyApiClient/FakeCandyApiClient.js +6 -12
- package/distr/Common/CandyApiClient/FakeCandyApiClient.js.map +1 -1
- package/distr/Common/CandyApiClient/ICandyApiClient.js.map +1 -1
- package/distr/Common/CandyApiClient/Types/DraftActions/CombineFufResult.js +2 -1
- package/distr/Common/CandyApiClient/Types/DraftActions/CombineFufResult.js.map +1 -1
- package/distr/Common/CandyApiClient/Types/DraftActions/FileProperties.js.map +1 -1
- package/distr/Common/CandyApiClient/Types/DraftActions/NeedNormalizationError.js +9 -0
- package/distr/Common/CandyApiClient/Types/DraftActions/NeedNormalizationError.js.map +1 -0
- package/distr/Common/ModelPath/AbsoluteModelFieldPath.js +1 -1
- package/distr/Common/ModelPath/AbsoluteModelFieldPath.js.map +1 -1
- package/distr/Common/ModelPath/ModelPathHelper.js +11 -0
- package/distr/Common/ModelPath/ModelPathHelper.js.map +1 -1
- package/distr/Common/PathConstants.js +6 -1
- package/distr/Common/PathConstants.js.map +1 -1
- package/distr/Common/SerializationUtils.js +14 -0
- package/distr/Common/SerializationUtils.js.map +1 -0
- package/distr/Common/TypingUtils.js +2 -2
- package/distr/Common/TypingUtils.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +1 -1
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js +4 -6
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js +34 -29
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +9 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js +11 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js +2 -2
- package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js.map +1 -1
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js +1 -1
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js.map +1 -1
- package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js +10 -1
- package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js.map +1 -1
- package/distr/Tools/src/Commons/GitUtils.js +17 -0
- package/distr/Tools/src/Commons/GitUtils.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/FileSystemEntriesProducer.js +40 -8
- package/distr/Tools/src/Commons/TasksCore/FileSystemEntriesProducer.js.map +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js +41 -25
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js +40 -24
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.map +1 -1
- package/package.json +2 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunBuildForms.js","names":["_path","_interopRequireDefault","require","_chalk","_fsExtra","_nodeNotifier","_AcquireFormEngine","_EngineSource","_CompileForm","_GenerateForm","_NullFormGenerator","_WriteFLangNormalizationFiles","_FSTask","_AcquireFormGenerator","_PublishedVersionUtils","_ResolveFormInfo","_WriteFormMeta","_FormGlobsUtils","_StaticLogger","_Observe","_SingleValueProducer","_TimingUtils","_CacheAssetsPlugin","_TypingUtils","_WriteAttachmentPathFiles","_GetRngSchemaFileExtension","_FormPathUtils","_WellKnownDirectories","_WriteAttachmentPathByGfvFiles","getGeneratorVersion","generatorSource","type","version","Error","runBuildForms","context","options","farmDirectory","resourcesDirectory","engineDirectory","candyModulesDirectory","hlFarmDirectoryPath","buildOptions","pickListsChain","Observe","files","path","join","do","x","FSTask","copyRecursively","logger","withPrefix","FormGlobs","ensureEachGlobResolvesIntoExistingForm","formGlobs","formInfos","resolveGfvGlobs","staticResourcesForProductionChain","__dirname","getLogger","resourcesExternalConvertersChain","empty","copiedEngines","Set","repositoryRoot","buildCache","BuildCache","buildCacheMode","buildFormsChain","fixedFormDirectories","map","relative","formPath","splitToParallelChains","formRelativePath","gfv","extractGfvFromFormPath","formDirPath","pathExists","WellKnownDirectories","FormJsonFileName","warning","value","formSchemasDirPath","rngSchemaMask","getRngSchemaFileExtension","file","transform","formJsonFile","resolveFormInfo","upgradeFormJson","useLastStableVersion","usePrereleaseVersion","fi","mode","FormBuildMode","NormalBuild","generatorVersion","undefined","engineVersion","resolveGeneratorVersion","engineSource","resolveEngineVersion","attach","SingleValueProducer","NullFormGenerator","generatorFactory","useVersionFromCache","y","generator","getGeneratorSourceKey","engineFactory","has","getEngineSourceKey","add","formSourcesPath","dependenciesHash","supportsDependenciesExtraction","getAllDependenciesHash","buildCacheExist","exists","_fi$dependenciesHash","log","generateForm","skipCodeReformatting","skipGeneratedCodeReformatting","resourcesHash","_fi$dependenciesHash2","_fi$dependenciesHash3","extract","buildCacheOptions","depsHash","compileForm","formName","reject","writeFormMeta","themes","writeFLangNormalizationFiles","writeAttachmentPathFiles","writeAttachmentPathByGfvFiles","CopyLegacyPrebuiltResources","modifier","content","replace","modifyFilesContent","watch","notifier","notify","title","message","clean","cleanTargetDirectory","stopObserve1","observe","stopObserve2","stopObserve3","stopObserve5","waitForExit","startDate","Date","now","currentValue","console","chalk","greenBright","totalTime","printTime","emptyDir"],"sources":["../../../../../src/CLICommands/BuildForms/RunBuildForms.ts"],"sourcesContent":["import path from \"path\";\n\nimport chalk from \"chalk\";\nimport { emptyDir, pathExists } from \"fs-extra\";\nimport notifier from \"node-notifier\";\n\nimport { engineFactory } from \"../../BuildTasks/Engine/AcquireFormEngine\";\nimport { getEngineSourceKey } from \"../../BuildTasks/Engine/EngineSource\";\nimport { compileForm } from \"../../BuildTasks/Form/CompileForm\";\nimport { generateForm } from \"../../BuildTasks/Form/GenerateForm\";\nimport { NullFormGenerator } from \"../../BuildTasks/Form/NullFormGenerator\";\nimport { writeFLangNormalizationFiles } from \"../../BuildTasks/Form/WriteFLangNormalizationFiles\";\nimport { FSTask } from \"../../BuildTasks/FSTask\";\nimport {\n generatorFactory,\n GeneratorSource,\n getGeneratorSourceKey,\n} from \"../../BuildTasks/Generator/AcquireFormGenerator\";\nimport { resolveEngineVersion, resolveGeneratorVersion } from \"../../BuildTasks/PublishedVersionUtils\";\nimport { FormBuildMode, resolveFormInfo } from \"../../BuildTasks/ResolveFormInfo\";\nimport { writeFormMeta } from \"../../BuildTasks/WriteFormMeta\";\nimport { ConsoleApplicationContext } from \"../../Commons/ConsoleApplication/ConsoleApplicationContext\";\nimport { FormGlobs } from \"../../Commons/FormGlobsUtils\";\nimport { ILogger } from \"../../Commons/Logging/ILogger\";\nimport { getLogger } from \"../../Commons/Logging/StaticLogger\";\nimport { Observe } from \"../../Commons/TasksCore/Observe\";\nimport { SingleValueProducer } from \"../../Commons/TasksCore/SingleValueProducer\";\nimport { printTime } from \"../../Commons/TimingUtils\";\nimport { BuildCache } from \"../../FormWebpackConfiguration/CacheAssetsPlugin\";\nimport { reject } from \"../../../../Common/TypingUtils\";\nimport { writeAttachmentPathFiles } from \"../../BuildTasks/Form/WriteAttachmentPathFiles\";\nimport { ChainableValueProducer } from \"../../Commons/TasksCore/ChainableValueProducer\";\nimport { EmptyProducer } from \"../../Commons/TasksCore/EmptyProducer\";\nimport { getRngSchemaFileExtension } from \"../../../../Common/GetRngSchemaFileExtension\";\nimport { extractGfvFromFormPath } from \"../../../../Common/FormPathUtils\";\nimport { WellKnownDirectories } from \"../../../../Common/WellKnownDirectories\";\nimport { writeAttachmentPathByGfvFiles } from \"../../BuildTasks/Form/WriteAttachmentPathByGfvFiles\";\n\nimport { BuildFormsOptions } from \"./BuildFormsOptions\";\n\nfunction getGeneratorVersion(generatorSource: GeneratorSource): string {\n if (generatorSource.type === \"PublishedGenerator\") {\n return generatorSource.version;\n } else {\n throw new Error(\"InvalidProgramState\");\n }\n}\n\nexport async function runBuildForms(\n context: ConsoleApplicationContext,\n options: BuildFormsOptions,\n farmDirectory: string,\n resourcesDirectory: string,\n engineDirectory: string,\n candyModulesDirectory: string,\n hlFarmDirectoryPath: string\n): Promise<void> {\n const buildOptions = options;\n\n const pickListsChain = Observe.files(path.join(farmDirectory, \"picklists\"), \"*.json\").do(x =>\n FSTask.copyRecursively(context.logger.withPrefix(\"PICKLISTS\"), x, path.join(resourcesDirectory, \"picklists\"))\n );\n\n await FormGlobs.ensureEachGlobResolvesIntoExistingForm(options.formGlobs, farmDirectory);\n const formInfos = await FormGlobs.resolveGfvGlobs(options.formGlobs, farmDirectory);\n\n const staticResourcesForProductionChain = Observe.files(\n path.join(__dirname, \"..\", \"..\", \"StaticFilesForProductionResourcesDir\"),\n \"*.js\",\n \"*.js.map\"\n ).do(x =>\n FSTask.copyRecursively(getLogger().withPrefix(\"STATICS\"), x, path.join(resourcesDirectory, \"public\", \"scripts\"))\n );\n\n /** Конвертеры описи для форм, которые пока не реализованы на кенди, сама механика описи перенесена в формы в кенди апи, поэтому они должны быть в candy.resources\n * Реализуется только при общем билде форм: candy build *\n * */\n let resourcesExternalConvertersChain: ChainableValueProducer<string> | EmptyProducer = Observe.empty();\n if (options.formGlobs[0] === \"*\") {\n resourcesExternalConvertersChain = Observe.files(path.join(farmDirectory, \"externalConverters\"), \"*.xslt\").do(\n x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"EXTERNAL-CONVERTERS\"),\n x,\n path.join(resourcesDirectory, \"converters\")\n )\n );\n }\n\n const copiedEngines = new Set<string>();\n\n const repositoryRoot = path.join(farmDirectory, \"..\");\n const buildCache = new BuildCache(farmDirectory, options.buildCacheMode);\n const buildFormsChain = Observe.fixedFormDirectories(\n formInfos.map(x => path.relative(repositoryRoot, x.formPath))\n ).splitToParallelChains(\n x => x,\n x => x,\n async formRelativePath => {\n const gfv = extractGfvFromFormPath(formRelativePath);\n const formDirPath = path.join(repositoryRoot, formRelativePath);\n\n if (!(await pathExists(path.join(formDirPath, WellKnownDirectories.FormJsonFileName)))) {\n context.logger.warning(\n `Form ${gfv} does not have form.json file. To include this form to build process restart build`\n );\n return Observe.value({});\n }\n const formSchemasDirPath = path.join(formDirPath, \"schemas\");\n const rngSchemaMask = `*${getRngSchemaFileExtension(formSchemasDirPath, gfv)}`;\n\n return Observe.file(path.join(formDirPath, WellKnownDirectories.FormJsonFileName))\n .transform(formJsonFile =>\n resolveFormInfo(\n formJsonFile,\n formDirPath,\n engineDirectory,\n context.logger.withPrefix(`FORM:${gfv}`),\n options.upgradeFormJson,\n options.useLastStableVersion,\n options.usePrereleaseVersion\n )\n )\n .transform(async fi => {\n if (fi.mode === FormBuildMode.NormalBuild) {\n if (fi.generatorVersion == undefined) {\n throw new Error(\"generatorVersion is not defined\");\n }\n if (fi.engineVersion == undefined) {\n throw new Error(\"engineVersion is not defined\");\n }\n return {\n ...fi,\n generatorSource: await resolveGeneratorVersion(\n fi.generatorVersion,\n context.logger.withPrefix(gfv)\n ),\n engineSource: await resolveEngineVersion(fi.engineVersion, context.logger.withPrefix(gfv)),\n };\n } else {\n return {\n ...fi,\n generatorSource: undefined,\n engineSource: undefined,\n };\n }\n })\n .attach(\n async fi => {\n if (fi.generatorSource == undefined) {\n return new SingleValueProducer(new NullFormGenerator());\n } else {\n return generatorFactory(\n fi.generatorSource,\n candyModulesDirectory,\n options.useVersionFromCache\n );\n }\n },\n async (fi, y) => ({ ...fi, generator: y }),\n async fi =>\n fi.generatorSource != undefined\n ? getGeneratorSourceKey(fi.generatorSource)\n : \"NullFormGenerator\"\n )\n .attach(\n async fi => {\n if (fi.engineSource === undefined) {\n return new SingleValueProducer(\"NullEngine\");\n }\n return engineFactory(fi.engineSource, candyModulesDirectory, options.useVersionFromCache).do(\n async x => {\n if (!copiedEngines.has(getEngineSourceKey(fi.engineSource))) {\n await FSTask.copyRecursively(\n getLogger().withPrefix(\"ENGINE\"),\n x,\n path.join(resourcesDirectory, \"public\")\n );\n copiedEngines.add(getEngineSourceKey(fi.engineSource));\n }\n }\n );\n },\n async fi => fi,\n async fi => (fi.engineSource != undefined ? getEngineSourceKey(fi.engineSource) : \"NullEngine\")\n )\n .attach(async fi =>\n Observe.files(\n fi.formSourcesPath,\n \"../../controls/**/*\",\n \"../../xsltTemplates/**/*\",\n \"../../jsHelpers/**/*\",\n \"schemas/**/*\",\n \"sugar/**/*\",\n \"controls/**/*\",\n \"autocalc/**/*\",\n \"helpers/**/*\",\n \"validations/**/*\",\n \"localization/**/*\"\n )\n )\n .transform(async fi => {\n let dependenciesHash: undefined | string;\n if (fi.mode !== FormBuildMode.NormalBuild) {\n return {\n ...fi,\n dependenciesHash: undefined,\n };\n }\n if (await fi.generator.supportsDependenciesExtraction()) {\n dependenciesHash = await fi.generator.getAllDependenciesHash(\n formDirPath,\n farmDirectory,\n hlFarmDirectoryPath\n );\n }\n return {\n ...fi,\n dependenciesHash: dependenciesHash,\n };\n })\n .transform(async fi => {\n let buildCacheExist: boolean = false;\n if (fi.dependenciesHash != undefined && fi.generatorSource != undefined) {\n buildCacheExist = await buildCache.exists(fi.generatorSource, gfv, fi.dependenciesHash);\n }\n return {\n ...fi,\n buildCacheExist: buildCacheExist,\n };\n })\n .do(async fi => {\n if (fi.generatorSource == undefined) {\n return undefined;\n }\n if (fi.buildCacheExist) {\n context.logger.withPrefix(`GENERATE:${gfv}`).log(\"Skipped due build cache exits\");\n return undefined;\n }\n\n return generateForm(\n fi.formSourcesPath,\n farmDirectory,\n hlFarmDirectoryPath,\n fi.generator,\n undefined,\n {\n skipCodeReformatting: options.skipGeneratedCodeReformatting,\n resourcesHash: fi.dependenciesHash ?? \"UndefinedResourcesHash\",\n }\n );\n })\n .attach(async fi => Observe.files(path.join(formDirPath, \"form\"), \"**/*\"))\n .do(async fi => {\n if (fi.generatorSource == undefined) {\n return;\n }\n if (fi.dependenciesHash != undefined && fi.buildCacheExist) {\n context.logger.withPrefix(`COMPILE:${gfv}`).log(\"Skipped due build cache exists\");\n await buildCache.extract(fi.generatorSource, gfv, fi.dependenciesHash, resourcesDirectory);\n return;\n }\n const buildCacheOptions =\n fi.dependenciesHash != undefined\n ? {\n depsHash: fi.dependenciesHash,\n generatorVersion: getGeneratorVersion(fi.generatorSource),\n gfv: gfv,\n mode: options.buildCacheMode,\n farmDirectory: farmDirectory,\n }\n : undefined;\n\n await compileForm(\n fi.formName,\n formDirPath,\n resourcesDirectory,\n fi.dependenciesHash ??\n reject(\n \"This version of generator is not supported due to dependencies extraction is not supported\"\n ),\n false,\n undefined,\n options.mode === \"production\",\n buildCacheOptions\n );\n\n await writeFormMeta(\n resourcesDirectory,\n gfv,\n fi.engineSource,\n fi.dependenciesHash ??\n reject(\n \"This version of generator is not supported due to dependencies extraction is not supported\"\n ),\n fi.themes,\n buildCache,\n buildCacheOptions\n );\n })\n .do(async fi => {\n if (fi.generatorSource == undefined) {\n return;\n }\n const buildCacheOptions =\n fi.dependenciesHash != undefined\n ? {\n depsHash: fi.dependenciesHash,\n generatorVersion: getGeneratorVersion(fi.generatorSource),\n gfv: gfv,\n mode: options.buildCacheMode,\n farmDirectory: farmDirectory,\n }\n : undefined;\n await writeFLangNormalizationFiles(\n fi.formName,\n farmDirectory,\n formDirPath,\n resourcesDirectory,\n undefined,\n buildCache,\n buildCacheOptions,\n fi.buildCacheExist\n );\n await writeAttachmentPathFiles(\n fi.formName,\n farmDirectory,\n formDirPath,\n resourcesDirectory,\n undefined,\n buildCache,\n buildCacheOptions\n );\n await writeAttachmentPathByGfvFiles(\n fi.formName,\n farmDirectory,\n formDirPath,\n resourcesDirectory,\n undefined,\n buildCache,\n buildCacheOptions\n );\n })\n .attach(async fi => {\n if (fi.mode === FormBuildMode.CopyLegacyPrebuiltResources) {\n return Observe.files(path.join(fi.formSourcesPath, \"legacy-prebuilt\"), \"*\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"LEGACY-PREBUILT\"),\n x,\n path.join(resourcesDirectory)\n )\n );\n } else {\n return new SingleValueProducer(\"\");\n }\n })\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"schemas\"), rngSchemaMask).do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"SCHEMAS\"),\n x,\n path.join(resourcesDirectory, \"schemas\")\n )\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"converters\"), \"*\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"CONVERTERS\"),\n x,\n path.join(resourcesDirectory, \"converters\")\n )\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"mergers\"), \"*\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"MERGERS\"),\n x,\n path.join(resourcesDirectory, \"mergers\")\n )\n )\n )\n .attach(async fi => {\n const modifier = (content: string): string =>\n content.replace(/<x:include href=\"[./]+/g, '<x:include href=\"');\n return Observe.files(path.join(fi.formSourcesPath, \"converters\"), \"*\").do(x =>\n FSTask.modifyFilesContent(\n getLogger().withPrefix(\"FIX-XSLT-INCLUDE\"),\n x,\n path.join(resourcesDirectory, \"converters\"),\n \"**/*.xslt\",\n modifier\n )\n );\n })\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"..\", \"..\", \"xsltTemplates\"), \"*\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"XSLT-TEMPLATES\"),\n x,\n path.join(resourcesDirectory, \"converters\", \"xsltTemplates\")\n )\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"normalize\"), \"*.xml\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"NORMALIZE\"),\n x,\n path.join(resourcesDirectory, \"normalize\")\n )\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"patch\"), \"*.xslt\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"PATCH\"),\n x,\n path.join(resourcesDirectory, \"patch\")\n )\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"map\"), \"*.xml\").do(x =>\n FSTask.copyRecursively(getLogger().withPrefix(\"MAP\"), x, path.join(resourcesDirectory, \"map\"))\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"unmap\"), \"*.xml\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"UNMAP\"),\n x,\n path.join(resourcesDirectory, \"unmap\")\n )\n )\n )\n .do(async fi => {\n if (buildOptions.watch) {\n notifier.notify({\n title: `${fi.formName}: сборка завершена`,\n message: `Engine: ${\n fi.engineSource == undefined\n ? \"[NoEngine]\"\n : fi.engineSource.type === \"LocalEngineSources\"\n ? \"local\"\n : fi.engineSource.version\n }`,\n });\n }\n });\n }\n );\n\n if (buildOptions.watch) {\n if (options.clean) {\n await cleanTargetDirectory(resourcesDirectory, context.logger);\n }\n const stopObserve1 = await pickListsChain.observe();\n const stopObserve2 = await buildFormsChain.observe();\n const stopObserve3 = await staticResourcesForProductionChain.observe();\n const stopObserve5 = await resourcesExternalConvertersChain.observe();\n await context.waitForExit();\n if (stopObserve3 != undefined) {\n await stopObserve3();\n }\n if (stopObserve5 != undefined) {\n await stopObserve5();\n }\n await stopObserve2();\n await stopObserve1();\n } else {\n const startDate = Date.now();\n try {\n if (options.clean) {\n await cleanTargetDirectory(resourcesDirectory, context.logger);\n }\n await pickListsChain.currentValue;\n await resourcesExternalConvertersChain.currentValue;\n await buildFormsChain.currentValue;\n await staticResourcesForProductionChain.currentValue;\n // eslint-disable-next-line no-console\n console.log(chalk.greenBright(\"Build success\"));\n } finally {\n const totalTime = Date.now() - startDate;\n // eslint-disable-next-line no-console\n console.log(`Total time: ${printTime(totalTime)}`);\n }\n }\n}\n\nasync function cleanTargetDirectory(resourcesDirectory: string, logger: ILogger): Promise<void> {\n logger.log(\"Cleaning resource directory. \" + resourcesDirectory);\n await emptyDir(resourcesDirectory);\n logger.log(\"Resource directory clean\");\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"RunBuildForms.js","names":["_path","_interopRequireDefault","require","_chalk","_fsExtra","_nodeNotifier","_AcquireFormEngine","_EngineSource","_CompileForm","_GenerateForm","_NullFormGenerator","_WriteFLangNormalizationFiles","_FSTask","_AcquireFormGenerator","_PublishedVersionUtils","_ResolveFormInfo","_WriteFormMeta","_FormGlobsUtils","_StaticLogger","_Observe","_SingleValueProducer","_TimingUtils","_CacheAssetsPlugin","_TypingUtils","_WriteAttachmentPathFiles","_GetRngSchemaFileExtension","_FormPathUtils","_WellKnownDirectories","_WriteAttachmentPathByGfvFiles","getGeneratorVersion","generatorSource","type","version","Error","runBuildForms","context","options","farmDirectory","resourcesDirectory","engineDirectory","candyModulesDirectory","hlFarmDirectoryPath","buildOptions","pickListsChain","Observe","files","path","join","do","x","FSTask","copyRecursively","logger","withPrefix","FormGlobs","ensureEachGlobResolvesIntoExistingForm","formGlobs","formInfos","resolveGfvGlobs","staticResourcesForProductionChain","__dirname","getLogger","resourcesExternalConvertersChain","empty","copiedEngines","Set","repositoryRoot","buildCache","BuildCache","buildCacheMode","buildFormsChain","fixedFormDirectories","map","relative","formPath","splitToParallelChains","formRelativePath","gfv","extractGfvFromFormPath","formDirPath","pathExists","WellKnownDirectories","FormJsonFileName","warning","value","formSchemasDirPath","rngSchemaMask","getRngSchemaFileExtension","file","transform","formJsonFile","resolveFormInfo","upgradeFormJson","useLastStableVersion","usePrereleaseVersion","fi","mode","FormBuildMode","NormalBuild","generatorVersion","undefined","engineVersion","resolveGeneratorVersion","engineSource","resolveEngineVersion","attach","SingleValueProducer","NullFormGenerator","generatorFactory","useVersionFromCache","y","generator","getGeneratorSourceKey","engineFactory","has","getEngineSourceKey","add","formSourcesPath","dependenciesHash","supportsDependenciesExtraction","getAllDependenciesHash","buildCacheExist","exists","_fi$dependenciesHash","log","generateForm","skipCodeReformatting","skipGeneratedCodeReformatting","resourcesHash","_fi$dependenciesHash2","_fi$dependenciesHash3","extract","buildCacheOptions","depsHash","compileForm","formName","reject","writeFormMeta","themes","writeFLangNormalizationFiles","writeAttachmentPathFiles","writeAttachmentPathByGfvFiles","CopyLegacyPrebuiltResources","modifier","content","replace","modifyFilesContent","watch","notifier","notify","title","message","clean","cleanTargetDirectory","stopObserve1","observe","stopObserve2","stopObserve3","stopObserve5","waitForExit","startDate","Date","now","currentValue","console","chalk","greenBright","totalTime","printTime","emptyDir"],"sources":["../../../../../src/CLICommands/BuildForms/RunBuildForms.ts"],"sourcesContent":["import path from \"path\";\n\nimport chalk from \"chalk\";\nimport { emptyDir, pathExists } from \"fs-extra\";\nimport notifier from \"node-notifier\";\n\nimport { engineFactory } from \"../../BuildTasks/Engine/AcquireFormEngine\";\nimport { getEngineSourceKey } from \"../../BuildTasks/Engine/EngineSource\";\nimport { compileForm } from \"../../BuildTasks/Form/CompileForm\";\nimport { generateForm } from \"../../BuildTasks/Form/GenerateForm\";\nimport { NullFormGenerator } from \"../../BuildTasks/Form/NullFormGenerator\";\nimport { writeFLangNormalizationFiles } from \"../../BuildTasks/Form/WriteFLangNormalizationFiles\";\nimport { FSTask } from \"../../BuildTasks/FSTask\";\nimport {\n generatorFactory,\n GeneratorSource,\n getGeneratorSourceKey,\n} from \"../../BuildTasks/Generator/AcquireFormGenerator\";\nimport { resolveEngineVersion, resolveGeneratorVersion } from \"../../BuildTasks/PublishedVersionUtils\";\nimport { FormBuildMode, resolveFormInfo } from \"../../BuildTasks/ResolveFormInfo\";\nimport { writeFormMeta } from \"../../BuildTasks/WriteFormMeta\";\nimport { ConsoleApplicationContext } from \"../../Commons/ConsoleApplication/ConsoleApplicationContext\";\nimport { FormGlobs } from \"../../Commons/FormGlobsUtils\";\nimport { ILogger } from \"../../Commons/Logging/ILogger\";\nimport { getLogger } from \"../../Commons/Logging/StaticLogger\";\nimport { Observe } from \"../../Commons/TasksCore/Observe\";\nimport { SingleValueProducer } from \"../../Commons/TasksCore/SingleValueProducer\";\nimport { printTime } from \"../../Commons/TimingUtils\";\nimport { BuildCache } from \"../../FormWebpackConfiguration/CacheAssetsPlugin\";\nimport { reject } from \"../../../../Common/TypingUtils\";\nimport { writeAttachmentPathFiles } from \"../../BuildTasks/Form/WriteAttachmentPathFiles\";\nimport { ChainableValueProducer } from \"../../Commons/TasksCore/ChainableValueProducer\";\nimport { EmptyProducer } from \"../../Commons/TasksCore/EmptyProducer\";\nimport { getRngSchemaFileExtension } from \"../../../../Common/GetRngSchemaFileExtension\";\nimport { extractGfvFromFormPath } from \"../../../../Common/FormPathUtils\";\nimport { WellKnownDirectories } from \"../../../../Common/WellKnownDirectories\";\nimport { writeAttachmentPathByGfvFiles } from \"../../BuildTasks/Form/WriteAttachmentPathByGfvFiles\";\n\nimport { BuildFormsOptions } from \"./BuildFormsOptions\";\n\nfunction getGeneratorVersion(generatorSource: GeneratorSource): string {\n if (generatorSource.type === \"PublishedGenerator\") {\n return generatorSource.version;\n } else {\n throw new Error(\"InvalidProgramState\");\n }\n}\n\nexport async function runBuildForms(\n context: ConsoleApplicationContext,\n options: BuildFormsOptions,\n farmDirectory: string,\n resourcesDirectory: string,\n engineDirectory: string,\n candyModulesDirectory: string,\n hlFarmDirectoryPath: string\n): Promise<void> {\n const buildOptions = options;\n\n const pickListsChain = Observe.files(path.join(farmDirectory, \"picklists\"), \"*.json\").do(x =>\n FSTask.copyRecursively(context.logger.withPrefix(\"PICKLISTS\"), x, path.join(resourcesDirectory, \"picklists\"))\n );\n\n await FormGlobs.ensureEachGlobResolvesIntoExistingForm(options.formGlobs, farmDirectory);\n const formInfos = await FormGlobs.resolveGfvGlobs(options.formGlobs, farmDirectory);\n\n const staticResourcesForProductionChain = Observe.files(\n path.join(__dirname, \"..\", \"..\", \"StaticFilesForProductionResourcesDir\"),\n \"*.js\",\n \"*.js.map\"\n ).do(x =>\n FSTask.copyRecursively(getLogger().withPrefix(\"STATICS\"), x, path.join(resourcesDirectory, \"public\", \"scripts\"))\n );\n\n /** Конвертеры описи для форм, которые пока не реализованы на кенди, сама механика описи перенесена в формы в кенди апи, поэтому они должны быть в candy.resources\n * Реализуется только при общем билде форм: candy build *\n * */\n let resourcesExternalConvertersChain: ChainableValueProducer<string> | EmptyProducer = Observe.empty();\n if (options.formGlobs[0] === \"*\") {\n resourcesExternalConvertersChain = Observe.files(path.join(farmDirectory, \"externalConverters\"), \"*.xslt\").do(\n x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"EXTERNAL-CONVERTERS\"),\n x,\n path.join(resourcesDirectory, \"converters\")\n )\n );\n }\n\n const copiedEngines = new Set<string>();\n\n const repositoryRoot = path.join(farmDirectory, \"..\");\n const buildCache = new BuildCache(farmDirectory, options.buildCacheMode);\n const buildFormsChain = Observe.fixedFormDirectories(\n formInfos.map(x => path.relative(repositoryRoot, x.formPath))\n ).splitToParallelChains(\n x => x,\n x => x,\n async formRelativePath => {\n const gfv = extractGfvFromFormPath(formRelativePath);\n const formDirPath = path.join(repositoryRoot, formRelativePath);\n\n if (!(await pathExists(path.join(formDirPath, WellKnownDirectories.FormJsonFileName)))) {\n context.logger.warning(\n `Form ${gfv} does not have form.json file. To include this form to build process restart build`\n );\n return Observe.value({});\n }\n const formSchemasDirPath = path.join(formDirPath, \"schemas\");\n const rngSchemaMask = `*${getRngSchemaFileExtension(formSchemasDirPath, gfv)}`;\n\n return Observe.file(path.join(formDirPath, WellKnownDirectories.FormJsonFileName))\n .transform(formJsonFile =>\n resolveFormInfo(\n formJsonFile,\n formDirPath,\n engineDirectory,\n context.logger.withPrefix(`FORM:${gfv}`),\n options.upgradeFormJson,\n options.useLastStableVersion,\n options.usePrereleaseVersion\n )\n )\n .transform(async fi => {\n if (fi.mode === FormBuildMode.NormalBuild) {\n if (fi.generatorVersion == undefined) {\n throw new Error(\"generatorVersion is not defined\");\n }\n if (fi.engineVersion == undefined) {\n throw new Error(\"engineVersion is not defined\");\n }\n return {\n ...fi,\n generatorSource: await resolveGeneratorVersion(\n fi.generatorVersion,\n context.logger.withPrefix(gfv)\n ),\n engineSource: await resolveEngineVersion(fi.engineVersion, context.logger.withPrefix(gfv)),\n };\n } else {\n return {\n ...fi,\n generatorSource: undefined,\n engineSource: undefined,\n };\n }\n })\n .attach(\n async fi => {\n if (fi.generatorSource == undefined) {\n return new SingleValueProducer(new NullFormGenerator());\n } else {\n return generatorFactory(\n fi.generatorSource,\n candyModulesDirectory,\n options.useVersionFromCache\n );\n }\n },\n async (fi, y) => ({ ...fi, generator: y }),\n async fi =>\n fi.generatorSource != undefined\n ? getGeneratorSourceKey(fi.generatorSource)\n : \"NullFormGenerator\"\n )\n .attach(\n async fi => {\n if (fi.engineSource === undefined) {\n return new SingleValueProducer(\"NullEngine\");\n }\n return engineFactory(fi.engineSource, candyModulesDirectory, options.useVersionFromCache).do(\n async x => {\n if (!copiedEngines.has(getEngineSourceKey(fi.engineSource))) {\n await FSTask.copyRecursively(\n getLogger().withPrefix(\"ENGINE\"),\n x,\n path.join(resourcesDirectory, \"public\")\n );\n copiedEngines.add(getEngineSourceKey(fi.engineSource));\n }\n }\n );\n },\n async fi => fi,\n async fi => (fi.engineSource != undefined ? getEngineSourceKey(fi.engineSource) : \"NullEngine\")\n )\n .attach(async fi =>\n Observe.files(\n fi.formSourcesPath,\n \"../../controls/**/*\",\n \"../../xsltTemplates/**/*\",\n \"../../jsHelpers/**/*\",\n `./${WellKnownDirectories.FormJsonFileName}`,\n \"schemas/**/*\",\n \"sugar/**/*\",\n \"controls/**/*\",\n \"autocalc/**/*\",\n \"helpers/**/*\",\n \"normalizers/**/*\",\n \"validations/**/*\",\n \"localization/**/*\"\n )\n )\n .transform(async fi => {\n let dependenciesHash: undefined | string;\n if (fi.mode !== FormBuildMode.NormalBuild) {\n return {\n ...fi,\n dependenciesHash: undefined,\n };\n }\n if (await fi.generator.supportsDependenciesExtraction()) {\n dependenciesHash = await fi.generator.getAllDependenciesHash(\n formDirPath,\n farmDirectory,\n hlFarmDirectoryPath\n );\n }\n return {\n ...fi,\n dependenciesHash: dependenciesHash,\n };\n })\n .transform(async fi => {\n let buildCacheExist: boolean = false;\n if (fi.dependenciesHash != undefined && fi.generatorSource != undefined) {\n buildCacheExist = await buildCache.exists(fi.generatorSource, gfv, fi.dependenciesHash);\n }\n return {\n ...fi,\n buildCacheExist: buildCacheExist,\n };\n })\n .do(async fi => {\n if (fi.generatorSource == undefined) {\n return undefined;\n }\n if (fi.buildCacheExist) {\n context.logger.withPrefix(`GENERATE:${gfv}`).log(\"Skipped due build cache exits\");\n return undefined;\n }\n\n return generateForm(\n fi.formSourcesPath,\n farmDirectory,\n hlFarmDirectoryPath,\n fi.generator,\n undefined,\n {\n skipCodeReformatting: options.skipGeneratedCodeReformatting,\n resourcesHash: fi.dependenciesHash ?? \"UndefinedResourcesHash\",\n }\n );\n })\n .attach(async fi => Observe.files(path.join(formDirPath, \"form\"), \"**/*\"))\n .do(async fi => {\n if (fi.generatorSource == undefined) {\n return;\n }\n if (fi.dependenciesHash != undefined && fi.buildCacheExist) {\n context.logger.withPrefix(`COMPILE:${gfv}`).log(\"Skipped due build cache exists\");\n await buildCache.extract(fi.generatorSource, gfv, fi.dependenciesHash, resourcesDirectory);\n return;\n }\n const buildCacheOptions =\n fi.dependenciesHash != undefined\n ? {\n depsHash: fi.dependenciesHash,\n generatorVersion: getGeneratorVersion(fi.generatorSource),\n gfv: gfv,\n mode: options.buildCacheMode,\n farmDirectory: farmDirectory,\n }\n : undefined;\n\n await compileForm(\n fi.formName,\n formDirPath,\n resourcesDirectory,\n fi.dependenciesHash ??\n reject(\n \"This version of generator is not supported due to dependencies extraction is not supported\"\n ),\n false,\n undefined,\n options.mode === \"production\",\n buildCacheOptions\n );\n\n await writeFormMeta(\n resourcesDirectory,\n gfv,\n fi.engineSource,\n fi.dependenciesHash ??\n reject(\n \"This version of generator is not supported due to dependencies extraction is not supported\"\n ),\n fi.themes,\n buildCache,\n buildCacheOptions\n );\n })\n .do(async fi => {\n if (fi.generatorSource == undefined) {\n return;\n }\n const buildCacheOptions =\n fi.dependenciesHash != undefined\n ? {\n depsHash: fi.dependenciesHash,\n generatorVersion: getGeneratorVersion(fi.generatorSource),\n gfv: gfv,\n mode: options.buildCacheMode,\n farmDirectory: farmDirectory,\n }\n : undefined;\n await writeFLangNormalizationFiles(\n fi.formName,\n farmDirectory,\n formDirPath,\n resourcesDirectory,\n undefined,\n buildCache,\n buildCacheOptions,\n fi.buildCacheExist\n );\n await writeAttachmentPathFiles(\n fi.formName,\n farmDirectory,\n formDirPath,\n resourcesDirectory,\n undefined,\n buildCache,\n buildCacheOptions\n );\n await writeAttachmentPathByGfvFiles(\n fi.formName,\n farmDirectory,\n formDirPath,\n resourcesDirectory,\n undefined,\n buildCache,\n buildCacheOptions\n );\n })\n .attach(async fi => {\n if (fi.mode === FormBuildMode.CopyLegacyPrebuiltResources) {\n return Observe.files(path.join(fi.formSourcesPath, \"legacy-prebuilt\"), \"*\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"LEGACY-PREBUILT\"),\n x,\n path.join(resourcesDirectory)\n )\n );\n } else {\n return new SingleValueProducer(\"\");\n }\n })\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"schemas\"), rngSchemaMask).do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"SCHEMAS\"),\n x,\n path.join(resourcesDirectory, \"schemas\")\n )\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"converters\"), \"*\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"CONVERTERS\"),\n x,\n path.join(resourcesDirectory, \"converters\")\n )\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"mergers\"), \"*\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"MERGERS\"),\n x,\n path.join(resourcesDirectory, \"mergers\")\n )\n )\n )\n .attach(async fi => {\n const modifier = (content: string): string =>\n content.replace(/<x:include href=\"[./]+/g, '<x:include href=\"');\n return Observe.files(path.join(fi.formSourcesPath, \"converters\"), \"*\").do(x =>\n FSTask.modifyFilesContent(\n getLogger().withPrefix(\"FIX-XSLT-INCLUDE\"),\n x,\n path.join(resourcesDirectory, \"converters\"),\n \"**/*.xslt\",\n modifier\n )\n );\n })\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"..\", \"..\", \"xsltTemplates\"), \"*\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"XSLT-TEMPLATES\"),\n x,\n path.join(resourcesDirectory, \"converters\", \"xsltTemplates\")\n )\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"normalize\"), \"*.xml\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"NORMALIZE\"),\n x,\n path.join(resourcesDirectory, \"normalize\")\n )\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"patch\"), \"*.xslt\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"PATCH\"),\n x,\n path.join(resourcesDirectory, \"patch\")\n )\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"map\"), \"*.xml\").do(x =>\n FSTask.copyRecursively(getLogger().withPrefix(\"MAP\"), x, path.join(resourcesDirectory, \"map\"))\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"unmap\"), \"*.xml\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"UNMAP\"),\n x,\n path.join(resourcesDirectory, \"unmap\")\n )\n )\n )\n .do(async fi => {\n if (buildOptions.watch) {\n notifier.notify({\n title: `${fi.formName}: сборка завершена`,\n message: `Engine: ${\n fi.engineSource == undefined\n ? \"[NoEngine]\"\n : fi.engineSource.type === \"LocalEngineSources\"\n ? \"local\"\n : fi.engineSource.version\n }`,\n });\n }\n });\n }\n );\n\n if (buildOptions.watch) {\n if (options.clean) {\n await cleanTargetDirectory(resourcesDirectory, context.logger);\n }\n const stopObserve1 = await pickListsChain.observe();\n const stopObserve2 = await buildFormsChain.observe();\n const stopObserve3 = await staticResourcesForProductionChain.observe();\n const stopObserve5 = await resourcesExternalConvertersChain.observe();\n await context.waitForExit();\n if (stopObserve3 != undefined) {\n await stopObserve3();\n }\n if (stopObserve5 != undefined) {\n await stopObserve5();\n }\n await stopObserve2();\n await stopObserve1();\n } else {\n const startDate = Date.now();\n try {\n if (options.clean) {\n await cleanTargetDirectory(resourcesDirectory, context.logger);\n }\n await pickListsChain.currentValue;\n await resourcesExternalConvertersChain.currentValue;\n await buildFormsChain.currentValue;\n await staticResourcesForProductionChain.currentValue;\n // eslint-disable-next-line no-console\n console.log(chalk.greenBright(\"Build success\"));\n } finally {\n const totalTime = Date.now() - startDate;\n // eslint-disable-next-line no-console\n console.log(`Total time: ${printTime(totalTime)}`);\n }\n }\n}\n\nasync function cleanTargetDirectory(resourcesDirectory: string, logger: ILogger): Promise<void> {\n logger.log(\"Cleaning resource directory. \" + resourcesDirectory);\n await emptyDir(resourcesDirectory);\n logger.log(\"Resource directory clean\");\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -38,22 +38,20 @@ let BuildServerBackendResourcesController = exports.BuildServerBackendResourcesC
|
|
|
38
38
|
}
|
|
39
39
|
async afterStart() {
|
|
40
40
|
_EventBus.eventBus.on(_EventBus.FORM_REMOVE_EVENT, () => {
|
|
41
|
-
this.
|
|
41
|
+
this.resetAllFarmDirectories();
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
44
|
async afterStop() {
|
|
45
45
|
_EventBus.eventBus.off(_EventBus.FORM_REMOVE_EVENT);
|
|
46
46
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
farmDirectory.resetAllGfvs();
|
|
50
|
-
}
|
|
47
|
+
resetAllFarmDirectories() {
|
|
48
|
+
this.allFarmDirectories = this.allFarmConfig.map(i => new _FarmDirectory.FarmDirectory(i.farmDirectory));
|
|
51
49
|
}
|
|
52
50
|
async getAllGfvs() {
|
|
53
51
|
return (await Promise.all(this.allFarmDirectories.map(x => x.getAllGfvs()))).flat();
|
|
54
52
|
}
|
|
55
53
|
async forceGetAllGfvs() {
|
|
56
|
-
this.
|
|
54
|
+
this.resetAllFarmDirectories();
|
|
57
55
|
return this.getAllGfvs();
|
|
58
56
|
}
|
|
59
57
|
async getAllPicklists() {
|
|
@@ -1 +1 @@
|
|
|
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":[]}
|
|
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","resetAllFarmDirectories","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 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.resetAllFarmDirectories();\n });\n }\n\n public async afterStop(): Promise<void> {\n eventBus.off(FORM_REMOVE_EVENT);\n }\n\n private resetAllFarmDirectories() {\n this.allFarmDirectories = this.allFarmConfig.map(i => new FarmDirectory(i.farmDirectory));\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.resetAllFarmDirectories();\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":[]}
|
|
@@ -14,8 +14,10 @@ var _Params = require("../../../Commons/HttpServer/AttributeRouting/Params");
|
|
|
14
14
|
var _Results = require("../../../Commons/HttpServer/AttributeRouting/Results");
|
|
15
15
|
var _SingletonController = require("../../../Commons/HttpServer/ExpressWrapper/SingletonController");
|
|
16
16
|
var _WellKnownDirectories = require("../../../../../Common/WellKnownDirectories");
|
|
17
|
+
var _GitUtils = require("../../../Commons/GitUtils");
|
|
17
18
|
var _GlobToRegexp = require("./GlobToRegexp");
|
|
18
19
|
var _dec, _class;
|
|
20
|
+
const GIT_BRANCH_POLL_DELAY = 3000;
|
|
19
21
|
let BuildServerBackendResourcesUpdatesController = exports.BuildServerBackendResourcesUpdatesController = (_dec = (0, _Methods.httpGet)("/updates-observer/check-last-update-long-poll", _Results.httpReturn.PlainText, (0, _Params.httpQueryParam)("prevLastUpdate", _Params.httpType.Number)), (_class = class BuildServerBackendResourcesUpdatesController extends _SingletonController.SingletonController {
|
|
20
22
|
constructor(allFarmConfig) {
|
|
21
23
|
super();
|
|
@@ -23,26 +25,14 @@ let BuildServerBackendResourcesUpdatesController = exports.BuildServerBackendRes
|
|
|
23
25
|
this.updateMonitor = new Monitor();
|
|
24
26
|
this.farmWatchers = void 0;
|
|
25
27
|
this.formWatchers = void 0;
|
|
26
|
-
this.resourcesWatcher = void 0;
|
|
27
28
|
this.allFarmConfig = void 0;
|
|
28
29
|
this.farmWatchingRegexps = ["sugarTemplates", "legacyfetchfunctions", "jsHelpers", `images`, "tour", "controls", "commonResources", "externalConverters"].map(_GlobToRegexp.globToRegexp);
|
|
29
30
|
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
|
-
this.
|
|
31
|
-
if (
|
|
31
|
+
this.getHandleFSUpdate = directoriesRegExps => (eventType, filePath, rootDir, force = false) => {
|
|
32
|
+
if (force || directoriesRegExps.some(x => x.test(filePath))) {
|
|
32
33
|
(0, _fs.stat)(_path.default.join(rootDir, filePath), (err, fileStat) => {
|
|
33
34
|
const fileTicks = Math.max(fileStat.mtimeMs, fileStat.ctimeMs);
|
|
34
|
-
if (fileTicks > this.lastUpdateTime) {
|
|
35
|
-
this.lastUpdateTime = Date.now();
|
|
36
|
-
this.updateMonitor.pulseAll();
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
this.handleFormFSUpdate = (eventType, filePath, rootDir) => {
|
|
42
|
-
if (this.formsWatchingRegexps.some(x => x.test(filePath))) {
|
|
43
|
-
(0, _fs.stat)(_path.default.join(rootDir, filePath), (err, fileStat) => {
|
|
44
|
-
const fileTicks = Math.max(fileStat.mtimeMs, fileStat.ctimeMs);
|
|
45
|
-
if (fileTicks > this.lastUpdateTime) {
|
|
35
|
+
if (force || fileTicks > this.lastUpdateTime) {
|
|
46
36
|
this.lastUpdateTime = Date.now();
|
|
47
37
|
this.updateMonitor.pulseAll();
|
|
48
38
|
}
|
|
@@ -53,28 +43,43 @@ let BuildServerBackendResourcesUpdatesController = exports.BuildServerBackendRes
|
|
|
53
43
|
this.lastUpdateTime = Date.now();
|
|
54
44
|
}
|
|
55
45
|
async beforeStart() {
|
|
56
|
-
this.farmWatchers = this.allFarmConfig.map(config =>
|
|
57
|
-
// @ts-ignore
|
|
58
|
-
(0, _fs.watch)(config.farmDirectory, {
|
|
59
|
-
recursive: true
|
|
60
|
-
}, _lodash.default.debounce((x, y) => this.handleFarmFSUpdate(x, y, config.farmDirectory), 200)));
|
|
46
|
+
this.farmWatchers = this.allFarmConfig.map(config => this.getDirectoryWatcher(config.farmDirectory, this.getHandleFSUpdate(this.farmWatchingRegexps)));
|
|
61
47
|
this.formWatchers = this.allFarmConfig.map(config => {
|
|
62
48
|
const formRootDirectory = _path.default.normalize(_path.default.join(config.farmDirectory, "..", _WellKnownDirectories.WellKnownDirectories.FormsDirectory));
|
|
63
|
-
|
|
64
|
-
// @ts-ignore
|
|
65
|
-
return (0, _fs.watch)(formRootDirectory, {
|
|
66
|
-
recursive: true
|
|
67
|
-
}, _lodash.default.debounce((x, y) => this.handleFormFSUpdate(x, y, formRootDirectory), 200));
|
|
49
|
+
return this.getDirectoryWatcher(formRootDirectory, this.getHandleFSUpdate(this.formsWatchingRegexps));
|
|
68
50
|
});
|
|
69
51
|
}
|
|
52
|
+
getDirectoryWatcher(directoryPath, fsUpdateHandler) {
|
|
53
|
+
// @ts-ignore
|
|
54
|
+
const fsWatcher = (0, _fs.watch)(directoryPath, {
|
|
55
|
+
recursive: true
|
|
56
|
+
}, _lodash.default.debounce((x, y) => fsUpdateHandler(x, y, directoryPath), 200));
|
|
57
|
+
let savedBranch = null;
|
|
58
|
+
const checkGitBranch = () => {
|
|
59
|
+
const currentBranch = (0, _GitUtils.getGitBranch)(directoryPath);
|
|
60
|
+
if (!savedBranch) {
|
|
61
|
+
savedBranch = currentBranch;
|
|
62
|
+
} else if (currentBranch !== savedBranch) {
|
|
63
|
+
savedBranch = currentBranch;
|
|
64
|
+
fsUpdateHandler("git", "", directoryPath, true);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
return {
|
|
68
|
+
fsWatcher: fsWatcher,
|
|
69
|
+
gitPollIntervalId: setInterval(checkGitBranch, GIT_BRANCH_POLL_DELAY)
|
|
70
|
+
};
|
|
71
|
+
}
|
|
70
72
|
async getLastUpdateTime(prevLastUpdateTime) {
|
|
71
73
|
return this.lastUpdateTime.toString();
|
|
72
74
|
}
|
|
73
75
|
async afterStop() {
|
|
74
|
-
var _this$farmWatchers, _this$formWatchers
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
var _this$farmWatchers, _this$formWatchers;
|
|
77
|
+
const clearWatcher = watcher => {
|
|
78
|
+
watcher.fsWatcher.close();
|
|
79
|
+
clearInterval(watcher.gitPollIntervalId);
|
|
80
|
+
};
|
|
81
|
+
(_this$farmWatchers = this.farmWatchers) === null || _this$farmWatchers === void 0 || _this$farmWatchers.forEach(clearWatcher);
|
|
82
|
+
(_this$formWatchers = this.formWatchers) === null || _this$formWatchers === void 0 || _this$formWatchers.forEach(clearWatcher);
|
|
78
83
|
}
|
|
79
84
|
}, ((0, _applyDecoratedDescriptor2.default)(_class.prototype, "getLastUpdateTime", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "getLastUpdateTime"), _class.prototype)), _class));
|
|
80
85
|
class Monitor {
|
|
@@ -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}/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":[]}
|
|
1
|
+
{"version":3,"file":"BuildServerBackendResourcesUpdatesController.js","names":["_fs","require","_path","_interopRequireDefault","_lodash","_Methods","_Params","_Results","_SingletonController","_WellKnownDirectories","_GitUtils","_GlobToRegexp","_dec","_class","GIT_BRANCH_POLL_DELAY","BuildServerBackendResourcesUpdatesController","exports","httpGet","httpReturn","PlainText","httpQueryParam","httpType","Number","SingletonController","constructor","allFarmConfig","lastUpdateTime","updateMonitor","Monitor","farmWatchers","formWatchers","farmWatchingRegexps","map","globToRegexp","formsWatchingRegexps","WellKnownDirectories","CandySubdirectoryName","FormJsonFileName","getHandleFSUpdate","directoriesRegExps","eventType","filePath","rootDir","force","some","x","test","stat","path","join","err","fileStat","fileTicks","Math","max","mtimeMs","ctimeMs","Date","now","pulseAll","beforeStart","config","getDirectoryWatcher","farmDirectory","formRootDirectory","normalize","FormsDirectory","directoryPath","fsUpdateHandler","fsWatcher","watch","recursive","_","debounce","y","savedBranch","checkGitBranch","currentBranch","getGitBranch","gitPollIntervalId","setInterval","getLastUpdateTime","prevLastUpdateTime","toString","afterStop","_this$farmWatchers","_this$formWatchers","clearWatcher","watcher","close","clearInterval","forEach","_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\";\nimport { getGitBranch } from \"../../../Commons/GitUtils\";\n\nimport { globToRegexp } from \"./GlobToRegexp\";\n\ntype FSUpdateHandler = (eventType: string, filePath: string, rootDir: string, force?: boolean) => void;\n\ninterface DirectoryWatcher {\n fsWatcher: FSWatcher;\n gitPollIntervalId: NodeJS.Timeout;\n}\nconst GIT_BRANCH_POLL_DELAY = 3000;\n\nexport class BuildServerBackendResourcesUpdatesController extends SingletonController {\n private lastUpdateTime = 0;\n private readonly updateMonitor: Monitor = new Monitor();\n private farmWatchers?: DirectoryWatcher[];\n private formWatchers?: DirectoryWatcher[];\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 this.getDirectoryWatcher(config.farmDirectory, this.getHandleFSUpdate(this.farmWatchingRegexps))\n );\n\n this.formWatchers = this.allFarmConfig.map(config => {\n const formRootDirectory = path.normalize(\n path.join(config.farmDirectory, \"..\", WellKnownDirectories.FormsDirectory)\n );\n\n return this.getDirectoryWatcher(formRootDirectory, this.getHandleFSUpdate(this.formsWatchingRegexps));\n });\n }\n\n private getDirectoryWatcher(directoryPath: string, fsUpdateHandler: FSUpdateHandler): DirectoryWatcher {\n // @ts-ignore\n const fsWatcher = watch(\n directoryPath,\n { recursive: true },\n _.debounce((x: string, y: string) => fsUpdateHandler(x, y, directoryPath), 200)\n );\n\n let savedBranch: string | null = null;\n const checkGitBranch = () => {\n const currentBranch = getGitBranch(directoryPath);\n\n if (!savedBranch) {\n savedBranch = currentBranch;\n } else if (currentBranch !== savedBranch) {\n savedBranch = currentBranch;\n fsUpdateHandler(\"git\", \"\", directoryPath, true);\n }\n };\n\n return { fsWatcher: fsWatcher, gitPollIntervalId: setInterval(checkGitBranch, GIT_BRANCH_POLL_DELAY) };\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 const clearWatcher = (watcher: DirectoryWatcher) => {\n watcher.fsWatcher.close();\n clearInterval(watcher.gitPollIntervalId);\n };\n this.farmWatchers?.forEach(clearWatcher);\n this.formWatchers?.forEach(clearWatcher);\n }\n\n private readonly getHandleFSUpdate: (directoriesRegExps: RegExp[]) => FSUpdateHandler =\n (directoriesRegExps: RegExp[]) =>\n (eventType: string, filePath: string, rootDir: string, force: boolean = false) => {\n if (force || directoriesRegExps.some(x => x.test(filePath))) {\n stat(path.join(rootDir, filePath), (err, fileStat) => {\n const fileTicks = Math.max(fileStat.mtimeMs, fileStat.ctimeMs);\n if (force || 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":[]}
|
|
@@ -44,6 +44,15 @@ let BuildServerBuildFormsController = exports.BuildServerBuildFormsController =
|
|
|
44
44
|
this.engineDirectory = engineDirectory;
|
|
45
45
|
this.buildDebugOnly = buildDebugOnly;
|
|
46
46
|
}
|
|
47
|
+
async setupMiddleware(expressApplication) {
|
|
48
|
+
expressApplication.use("/force-gfvs", (req, res, next) => {
|
|
49
|
+
this.resetAllFarmDirectories();
|
|
50
|
+
next();
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
resetAllFarmDirectories() {
|
|
54
|
+
this.allFarmDirectory = this.allFarmConfig.map(i => new _FarmDirectory.FarmDirectory(i.farmDirectory));
|
|
55
|
+
}
|
|
47
56
|
async getDevServerUpdateJson(updateName) {
|
|
48
57
|
return await this.getFirstExistsFileAsStreamFromDevServer(`static/${updateName}.hot-update.json`);
|
|
49
58
|
}
|