@kontur.candy/tools 2.214.0 → 2.215.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.
- package/distr/Common/CandyApiClient/CandyApiClient.js +3 -2
- package/distr/Common/CandyApiClient/CandyApiClient.js.map +1 -1
- package/distr/Common/CandyApiClient/FakeCandyApiClient.js.map +1 -1
- package/distr/Common/CandyApiClient/ICandyApiClient.js.map +1 -1
- package/distr/Common/CandyApiClient/IsBuffer.js +5 -1
- package/distr/Common/CandyApiClient/IsBuffer.js.map +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryExpression.js.map +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryRequest.js.map +1 -1
- package/distr/Common/Errors/ExtendedError.js +1 -0
- package/distr/Common/Errors/ExtendedError.js.map +1 -1
- package/distr/Common/HttpClient/FetchImplementation/NodeFetch.js.map +1 -1
- package/distr/Common/HttpClient/HttpClient.js +10 -5
- package/distr/Common/HttpClient/HttpClient.js.map +1 -1
- package/distr/Common/HttpClient/IHttpClient.js.map +1 -1
- package/distr/Common/ModelPath/AbsoluteModelFieldPath.js.map +1 -1
- package/distr/Common/ModelPath/ModelPath.js +0 -2
- package/distr/Common/ModelPath/ModelPath.js.map +1 -1
- package/distr/Common/ModelPath/PathSplitHelper.js.map +1 -1
- package/distr/Common/PicklistApiClient/Serializers/DigestLogicalFilterSerializer.js.map +1 -1
- package/distr/Common/TypingUtils.js +1 -5
- package/distr/Common/TypingUtils.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Form/CompileForm.js +1 -0
- package/distr/Tools/src/BuildTasks/Form/CompileForm.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Form/GenerateForm.js +1 -0
- package/distr/Tools/src/BuildTasks/Form/GenerateForm.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js +1 -0
- package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js +3 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js +4 -4
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js.map +1 -1
- package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js +1 -0
- package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js.map +1 -1
- package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js +0 -1
- package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js.map +1 -1
- package/distr/Tools/src/BuildTasks/ReadFormSource.js +2 -1
- package/distr/Tools/src/BuildTasks/ReadFormSource.js.map +1 -1
- package/distr/Tools/src/BuildTasks/ResolveFormInfo.js +0 -3
- package/distr/Tools/src/BuildTasks/ResolveFormInfo.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js +5 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js +5 -6
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IWatchFileSystem.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js +0 -2
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js.map +1 -1
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js +0 -1
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js.map +1 -1
- package/distr/Tools/src/CheckNodeJsVersion.js +0 -1
- package/distr/Tools/src/CheckNodeJsVersion.js.map +1 -1
- package/distr/Tools/src/Commons/ExecUtils.js +1 -0
- package/distr/Tools/src/Commons/ExecUtils.js.map +1 -1
- package/distr/Tools/src/Commons/FsUtils.js.map +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js +7 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js.map +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js.map +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js.map +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js.map +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js.map +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js.map +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js.map +1 -1
- package/distr/Tools/src/Commons/Logging/ELKLogger.js +0 -1
- package/distr/Tools/src/Commons/Logging/ELKLogger.js.map +1 -1
- package/distr/Tools/src/Commons/Logging/Logger.js +1 -1
- package/distr/Tools/src/Commons/Logging/Logger.js.map +1 -1
- package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.d.js.map +1 -1
- package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js +0 -2
- package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js.map +1 -1
- package/distr/Tools/src/Commons/TasksCore/FixedDirectoryEntriesProducer.js +6 -6
- package/distr/Tools/src/Commons/TasksCore/FixedDirectoryEntriesProducer.js.map +1 -1
- package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js +1 -7
- package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js.map +1 -1
- package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js +1 -4
- package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js.map +1 -1
- package/distr/Tools/src/FormWebpackConfiguration/variables.less +2 -0
- 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/ReadFarmConfig.js +1 -1
- package/distr/Tools/src/ReadFarmConfig.js.map +1 -1
- package/distr/Tools/src/SelfUpdate.js +0 -1
- package/distr/Tools/src/SelfUpdate.js.map +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublishedVersionUtils.js","names":["semver","_interopRequireWildcard","require","_shelljs","_StaticLogger","_Version","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","candyGeneratorPackageName","candyEnginePackageName","isStableVersion","version","parsedVersion","parse","undefined","prerelease","length","isPrereleaseVersionWithPreId","preid","isEngineVersionExists","getPackageVersionsInReverseOrder","includes","getLastStableEngineVersion","sortedVersions","Error","getLastStableGeneratorVersion","getLastEnginePrereleaseVersion","getLastGeneratorPrereleaseVersion","resolveGeneratorVersion","versionSpec","logger","getLogger","getSuitableVersion","withPrefix","log","candyVersionSpecToString","type","resolveLocalGeneratorSource","engineDirectory","path","resolveLocalEngineSource","resolveEngineVersion","packageName","expectedPrerelease","preId","result","find","x","satisfies","getPrereleaseVersionFormJson","usePrereleaseVersion","prereleaseVersion","packageVersionsCache","Map","cachedResult","output","Promise","resolve","reject","command","process","platform","npm_config_registry","env","exec","async","silent","code","stdout","stderr","versions","JSON","trim","sort","compare","reverse"],"sources":["../../../../src/BuildTasks/PublishedVersionUtils.ts"],"sourcesContent":["import * as semver from \"semver\";\nimport { exec } from \"shelljs\";\n\nimport { ILogger } from \"../Commons/Logging/ILogger\";\nimport { getLogger } from \"../Commons/Logging/StaticLogger\";\n\nimport { EngineSource } from \"./Engine/EngineSource\";\nimport { GeneratorSource } from \"./Generator/AcquireFormGenerator\";\nimport { CandyVersionSpec, candyVersionSpecToString } from \"./Version\";\n\nconst candyGeneratorPackageName = \"@kontur.candy/generator\";\nconst candyEnginePackageName = \"@kontur.candy/engine\";\n\nfunction isStableVersion(version: string): boolean {\n const parsedVersion = semver.parse(version);\n if (parsedVersion == undefined) {\n return false;\n }\n const { prerelease } = parsedVersion;\n return prerelease.length === 0;\n}\n\nfunction isPrereleaseVersionWithPreId(version: string, preid: string): boolean {\n const parsedVersion = semver.parse(version);\n if (parsedVersion == undefined) {\n return false;\n }\n const { prerelease } = parsedVersion;\n return prerelease.length > 0 && prerelease[0] === preid;\n}\n\nexport async function isEngineVersionExists(version: string): Promise<boolean> {\n return (await getPackageVersionsInReverseOrder(candyEnginePackageName)).includes(version);\n}\n\nexport async function getLastStableEngineVersion(): Promise<string> {\n const sortedVersions = await getPackageVersionsInReverseOrder(candyEnginePackageName);\n for (const version of sortedVersions) {\n if (isStableVersion(version)) {\n return version;\n }\n }\n throw new Error(\"Cannot find last stable engine version\");\n}\n\nexport async function getLastStableGeneratorVersion(): Promise<string> {\n const sortedVersions = await getPackageVersionsInReverseOrder(candyGeneratorPackageName);\n for (const version of sortedVersions) {\n if (isStableVersion(version)) {\n return version;\n }\n }\n throw new Error(\"Cannot find last stable generator version\");\n}\n\nexport async function getLastEnginePrereleaseVersion(preid: string): Promise<string> {\n const sortedVersions = await getPackageVersionsInReverseOrder(candyEnginePackageName);\n for (const version of sortedVersions) {\n if (isPrereleaseVersionWithPreId(version, preid)) {\n return version;\n }\n }\n throw new Error(`Cannot find prerelease for pre:${preid} engine version`);\n}\n\nexport async function getLastGeneratorPrereleaseVersion(preid: string): Promise<string> {\n const sortedVersions = await getPackageVersionsInReverseOrder(candyGeneratorPackageName);\n for (const version of sortedVersions) {\n if (isPrereleaseVersionWithPreId(version, preid)) {\n return version;\n }\n }\n throw new Error(`Cannot find prerelease for pre:${preid} generator version`);\n}\n\nexport async function resolveGeneratorVersion(\n versionSpec: CandyVersionSpec,\n logger: ILogger = getLogger()\n): Promise<GeneratorSource> {\n const version = await getSuitableVersion(versionSpec, candyGeneratorPackageName);\n logger.withPrefix(\"GENERATOR\").log(`Resolved version ${candyVersionSpecToString(versionSpec)} to ${version}`);\n return {\n type: \"PublishedGenerator\",\n version: version,\n };\n}\n\nexport function resolveLocalGeneratorSource(engineDirectory: string, logger: ILogger = getLogger()): GeneratorSource {\n logger.withPrefix(\"GENERATOR\").log(`Resolved version 'local'`);\n return {\n type: \"GeneratorSources\",\n path: engineDirectory,\n };\n}\n\nexport function resolveLocalEngineSource(engineDirectory: string, logger: ILogger = getLogger()): EngineSource {\n logger.withPrefix(\"ENGINE\").log(`Resolved version 'local'`);\n return {\n type: \"LocalEngineSources\",\n path: engineDirectory,\n };\n}\n\nexport async function resolveEngineVersion(\n versionSpec: CandyVersionSpec,\n logger: ILogger = getLogger()\n): Promise<EngineSource> {\n const version = await getSuitableVersion(versionSpec, candyEnginePackageName);\n logger.withPrefix(\"ENGINE\").log(`Resolved version ${candyVersionSpecToString(versionSpec)} to ${version}`);\n return {\n type: \"PublishedEngine\",\n version: version,\n };\n}\n\nexport async function getSuitableVersion(versionSpec: CandyVersionSpec, packageName: string): Promise<string> {\n const sortedVersions = await getPackageVersionsInReverseOrder(packageName);\n if (versionSpec.type === \"pre\") {\n const expectedPrerelease = versionSpec.preId;\n for (const version of sortedVersions) {\n const parsedVersion = semver.parse(version);\n if (parsedVersion == undefined) {\n continue;\n }\n const { prerelease } = parsedVersion;\n if (prerelease.length > 0) {\n if (prerelease[0] === expectedPrerelease) {\n return version;\n }\n }\n }\n throw new Error(`Package ${packageName} does not contains version satisfies pre:${versionSpec.preId}`);\n }\n const result = sortedVersions.find(x => semver.satisfies(x, versionSpec.version));\n if (result == undefined) {\n throw new Error(`Package ${packageName} does not contains version satisfies ${versionSpec.version}`);\n }\n return result;\n}\n\nexport async function getPrereleaseVersionFormJson(usePrereleaseVersion: string): Promise<string | undefined> {\n const prereleaseVersion = await getLastEnginePrereleaseVersion(usePrereleaseVersion);\n\n return prereleaseVersion != undefined ? `pre:${usePrereleaseVersion}` : undefined;\n}\n\nconst packageVersionsCache: Map<string, string[]> = new Map();\n\nasync function getPackageVersionsInReverseOrder(packageName: string): Promise<string[]> {\n const cachedResult = packageVersionsCache.get(packageName);\n if (cachedResult != undefined) {\n return cachedResult;\n }\n const output = await new Promise<string>((resolve, reject) => {\n const command =\n (process.platform === \"linux\" ? \"unbuffer \" : \"\") + `npm view ${packageName} versions --no-progress --json`;\n const { npm_config_registry, ...env } = process.env;\n exec(command, { async: true, silent: true, env: env }, (code, stdout, stderr) => {\n if (code !== 0) {\n reject(new Error(stderr));\n } else {\n resolve(stdout);\n }\n });\n });\n // tslint:disable-next-line no-unsafe-any\n const versions: string[] = JSON.parse(output.trim());\n const sortedVersions = versions.sort(semver.compare).reverse();\n packageVersionsCache.set(packageName, sortedVersions);\n return sortedVersions;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"PublishedVersionUtils.js","names":["semver","_interopRequireWildcard","require","_shelljs","_StaticLogger","_Version","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","candyGeneratorPackageName","candyEnginePackageName","isStableVersion","version","parsedVersion","parse","undefined","prerelease","length","isPrereleaseVersionWithPreId","preid","isEngineVersionExists","getPackageVersionsInReverseOrder","includes","getLastStableEngineVersion","sortedVersions","Error","getLastStableGeneratorVersion","getLastEnginePrereleaseVersion","getLastGeneratorPrereleaseVersion","resolveGeneratorVersion","versionSpec","logger","getLogger","getSuitableVersion","withPrefix","log","candyVersionSpecToString","type","resolveLocalGeneratorSource","engineDirectory","path","resolveLocalEngineSource","resolveEngineVersion","packageName","expectedPrerelease","preId","result","find","x","satisfies","getPrereleaseVersionFormJson","usePrereleaseVersion","prereleaseVersion","packageVersionsCache","Map","cachedResult","output","Promise","resolve","reject","command","process","platform","npm_config_registry","env","exec","async","silent","code","stdout","stderr","versions","JSON","trim","sort","compare","reverse"],"sources":["../../../../src/BuildTasks/PublishedVersionUtils.ts"],"sourcesContent":["import * as semver from \"semver\";\nimport { exec } from \"shelljs\";\n\nimport { ILogger } from \"../Commons/Logging/ILogger\";\nimport { getLogger } from \"../Commons/Logging/StaticLogger\";\n\nimport { EngineSource } from \"./Engine/EngineSource\";\nimport { GeneratorSource } from \"./Generator/AcquireFormGenerator\";\nimport { CandyVersionSpec, candyVersionSpecToString } from \"./Version\";\n\nconst candyGeneratorPackageName = \"@kontur.candy/generator\";\nconst candyEnginePackageName = \"@kontur.candy/engine\";\n\nfunction isStableVersion(version: string): boolean {\n const parsedVersion = semver.parse(version);\n if (parsedVersion == undefined) {\n return false;\n }\n const { prerelease } = parsedVersion;\n return prerelease.length === 0;\n}\n\nfunction isPrereleaseVersionWithPreId(version: string, preid: string): boolean {\n const parsedVersion = semver.parse(version);\n if (parsedVersion == undefined) {\n return false;\n }\n const { prerelease } = parsedVersion;\n return prerelease.length > 0 && prerelease[0] === preid;\n}\n\nexport async function isEngineVersionExists(version: string): Promise<boolean> {\n return (await getPackageVersionsInReverseOrder(candyEnginePackageName)).includes(version);\n}\n\nexport async function getLastStableEngineVersion(): Promise<string> {\n const sortedVersions = await getPackageVersionsInReverseOrder(candyEnginePackageName);\n for (const version of sortedVersions) {\n if (isStableVersion(version)) {\n return version;\n }\n }\n throw new Error(\"Cannot find last stable engine version\");\n}\n\nexport async function getLastStableGeneratorVersion(): Promise<string> {\n const sortedVersions = await getPackageVersionsInReverseOrder(candyGeneratorPackageName);\n for (const version of sortedVersions) {\n if (isStableVersion(version)) {\n return version;\n }\n }\n throw new Error(\"Cannot find last stable generator version\");\n}\n\nexport async function getLastEnginePrereleaseVersion(preid: string): Promise<string> {\n const sortedVersions = await getPackageVersionsInReverseOrder(candyEnginePackageName);\n for (const version of sortedVersions) {\n if (isPrereleaseVersionWithPreId(version, preid)) {\n return version;\n }\n }\n throw new Error(`Cannot find prerelease for pre:${preid} engine version`);\n}\n\nexport async function getLastGeneratorPrereleaseVersion(preid: string): Promise<string> {\n const sortedVersions = await getPackageVersionsInReverseOrder(candyGeneratorPackageName);\n for (const version of sortedVersions) {\n if (isPrereleaseVersionWithPreId(version, preid)) {\n return version;\n }\n }\n throw new Error(`Cannot find prerelease for pre:${preid} generator version`);\n}\n\nexport async function resolveGeneratorVersion(\n versionSpec: CandyVersionSpec,\n logger: ILogger = getLogger()\n): Promise<GeneratorSource> {\n const version = await getSuitableVersion(versionSpec, candyGeneratorPackageName);\n logger.withPrefix(\"GENERATOR\").log(`Resolved version ${candyVersionSpecToString(versionSpec)} to ${version}`);\n return {\n type: \"PublishedGenerator\",\n version: version,\n };\n}\n\nexport function resolveLocalGeneratorSource(engineDirectory: string, logger: ILogger = getLogger()): GeneratorSource {\n logger.withPrefix(\"GENERATOR\").log(`Resolved version 'local'`);\n return {\n type: \"GeneratorSources\",\n path: engineDirectory,\n };\n}\n\nexport function resolveLocalEngineSource(engineDirectory: string, logger: ILogger = getLogger()): EngineSource {\n logger.withPrefix(\"ENGINE\").log(`Resolved version 'local'`);\n return {\n type: \"LocalEngineSources\",\n path: engineDirectory,\n };\n}\n\nexport async function resolveEngineVersion(\n versionSpec: CandyVersionSpec,\n logger: ILogger = getLogger()\n): Promise<EngineSource> {\n const version = await getSuitableVersion(versionSpec, candyEnginePackageName);\n logger.withPrefix(\"ENGINE\").log(`Resolved version ${candyVersionSpecToString(versionSpec)} to ${version}`);\n return {\n type: \"PublishedEngine\",\n version: version,\n };\n}\n\nexport async function getSuitableVersion(versionSpec: CandyVersionSpec, packageName: string): Promise<string> {\n const sortedVersions = await getPackageVersionsInReverseOrder(packageName);\n if (versionSpec.type === \"pre\") {\n const expectedPrerelease = versionSpec.preId;\n for (const version of sortedVersions) {\n const parsedVersion = semver.parse(version);\n if (parsedVersion == undefined) {\n continue;\n }\n const { prerelease } = parsedVersion;\n if (prerelease.length > 0) {\n if (prerelease[0] === expectedPrerelease) {\n return version;\n }\n }\n }\n throw new Error(`Package ${packageName} does not contains version satisfies pre:${versionSpec.preId}`);\n }\n const result = sortedVersions.find(x => semver.satisfies(x, versionSpec.version));\n if (result == undefined) {\n throw new Error(`Package ${packageName} does not contains version satisfies ${versionSpec.version}`);\n }\n return result;\n}\n\nexport async function getPrereleaseVersionFormJson(usePrereleaseVersion: string): Promise<string | undefined> {\n const prereleaseVersion = await getLastEnginePrereleaseVersion(usePrereleaseVersion);\n\n return prereleaseVersion != undefined ? `pre:${usePrereleaseVersion}` : undefined;\n}\n\nconst packageVersionsCache: Map<string, string[]> = new Map();\n\nasync function getPackageVersionsInReverseOrder(packageName: string): Promise<string[]> {\n const cachedResult = packageVersionsCache.get(packageName);\n if (cachedResult != undefined) {\n return cachedResult;\n }\n const output = await new Promise<string>((resolve, reject) => {\n const command =\n (process.platform === \"linux\" ? \"unbuffer \" : \"\") + `npm view ${packageName} versions --no-progress --json`;\n const { npm_config_registry, ...env } = process.env;\n exec(command, { async: true, silent: true, env: env }, (code, stdout, stderr) => {\n if (code !== 0) {\n reject(new Error(stderr));\n } else {\n resolve(stdout);\n }\n });\n });\n const versions: string[] = JSON.parse(output.trim());\n const sortedVersions = versions.sort(semver.compare).reverse();\n packageVersionsCache.set(packageName, sortedVersions);\n return sortedVersions;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -35,7 +35,8 @@ async function readFormSource(formSourcesPath, farmDirectory, hlFarmDirectoryPat
|
|
|
35
35
|
};
|
|
36
36
|
if (formName.startsWith("4")) {
|
|
37
37
|
const commonResourcesPath = _path.default.join(formSourcesPath, "..", "..", "commonResources");
|
|
38
|
-
|
|
38
|
+
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
39
40
|
const {
|
|
40
41
|
elements
|
|
41
42
|
} = require(_path.default.join(commonResourcesPath, "statTitle.js"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadFormSource.js","names":["_path","_interopRequireDefault","require","_fsExtra","_recursiveReaddir","_FsUtils","_GetRngSchemaFileExtension","_FormPathUtils","readFormSource","formSourcesPath","farmDirectory","hlFarmDirectoryPath","rootPath","formName","extractGfvFromFormPath","sugarContent","readSugarFiles","path","join","result","resources","gfv","basename","additionalSettings","readFileWithDefault","autocalcsContent","readAutoCalcFiles","helpersContent","readJavaScriptFilesWithNames","commonHelpersContent","validationsContent","schemaRngContent","readSchemaRngFile","kcJsXmlContent","kcLangContent","normativeHelpContent","readNormativeHelpFile","tourSteps","hooksContent","readHooksFile","customControlsContent","readCustomControlsFiles","startsWith","commonResourcesPath","elements","hasRegionalForm","Object","values","find","sugar","includes","preprocessor","formSugarDirectoryPath","fileNames","readdir","fileName","sugarModuleName","replace","sugarModuleContent","readFile","isDirectoryExists","recursiveReaddir","relativeFileName","formAutoCalcPath","files","jsFiles","filter","filename","test","Promise","all","map","ignoreError","formJavaScriptFilesPath","parse","name","content","formSchemasPath","getRngSchemaFileExtension","formDirectoryPath","catch","filePath","defaultValue","ingoreError"],"sources":["../../../../src/BuildTasks/ReadFormSource.ts"],"sourcesContent":["import path from \"path\";\n\nimport { readdir, readFile } from \"fs-extra\";\nimport recursiveReaddir from \"recursive-readdir\";\n\nimport { isDirectoryExists } from \"../Commons/FsUtils\";\nimport { getRngSchemaFileExtension } from \"../../../Common/GetRngSchemaFileExtension\";\nimport { extractGfvFromFormPath } from \"../../../Common/FormPathUtils\";\n\nexport interface SugarContent {\n [sugarFileNameWithoutExtension: string]: string;\n}\n\nexport interface CustomControlsContent {\n [key: string]: string;\n}\n\nexport interface FormResources {\n gfv: string;\n additionalSettings: undefined | string;\n autocalcsContent: string[];\n helpersContent: Array<{ filename: string; content: string }>;\n commonHelpersContent: Array<{ filename: string; content: string }>;\n validationsContent: Array<{ filename: string; content: string }>;\n schemaRngContent: string;\n kcJsXmlContent: undefined | string;\n kcLangContent: undefined | string;\n normativeHelpContent: string;\n tourSteps: undefined | string;\n hooksContent: undefined | string;\n customControlsContent: CustomControlsContent;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n preprocessor?: any[];\n}\n\nexport interface FormSource {\n sugarContent: SugarContent;\n resources: FormResources;\n}\n\nexport async function readFormSource(\n formSourcesPath: string,\n farmDirectory: string,\n hlFarmDirectoryPath: string\n): Promise<FormSource> {\n const rootPath = farmDirectory;\n const formName = extractGfvFromFormPath(formSourcesPath);\n const sugarContent = await readSugarFiles(path.join(formSourcesPath, \"sugar\"));\n const result: FormSource = {\n sugarContent: sugarContent,\n resources: {\n gfv: path.basename(formSourcesPath),\n additionalSettings: await readFileWithDefault(formSourcesPath, \"settings.json\", \"{}\"),\n autocalcsContent: await readAutoCalcFiles(path.join(formSourcesPath, \"autocalc\")),\n helpersContent: await readJavaScriptFilesWithNames(path.join(formSourcesPath, \"helpers\")),\n commonHelpersContent: await readJavaScriptFilesWithNames(path.join(farmDirectory, \"jsHelpers\")),\n validationsContent: await readJavaScriptFilesWithNames(path.join(formSourcesPath, \"validations\")),\n schemaRngContent: await readSchemaRngFile(path.join(formSourcesPath, \"schemas\"), formName),\n kcJsXmlContent: await readFileWithDefault(\n path.join(formSourcesPath, \"autocalc\"),\n `${formName}.КС.candy.js.xml`,\n \"<dummy/>\"\n ),\n kcLangContent: await readFileWithDefault(\n path.join(formSourcesPath, \"autocalc\"),\n `${formName}.КС.candy.js.kclang`,\n \"\"\n ),\n normativeHelpContent: await readNormativeHelpFile(hlFarmDirectoryPath),\n tourSteps: await readFileWithDefault(path.join(rootPath, \"tour\"), \"tour.js\", \"{}\"),\n hooksContent: await readHooksFile(formSourcesPath),\n customControlsContent: await readCustomControlsFiles(path.join(formSourcesPath, \"controls\")),\n },\n };\n if (formName.startsWith(\"4\")) {\n const commonResourcesPath = path.join(formSourcesPath, \"..\", \"..\", \"commonResources\");\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const { elements } = require(path.join(commonResourcesPath, \"statTitle.js\"));\n const hasRegionalForm = Object.values(sugarContent).find(sugar => sugar.includes('hasRegionalForms=\"true\"'));\n\n if (!result.resources.hooksContent && hasRegionalForm) {\n result.resources.hooksContent = await readFileWithDefault(commonResourcesPath, \"regionStatHooks.js\");\n }\n result.resources.preprocessor = { ...elements };\n }\n return result;\n}\n\nasync function readSugarFiles(formSugarDirectoryPath: string): Promise<SugarContent> {\n const fileNames = await readdir(formSugarDirectoryPath);\n const result: SugarContent = {};\n for (const fileName of fileNames) {\n const sugarModuleName = fileName.replace(\".sugar.xml\", \"\");\n const sugarModuleContent = await readFile(path.join(formSugarDirectoryPath, fileName), \"utf-8\");\n result[sugarModuleName] = sugarModuleContent;\n }\n return result;\n}\n\nasync function readCustomControlsFiles(formSugarDirectoryPath: string): Promise<CustomControlsContent> {\n if (!(await isDirectoryExists(formSugarDirectoryPath))) {\n return {};\n }\n const fileNames = await recursiveReaddir(formSugarDirectoryPath);\n const result: CustomControlsContent = {};\n for (const fileName of fileNames) {\n const sugarModuleContent = await readFile(fileName, \"utf-8\");\n const relativeFileName = (\"controls\\\\\" + fileName.replace(formSugarDirectoryPath + \"\\\\\", \"\")).replace(\n /\\\\/g,\n \"/\"\n );\n result[relativeFileName] = sugarModuleContent;\n }\n return result;\n}\n\nasync function readAutoCalcFiles(formAutoCalcPath: string): Promise<string[]> {\n try {\n const files = await readdir(formAutoCalcPath);\n const jsFiles = files.filter(filename => /\\.js$/.test(filename));\n return Promise.all(jsFiles.map(filename => readFile(path.join(formAutoCalcPath, filename), \"utf-8\")));\n } catch (ignoreError) {\n return [];\n }\n}\n\nasync function readJavaScriptFilesWithNames(\n formJavaScriptFilesPath: string\n): Promise<Array<{ filename: string; content: string }>> {\n try {\n const files = await readdir(formJavaScriptFilesPath);\n const jsFiles = files.filter(filename => /\\.js$/.test(filename));\n return Promise.all(\n jsFiles.map(async filename => ({\n filename: path.parse(filename).name,\n content: await readFile(path.join(formJavaScriptFilesPath, filename), \"utf-8\"),\n }))\n );\n } catch (ignoreError) {\n return [];\n }\n}\n\nfunction readSchemaRngFile(formSchemasPath: string, gfv: string): Promise<string> {\n return readFile(path.join(formSchemasPath, `${gfv}${getRngSchemaFileExtension(formSchemasPath, gfv)}`), \"utf-8\");\n}\n\nfunction readNormativeHelpFile(hlFarmDirectoryPath: string): Promise<string> {\n return readFile(path.join(hlFarmDirectoryPath, \"Forms\", \"helpid_normativ.xml\"), \"utf-8\");\n}\n\nfunction readHooksFile(formDirectoryPath: string): Promise<string> {\n return readFile(path.join(formDirectoryPath, \"hooks.js\"), \"utf-8\").catch(() => \"\");\n}\n\nasync function readFileWithDefault(\n filePath: string,\n filename: string,\n defaultValue?: string\n): Promise<undefined | string> {\n try {\n return await readFile(path.join(filePath, filename), \"utf-8\");\n } catch (ingoreError) {\n return defaultValue;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ReadFormSource.js","names":["_path","_interopRequireDefault","require","_fsExtra","_recursiveReaddir","_FsUtils","_GetRngSchemaFileExtension","_FormPathUtils","readFormSource","formSourcesPath","farmDirectory","hlFarmDirectoryPath","rootPath","formName","extractGfvFromFormPath","sugarContent","readSugarFiles","path","join","result","resources","gfv","basename","additionalSettings","readFileWithDefault","autocalcsContent","readAutoCalcFiles","helpersContent","readJavaScriptFilesWithNames","commonHelpersContent","validationsContent","schemaRngContent","readSchemaRngFile","kcJsXmlContent","kcLangContent","normativeHelpContent","readNormativeHelpFile","tourSteps","hooksContent","readHooksFile","customControlsContent","readCustomControlsFiles","startsWith","commonResourcesPath","elements","hasRegionalForm","Object","values","find","sugar","includes","preprocessor","formSugarDirectoryPath","fileNames","readdir","fileName","sugarModuleName","replace","sugarModuleContent","readFile","isDirectoryExists","recursiveReaddir","relativeFileName","formAutoCalcPath","files","jsFiles","filter","filename","test","Promise","all","map","ignoreError","formJavaScriptFilesPath","parse","name","content","formSchemasPath","getRngSchemaFileExtension","formDirectoryPath","catch","filePath","defaultValue","ingoreError"],"sources":["../../../../src/BuildTasks/ReadFormSource.ts"],"sourcesContent":["import path from \"path\";\n\nimport { readdir, readFile } from \"fs-extra\";\nimport recursiveReaddir from \"recursive-readdir\";\n\nimport { isDirectoryExists } from \"../Commons/FsUtils\";\nimport { getRngSchemaFileExtension } from \"../../../Common/GetRngSchemaFileExtension\";\nimport { extractGfvFromFormPath } from \"../../../Common/FormPathUtils\";\n\nexport interface SugarContent {\n [sugarFileNameWithoutExtension: string]: string;\n}\n\nexport interface CustomControlsContent {\n [key: string]: string;\n}\n\nexport interface FormResources {\n gfv: string;\n additionalSettings: undefined | string;\n autocalcsContent: string[];\n helpersContent: Array<{ filename: string; content: string }>;\n commonHelpersContent: Array<{ filename: string; content: string }>;\n validationsContent: Array<{ filename: string; content: string }>;\n schemaRngContent: string;\n kcJsXmlContent: undefined | string;\n kcLangContent: undefined | string;\n normativeHelpContent: string;\n tourSteps: undefined | string;\n hooksContent: undefined | string;\n customControlsContent: CustomControlsContent;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n preprocessor?: any[];\n}\n\nexport interface FormSource {\n sugarContent: SugarContent;\n resources: FormResources;\n}\n\nexport async function readFormSource(\n formSourcesPath: string,\n farmDirectory: string,\n hlFarmDirectoryPath: string\n): Promise<FormSource> {\n const rootPath = farmDirectory;\n const formName = extractGfvFromFormPath(formSourcesPath);\n const sugarContent = await readSugarFiles(path.join(formSourcesPath, \"sugar\"));\n const result: FormSource = {\n sugarContent: sugarContent,\n resources: {\n gfv: path.basename(formSourcesPath),\n additionalSettings: await readFileWithDefault(formSourcesPath, \"settings.json\", \"{}\"),\n autocalcsContent: await readAutoCalcFiles(path.join(formSourcesPath, \"autocalc\")),\n helpersContent: await readJavaScriptFilesWithNames(path.join(formSourcesPath, \"helpers\")),\n commonHelpersContent: await readJavaScriptFilesWithNames(path.join(farmDirectory, \"jsHelpers\")),\n validationsContent: await readJavaScriptFilesWithNames(path.join(formSourcesPath, \"validations\")),\n schemaRngContent: await readSchemaRngFile(path.join(formSourcesPath, \"schemas\"), formName),\n kcJsXmlContent: await readFileWithDefault(\n path.join(formSourcesPath, \"autocalc\"),\n `${formName}.КС.candy.js.xml`,\n \"<dummy/>\"\n ),\n kcLangContent: await readFileWithDefault(\n path.join(formSourcesPath, \"autocalc\"),\n `${formName}.КС.candy.js.kclang`,\n \"\"\n ),\n normativeHelpContent: await readNormativeHelpFile(hlFarmDirectoryPath),\n tourSteps: await readFileWithDefault(path.join(rootPath, \"tour\"), \"tour.js\", \"{}\"),\n hooksContent: await readHooksFile(formSourcesPath),\n customControlsContent: await readCustomControlsFiles(path.join(formSourcesPath, \"controls\")),\n },\n };\n if (formName.startsWith(\"4\")) {\n const commonResourcesPath = path.join(formSourcesPath, \"..\", \"..\", \"commonResources\");\n\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const { elements } = require(path.join(commonResourcesPath, \"statTitle.js\"));\n const hasRegionalForm = Object.values(sugarContent).find(sugar => sugar.includes('hasRegionalForms=\"true\"'));\n\n if (!result.resources.hooksContent && hasRegionalForm) {\n result.resources.hooksContent = await readFileWithDefault(commonResourcesPath, \"regionStatHooks.js\");\n }\n result.resources.preprocessor = { ...elements };\n }\n return result;\n}\n\nasync function readSugarFiles(formSugarDirectoryPath: string): Promise<SugarContent> {\n const fileNames = await readdir(formSugarDirectoryPath);\n const result: SugarContent = {};\n for (const fileName of fileNames) {\n const sugarModuleName = fileName.replace(\".sugar.xml\", \"\");\n const sugarModuleContent = await readFile(path.join(formSugarDirectoryPath, fileName), \"utf-8\");\n result[sugarModuleName] = sugarModuleContent;\n }\n return result;\n}\n\nasync function readCustomControlsFiles(formSugarDirectoryPath: string): Promise<CustomControlsContent> {\n if (!(await isDirectoryExists(formSugarDirectoryPath))) {\n return {};\n }\n const fileNames = await recursiveReaddir(formSugarDirectoryPath);\n const result: CustomControlsContent = {};\n for (const fileName of fileNames) {\n const sugarModuleContent = await readFile(fileName, \"utf-8\");\n const relativeFileName = (\"controls\\\\\" + fileName.replace(formSugarDirectoryPath + \"\\\\\", \"\")).replace(\n /\\\\/g,\n \"/\"\n );\n result[relativeFileName] = sugarModuleContent;\n }\n return result;\n}\n\nasync function readAutoCalcFiles(formAutoCalcPath: string): Promise<string[]> {\n try {\n const files = await readdir(formAutoCalcPath);\n const jsFiles = files.filter(filename => /\\.js$/.test(filename));\n return Promise.all(jsFiles.map(filename => readFile(path.join(formAutoCalcPath, filename), \"utf-8\")));\n } catch (ignoreError) {\n return [];\n }\n}\n\nasync function readJavaScriptFilesWithNames(\n formJavaScriptFilesPath: string\n): Promise<Array<{ filename: string; content: string }>> {\n try {\n const files = await readdir(formJavaScriptFilesPath);\n const jsFiles = files.filter(filename => /\\.js$/.test(filename));\n return Promise.all(\n jsFiles.map(async filename => ({\n filename: path.parse(filename).name,\n content: await readFile(path.join(formJavaScriptFilesPath, filename), \"utf-8\"),\n }))\n );\n } catch (ignoreError) {\n return [];\n }\n}\n\nfunction readSchemaRngFile(formSchemasPath: string, gfv: string): Promise<string> {\n return readFile(path.join(formSchemasPath, `${gfv}${getRngSchemaFileExtension(formSchemasPath, gfv)}`), \"utf-8\");\n}\n\nfunction readNormativeHelpFile(hlFarmDirectoryPath: string): Promise<string> {\n return readFile(path.join(hlFarmDirectoryPath, \"Forms\", \"helpid_normativ.xml\"), \"utf-8\");\n}\n\nfunction readHooksFile(formDirectoryPath: string): Promise<string> {\n return readFile(path.join(formDirectoryPath, \"hooks.js\"), \"utf-8\").catch(() => \"\");\n}\n\nasync function readFileWithDefault(\n filePath: string,\n filename: string,\n defaultValue?: string\n): Promise<undefined | string> {\n try {\n return await readFile(path.join(filePath, filename), \"utf-8\");\n } catch (ingoreError) {\n return defaultValue;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -71,18 +71,15 @@ async function resolveFormInfo(formJsonFile, pathToForm, _engineDirectory, logge
|
|
|
71
71
|
};
|
|
72
72
|
}
|
|
73
73
|
async function isNewFormJsonFormat(formJsonFile) {
|
|
74
|
-
// tslint:disable-next-line no-unsafe-any
|
|
75
74
|
const formConfig = await (0, _fsExtra.readJson)(formJsonFile);
|
|
76
75
|
return formConfig.dependencies != undefined;
|
|
77
76
|
}
|
|
78
77
|
async function readFormConfig(formJsonFile, logger = new _StaticLogger.NullLogger()) {
|
|
79
|
-
// tslint:disable-next-line no-unsafe-any
|
|
80
78
|
const formConfig = await (0, _fsExtra.readJson)(formJsonFile);
|
|
81
79
|
return getFormConfigFromSource(formConfig, logger);
|
|
82
80
|
}
|
|
83
81
|
function getFormConfigFromSource(formConfig, logger) {
|
|
84
82
|
var _formConfig$dependenc3, _formConfig$dependenc4, _formConfig$settings, _formConfig$mode;
|
|
85
|
-
// tslint:disable-next-line no-unsafe-any
|
|
86
83
|
if (((_formConfig$dependenc3 = formConfig.dependencies) === null || _formConfig$dependenc3 === void 0 ? void 0 : _formConfig$dependenc3.generator) != undefined && !(0, _Version.isValidSemVerVersionRange)(formConfig.dependencies.generator)) {
|
|
87
84
|
throw new Error(`${formConfig.dependencies.generator} is not valid version format`);
|
|
88
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResolveFormInfo.js","names":["_fsExtra","require","_lodash","_FsUtils","_StaticLogger","_FormPathUtils","_PublishedVersionUtils","_Version","FormBuildMode","exports","resolveFormInfo","formJsonFile","pathToForm","_engineDirectory","logger","getLogger","upgradeFormJson","useLastStableVersion","usePrereleaseVersion","nightly","_formConfig$dependenc","_formConfig$dependenc2","formConfig","readFormConfig","undefined","Error","dependencies","engine","getLastStableEngineVersion","generator","getLastStableGeneratorVersion","log","writeFileAsync","JSON","stringify","prereleaseVersionFormJson","getPrereleaseVersionFormJson","generatorVersion","parseCandyVersionSpec","engineVersion","type","preId","themes","mode","NoEditor","CopyLegacyPrebuiltResources","NormalBuild","formName","extractGfvFromFormPath","formSourcesPath","isNewFormJsonFormat","readJson","NullLogger","getFormConfigFromSource","_formConfig$dependenc3","_formConfig$dependenc4","_formConfig$settings","_formConfig$mode","isValidSemVerVersionRange","settings","useServerSideFLangNormalization","pickBy","x","build"],"sources":["../../../../src/BuildTasks/ResolveFormInfo.ts"],"sourcesContent":["import { readJson } from \"fs-extra\";\nimport { pickBy } from \"lodash\";\n\nimport { writeFileAsync } from \"../Commons/FsUtils\";\nimport { ILogger } from \"../Commons/Logging/ILogger\";\nimport { getLogger, NullLogger } from \"../Commons/Logging/StaticLogger\";\nimport { extractGfvFromFormPath } from \"../../../Common/FormPathUtils\";\n\nimport {\n getLastStableEngineVersion,\n getLastStableGeneratorVersion,\n getPrereleaseVersionFormJson,\n} from \"./PublishedVersionUtils\";\nimport { CandyVersionSpec, isValidSemVerVersionRange, parseCandyVersionSpec } from \"./Version\";\n\nexport enum FormBuildMode {\n NormalBuild,\n NoEditor,\n CopyLegacyPrebuiltResources,\n}\n\nexport interface FormInfo {\n themes?: string[];\n mode: FormBuildMode;\n formName: string;\n formSourcesPath: string;\n generatorVersion: undefined | CandyVersionSpec;\n engineVersion: undefined | CandyVersionSpec;\n}\n\nexport interface FormConfigContent {\n themes?: string[];\n build?: \"ci\" | \"manual\";\n mode?: \"no-editor\" | \"copy-legacy-prebuilt-resources\";\n dependencies?: {\n generator?: string;\n engine?: string;\n };\n settings?: {\n useServerSideFLangNormalization?: boolean;\n autoCalculationCalculatorImpl?: \"calculator2\";\n disableFlangRulesForEnableAutoFieldFeature?: boolean;\n disableFlangRulesForFormulaAndInitNormalizer?: boolean;\n };\n}\n\ninterface FormConfig {\n themes?: string[];\n build?: \"ci\" | \"manual\";\n mode?: \"no-editor\" | \"copy-legacy-prebuilt-resources\" | \"normal-build\";\n dependencies?: {\n generator: undefined | string;\n engine: undefined | string;\n };\n settings: {\n useServerSideFLangNormalization: boolean;\n autoCalculationCalculatorImpl?: \"calculator2\" | \"default\";\n disableFlangRulesForEnableAutoFieldFeature?: boolean;\n disableFlangRulesForFormulaAndInitNormalizer?: boolean;\n };\n}\n\nexport async function resolveFormInfo(\n formJsonFile: string,\n pathToForm: string,\n _engineDirectory: undefined | string,\n logger: ILogger = getLogger(),\n upgradeFormJson: boolean = false,\n useLastStableVersion: boolean = false,\n usePrereleaseVersion?: string,\n nightly: boolean = false\n): Promise<FormInfo> {\n const formConfig = await readFormConfig(formJsonFile, logger);\n if (useLastStableVersion && usePrereleaseVersion != undefined) {\n throw new Error(\"Необходимо использовать либо флаг useLastStableVersion либо usePrereleaseVersion\");\n }\n if (useLastStableVersion) {\n formConfig.dependencies = {\n engine: await getLastStableEngineVersion(),\n generator: await getLastStableGeneratorVersion(),\n };\n logger.log(`Updated to last stable version ${formConfig.dependencies.engine}`);\n await writeFileAsync(formJsonFile, JSON.stringify(formConfig, undefined, \" \"), \"utf8\");\n }\n if (usePrereleaseVersion != undefined) {\n const prereleaseVersionFormJson = await getPrereleaseVersionFormJson(usePrereleaseVersion);\n if (prereleaseVersionFormJson != undefined) {\n formConfig.dependencies = {\n engine: prereleaseVersionFormJson,\n generator: prereleaseVersionFormJson,\n };\n logger.log(`Updated to last prerelease version ${formConfig.dependencies.engine}`);\n }\n await writeFileAsync(formJsonFile, JSON.stringify(formConfig, undefined, \" \"), \"utf8\");\n }\n let generatorVersion =\n formConfig.dependencies?.generator != undefined\n ? parseCandyVersionSpec(formConfig.dependencies.generator)\n : undefined;\n let engineVersion =\n formConfig.dependencies?.engine != undefined\n ? parseCandyVersionSpec(formConfig.dependencies.engine)\n : undefined;\n if (nightly) {\n generatorVersion = { type: \"pre\", preId: \"nightly\" };\n engineVersion = { type: \"pre\", preId: \"nightly\" };\n }\n if (upgradeFormJson) {\n await writeFileAsync(formJsonFile, JSON.stringify(formConfig, undefined, \" \"), \"utf8\");\n }\n return {\n themes: formConfig.themes,\n mode:\n formConfig.mode === \"no-editor\"\n ? FormBuildMode.NoEditor\n : formConfig.mode === \"copy-legacy-prebuilt-resources\"\n ? FormBuildMode.CopyLegacyPrebuiltResources\n : FormBuildMode.NormalBuild,\n formName: extractGfvFromFormPath(pathToForm),\n formSourcesPath: pathToForm,\n generatorVersion: generatorVersion,\n engineVersion: engineVersion,\n };\n}\n\nexport async function isNewFormJsonFormat(formJsonFile: string): Promise<boolean> {\n // tslint:disable-next-line no-unsafe-any\n const formConfig: FormConfigContent = await readJson(formJsonFile);\n return formConfig.dependencies != undefined;\n}\n\nexport async function readFormConfig(formJsonFile: string, logger: ILogger = new NullLogger()): Promise<FormConfig> {\n // tslint:disable-next-line no-unsafe-any\n const formConfig: FormConfigContent = await readJson(formJsonFile);\n return getFormConfigFromSource(formConfig, logger);\n}\n\nexport function getFormConfigFromSource(formConfig: FormConfigContent, logger: ILogger): FormConfig {\n // tslint:disable-next-line no-unsafe-any\n if (\n formConfig.dependencies?.generator != undefined &&\n !isValidSemVerVersionRange(formConfig.dependencies.generator)\n ) {\n throw new Error(`${formConfig.dependencies.generator} is not valid version format`);\n }\n\n if (formConfig.dependencies?.engine != undefined && !isValidSemVerVersionRange(formConfig.dependencies.engine)) {\n throw new Error(`${formConfig.dependencies.engine} is not valid version format`);\n }\n\n const settings = {\n useServerSideFLangNormalization: false,\n ...pickBy(formConfig.settings ?? {}, x => x !== undefined),\n };\n\n return {\n themes: formConfig.themes,\n build: formConfig.build || \"manual\",\n mode: formConfig.mode ?? \"normal-build\",\n settings: settings,\n dependencies:\n formConfig.dependencies != undefined\n ? {\n generator: formConfig.dependencies.generator,\n engine: formConfig.dependencies.engine,\n }\n : undefined,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ResolveFormInfo.js","names":["_fsExtra","require","_lodash","_FsUtils","_StaticLogger","_FormPathUtils","_PublishedVersionUtils","_Version","FormBuildMode","exports","resolveFormInfo","formJsonFile","pathToForm","_engineDirectory","logger","getLogger","upgradeFormJson","useLastStableVersion","usePrereleaseVersion","nightly","_formConfig$dependenc","_formConfig$dependenc2","formConfig","readFormConfig","undefined","Error","dependencies","engine","getLastStableEngineVersion","generator","getLastStableGeneratorVersion","log","writeFileAsync","JSON","stringify","prereleaseVersionFormJson","getPrereleaseVersionFormJson","generatorVersion","parseCandyVersionSpec","engineVersion","type","preId","themes","mode","NoEditor","CopyLegacyPrebuiltResources","NormalBuild","formName","extractGfvFromFormPath","formSourcesPath","isNewFormJsonFormat","readJson","NullLogger","getFormConfigFromSource","_formConfig$dependenc3","_formConfig$dependenc4","_formConfig$settings","_formConfig$mode","isValidSemVerVersionRange","settings","useServerSideFLangNormalization","pickBy","x","build"],"sources":["../../../../src/BuildTasks/ResolveFormInfo.ts"],"sourcesContent":["import { readJson } from \"fs-extra\";\nimport { pickBy } from \"lodash\";\n\nimport { writeFileAsync } from \"../Commons/FsUtils\";\nimport { ILogger } from \"../Commons/Logging/ILogger\";\nimport { getLogger, NullLogger } from \"../Commons/Logging/StaticLogger\";\nimport { extractGfvFromFormPath } from \"../../../Common/FormPathUtils\";\n\nimport {\n getLastStableEngineVersion,\n getLastStableGeneratorVersion,\n getPrereleaseVersionFormJson,\n} from \"./PublishedVersionUtils\";\nimport { CandyVersionSpec, isValidSemVerVersionRange, parseCandyVersionSpec } from \"./Version\";\n\nexport enum FormBuildMode {\n NormalBuild,\n NoEditor,\n CopyLegacyPrebuiltResources,\n}\n\nexport interface FormInfo {\n themes?: string[];\n mode: FormBuildMode;\n formName: string;\n formSourcesPath: string;\n generatorVersion: undefined | CandyVersionSpec;\n engineVersion: undefined | CandyVersionSpec;\n}\n\nexport interface FormConfigContent {\n themes?: string[];\n build?: \"ci\" | \"manual\";\n mode?: \"no-editor\" | \"copy-legacy-prebuilt-resources\";\n dependencies?: {\n generator?: string;\n engine?: string;\n };\n settings?: {\n useServerSideFLangNormalization?: boolean;\n autoCalculationCalculatorImpl?: \"calculator2\";\n disableFlangRulesForEnableAutoFieldFeature?: boolean;\n disableFlangRulesForFormulaAndInitNormalizer?: boolean;\n };\n}\n\ninterface FormConfig {\n themes?: string[];\n build?: \"ci\" | \"manual\";\n mode?: \"no-editor\" | \"copy-legacy-prebuilt-resources\" | \"normal-build\";\n dependencies?: {\n generator: undefined | string;\n engine: undefined | string;\n };\n settings: {\n useServerSideFLangNormalization: boolean;\n autoCalculationCalculatorImpl?: \"calculator2\" | \"default\";\n disableFlangRulesForEnableAutoFieldFeature?: boolean;\n disableFlangRulesForFormulaAndInitNormalizer?: boolean;\n };\n}\n\nexport async function resolveFormInfo(\n formJsonFile: string,\n pathToForm: string,\n _engineDirectory: undefined | string,\n logger: ILogger = getLogger(),\n upgradeFormJson: boolean = false,\n useLastStableVersion: boolean = false,\n usePrereleaseVersion?: string,\n nightly: boolean = false\n): Promise<FormInfo> {\n const formConfig = await readFormConfig(formJsonFile, logger);\n if (useLastStableVersion && usePrereleaseVersion != undefined) {\n throw new Error(\"Необходимо использовать либо флаг useLastStableVersion либо usePrereleaseVersion\");\n }\n if (useLastStableVersion) {\n formConfig.dependencies = {\n engine: await getLastStableEngineVersion(),\n generator: await getLastStableGeneratorVersion(),\n };\n logger.log(`Updated to last stable version ${formConfig.dependencies.engine}`);\n await writeFileAsync(formJsonFile, JSON.stringify(formConfig, undefined, \" \"), \"utf8\");\n }\n if (usePrereleaseVersion != undefined) {\n const prereleaseVersionFormJson = await getPrereleaseVersionFormJson(usePrereleaseVersion);\n if (prereleaseVersionFormJson != undefined) {\n formConfig.dependencies = {\n engine: prereleaseVersionFormJson,\n generator: prereleaseVersionFormJson,\n };\n logger.log(`Updated to last prerelease version ${formConfig.dependencies.engine}`);\n }\n await writeFileAsync(formJsonFile, JSON.stringify(formConfig, undefined, \" \"), \"utf8\");\n }\n let generatorVersion =\n formConfig.dependencies?.generator != undefined\n ? parseCandyVersionSpec(formConfig.dependencies.generator)\n : undefined;\n let engineVersion =\n formConfig.dependencies?.engine != undefined\n ? parseCandyVersionSpec(formConfig.dependencies.engine)\n : undefined;\n if (nightly) {\n generatorVersion = { type: \"pre\", preId: \"nightly\" };\n engineVersion = { type: \"pre\", preId: \"nightly\" };\n }\n if (upgradeFormJson) {\n await writeFileAsync(formJsonFile, JSON.stringify(formConfig, undefined, \" \"), \"utf8\");\n }\n return {\n themes: formConfig.themes,\n mode:\n formConfig.mode === \"no-editor\"\n ? FormBuildMode.NoEditor\n : formConfig.mode === \"copy-legacy-prebuilt-resources\"\n ? FormBuildMode.CopyLegacyPrebuiltResources\n : FormBuildMode.NormalBuild,\n formName: extractGfvFromFormPath(pathToForm),\n formSourcesPath: pathToForm,\n generatorVersion: generatorVersion,\n engineVersion: engineVersion,\n };\n}\n\nexport async function isNewFormJsonFormat(formJsonFile: string): Promise<boolean> {\n const formConfig: FormConfigContent = await readJson(formJsonFile);\n return formConfig.dependencies != undefined;\n}\n\nexport async function readFormConfig(formJsonFile: string, logger: ILogger = new NullLogger()): Promise<FormConfig> {\n const formConfig: FormConfigContent = await readJson(formJsonFile);\n return getFormConfigFromSource(formConfig, logger);\n}\n\nexport function getFormConfigFromSource(formConfig: FormConfigContent, logger: ILogger): FormConfig {\n if (\n formConfig.dependencies?.generator != undefined &&\n !isValidSemVerVersionRange(formConfig.dependencies.generator)\n ) {\n throw new Error(`${formConfig.dependencies.generator} is not valid version format`);\n }\n\n if (formConfig.dependencies?.engine != undefined && !isValidSemVerVersionRange(formConfig.dependencies.engine)) {\n throw new Error(`${formConfig.dependencies.engine} is not valid version format`);\n }\n\n const settings = {\n useServerSideFLangNormalization: false,\n ...pickBy(formConfig.settings ?? {}, x => x !== undefined),\n };\n\n return {\n themes: formConfig.themes,\n build: formConfig.build || \"manual\",\n mode: formConfig.mode ?? \"normal-build\",\n settings: settings,\n dependencies:\n formConfig.dependencies != undefined\n ? {\n generator: formConfig.dependencies.generator,\n engine: formConfig.dependencies.engine,\n }\n : undefined,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -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 \"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":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,aAAA,GAAAP,OAAA;AACA,IAAAQ,kBAAA,GAAAR,OAAA;AACA,IAAAS,6BAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AACA,IAAAW,qBAAA,GAAAX,OAAA;AAKA,IAAAY,sBAAA,GAAAZ,OAAA;AACA,IAAAa,gBAAA,GAAAb,OAAA;AACA,IAAAc,cAAA,GAAAd,OAAA;AAEA,IAAAe,eAAA,GAAAf,OAAA;AAEA,IAAAgB,aAAA,GAAAhB,OAAA;AACA,IAAAiB,QAAA,GAAAjB,OAAA;AACA,IAAAkB,oBAAA,GAAAlB,OAAA;AACA,IAAAmB,YAAA,GAAAnB,OAAA;AACA,IAAAoB,kBAAA,GAAApB,OAAA;AACA,IAAAqB,YAAA,GAAArB,OAAA;AACA,IAAAsB,yBAAA,GAAAtB,OAAA;AAGA,IAAAuB,0BAAA,GAAAvB,OAAA;AACA,IAAAwB,cAAA,GAAAxB,OAAA;AACA,IAAAyB,qBAAA,GAAAzB,OAAA;AACA,IAAA0B,8BAAA,GAAA1B,OAAA;AAIA,SAAS2B,mBAAmBA,CAACC,eAAgC,EAAU;EACnE,IAAIA,eAAe,CAACC,IAAI,KAAK,oBAAoB,EAAE;IAC/C,OAAOD,eAAe,CAACE,OAAO;EAClC,CAAC,MAAM;IACH,MAAM,IAAIC,KAAK,CAAC,qBAAqB,CAAC;EAC1C;AACJ;AAEO,eAAeC,aAAaA,CAC/BC,OAAkC,EAClCC,OAA0B,EAC1BC,aAAqB,EACrBC,kBAA0B,EAC1BC,eAAuB,EACvBC,qBAA6B,EAC7BC,mBAA2B,EACd;EACb,MAAMC,YAAY,GAAGN,OAAO;EAE5B,MAAMO,cAAc,GAAGC,gBAAO,CAACC,KAAK,CAACC,aAAI,CAACC,IAAI,CAACV,aAAa,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,CAACW,EAAE,CAACC,CAAC,IACtFC,cAAM,CAACC,eAAe,CAAChB,OAAO,CAACiB,MAAM,CAACC,UAAU,CAAC,WAAW,CAAC,EAAEJ,CAAC,EAAEH,aAAI,CAACC,IAAI,CAACT,kBAAkB,EAAE,WAAW,CAAC,CAChH,CAAC;EAED,MAAMgB,yBAAS,CAACC,sCAAsC,CAACnB,OAAO,CAACoB,SAAS,EAAEnB,aAAa,CAAC;EACxF,MAAMoB,SAAS,GAAG,MAAMH,yBAAS,CAACI,eAAe,CAACtB,OAAO,CAACoB,SAAS,EAAEnB,aAAa,CAAC;EAEnF,MAAMsB,iCAAiC,GAAGf,gBAAO,CAACC,KAAK,CACnDC,aAAI,CAACC,IAAI,CAACa,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,sCAAsC,CAAC,EACxE,MAAM,EACN,UACJ,CAAC,CAACZ,EAAE,CAACC,CAAC,IACFC,cAAM,CAACC,eAAe,CAAC,IAAAU,uBAAS,EAAC,CAAC,CAACR,UAAU,CAAC,SAAS,CAAC,EAAEJ,CAAC,EAAEH,aAAI,CAACC,IAAI,CAACT,kBAAkB,EAAE,QAAQ,EAAE,SAAS,CAAC,CACnH,CAAC;;EAED;AACJ;AACA;EACI,IAAIwB,gCAAgF,GAAGlB,gBAAO,CAACmB,KAAK,CAAC,CAAC;EACtG,IAAI3B,OAAO,CAACoB,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;IAC9BM,gCAAgC,GAAGlB,gBAAO,CAACC,KAAK,CAACC,aAAI,CAACC,IAAI,CAACV,aAAa,EAAE,oBAAoB,CAAC,EAAE,QAAQ,CAAC,CAACW,EAAE,CACzGC,CAAC,IACGC,cAAM,CAACC,eAAe,CAClB,IAAAU,uBAAS,EAAC,CAAC,CAACR,UAAU,CAAC,qBAAqB,CAAC,EAC7CJ,CAAC,EACDH,aAAI,CAACC,IAAI,CAACT,kBAAkB,EAAE,YAAY,CAC9C,CACR,CAAC;EACL;EAEA,MAAM0B,aAAa,GAAG,IAAIC,GAAG,CAAS,CAAC;EAEvC,MAAMC,cAAc,GAAGpB,aAAI,CAACC,IAAI,CAACV,aAAa,EAAE,IAAI,CAAC;EACrD,MAAM8B,UAAU,GAAG,IAAIC,6BAAU,CAAC/B,aAAa,EAAED,OAAO,CAACiC,cAAc,CAAC;EACxE,MAAMC,eAAe,GAAG1B,gBAAO,CAAC2B,oBAAoB,CAChDd,SAAS,CAACe,GAAG,CAACvB,CAAC,IAAIH,aAAI,CAAC2B,QAAQ,CAACP,cAAc,EAAEjB,CAAC,CAACyB,QAAQ,CAAC,CAChE,CAAC,CAACC,qBAAqB,CACnB1B,CAAC,IAAIA,CAAC,EACNA,CAAC,IAAIA,CAAC,EACN,MAAM2B,gBAAgB,IAAI;IACtB,MAAMC,GAAG,GAAG,IAAAC,qCAAsB,EAACF,gBAAgB,CAAC;IACpD,MAAMG,WAAW,GAAGjC,aAAI,CAACC,IAAI,CAACmB,cAAc,EAAEU,gBAAgB,CAAC;IAE/D,IAAI,EAAE,MAAM,IAAAI,mBAAU,EAAClC,aAAI,CAACC,IAAI,CAACgC,WAAW,EAAEE,0CAAoB,CAACC,gBAAgB,CAAC,CAAC,CAAC,EAAE;MACpF/C,OAAO,CAACiB,MAAM,CAAC+B,OAAO,CAClB,QAAQN,GAAG,oFACf,CAAC;MACD,OAAOjC,gBAAO,CAACwC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B;IACA,MAAMC,kBAAkB,GAAGvC,aAAI,CAACC,IAAI,CAACgC,WAAW,EAAE,SAAS,CAAC;IAC5D,MAAMO,aAAa,GAAG,IAAI,IAAAC,oDAAyB,EAACF,kBAAkB,EAAER,GAAG,CAAC,EAAE;IAE9E,OAAOjC,gBAAO,CAAC4C,IAAI,CAAC1C,aAAI,CAACC,IAAI,CAACgC,WAAW,EAAEE,0CAAoB,CAACC,gBAAgB,CAAC,CAAC,CAC7EO,SAAS,CAACC,YAAY,IACnB,IAAAC,gCAAe,EACXD,YAAY,EACZX,WAAW,EACXxC,eAAe,EACfJ,OAAO,CAACiB,MAAM,CAACC,UAAU,CAAC,QAAQwB,GAAG,EAAE,CAAC,EACxCzC,OAAO,CAACwD,eAAe,EACvBxD,OAAO,CAACyD,oBAAoB,EAC5BzD,OAAO,CAAC0D,oBACZ,CACJ,CAAC,CACAL,SAAS,CAAC,MAAMM,EAAE,IAAI;MACnB,IAAIA,EAAE,CAACC,IAAI,KAAKC,8BAAa,CAACC,WAAW,EAAE;QACvC,IAAIH,EAAE,CAACI,gBAAgB,IAAIC,SAAS,EAAE;UAClC,MAAM,IAAInE,KAAK,CAAC,iCAAiC,CAAC;QACtD;QACA,IAAI8D,EAAE,CAACM,aAAa,IAAID,SAAS,EAAE;UAC/B,MAAM,IAAInE,KAAK,CAAC,8BAA8B,CAAC;QACnD;QACA,OAAO;UACH,GAAG8D,EAAE;UACLjE,eAAe,EAAE,MAAM,IAAAwE,8CAAuB,EAC1CP,EAAE,CAACI,gBAAgB,EACnBhE,OAAO,CAACiB,MAAM,CAACC,UAAU,CAACwB,GAAG,CACjC,CAAC;UACD0B,YAAY,EAAE,MAAM,IAAAC,2CAAoB,EAACT,EAAE,CAACM,aAAa,EAAElE,OAAO,CAACiB,MAAM,CAACC,UAAU,CAACwB,GAAG,CAAC;QAC7F,CAAC;MACL,CAAC,MAAM;QACH,OAAO;UACH,GAAGkB,EAAE;UACLjE,eAAe,EAAEsE,SAAS;UAC1BG,YAAY,EAAEH;QAClB,CAAC;MACL;IACJ,CAAC,CAAC,CACDK,MAAM,CACH,MAAMV,EAAE,IAAI;MACR,IAAIA,EAAE,CAACjE,eAAe,IAAIsE,SAAS,EAAE;QACjC,OAAO,IAAIM,wCAAmB,CAAC,IAAIC,oCAAiB,CAAC,CAAC,CAAC;MAC3D,CAAC,MAAM;QACH,OAAO,IAAAC,sCAAgB,EACnBb,EAAE,CAACjE,eAAe,EAClBU,qBAAqB,EACrBJ,OAAO,CAACyE,mBACZ,CAAC;MACL;IACJ,CAAC,EACD,OAAOd,EAAE,EAAEe,CAAC,MAAM;MAAE,GAAGf,EAAE;MAAEgB,SAAS,EAAED;IAAE,CAAC,CAAC,EAC1C,MAAMf,EAAE,IACJA,EAAE,CAACjE,eAAe,IAAIsE,SAAS,GACzB,IAAAY,2CAAqB,EAACjB,EAAE,CAACjE,eAAe,CAAC,GACzC,mBACd,CAAC,CACA2E,MAAM,CACH,MAAMV,EAAE,IAAI;MACR,IAAIA,EAAE,CAACQ,YAAY,KAAKH,SAAS,EAAE;QAC/B,OAAO,IAAIM,wCAAmB,CAAC,YAAY,CAAC;MAChD;MACA,OAAO,IAAAO,gCAAa,EAAClB,EAAE,CAACQ,YAAY,EAAE/D,qBAAqB,EAAEJ,OAAO,CAACyE,mBAAmB,CAAC,CAAC7D,EAAE,CACxF,MAAMC,CAAC,IAAI;QACP,IAAI,CAACe,aAAa,CAACkD,GAAG,CAAC,IAAAC,gCAAkB,EAACpB,EAAE,CAACQ,YAAY,CAAC,CAAC,EAAE;UACzD,MAAMrD,cAAM,CAACC,eAAe,CACxB,IAAAU,uBAAS,EAAC,CAAC,CAACR,UAAU,CAAC,QAAQ,CAAC,EAChCJ,CAAC,EACDH,aAAI,CAACC,IAAI,CAACT,kBAAkB,EAAE,QAAQ,CAC1C,CAAC;UACD0B,aAAa,CAACoD,GAAG,CAAC,IAAAD,gCAAkB,EAACpB,EAAE,CAACQ,YAAY,CAAC,CAAC;QAC1D;MACJ,CACJ,CAAC;IACL,CAAC,EACD,MAAMR,EAAE,IAAIA,EAAE,EACd,MAAMA,EAAE,IAAKA,EAAE,CAACQ,YAAY,IAAIH,SAAS,GAAG,IAAAe,gCAAkB,EAACpB,EAAE,CAACQ,YAAY,CAAC,GAAG,YACtF,CAAC,CACAE,MAAM,CAAC,MAAMV,EAAE,IACZnD,gBAAO,CAACC,KAAK,CACTkD,EAAE,CAACsB,eAAe,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,mBACJ,CACJ,CAAC,CACA5B,SAAS,CAAC,MAAMM,EAAE,IAAI;MACnB,IAAIuB,gBAAoC;MACxC,IAAIvB,EAAE,CAACC,IAAI,KAAKC,8BAAa,CAACC,WAAW,EAAE;QACvC,OAAO;UACH,GAAGH,EAAE;UACLuB,gBAAgB,EAAElB;QACtB,CAAC;MACL;MACA,IAAI,MAAML,EAAE,CAACgB,SAAS,CAACQ,8BAA8B,CAAC,CAAC,EAAE;QACrDD,gBAAgB,GAAG,MAAMvB,EAAE,CAACgB,SAAS,CAACS,sBAAsB,CACxDzC,WAAW,EACX1C,aAAa,EACbI,mBACJ,CAAC;MACL;MACA,OAAO;QACH,GAAGsD,EAAE;QACLuB,gBAAgB,EAAEA;MACtB,CAAC;IACL,CAAC,CAAC,CACD7B,SAAS,CAAC,MAAMM,EAAE,IAAI;MACnB,IAAI0B,eAAwB,GAAG,KAAK;MACpC,IAAI1B,EAAE,CAACuB,gBAAgB,IAAIlB,SAAS,IAAIL,EAAE,CAACjE,eAAe,IAAIsE,SAAS,EAAE;QACrEqB,eAAe,GAAG,MAAMtD,UAAU,CAACuD,MAAM,CAAC3B,EAAE,CAACjE,eAAe,EAAE+C,GAAG,EAAEkB,EAAE,CAACuB,gBAAgB,CAAC;MAC3F;MACA,OAAO;QACH,GAAGvB,EAAE;QACL0B,eAAe,EAAEA;MACrB,CAAC;IACL,CAAC,CAAC,CACDzE,EAAE,CAAC,MAAM+C,EAAE,IAAI;MAAA,IAAA4B,oBAAA;MACZ,IAAI5B,EAAE,CAACjE,eAAe,IAAIsE,SAAS,EAAE;QACjC,OAAOA,SAAS;MACpB;MACA,IAAIL,EAAE,CAAC0B,eAAe,EAAE;QACpBtF,OAAO,CAACiB,MAAM,CAACC,UAAU,CAAC,YAAYwB,GAAG,EAAE,CAAC,CAAC+C,GAAG,CAAC,+BAA+B,CAAC;QACjF,OAAOxB,SAAS;MACpB;MAEA,OAAO,IAAAyB,0BAAY,EACf9B,EAAE,CAACsB,eAAe,EAClBhF,aAAa,EACbI,mBAAmB,EACnBsD,EAAE,CAACgB,SAAS,EACZX,SAAS,EACT;QACI0B,oBAAoB,EAAE1F,OAAO,CAAC2F,6BAA6B;QAC3DC,aAAa,GAAAL,oBAAA,GAAE5B,EAAE,CAACuB,gBAAgB,cAAAK,oBAAA,cAAAA,oBAAA,GAAI;MAC1C,CACJ,CAAC;IACL,CAAC,CAAC,CACDlB,MAAM,CAAC,MAAMV,EAAE,IAAInD,gBAAO,CAACC,KAAK,CAACC,aAAI,CAACC,IAAI,CAACgC,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CACzE/B,EAAE,CAAC,MAAM+C,EAAE,IAAI;MAAA,IAAAkC,qBAAA,EAAAC,qBAAA;MACZ,IAAInC,EAAE,CAACjE,eAAe,IAAIsE,SAAS,EAAE;QACjC;MACJ;MACA,IAAIL,EAAE,CAACuB,gBAAgB,IAAIlB,SAAS,IAAIL,EAAE,CAAC0B,eAAe,EAAE;QACxDtF,OAAO,CAACiB,MAAM,CAACC,UAAU,CAAC,WAAWwB,GAAG,EAAE,CAAC,CAAC+C,GAAG,CAAC,gCAAgC,CAAC;QACjF,MAAMzD,UAAU,CAACgE,OAAO,CAACpC,EAAE,CAACjE,eAAe,EAAE+C,GAAG,EAAEkB,EAAE,CAACuB,gBAAgB,EAAEhF,kBAAkB,CAAC;QAC1F;MACJ;MACA,MAAM8F,iBAAiB,GACnBrC,EAAE,CAACuB,gBAAgB,IAAIlB,SAAS,GAC1B;QACIiC,QAAQ,EAAEtC,EAAE,CAACuB,gBAAgB;QAC7BnB,gBAAgB,EAAEtE,mBAAmB,CAACkE,EAAE,CAACjE,eAAe,CAAC;QACzD+C,GAAG,EAAEA,GAAG;QACRmB,IAAI,EAAE5D,OAAO,CAACiC,cAAc;QAC5BhC,aAAa,EAAEA;MACnB,CAAC,GACD+D,SAAS;MAEnB,MAAM,IAAAkC,wBAAW,EACbvC,EAAE,CAACwC,QAAQ,EACXxD,WAAW,EACXzC,kBAAkB,GAAA2F,qBAAA,GAClBlC,EAAE,CAACuB,gBAAgB,cAAAW,qBAAA,cAAAA,qBAAA,GACf,IAAAO,mBAAM,EACF,4FACJ,CAAC,EACL,KAAK,EACLpC,SAAS,EACThE,OAAO,CAAC4D,IAAI,KAAK,YAAY,EAC7BoC,iBACJ,CAAC;MAED,MAAM,IAAAK,4BAAa,EACfnG,kBAAkB,EAClBuC,GAAG,EACHkB,EAAE,CAACQ,YAAY,GAAA2B,qBAAA,GACfnC,EAAE,CAACuB,gBAAgB,cAAAY,qBAAA,cAAAA,qBAAA,GACf,IAAAM,mBAAM,EACF,4FACJ,CAAC,EACLzC,EAAE,CAAC2C,MAAM,EACTvE,UAAU,EACViE,iBACJ,CAAC;IACL,CAAC,CAAC,CACDpF,EAAE,CAAC,MAAM+C,EAAE,IAAI;MACZ,IAAIA,EAAE,CAACjE,eAAe,IAAIsE,SAAS,EAAE;QACjC;MACJ;MACA,MAAMgC,iBAAiB,GACnBrC,EAAE,CAACuB,gBAAgB,IAAIlB,SAAS,GAC1B;QACIiC,QAAQ,EAAEtC,EAAE,CAACuB,gBAAgB;QAC7BnB,gBAAgB,EAAEtE,mBAAmB,CAACkE,EAAE,CAACjE,eAAe,CAAC;QACzD+C,GAAG,EAAEA,GAAG;QACRmB,IAAI,EAAE5D,OAAO,CAACiC,cAAc;QAC5BhC,aAAa,EAAEA;MACnB,CAAC,GACD+D,SAAS;MACnB,MAAM,IAAAuC,0DAA4B,EAC9B5C,EAAE,CAACwC,QAAQ,EACXlG,aAAa,EACb0C,WAAW,EACXzC,kBAAkB,EAClB8D,SAAS,EACTjC,UAAU,EACViE,iBAAiB,EACjBrC,EAAE,CAAC0B,eACP,CAAC;MACD,MAAM,IAAAmB,kDAAwB,EAC1B7C,EAAE,CAACwC,QAAQ,EACXlG,aAAa,EACb0C,WAAW,EACXzC,kBAAkB,EAClB8D,SAAS,EACTjC,UAAU,EACViE,iBACJ,CAAC;MACD,MAAM,IAAAS,4DAA6B,EAC/B9C,EAAE,CAACwC,QAAQ,EACXlG,aAAa,EACb0C,WAAW,EACXzC,kBAAkB,EAClB8D,SAAS,EACTjC,UAAU,EACViE,iBACJ,CAAC;IACL,CAAC,CAAC,CACD3B,MAAM,CAAC,MAAMV,EAAE,IAAI;MAChB,IAAIA,EAAE,CAACC,IAAI,KAAKC,8BAAa,CAAC6C,2BAA2B,EAAE;QACvD,OAAOlG,gBAAO,CAACC,KAAK,CAACC,aAAI,CAACC,IAAI,CAACgD,EAAE,CAACsB,eAAe,EAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,CAACrE,EAAE,CAACC,CAAC,IAC5EC,cAAM,CAACC,eAAe,CAClB,IAAAU,uBAAS,EAAC,CAAC,CAACR,UAAU,CAAC,iBAAiB,CAAC,EACzCJ,CAAC,EACDH,aAAI,CAACC,IAAI,CAACT,kBAAkB,CAChC,CACJ,CAAC;MACL,CAAC,MAAM;QACH,OAAO,IAAIoE,wCAAmB,CAAC,EAAE,CAAC;MACtC;IACJ,CAAC,CAAC,CACDD,MAAM,CAAC,MAAMV,EAAE,IACZnD,gBAAO,CAACC,KAAK,CAACC,aAAI,CAACC,IAAI,CAACgD,EAAE,CAACsB,eAAe,EAAE,SAAS,CAAC,EAAE/B,aAAa,CAAC,CAACtC,EAAE,CAACC,CAAC,IACvEC,cAAM,CAACC,eAAe,CAClB,IAAAU,uBAAS,EAAC,CAAC,CAACR,UAAU,CAAC,SAAS,CAAC,EACjCJ,CAAC,EACDH,aAAI,CAACC,IAAI,CAACT,kBAAkB,EAAE,SAAS,CAC3C,CACJ,CACJ,CAAC,CACAmE,MAAM,CAAC,MAAMV,EAAE,IACZnD,gBAAO,CAACC,KAAK,CAACC,aAAI,CAACC,IAAI,CAACgD,EAAE,CAACsB,eAAe,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,CAACrE,EAAE,CAACC,CAAC,IAChEC,cAAM,CAACC,eAAe,CAClB,IAAAU,uBAAS,EAAC,CAAC,CAACR,UAAU,CAAC,YAAY,CAAC,EACpCJ,CAAC,EACDH,aAAI,CAACC,IAAI,CAACT,kBAAkB,EAAE,YAAY,CAC9C,CACJ,CACJ,CAAC,CACAmE,MAAM,CAAC,MAAMV,EAAE,IACZnD,gBAAO,CAACC,KAAK,CAACC,aAAI,CAACC,IAAI,CAACgD,EAAE,CAACsB,eAAe,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,CAACrE,EAAE,CAACC,CAAC,IAC7DC,cAAM,CAACC,eAAe,CAClB,IAAAU,uBAAS,EAAC,CAAC,CAACR,UAAU,CAAC,SAAS,CAAC,EACjCJ,CAAC,EACDH,aAAI,CAACC,IAAI,CAACT,kBAAkB,EAAE,SAAS,CAC3C,CACJ,CACJ,CAAC,CACAmE,MAAM,CAAC,MAAMV,EAAE,IAAI;MAChB,MAAMgD,QAAQ,GAAIC,OAAe,IAC7BA,OAAO,CAACC,OAAO,CAAC,yBAAyB,EAAE,mBAAmB,CAAC;MACnE,OAAOrG,gBAAO,CAACC,KAAK,CAACC,aAAI,CAACC,IAAI,CAACgD,EAAE,CAACsB,eAAe,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,CAACrE,EAAE,CAACC,CAAC,IACvEC,cAAM,CAACgG,kBAAkB,CACrB,IAAArF,uBAAS,EAAC,CAAC,CAACR,UAAU,CAAC,kBAAkB,CAAC,EAC1CJ,CAAC,EACDH,aAAI,CAACC,IAAI,CAACT,kBAAkB,EAAE,YAAY,CAAC,EAC3C,WAAW,EACXyG,QACJ,CACJ,CAAC;IACL,CAAC,CAAC,CACDtC,MAAM,CAAC,MAAMV,EAAE,IACZnD,gBAAO,CAACC,KAAK,CAACC,aAAI,CAACC,IAAI,CAACgD,EAAE,CAACsB,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,EAAE,GAAG,CAAC,CAACrE,EAAE,CAACC,CAAC,IAC/EC,cAAM,CAACC,eAAe,CAClB,IAAAU,uBAAS,EAAC,CAAC,CAACR,UAAU,CAAC,gBAAgB,CAAC,EACxCJ,CAAC,EACDH,aAAI,CAACC,IAAI,CAACT,kBAAkB,EAAE,YAAY,EAAE,eAAe,CAC/D,CACJ,CACJ,CAAC,CACAmE,MAAM,CAAC,MAAMV,EAAE,IACZnD,gBAAO,CAACC,KAAK,CAACC,aAAI,CAACC,IAAI,CAACgD,EAAE,CAACsB,eAAe,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAACrE,EAAE,CAACC,CAAC,IACnEC,cAAM,CAACC,eAAe,CAClB,IAAAU,uBAAS,EAAC,CAAC,CAACR,UAAU,CAAC,WAAW,CAAC,EACnCJ,CAAC,EACDH,aAAI,CAACC,IAAI,CAACT,kBAAkB,EAAE,WAAW,CAC7C,CACJ,CACJ,CAAC,CACAmE,MAAM,CAAC,MAAMV,EAAE,IACZnD,gBAAO,CAACC,KAAK,CAACC,aAAI,CAACC,IAAI,CAACgD,EAAE,CAACsB,eAAe,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAACrE,EAAE,CAACC,CAAC,IAChEC,cAAM,CAACC,eAAe,CAClB,IAAAU,uBAAS,EAAC,CAAC,CAACR,UAAU,CAAC,OAAO,CAAC,EAC/BJ,CAAC,EACDH,aAAI,CAACC,IAAI,CAACT,kBAAkB,EAAE,OAAO,CACzC,CACJ,CACJ,CAAC,CACAmE,MAAM,CAAC,MAAMV,EAAE,IACZnD,gBAAO,CAACC,KAAK,CAACC,aAAI,CAACC,IAAI,CAACgD,EAAE,CAACsB,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAACrE,EAAE,CAACC,CAAC,IAC7DC,cAAM,CAACC,eAAe,CAAC,IAAAU,uBAAS,EAAC,CAAC,CAACR,UAAU,CAAC,KAAK,CAAC,EAAEJ,CAAC,EAAEH,aAAI,CAACC,IAAI,CAACT,kBAAkB,EAAE,KAAK,CAAC,CACjG,CACJ,CAAC,CACAmE,MAAM,CAAC,MAAMV,EAAE,IACZnD,gBAAO,CAACC,KAAK,CAACC,aAAI,CAACC,IAAI,CAACgD,EAAE,CAACsB,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAACrE,EAAE,CAACC,CAAC,IAC/DC,cAAM,CAACC,eAAe,CAClB,IAAAU,uBAAS,EAAC,CAAC,CAACR,UAAU,CAAC,OAAO,CAAC,EAC/BJ,CAAC,EACDH,aAAI,CAACC,IAAI,CAACT,kBAAkB,EAAE,OAAO,CACzC,CACJ,CACJ,CAAC,CACAU,EAAE,CAAC,MAAM+C,EAAE,IAAI;MACZ,IAAIrD,YAAY,CAACyG,KAAK,EAAE;QACpBC,qBAAQ,CAACC,MAAM,CAAC;UACZC,KAAK,EAAE,GAAGvD,EAAE,CAACwC,QAAQ,oBAAoB;UACzCgB,OAAO,EAAE,WACLxD,EAAE,CAACQ,YAAY,IAAIH,SAAS,GACtB,YAAY,GACZL,EAAE,CAACQ,YAAY,CAACxE,IAAI,KAAK,oBAAoB,GAC3C,OAAO,GACPgE,EAAE,CAACQ,YAAY,CAACvE,OAAO;QAEvC,CAAC,CAAC;MACN;IACJ,CAAC,CAAC;EACV,CACJ,CAAC;EAED,IAAIU,YAAY,CAACyG,KAAK,EAAE;IACpB,IAAI/G,OAAO,CAACoH,KAAK,EAAE;MACf,MAAMC,oBAAoB,CAACnH,kBAAkB,EAAEH,OAAO,CAACiB,MAAM,CAAC;IAClE;IACA,MAAMsG,YAAY,GAAG,MAAM/G,cAAc,CAACgH,OAAO,CAAC,CAAC;IACnD,MAAMC,YAAY,GAAG,MAAMtF,eAAe,CAACqF,OAAO,CAAC,CAAC;IACpD,MAAME,YAAY,GAAG,MAAMlG,iCAAiC,CAACgG,OAAO,CAAC,CAAC;IACtE,MAAMG,YAAY,GAAG,MAAMhG,gCAAgC,CAAC6F,OAAO,CAAC,CAAC;IACrE,MAAMxH,OAAO,CAAC4H,WAAW,CAAC,CAAC;IAC3B,IAAIF,YAAY,IAAIzD,SAAS,EAAE;MAC3B,MAAMyD,YAAY,CAAC,CAAC;IACxB;IACA,IAAIC,YAAY,IAAI1D,SAAS,EAAE;MAC3B,MAAM0D,YAAY,CAAC,CAAC;IACxB;IACA,MAAMF,YAAY,CAAC,CAAC;IACpB,MAAMF,YAAY,CAAC,CAAC;EACxB,CAAC,MAAM;IACH,MAAMM,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;IAC5B,IAAI;MACA,IAAI9H,OAAO,CAACoH,KAAK,EAAE;QACf,MAAMC,oBAAoB,CAACnH,kBAAkB,EAAEH,OAAO,CAACiB,MAAM,CAAC;MAClE;MACA,MAAMT,cAAc,CAACwH,YAAY;MACjC,MAAMrG,gCAAgC,CAACqG,YAAY;MACnD,MAAM7F,eAAe,CAAC6F,YAAY;MAClC,MAAMxG,iCAAiC,CAACwG,YAAY;MACpD;MACAC,OAAO,CAACxC,GAAG,CAACyC,cAAK,CAACC,WAAW,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC,SAAS;MACN,MAAMC,SAAS,GAAGN,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,SAAS;MACxC;MACAI,OAAO,CAACxC,GAAG,CAAC,eAAe,IAAA4C,sBAAS,EAACD,SAAS,CAAC,EAAE,CAAC;IACtD;EACJ;AACJ;AAEA,eAAed,oBAAoBA,CAACnH,kBAA0B,EAAEc,MAAe,EAAiB;EAC5FA,MAAM,CAACwE,GAAG,CAAC,+BAA+B,GAAGtF,kBAAkB,CAAC;EAChE,MAAM,IAAAmI,iBAAQ,EAACnI,kBAAkB,CAAC;EAClCc,MAAM,CAACwE,GAAG,CAAC,0BAA0B,CAAC;AAC1C","ignoreList":[]}
|
|
@@ -53,11 +53,15 @@ let BuildServerBackendResourcesUpdatesController = exports.BuildServerBackendRes
|
|
|
53
53
|
this.lastUpdateTime = Date.now();
|
|
54
54
|
}
|
|
55
55
|
async beforeStart() {
|
|
56
|
-
this.farmWatchers = this.allFarmConfig.map(config =>
|
|
56
|
+
this.farmWatchers = this.allFarmConfig.map(config =>
|
|
57
|
+
// @ts-ignore
|
|
58
|
+
(0, _fs.watch)(config.farmDirectory, {
|
|
57
59
|
recursive: true
|
|
58
60
|
}, _lodash.default.debounce((x, y) => this.handleFarmFSUpdate(x, y, config.farmDirectory), 200)));
|
|
59
61
|
this.formWatchers = this.allFarmConfig.map(config => {
|
|
60
62
|
const formRootDirectory = _path.default.normalize(_path.default.join(config.farmDirectory, "..", _WellKnownDirectories.WellKnownDirectories.FormsDirectory));
|
|
63
|
+
|
|
64
|
+
// @ts-ignore
|
|
61
65
|
return (0, _fs.watch)(formRootDirectory, {
|
|
62
66
|
recursive: true
|
|
63
67
|
}, _lodash.default.debounce((x, y) => this.handleFormFSUpdate(x, y, formRootDirectory), 200));
|
|
@@ -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 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 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}/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":[]}
|
|
@@ -29,7 +29,6 @@ async function runFormCompilationViaWebpackDevServer(gfv, farmDirectory, formPat
|
|
|
29
29
|
singleCompiler.inputFileSystem = fileSystem;
|
|
30
30
|
singleCompiler.watchFileSystem = fileSystem;
|
|
31
31
|
}
|
|
32
|
-
// tslint:enable no-any no-unsafe-any
|
|
33
32
|
|
|
34
33
|
// @ts-ignore
|
|
35
34
|
const server = new _webpackDevServer.default({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunFormCompilationViaWebpackDevServer.js","names":["_webpack","_interopRequireDefault","require","_webpackDevServer","_AsyncUtils","_createFormWebpackConfiguration","runFormCompilationViaWebpackDevServer","gfv","farmDirectory","formPath","resourcesDirectory","resourcesHash","buildDebugOnly","fileSystem","port","configs","createConfig","modes","isLocalDev","resourcesDirectoryPath","compiler","webpack","inputFileSystem","compilers","setInnerInputFileSystem","singleCompiler","watchFileSystem","server","WebpackDevServer","allowedHosts","type","options","cert","resolve","key","client","overlay","webSocketURL","start","delay"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.ts"],"sourcesContent":["import webpack from \"webpack\";\nimport WebpackDevServer from \"webpack-dev-server\";\n\nimport { delay } from \"../../../../../../Common/AsyncUtils\";\nimport { createConfig } from \"../../../../FormWebpackConfiguration/createFormWebpackConfiguration\";\n\nimport { WebpackHybridFileSystem } from \"./WebpackInMemoryUtils/WebpackHybridFileSystem\";\n\nexport async function runFormCompilationViaWebpackDevServer(\n gfv: string,\n farmDirectory: string,\n formPath: string,\n resourcesDirectory: string,\n resourcesHash: string,\n buildDebugOnly: boolean,\n fileSystem: WebpackHybridFileSystem,\n port: number\n): Promise<void> {\n const configs = await createConfig({\n gfv: gfv,\n resourcesHash: resourcesHash,\n formPath: formPath,\n modes: buildDebugOnly ? [\"development\"] : [\"production\", \"development\"],\n isLocalDev: true,\n resourcesDirectoryPath: resourcesDirectory,\n });\n\n const compiler = webpack(configs);\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const inputFileSystem = compiler.compilers[0].inputFileSystem as any;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n fileSystem.setInnerInputFileSystem(inputFileSystem);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n for (const singleCompiler of compiler.compilers as any[]) {\n singleCompiler.inputFileSystem = fileSystem;\n singleCompiler.watchFileSystem = fileSystem;\n }\n
|
|
1
|
+
{"version":3,"file":"RunFormCompilationViaWebpackDevServer.js","names":["_webpack","_interopRequireDefault","require","_webpackDevServer","_AsyncUtils","_createFormWebpackConfiguration","runFormCompilationViaWebpackDevServer","gfv","farmDirectory","formPath","resourcesDirectory","resourcesHash","buildDebugOnly","fileSystem","port","configs","createConfig","modes","isLocalDev","resourcesDirectoryPath","compiler","webpack","inputFileSystem","compilers","setInnerInputFileSystem","singleCompiler","watchFileSystem","server","WebpackDevServer","allowedHosts","type","options","cert","resolve","key","client","overlay","webSocketURL","start","delay"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.ts"],"sourcesContent":["import webpack from \"webpack\";\nimport WebpackDevServer from \"webpack-dev-server\";\n\nimport { delay } from \"../../../../../../Common/AsyncUtils\";\nimport { createConfig } from \"../../../../FormWebpackConfiguration/createFormWebpackConfiguration\";\n\nimport { WebpackHybridFileSystem } from \"./WebpackInMemoryUtils/WebpackHybridFileSystem\";\n\nexport async function runFormCompilationViaWebpackDevServer(\n gfv: string,\n farmDirectory: string,\n formPath: string,\n resourcesDirectory: string,\n resourcesHash: string,\n buildDebugOnly: boolean,\n fileSystem: WebpackHybridFileSystem,\n port: number\n): Promise<void> {\n const configs = await createConfig({\n gfv: gfv,\n resourcesHash: resourcesHash,\n formPath: formPath,\n modes: buildDebugOnly ? [\"development\"] : [\"production\", \"development\"],\n isLocalDev: true,\n resourcesDirectoryPath: resourcesDirectory,\n });\n\n const compiler = webpack(configs);\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const inputFileSystem = compiler.compilers[0].inputFileSystem as any;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n fileSystem.setInnerInputFileSystem(inputFileSystem);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n for (const singleCompiler of compiler.compilers as any[]) {\n singleCompiler.inputFileSystem = fileSystem;\n singleCompiler.watchFileSystem = fileSystem;\n }\n\n // @ts-ignore\n const server = new WebpackDevServer(\n {\n port: port,\n allowedHosts: \"all\",\n server: {\n type: \"https\",\n options: {\n cert: require.resolve(\"../../../../Keys/localhost.pem\"),\n key: require.resolve(\"../../../../Keys/localhost-key.pem\"),\n },\n },\n client: {\n overlay: false,\n webSocketURL: `wss://localhost.testkontur.ru:${port}/ws`,\n },\n },\n compiler\n );\n await server.start();\n await delay(1000);\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,+BAAA,GAAAH,OAAA;AAIO,eAAeI,qCAAqCA,CACvDC,GAAW,EACXC,aAAqB,EACrBC,QAAgB,EAChBC,kBAA0B,EAC1BC,aAAqB,EACrBC,cAAuB,EACvBC,UAAmC,EACnCC,IAAY,EACC;EACb,MAAMC,OAAO,GAAG,MAAM,IAAAC,4CAAY,EAAC;IAC/BT,GAAG,EAAEA,GAAG;IACRI,aAAa,EAAEA,aAAa;IAC5BF,QAAQ,EAAEA,QAAQ;IAClBQ,KAAK,EAAEL,cAAc,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC;IACvEM,UAAU,EAAE,IAAI;IAChBC,sBAAsB,EAAET;EAC5B,CAAC,CAAC;EAEF,MAAMU,QAAQ,GAAG,IAAAC,gBAAO,EAACN,OAAO,CAAC;EACjC;EACA;EACA,MAAMO,eAAe,GAAGF,QAAQ,CAACG,SAAS,CAAC,CAAC,CAAC,CAACD,eAAsB;EACpE;EACAT,UAAU,CAACW,uBAAuB,CAACF,eAAe,CAAC;EACnD;EACA,KAAK,MAAMG,cAAc,IAAIL,QAAQ,CAACG,SAAS,EAAW;IACtDE,cAAc,CAACH,eAAe,GAAGT,UAAU;IAC3CY,cAAc,CAACC,eAAe,GAAGb,UAAU;EAC/C;;EAEA;EACA,MAAMc,MAAM,GAAG,IAAIC,yBAAgB,CAC/B;IACId,IAAI,EAAEA,IAAI;IACVe,YAAY,EAAE,KAAK;IACnBF,MAAM,EAAE;MACJG,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE;QACLC,IAAI,EAAE9B,OAAO,CAAC+B,OAAO,iCAAiC,CAAC;QACvDC,GAAG,EAAEhC,OAAO,CAAC+B,OAAO,qCAAqC;MAC7D;IACJ,CAAC;IACDE,MAAM,EAAE;MACJC,OAAO,EAAE,KAAK;MACdC,YAAY,EAAE,iCAAiCvB,IAAI;IACvD;EACJ,CAAC,EACDM,QACJ,CAAC;EACD,MAAMO,MAAM,CAACW,KAAK,CAAC,CAAC;EACpB,MAAM,IAAAC,iBAAK,EAAC,IAAI,CAAC;AACrB","ignoreList":[]}
|