@kontur.candy/tools 2.249.0 → 2.251.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 +50 -16
- package/distr/Common/CandyApiClient/CandyApiClient.js.map +1 -1
- package/distr/Common/CandyApiClient/ICandyApiClient.js.map +1 -1
- package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftParams.js +6 -0
- package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftParams.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js.map +1 -1
- package/distr/Common/DriveIntegration/DriveApiClientExtension.js +53 -0
- package/distr/Common/DriveIntegration/DriveApiClientExtension.js.map +1 -0
- package/distr/Common/DriveIntegration/DriveHelpers.js +24 -0
- package/distr/Common/DriveIntegration/DriveHelpers.js.map +1 -0
- package/distr/Common/DriveIntegration/ensureCandyFrontSrvDriveUri.js +23 -0
- package/distr/Common/DriveIntegration/ensureCandyFrontSrvDriveUri.js.map +1 -0
- package/distr/Common/FSPrinterClient/FSPrinterClient.js +18 -4
- package/distr/Common/FSPrinterClient/FSPrinterClient.js.map +1 -1
- package/distr/Common/hashUtils.js +9 -0
- package/distr/Common/hashUtils.js.map +1 -1
- package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js +2 -12
- package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js +2 -3
- package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js.map +1 -1
- package/distr/Tools/src/BuildTasks/EngineStructureUtils.js +2 -27
- package/distr/Tools/src/BuildTasks/EngineStructureUtils.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Form/GenerateForm.js +2 -2
- package/distr/Tools/src/BuildTasks/Form/GenerateForm.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js +0 -3
- package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js +0 -6
- package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js.map +1 -1
- package/distr/Tools/src/BuildTasks/FormSource.js +6 -0
- package/distr/Tools/src/BuildTasks/FormSource.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js +3 -10
- package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js +18 -70
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js +17 -67
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js +6 -6
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js +0 -9
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +3 -3
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +6 -9
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +38 -61
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js +6 -7
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js +6 -7
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js +13 -26
- package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js.map +1 -1
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js +4 -4
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js.map +1 -1
- package/distr/Tools/src/CLICommands/Localization/RunLocalization.js +2 -2
- package/distr/Tools/src/CLICommands/Localization/RunLocalization.js.map +1 -1
- package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js +1 -2
- package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js.map +1 -1
- package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js +1 -3
- package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js.map +1 -1
- package/distr/Tools/src/CandyCLI.js +3 -3
- package/distr/Tools/src/CandyCLI.js.map +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 -2
- package/distr/Tools/src/ReadFarmConfig.js.map +1 -1
- package/package.json +1 -1
- package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js +0 -14
- package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js +0 -46
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js.map +0 -1
- package/distr/Tools/src/BuildTasks/ReadFormSource.js +0 -114
- package/distr/Tools/src/BuildTasks/ReadFormSource.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EngineStructureUtils.js","names":["_path","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"file":"EngineStructureUtils.js","names":["_path","_interopRequireDefault","require","_Observe","createEngineWebpackConfigTask","engineDirectory","Observe","file","path","join","createClientWebpackConfigTask","createClientViteConfigTask"],"sources":["../../../../src/BuildTasks/EngineStructureUtils.ts"],"sourcesContent":["import path from \"path\";\n\nimport { ChainableValueProducer } from \"../Commons/TasksCore/ChainableValueProducer\";\nimport { Observe } from \"../Commons/TasksCore/Observe\";\n\nexport async function createEngineWebpackConfigTask(engineDirectory: string): Promise<ChainableValueProducer<string>> {\n return Observe.file(path.join(engineDirectory, \"webpack.config.js\"));\n}\n\nexport async function createClientWebpackConfigTask(engineDirectory: string): Promise<ChainableValueProducer<string>> {\n return Observe.file(path.join(engineDirectory, \"clientjs.webpack.config.js\"));\n}\n\nexport async function createClientViteConfigTask(engineDirectory: string): Promise<ChainableValueProducer<string>> {\n return Observe.file(path.join(engineDirectory, \"Widgets\", \"CandyWidget\", \"vite\", \"common.ts\"));\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,QAAA,GAAAD,OAAA;AAEO,eAAeE,6BAA6BA,CAACC,eAAuB,EAA2C;EAClH,OAAOC,gBAAO,CAACC,IAAI,CAACC,aAAI,CAACC,IAAI,CAACJ,eAAe,EAAE,mBAAmB,CAAC,CAAC;AACxE;AAEO,eAAeK,6BAA6BA,CAACL,eAAuB,EAA2C;EAClH,OAAOC,gBAAO,CAACC,IAAI,CAACC,aAAI,CAACC,IAAI,CAACJ,eAAe,EAAE,4BAA4B,CAAC,CAAC;AACjF;AAEO,eAAeM,0BAA0BA,CAACN,eAAuB,EAA2C;EAC/G,OAAOC,gBAAO,CAACC,IAAI,CAACC,aAAI,CAACC,IAAI,CAACJ,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAClG","ignoreList":[]}
|
|
@@ -23,10 +23,10 @@ class DefaultFileWriter {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
async function generateForm(formSourcesPath, farmDirectory,
|
|
26
|
+
async function generateForm(formSourcesPath, farmDirectory, generator, parentLogger = (0, _StaticLogger.getLogger)(), generationOptions, fileWriter = new DefaultFileWriter()) {
|
|
27
27
|
const logger = parentLogger.withPrefix(`GENERATE:${(0, _FormPathUtils.extractGfvFromFormPath)(formSourcesPath)}`);
|
|
28
28
|
const action = (0, _ILogger.buildActionBegin)(logger, "Generation");
|
|
29
|
-
const generatedContent = await generator.readSourcesAndProcessSugar(formSourcesPath, farmDirectory,
|
|
29
|
+
const generatedContent = await generator.readSourcesAndProcessSugar(formSourcesPath, farmDirectory, generationOptions);
|
|
30
30
|
logger.log("Writing files");
|
|
31
31
|
await writeGeneratedFiles(generatedContent, path.join(formSourcesPath, "form"), fileWriter);
|
|
32
32
|
action.complete();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenerateForm.js","names":["path","_interopRequireWildcard","require","_fsExtra","_FsUtils","_ILogger","_StaticLogger","_FormPathUtils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DefaultFileWriter","writeBatch","fileBatch","filePath","keys","content","undefined","ensureDir","parse","dir","writeFileAsync","generateForm","formSourcesPath","farmDirectory","
|
|
1
|
+
{"version":3,"file":"GenerateForm.js","names":["path","_interopRequireWildcard","require","_fsExtra","_FsUtils","_ILogger","_StaticLogger","_FormPathUtils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DefaultFileWriter","writeBatch","fileBatch","filePath","keys","content","undefined","ensureDir","parse","dir","writeFileAsync","generateForm","formSourcesPath","farmDirectory","generator","parentLogger","getLogger","generationOptions","fileWriter","logger","withPrefix","extractGfvFromFormPath","action","buildActionBegin","generatedContent","readSourcesAndProcessSugar","log","writeGeneratedFiles","join","complete","candyFormContent","outputDirectory"],"sources":["../../../../../src/BuildTasks/Form/GenerateForm.ts"],"sourcesContent":["import * as path from \"path\";\n\nimport { ensureDir } from \"fs-extra\";\n\nimport { writeFileAsync } from \"../../Commons/FsUtils\";\nimport { buildActionBegin, ILogger } from \"../../Commons/Logging/ILogger\";\nimport { getLogger } from \"../../Commons/Logging/StaticLogger\";\nimport { FormResources, FormSource, SugarContent } from \"../FormSource\";\nimport { extractGfvFromFormPath } from \"../../../../Common/FormPathUtils\";\nimport { ExtractorResult } from \"../../../../Common/TextExtractor/TextExtractorTypes\";\n\nexport interface GeneratedForm {\n [relativeFileName: string]: Buffer | string;\n}\n\nexport interface LocalizationDictionaryContent {\n [relativeFileName: string]: string;\n}\n\nexport interface LocalizationEntryPoint {\n getLocalizedSugar(sugarFiles: SugarContent, resources: FormResources): Promise<SugarContent>;\n getDictionary(sugarFiles: SugarContent, resources: FormResources): Promise<LocalizationDictionaryContent>;\n}\n\nexport interface FormGenerator {\n readSources(formSourcesPath: string, farmDirectory: string): Promise<FormSource>;\n getAllDependencies(formSourcesPath: string, farmDirectory: string): Promise<string[]>;\n getAllDependenciesHash(formSourcesPath: string, farmDirectory: string): Promise<string>;\n supportsDependenciesExtraction(): Promise<boolean>;\n readSourcesAndProcessSugar(\n formSourcesPath: string,\n farmDirectory: string,\n generationOptions?: GenerationOptions\n ): Promise<GeneratedForm>;\n getLocalizedSugar(sugarFiles: SugarContent, resources: FormResources): Promise<SugarContent>;\n getDictionary(sugarFiles: SugarContent, resources: FormResources): Promise<LocalizationDictionaryContent>;\n getSugarTexts(formSourcesPath: string, farmDirectory: string): Promise<ExtractorResult>;\n}\n\nexport interface GenerationOptions {\n skipCodeReformatting: boolean;\n resourcesHash: string;\n}\n\nexport interface IFileWriter {\n writeBatch(fileBatch: { [absoluteFileName: string]: string }): Promise<void>;\n}\n\nclass DefaultFileWriter implements IFileWriter {\n public async writeBatch(fileBatch: { [absoluteFileName: string]: string }): Promise<void> {\n for (const filePath of Object.keys(fileBatch)) {\n const content = fileBatch[filePath];\n if (content != undefined && content !== \"\") {\n await ensureDir(path.parse(filePath).dir);\n await writeFileAsync(filePath, content);\n }\n }\n }\n}\n\nexport async function generateForm(\n formSourcesPath: string,\n farmDirectory: string,\n generator: FormGenerator,\n parentLogger: ILogger = getLogger(),\n generationOptions?: GenerationOptions,\n fileWriter: IFileWriter = new DefaultFileWriter()\n): Promise<void> {\n const logger = parentLogger.withPrefix(`GENERATE:${extractGfvFromFormPath(formSourcesPath)}`);\n const action = buildActionBegin(logger, \"Generation\");\n const generatedContent = await generator.readSourcesAndProcessSugar(\n formSourcesPath,\n farmDirectory,\n generationOptions\n );\n logger.log(\"Writing files\");\n await writeGeneratedFiles(generatedContent, path.join(formSourcesPath, \"form\"), fileWriter);\n action.complete();\n}\n\nasync function writeGeneratedFiles(\n candyFormContent: GeneratedForm,\n outputDirectory: string,\n fileWriter: IFileWriter\n): Promise<void> {\n const fileBatch = {};\n for (const filePath of Object.keys(candyFormContent)) {\n const content = candyFormContent[filePath];\n if (content != undefined && content !== \"\") {\n // @ts-ignore\n fileBatch[path.join(outputDirectory, filePath)] = content;\n }\n }\n await fileWriter.writeBatch(fileBatch);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NullFormGenerator.js","names":["NullFormGenerator","getAllDependencies","Error","getAllDependenciesHash","getDictionary","getLocalizedSugar","
|
|
1
|
+
{"version":3,"file":"NullFormGenerator.js","names":["NullFormGenerator","getAllDependencies","Error","getAllDependenciesHash","getDictionary","getLocalizedSugar","readSources","readSourcesAndProcessSugar","supportsDependenciesExtraction","getSugarTexts","exports"],"sources":["../../../../../src/BuildTasks/Form/NullFormGenerator.ts"],"sourcesContent":["import { FormSource, SugarContent } from \"../FormSource\";\nimport { ExtractorResult } from \"../../../../Common/TextExtractor/TextExtractorTypes\";\n\nimport { FormGenerator, GeneratedForm, LocalizationDictionaryContent } from \"./GenerateForm\";\n\nexport class NullFormGenerator implements FormGenerator {\n public getAllDependencies(): Promise<string[]> {\n throw new Error(\"GenerationNotSupported\");\n }\n\n public getAllDependenciesHash(): Promise<string> {\n throw new Error(\"GenerationNotSupported\");\n }\n\n public getDictionary(): Promise<LocalizationDictionaryContent> {\n throw new Error(\"GenerationNotSupported\");\n }\n\n public getLocalizedSugar(): Promise<SugarContent> {\n throw new Error(\"GenerationNotSupported\");\n }\n\n public readSources(): Promise<FormSource> {\n throw new Error(\"GenerationNotSupported\");\n }\n\n public readSourcesAndProcessSugar(): Promise<GeneratedForm> {\n throw new Error(\"GenerationNotSupported\");\n }\n\n public supportsDependenciesExtraction(): Promise<boolean> {\n throw new Error(\"GenerationNotSupported\");\n }\n\n public getSugarTexts(): Promise<ExtractorResult> {\n throw new Error(\"GenerationNotSupported\");\n }\n}\n"],"mappings":";;;;;;AAKO,MAAMA,iBAAiB,CAA0B;EAC7CC,kBAAkBA,CAAA,EAAsB;IAC3C,MAAM,IAAIC,KAAK,CAAC,wBAAwB,CAAC;EAC7C;EAEOC,sBAAsBA,CAAA,EAAoB;IAC7C,MAAM,IAAID,KAAK,CAAC,wBAAwB,CAAC;EAC7C;EAEOE,aAAaA,CAAA,EAA2C;IAC3D,MAAM,IAAIF,KAAK,CAAC,wBAAwB,CAAC;EAC7C;EAEOG,iBAAiBA,CAAA,EAA0B;IAC9C,MAAM,IAAIH,KAAK,CAAC,wBAAwB,CAAC;EAC7C;EAEOI,WAAWA,CAAA,EAAwB;IACtC,MAAM,IAAIJ,KAAK,CAAC,wBAAwB,CAAC;EAC7C;EAEOK,0BAA0BA,CAAA,EAA2B;IACxD,MAAM,IAAIL,KAAK,CAAC,wBAAwB,CAAC;EAC7C;EAEOM,8BAA8BA,CAAA,EAAqB;IACtD,MAAM,IAAIN,KAAK,CAAC,wBAAwB,CAAC;EAC7C;EAEOO,aAAaA,CAAA,EAA6B;IAC7C,MAAM,IAAIP,KAAK,CAAC,wBAAwB,CAAC;EAC7C;AACJ;AAACQ,OAAA,CAAAV,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|
|
@@ -5,17 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.writeFLangNormalizationFiles = writeFLangNormalizationFiles;
|
|
7
7
|
var path = _interopRequireWildcard(require("path"));
|
|
8
|
-
var _fsExtra = require("fs-extra");
|
|
9
8
|
var _StaticLogger = require("../../Commons/Logging/StaticLogger");
|
|
10
9
|
var _WriteResourceFile = require("./WriteResourceFile");
|
|
11
10
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
11
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
12
|
async function writeFLangNormalizationFiles(gfv, formDirectory, resourcesDirectory, parentLogger = (0, _StaticLogger.getLogger)(), buildCache, buildCacheOptions, buildCacheExist) {
|
|
14
13
|
await (0, _WriteResourceFile.writeResourceFile)("FLASHNORM", "ServerSide.normalize", path.join("normalize", `${gfv}.normalize`), gfv, formDirectory, resourcesDirectory, parentLogger, buildCache, buildCacheOptions, buildCacheExist);
|
|
15
|
-
const formDistPath = path.join(formDirectory, "form");
|
|
16
|
-
const flangFiles = (await (0, _fsExtra.pathExists)(formDistPath)) ? (await (0, _fsExtra.readdir)(formDistPath)).filter(x => path.extname(x) === ".flang") : [];
|
|
17
|
-
for (const flangFile of flangFiles) {
|
|
18
|
-
await (0, _WriteResourceFile.writeResourceFile)("FLASHNORM", flangFile, path.join("normalize", `${gfv}.${flangFile}`), gfv, formDirectory, resourcesDirectory, parentLogger, buildCache, buildCacheOptions, buildCacheExist);
|
|
19
|
-
}
|
|
20
14
|
}
|
|
21
15
|
//# sourceMappingURL=WriteFLangNormalizationFiles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WriteFLangNormalizationFiles.js","names":["path","_interopRequireWildcard","require","
|
|
1
|
+
{"version":3,"file":"WriteFLangNormalizationFiles.js","names":["path","_interopRequireWildcard","require","_StaticLogger","_WriteResourceFile","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","writeFLangNormalizationFiles","gfv","formDirectory","resourcesDirectory","parentLogger","getLogger","buildCache","buildCacheOptions","buildCacheExist","writeResourceFile","join"],"sources":["../../../../../src/BuildTasks/Form/WriteFLangNormalizationFiles.ts"],"sourcesContent":["import * as path from \"path\";\n\nimport { ILogger } from \"../../Commons/Logging/ILogger\";\nimport { BuildCache, FormBuildCacheOptions } from \"../../FormWebpackConfiguration/CacheAssetsPlugin\";\nimport { getLogger } from \"../../Commons/Logging/StaticLogger\";\n\nimport { writeResourceFile } from \"./WriteResourceFile\";\n\nexport async function writeFLangNormalizationFiles(\n gfv: string,\n formDirectory: string,\n resourcesDirectory: string,\n parentLogger: ILogger = getLogger(),\n buildCache?: BuildCache,\n buildCacheOptions?: FormBuildCacheOptions,\n buildCacheExist?: boolean\n): Promise<void> {\n await writeResourceFile(\n \"FLASHNORM\",\n \"ServerSide.normalize\",\n path.join(\"normalize\", `${gfv}.normalize`),\n gfv,\n formDirectory,\n resourcesDirectory,\n parentLogger,\n buildCache,\n buildCacheOptions,\n buildCacheExist\n );\n}\n"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,uBAAA,CAAAC,OAAA;AAIA,IAAAC,aAAA,GAAAD,OAAA;AAEA,IAAAE,kBAAA,GAAAF,OAAA;AAAwD,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEjD,eAAeW,4BAA4BA,CAC9CC,GAAW,EACXC,aAAqB,EACrBC,kBAA0B,EAC1BC,YAAqB,GAAG,IAAAC,uBAAS,EAAC,CAAC,EACnCC,UAAuB,EACvBC,iBAAyC,EACzCC,eAAyB,EACZ;EACb,MAAM,IAAAC,oCAAiB,EACnB,WAAW,EACX,sBAAsB,EACtBlC,IAAI,CAACmC,IAAI,CAAC,WAAW,EAAE,GAAGT,GAAG,YAAY,CAAC,EAC1CA,GAAG,EACHC,aAAa,EACbC,kBAAkB,EAClBC,YAAY,EACZE,UAAU,EACVC,iBAAiB,EACjBC,eACJ,CAAC;AACL","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormSource.js","names":[],"sources":["../../../../src/BuildTasks/FormSource.ts"],"sourcesContent":["export 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 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"],"mappings":"","ignoreList":[]}
|
|
@@ -13,9 +13,7 @@ var _ExecUtils = require("../../Commons/ExecUtils");
|
|
|
13
13
|
var _ILogger = require("../../Commons/Logging/ILogger");
|
|
14
14
|
var _StaticLogger = require("../../Commons/Logging/StaticLogger");
|
|
15
15
|
var _ChainableValueProducer = require("../../Commons/TasksCore/ChainableValueProducer");
|
|
16
|
-
var _EngineStructureUtils = require("../EngineStructureUtils");
|
|
17
16
|
var _ProcessUtils = require("../ProcessUtils/ProcessUtils");
|
|
18
|
-
var _IsWebpack = require("../ClientJS/IsWebpack5");
|
|
19
17
|
var _CreateAsyncGenerator = require("./GeneratorWorker/CreateAsyncGenerator");
|
|
20
18
|
const generatorBuildLimit = (0, _pLimit.default)(1);
|
|
21
19
|
class BuildGeneratorFromSourcesTask extends _ChainableValueProducer.ObservableValueProducerBase {
|
|
@@ -83,12 +81,12 @@ class BuildGeneratorFromSourcesTask extends _ChainableValueProducer.ObservableVa
|
|
|
83
81
|
return result;
|
|
84
82
|
}
|
|
85
83
|
async getBuildDirectory() {
|
|
86
|
-
return
|
|
84
|
+
return this.pathToEngineSources;
|
|
87
85
|
}
|
|
88
86
|
async runWatchProcessStarted() {
|
|
89
87
|
this.logger.log("Start watch");
|
|
90
88
|
const buildDirectory = await this.getBuildDirectory();
|
|
91
|
-
const result =
|
|
89
|
+
const result = _ProcessUtils.ProcessUtils.createShellProcess("npm", ["run", "generator:build", "--", "--watch"], buildDirectory);
|
|
92
90
|
result.onStdOut.subscribe(data => {
|
|
93
91
|
this.logger.verbose(data.toString());
|
|
94
92
|
});
|
|
@@ -104,12 +102,7 @@ class BuildGeneratorFromSourcesTask extends _ChainableValueProducer.ObservableVa
|
|
|
104
102
|
await result.waitOutputIncludesString("Successfully compiled");
|
|
105
103
|
}
|
|
106
104
|
async createBuildResultWatcher(pathToGeneratorOutputDir) {
|
|
107
|
-
|
|
108
|
-
if (await (0, _EngineStructureUtils.isOldGeneratorSourcesStructure)(this.pathToEngineSources)) {
|
|
109
|
-
maskToObserveGeneratorChanges = ["**/*.js"];
|
|
110
|
-
} else {
|
|
111
|
-
maskToObserveGeneratorChanges = ["Generator/src/**/*.js", "index.js"];
|
|
112
|
-
}
|
|
105
|
+
const maskToObserveGeneratorChanges = ["Generator/src/**/*.js", "index.js"];
|
|
113
106
|
const watcher = (0, _chokidar.watch)(maskToObserveGeneratorChanges, {
|
|
114
107
|
ignoreInitial: true,
|
|
115
108
|
cwd: pathToGeneratorOutputDir,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildGeneratorFromSourcesTask.js","names":["_path","_interopRequireDefault","require","_chokidar","_lodash","_pLimit","_ExecUtils","_ILogger","_StaticLogger","_ChainableValueProducer","_EngineStructureUtils","_ProcessUtils","_IsWebpack","_CreateAsyncGenerator","generatorBuildLimit","pLimit","BuildGeneratorFromSourcesTask","ObservableValueProducerBase","constructor","pathToEngineSources","logger","getLogger","useWatch","currentGenerator","buildProcess","buildResultWatcher","handleUpdate","log","emitUpdate","createAsyncGenerator","path","join","withPrefix","getCurrentValue","undefined","runWatchProcessStarted","createBuildResultWatcher","acquireGeneratorFromSources","Error","beginListening","stopListening","kill","error","close","action","buildActionBegin","buildDirectory","getBuildDirectory","execCommandAsync","cwd","result","complete","isNewEngineStructure","isYarn","ProcessUtils","createShellProcess","onStdOut","subscribe","data","verbose","toString","onStdErr","start","waitFirstCompilationCompleted","waitOutputIncludesString","pathToGeneratorOutputDir","maskToObserveGeneratorChanges","isOldGeneratorSourcesStructure","watcher","watch","ignoreInitial","ignorePermissionErrors","usePolling","handleAnyFsEventDebounced","_","debounce","on","exports"],"sources":["../../../../../src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.ts"],"sourcesContent":["import { FSWatcher } from \"fs\";\nimport path from \"path\";\n\nimport { watch } from \"chokidar\";\nimport _ from \"lodash\";\nimport pLimit from \"p-limit\";\n\nimport { execCommandAsync } from \"../../Commons/ExecUtils\";\nimport { buildActionBegin, ILogger } from \"../../Commons/Logging/ILogger\";\nimport { getLogger } from \"../../Commons/Logging/StaticLogger\";\nimport { ObservableValueProducerBase } from \"../../Commons/TasksCore/ChainableValueProducer\";\nimport { isNewEngineStructure, isOldGeneratorSourcesStructure } from \"../EngineStructureUtils\";\nimport { FormGenerator } from \"../Form/GenerateForm\";\nimport { ProcessUtils } from \"../ProcessUtils/ProcessUtils\";\nimport { ShellProcessHandle } from \"../ProcessUtils/ShellProcessHandle\";\nimport { isYarn } from \"../ClientJS/IsWebpack5\";\n\nimport { createAsyncGenerator } from \"./GeneratorWorker/CreateAsyncGenerator\";\n\nconst generatorBuildLimit = pLimit(1);\n\nexport class BuildGeneratorFromSourcesTask extends ObservableValueProducerBase<FormGenerator> {\n private readonly pathToEngineSources: string;\n private readonly logger: ILogger;\n private useWatch = false;\n private currentGenerator?: FormGenerator;\n private buildProcess?: ShellProcessHandle;\n private buildResultWatcher?: FSWatcher;\n\n public constructor(pathToEngineSources: string, logger: ILogger = getLogger()) {\n super();\n this.logger = logger.withPrefix(\"GENERATOR\");\n this.pathToEngineSources = pathToEngineSources;\n }\n\n public async getCurrentValue(): Promise<FormGenerator> {\n return generatorBuildLimit(async () => {\n if (this.currentGenerator != undefined) {\n return this.currentGenerator;\n }\n if (this.useWatch) {\n if (this.buildProcess == undefined) {\n this.buildProcess = await this.runWatchProcessStarted();\n this.buildResultWatcher = await this.createBuildResultWatcher(\n path.join(this.pathToEngineSources, \"Generator\", \"dist\")\n );\n this.currentGenerator = createAsyncGenerator(\n path.join(this.pathToEngineSources, \"Generator\"),\n this.useWatch,\n this.useWatch\n );\n }\n } else {\n this.currentGenerator = await this.acquireGeneratorFromSources();\n }\n if (this.currentGenerator == undefined) {\n throw new Error(\"InvalidProgramState\");\n }\n return this.currentGenerator;\n });\n }\n\n protected async beginListening(): Promise<void> {\n this.useWatch = true;\n }\n\n protected async stopListening(): Promise<void> {\n if (this.buildProcess != undefined) {\n try {\n const buildProcess = this.buildProcess;\n this.buildProcess = undefined;\n await buildProcess.kill();\n } catch (error) {\n this.logger.error(`Failed to stop process: ${error}`);\n }\n }\n if (this.buildResultWatcher != undefined) {\n this.buildResultWatcher.close();\n }\n this.useWatch = false;\n }\n\n private readonly handleUpdate = async (): Promise<void> => {\n this.logger.log(\"Generator sources updated\");\n await this.emitUpdate(\n createAsyncGenerator(path.join(this.pathToEngineSources, \"Generator\"), this.useWatch, this.useWatch)\n );\n };\n\n private async acquireGeneratorFromSources(): Promise<FormGenerator> {\n const action = buildActionBegin(this.logger, \"Build generator\");\n const buildDirectory = await this.getBuildDirectory();\n await execCommandAsync(this.logger, `npm run generator:build`, {\n cwd: buildDirectory,\n });\n const result = createAsyncGenerator(\n path.join(this.pathToEngineSources, \"Generator\"),\n this.useWatch,\n this.useWatch\n );\n action.complete();\n return result;\n }\n\n private async getBuildDirectory(): Promise<string> {\n return (await isNewEngineStructure(this.pathToEngineSources))\n ? path.join(this.pathToEngineSources, \"Generator\")\n : this.pathToEngineSources;\n }\n\n private async runWatchProcessStarted(): Promise<ShellProcessHandle> {\n this.logger.log(\"Start watch\");\n const buildDirectory = await this.getBuildDirectory();\n const result = (await isYarn(buildDirectory))\n ? ProcessUtils.createShellProcess(\"yarn\", [\"generator:build\", \"--watch\"], buildDirectory)\n : ProcessUtils.createShellProcess(\"npm\", [\"run\", \"generator:build\", \"--\", \"--watch\"], buildDirectory);\n result.onStdOut.subscribe(data => {\n this.logger.verbose(data.toString());\n });\n result.onStdErr.subscribe(data => {\n this.logger.verbose(data.toString());\n });\n result.start();\n await this.waitFirstCompilationCompleted(result);\n this.logger.log(\"Successfully complied\");\n return result;\n }\n\n private async waitFirstCompilationCompleted(result: ShellProcessHandle): Promise<void> {\n await result.waitOutputIncludesString(\"Successfully compiled\");\n }\n\n private async createBuildResultWatcher(pathToGeneratorOutputDir: string): Promise<FSWatcher> {\n let maskToObserveGeneratorChanges: string[];\n if (await isOldGeneratorSourcesStructure(this.pathToEngineSources)) {\n maskToObserveGeneratorChanges = [\"**/*.js\"];\n } else {\n maskToObserveGeneratorChanges = [\"Generator/src/**/*.js\", \"index.js\"];\n }\n const watcher = watch(maskToObserveGeneratorChanges, {\n ignoreInitial: true,\n cwd: pathToGeneratorOutputDir,\n ignorePermissionErrors: false,\n usePolling: true,\n });\n const handleAnyFsEventDebounced = _.debounce(() => this.handleUpdate(), 500);\n watcher.on(\"all\", handleAnyFsEventDebounced);\n watcher.on(\"error\", handleAnyFsEventDebounced);\n // @ts-ignore\n return watcher;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"BuildGeneratorFromSourcesTask.js","names":["_path","_interopRequireDefault","require","_chokidar","_lodash","_pLimit","_ExecUtils","_ILogger","_StaticLogger","_ChainableValueProducer","_ProcessUtils","_CreateAsyncGenerator","generatorBuildLimit","pLimit","BuildGeneratorFromSourcesTask","ObservableValueProducerBase","constructor","pathToEngineSources","logger","getLogger","useWatch","currentGenerator","buildProcess","buildResultWatcher","handleUpdate","log","emitUpdate","createAsyncGenerator","path","join","withPrefix","getCurrentValue","undefined","runWatchProcessStarted","createBuildResultWatcher","acquireGeneratorFromSources","Error","beginListening","stopListening","kill","error","close","action","buildActionBegin","buildDirectory","getBuildDirectory","execCommandAsync","cwd","result","complete","ProcessUtils","createShellProcess","onStdOut","subscribe","data","verbose","toString","onStdErr","start","waitFirstCompilationCompleted","waitOutputIncludesString","pathToGeneratorOutputDir","maskToObserveGeneratorChanges","watcher","watch","ignoreInitial","ignorePermissionErrors","usePolling","handleAnyFsEventDebounced","_","debounce","on","exports"],"sources":["../../../../../src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.ts"],"sourcesContent":["import { FSWatcher } from \"fs\";\nimport path from \"path\";\n\nimport { watch } from \"chokidar\";\nimport _ from \"lodash\";\nimport pLimit from \"p-limit\";\n\nimport { execCommandAsync } from \"../../Commons/ExecUtils\";\nimport { buildActionBegin, ILogger } from \"../../Commons/Logging/ILogger\";\nimport { getLogger } from \"../../Commons/Logging/StaticLogger\";\nimport { ObservableValueProducerBase } from \"../../Commons/TasksCore/ChainableValueProducer\";\nimport { FormGenerator } from \"../Form/GenerateForm\";\nimport { ProcessUtils } from \"../ProcessUtils/ProcessUtils\";\nimport { ShellProcessHandle } from \"../ProcessUtils/ShellProcessHandle\";\n\nimport { createAsyncGenerator } from \"./GeneratorWorker/CreateAsyncGenerator\";\n\nconst generatorBuildLimit = pLimit(1);\n\nexport class BuildGeneratorFromSourcesTask extends ObservableValueProducerBase<FormGenerator> {\n private readonly pathToEngineSources: string;\n private readonly logger: ILogger;\n private useWatch = false;\n private currentGenerator?: FormGenerator;\n private buildProcess?: ShellProcessHandle;\n private buildResultWatcher?: FSWatcher;\n\n public constructor(pathToEngineSources: string, logger: ILogger = getLogger()) {\n super();\n this.logger = logger.withPrefix(\"GENERATOR\");\n this.pathToEngineSources = pathToEngineSources;\n }\n\n public async getCurrentValue(): Promise<FormGenerator> {\n return generatorBuildLimit(async () => {\n if (this.currentGenerator != undefined) {\n return this.currentGenerator;\n }\n if (this.useWatch) {\n if (this.buildProcess == undefined) {\n this.buildProcess = await this.runWatchProcessStarted();\n this.buildResultWatcher = await this.createBuildResultWatcher(\n path.join(this.pathToEngineSources, \"Generator\", \"dist\")\n );\n this.currentGenerator = createAsyncGenerator(\n path.join(this.pathToEngineSources, \"Generator\"),\n this.useWatch,\n this.useWatch\n );\n }\n } else {\n this.currentGenerator = await this.acquireGeneratorFromSources();\n }\n if (this.currentGenerator == undefined) {\n throw new Error(\"InvalidProgramState\");\n }\n return this.currentGenerator;\n });\n }\n\n protected async beginListening(): Promise<void> {\n this.useWatch = true;\n }\n\n protected async stopListening(): Promise<void> {\n if (this.buildProcess != undefined) {\n try {\n const buildProcess = this.buildProcess;\n this.buildProcess = undefined;\n await buildProcess.kill();\n } catch (error) {\n this.logger.error(`Failed to stop process: ${error}`);\n }\n }\n if (this.buildResultWatcher != undefined) {\n this.buildResultWatcher.close();\n }\n this.useWatch = false;\n }\n\n private readonly handleUpdate = async (): Promise<void> => {\n this.logger.log(\"Generator sources updated\");\n await this.emitUpdate(\n createAsyncGenerator(path.join(this.pathToEngineSources, \"Generator\"), this.useWatch, this.useWatch)\n );\n };\n\n private async acquireGeneratorFromSources(): Promise<FormGenerator> {\n const action = buildActionBegin(this.logger, \"Build generator\");\n const buildDirectory = await this.getBuildDirectory();\n await execCommandAsync(this.logger, `npm run generator:build`, {\n cwd: buildDirectory,\n });\n const result = createAsyncGenerator(\n path.join(this.pathToEngineSources, \"Generator\"),\n this.useWatch,\n this.useWatch\n );\n action.complete();\n return result;\n }\n\n private async getBuildDirectory(): Promise<string> {\n return this.pathToEngineSources;\n }\n\n private async runWatchProcessStarted(): Promise<ShellProcessHandle> {\n this.logger.log(\"Start watch\");\n const buildDirectory = await this.getBuildDirectory();\n const result = ProcessUtils.createShellProcess(\n \"npm\",\n [\"run\", \"generator:build\", \"--\", \"--watch\"],\n buildDirectory\n );\n result.onStdOut.subscribe(data => {\n this.logger.verbose(data.toString());\n });\n result.onStdErr.subscribe(data => {\n this.logger.verbose(data.toString());\n });\n result.start();\n await this.waitFirstCompilationCompleted(result);\n this.logger.log(\"Successfully complied\");\n return result;\n }\n\n private async waitFirstCompilationCompleted(result: ShellProcessHandle): Promise<void> {\n await result.waitOutputIncludesString(\"Successfully compiled\");\n }\n\n private async createBuildResultWatcher(pathToGeneratorOutputDir: string): Promise<FSWatcher> {\n const maskToObserveGeneratorChanges = [\"Generator/src/**/*.js\", \"index.js\"];\n const watcher = watch(maskToObserveGeneratorChanges, {\n ignoreInitial: true,\n cwd: pathToGeneratorOutputDir,\n ignorePermissionErrors: false,\n usePolling: true,\n });\n const handleAnyFsEventDebounced = _.debounce(() => this.handleUpdate(), 500);\n watcher.on(\"all\", handleAnyFsEventDebounced);\n watcher.on(\"error\", handleAnyFsEventDebounced);\n // @ts-ignore\n return watcher;\n }\n}\n"],"mappings":";;;;;;;AACA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,uBAAA,GAAAP,OAAA;AAEA,IAAAQ,aAAA,GAAAR,OAAA;AAGA,IAAAS,qBAAA,GAAAT,OAAA;AAEA,MAAMU,mBAAmB,GAAG,IAAAC,eAAM,EAAC,CAAC,CAAC;AAE9B,MAAMC,6BAA6B,SAASC,mDAA2B,CAAgB;EAQnFC,WAAWA,CAACC,mBAA2B,EAAEC,MAAe,GAAG,IAAAC,uBAAS,EAAC,CAAC,EAAE;IAC3E,KAAK,CAAC,CAAC;IAAC,KARKF,mBAAmB;IAAA,KACnBC,MAAM;IAAA,KACfE,QAAQ,GAAG,KAAK;IAAA,KAChBC,gBAAgB;IAAA,KAChBC,YAAY;IAAA,KACZC,kBAAkB;IAAA,KAuDTC,YAAY,GAAG,YAA2B;MACvD,IAAI,CAACN,MAAM,CAACO,GAAG,CAAC,2BAA2B,CAAC;MAC5C,MAAM,IAAI,CAACC,UAAU,CACjB,IAAAC,0CAAoB,EAACC,aAAI,CAACC,IAAI,CAAC,IAAI,CAACZ,mBAAmB,EAAE,WAAW,CAAC,EAAE,IAAI,CAACG,QAAQ,EAAE,IAAI,CAACA,QAAQ,CACvG,CAAC;IACL,CAAC;IAxDG,IAAI,CAACF,MAAM,GAAGA,MAAM,CAACY,UAAU,CAAC,WAAW,CAAC;IAC5C,IAAI,CAACb,mBAAmB,GAAGA,mBAAmB;EAClD;EAEA,MAAac,eAAeA,CAAA,EAA2B;IACnD,OAAOnB,mBAAmB,CAAC,YAAY;MACnC,IAAI,IAAI,CAACS,gBAAgB,IAAIW,SAAS,EAAE;QACpC,OAAO,IAAI,CAACX,gBAAgB;MAChC;MACA,IAAI,IAAI,CAACD,QAAQ,EAAE;QACf,IAAI,IAAI,CAACE,YAAY,IAAIU,SAAS,EAAE;UAChC,IAAI,CAACV,YAAY,GAAG,MAAM,IAAI,CAACW,sBAAsB,CAAC,CAAC;UACvD,IAAI,CAACV,kBAAkB,GAAG,MAAM,IAAI,CAACW,wBAAwB,CACzDN,aAAI,CAACC,IAAI,CAAC,IAAI,CAACZ,mBAAmB,EAAE,WAAW,EAAE,MAAM,CAC3D,CAAC;UACD,IAAI,CAACI,gBAAgB,GAAG,IAAAM,0CAAoB,EACxCC,aAAI,CAACC,IAAI,CAAC,IAAI,CAACZ,mBAAmB,EAAE,WAAW,CAAC,EAChD,IAAI,CAACG,QAAQ,EACb,IAAI,CAACA,QACT,CAAC;QACL;MACJ,CAAC,MAAM;QACH,IAAI,CAACC,gBAAgB,GAAG,MAAM,IAAI,CAACc,2BAA2B,CAAC,CAAC;MACpE;MACA,IAAI,IAAI,CAACd,gBAAgB,IAAIW,SAAS,EAAE;QACpC,MAAM,IAAII,KAAK,CAAC,qBAAqB,CAAC;MAC1C;MACA,OAAO,IAAI,CAACf,gBAAgB;IAChC,CAAC,CAAC;EACN;EAEA,MAAgBgB,cAAcA,CAAA,EAAkB;IAC5C,IAAI,CAACjB,QAAQ,GAAG,IAAI;EACxB;EAEA,MAAgBkB,aAAaA,CAAA,EAAkB;IAC3C,IAAI,IAAI,CAAChB,YAAY,IAAIU,SAAS,EAAE;MAChC,IAAI;QACA,MAAMV,YAAY,GAAG,IAAI,CAACA,YAAY;QACtC,IAAI,CAACA,YAAY,GAAGU,SAAS;QAC7B,MAAMV,YAAY,CAACiB,IAAI,CAAC,CAAC;MAC7B,CAAC,CAAC,OAAOC,KAAK,EAAE;QACZ,IAAI,CAACtB,MAAM,CAACsB,KAAK,CAAC,2BAA2BA,KAAK,EAAE,CAAC;MACzD;IACJ;IACA,IAAI,IAAI,CAACjB,kBAAkB,IAAIS,SAAS,EAAE;MACtC,IAAI,CAACT,kBAAkB,CAACkB,KAAK,CAAC,CAAC;IACnC;IACA,IAAI,CAACrB,QAAQ,GAAG,KAAK;EACzB;EASA,MAAce,2BAA2BA,CAAA,EAA2B;IAChE,MAAMO,MAAM,GAAG,IAAAC,yBAAgB,EAAC,IAAI,CAACzB,MAAM,EAAE,iBAAiB,CAAC;IAC/D,MAAM0B,cAAc,GAAG,MAAM,IAAI,CAACC,iBAAiB,CAAC,CAAC;IACrD,MAAM,IAAAC,2BAAgB,EAAC,IAAI,CAAC5B,MAAM,EAAE,yBAAyB,EAAE;MAC3D6B,GAAG,EAAEH;IACT,CAAC,CAAC;IACF,MAAMI,MAAM,GAAG,IAAArB,0CAAoB,EAC/BC,aAAI,CAACC,IAAI,CAAC,IAAI,CAACZ,mBAAmB,EAAE,WAAW,CAAC,EAChD,IAAI,CAACG,QAAQ,EACb,IAAI,CAACA,QACT,CAAC;IACDsB,MAAM,CAACO,QAAQ,CAAC,CAAC;IACjB,OAAOD,MAAM;EACjB;EAEA,MAAcH,iBAAiBA,CAAA,EAAoB;IAC/C,OAAO,IAAI,CAAC5B,mBAAmB;EACnC;EAEA,MAAcgB,sBAAsBA,CAAA,EAAgC;IAChE,IAAI,CAACf,MAAM,CAACO,GAAG,CAAC,aAAa,CAAC;IAC9B,MAAMmB,cAAc,GAAG,MAAM,IAAI,CAACC,iBAAiB,CAAC,CAAC;IACrD,MAAMG,MAAM,GAAGE,0BAAY,CAACC,kBAAkB,CAC1C,KAAK,EACL,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,CAAC,EAC3CP,cACJ,CAAC;IACDI,MAAM,CAACI,QAAQ,CAACC,SAAS,CAACC,IAAI,IAAI;MAC9B,IAAI,CAACpC,MAAM,CAACqC,OAAO,CAACD,IAAI,CAACE,QAAQ,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC;IACFR,MAAM,CAACS,QAAQ,CAACJ,SAAS,CAACC,IAAI,IAAI;MAC9B,IAAI,CAACpC,MAAM,CAACqC,OAAO,CAACD,IAAI,CAACE,QAAQ,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC;IACFR,MAAM,CAACU,KAAK,CAAC,CAAC;IACd,MAAM,IAAI,CAACC,6BAA6B,CAACX,MAAM,CAAC;IAChD,IAAI,CAAC9B,MAAM,CAACO,GAAG,CAAC,uBAAuB,CAAC;IACxC,OAAOuB,MAAM;EACjB;EAEA,MAAcW,6BAA6BA,CAACX,MAA0B,EAAiB;IACnF,MAAMA,MAAM,CAACY,wBAAwB,CAAC,uBAAuB,CAAC;EAClE;EAEA,MAAc1B,wBAAwBA,CAAC2B,wBAAgC,EAAsB;IACzF,MAAMC,6BAA6B,GAAG,CAAC,uBAAuB,EAAE,UAAU,CAAC;IAC3E,MAAMC,OAAO,GAAG,IAAAC,eAAK,EAACF,6BAA6B,EAAE;MACjDG,aAAa,EAAE,IAAI;MACnBlB,GAAG,EAAEc,wBAAwB;MAC7BK,sBAAsB,EAAE,KAAK;MAC7BC,UAAU,EAAE;IAChB,CAAC,CAAC;IACF,MAAMC,yBAAyB,GAAGC,eAAC,CAACC,QAAQ,CAAC,MAAM,IAAI,CAAC9C,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC;IAC5EuC,OAAO,CAACQ,EAAE,CAAC,KAAK,EAAEH,yBAAyB,CAAC;IAC5CL,OAAO,CAACQ,EAAE,CAAC,OAAO,EAAEH,yBAAyB,CAAC;IAC9C;IACA,OAAOL,OAAO;EAClB;AACJ;AAACS,OAAA,CAAA1D,6BAAA,GAAAA,6BAAA","ignoreList":[]}
|
|
@@ -21,53 +21,43 @@ class GeneratorAsyncProxy {
|
|
|
21
21
|
this.useGeneratorRestarting = useGeneratorRestarting;
|
|
22
22
|
this.pathToGeneratorRootDir = pathToGeneratorRootDir;
|
|
23
23
|
this.purgeCache = purgeCache;
|
|
24
|
-
this.generatorSourcesImporter = new _GeneratorRequireUtils.GeneratorSourcesImporter(purgeCache);
|
|
24
|
+
this.generatorSourcesImporter = new _GeneratorRequireUtils.GeneratorSourcesImporter(this.pathToGeneratorRootDir, this.purgeCache);
|
|
25
25
|
}
|
|
26
26
|
async getLocalizedSugar(sugarFiles, resources) {
|
|
27
|
-
const localizationEntryPoint = await this.generatorSourcesImporter.importLocalization(
|
|
27
|
+
const localizationEntryPoint = await this.generatorSourcesImporter.importLocalization();
|
|
28
28
|
if (localizationEntryPoint == undefined) {
|
|
29
29
|
throw new Error("Данная версия генератора не поддерживает локализацию.");
|
|
30
30
|
}
|
|
31
31
|
return localizationEntryPoint.getLocalizedSugar(sugarFiles, resources);
|
|
32
32
|
}
|
|
33
33
|
async getDictionary(sugarFiles, resources) {
|
|
34
|
-
const localizationEntryPoint = await this.generatorSourcesImporter.importLocalization(
|
|
34
|
+
const localizationEntryPoint = await this.generatorSourcesImporter.importLocalization();
|
|
35
35
|
if (localizationEntryPoint == undefined) {
|
|
36
36
|
throw new Error("Данная версия генератора не поддерживает локализацию.");
|
|
37
37
|
}
|
|
38
38
|
return localizationEntryPoint.getDictionary(sugarFiles, resources);
|
|
39
39
|
}
|
|
40
|
-
async readSources(formSourcesPath, farmDirectory
|
|
41
|
-
const readSources = await this.generatorSourcesImporter.importReadSources(
|
|
42
|
-
|
|
43
|
-
return formSource;
|
|
40
|
+
async readSources(formSourcesPath, farmDirectory) {
|
|
41
|
+
const readSources = await this.generatorSourcesImporter.importReadSources();
|
|
42
|
+
return await readSources(formSourcesPath, farmDirectory);
|
|
44
43
|
}
|
|
45
|
-
async getSugarTexts(formSourcesPath, farmDirectory
|
|
46
|
-
const getSugarTexts = await this.generatorSourcesImporter.importGetSugarTexts(
|
|
47
|
-
|
|
48
|
-
return result;
|
|
44
|
+
async getSugarTexts(formSourcesPath, farmDirectory) {
|
|
45
|
+
const getSugarTexts = await this.generatorSourcesImporter.importGetSugarTexts();
|
|
46
|
+
return await getSugarTexts(formSourcesPath, farmDirectory);
|
|
49
47
|
}
|
|
50
|
-
async getAllDependencies(formSourcesPath, farmDirectory
|
|
51
|
-
const getAllDependencies = await this.generatorSourcesImporter.importGetAllDependencies(
|
|
52
|
-
|
|
53
|
-
throw new Error("This version of generator does not support dependencies extraction");
|
|
54
|
-
}
|
|
55
|
-
const formSource = await getAllDependencies(formSourcesPath, farmDirectory, hlFarmDirectoryPath);
|
|
56
|
-
return formSource;
|
|
48
|
+
async getAllDependencies(formSourcesPath, farmDirectory) {
|
|
49
|
+
const getAllDependencies = await this.generatorSourcesImporter.importGetAllDependencies();
|
|
50
|
+
return await getAllDependencies(formSourcesPath, farmDirectory);
|
|
57
51
|
}
|
|
58
52
|
async supportsDependenciesExtraction() {
|
|
59
|
-
const getAllDependenciesHash = await this.generatorSourcesImporter.importGetAllDependenciesHash(
|
|
53
|
+
const getAllDependenciesHash = await this.generatorSourcesImporter.importGetAllDependenciesHash();
|
|
60
54
|
return getAllDependenciesHash != undefined;
|
|
61
55
|
}
|
|
62
|
-
async getAllDependenciesHash(formSourcesPath, farmDirectory
|
|
63
|
-
const getAllDependenciesHash = await this.generatorSourcesImporter.importGetAllDependenciesHash(
|
|
64
|
-
|
|
65
|
-
throw new Error("This version of generator does not support dependencies extraction");
|
|
66
|
-
}
|
|
67
|
-
const formSource = await getAllDependenciesHash(formSourcesPath, farmDirectory, hlFarmDirectoryPath);
|
|
68
|
-
return formSource;
|
|
56
|
+
async getAllDependenciesHash(formSourcesPath, farmDirectory) {
|
|
57
|
+
const getAllDependenciesHash = await this.generatorSourcesImporter.importGetAllDependenciesHash();
|
|
58
|
+
return await getAllDependenciesHash(formSourcesPath, farmDirectory);
|
|
69
59
|
}
|
|
70
|
-
async readSourcesAndProcessSugar(formSourcesPath, farmDirectory,
|
|
60
|
+
async readSourcesAndProcessSugar(formSourcesPath, farmDirectory, generationOptions) {
|
|
71
61
|
this.maxRequestNumber++;
|
|
72
62
|
const currentRequestNumber = this.maxRequestNumber;
|
|
73
63
|
const promise = new Promise((resolve, reject) => {
|
|
@@ -88,53 +78,11 @@ class GeneratorAsyncProxy {
|
|
|
88
78
|
console.log("Restarted generator");
|
|
89
79
|
}
|
|
90
80
|
}
|
|
91
|
-
this.generatorProcess.send([this.pathToGeneratorRootDir, formSourcesPath, farmDirectory,
|
|
92
|
-
const result = await promise;
|
|
93
|
-
this.processSugarDeferredMap.delete(currentRequestNumber);
|
|
94
|
-
return result;
|
|
95
|
-
}
|
|
96
|
-
async processSugar(sugarFiles, resources, generationOptions) {
|
|
97
|
-
this.maxRequestNumber++;
|
|
98
|
-
const currentRequestNumber = this.maxRequestNumber;
|
|
99
|
-
const promise = new Promise((resolve, reject) => {
|
|
100
|
-
this.processSugarDeferredMap.set(currentRequestNumber, {
|
|
101
|
-
resolve: resolve,
|
|
102
|
-
reject: reject
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
if (!this.generatorProcess) {
|
|
106
|
-
this.generatorProcess = this.forkProcessSugarWorker();
|
|
107
|
-
}
|
|
108
|
-
this.generatorProcess.send([this.pathToGeneratorRootDir, sugarFiles, resources, generationOptions, this.purgeCache, currentRequestNumber]);
|
|
81
|
+
this.generatorProcess.send([this.pathToGeneratorRootDir, formSourcesPath, farmDirectory, generationOptions, this.purgeCache, currentRequestNumber]);
|
|
109
82
|
const result = await promise;
|
|
110
83
|
this.processSugarDeferredMap.delete(currentRequestNumber);
|
|
111
84
|
return result;
|
|
112
85
|
}
|
|
113
|
-
forkProcessSugarWorker() {
|
|
114
|
-
const processSugarWorker = (0, _child_process.fork)("./ProcessSugarWorker", [], {
|
|
115
|
-
cwd: __dirname
|
|
116
|
-
});
|
|
117
|
-
processSugarWorker.on("message", response => {
|
|
118
|
-
const currentDeferred = this.processSugarDeferredMap.get(response.requestNumber);
|
|
119
|
-
if (currentDeferred == undefined) {
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
if (response.type === "Error") {
|
|
123
|
-
currentDeferred.reject(new Error(response.errorText));
|
|
124
|
-
} else {
|
|
125
|
-
const formContent = response.generatedForm;
|
|
126
|
-
const result = {};
|
|
127
|
-
for (const [key, formContentItem] of (0, _IterableUtils.iterateEntries)(formContent)) {
|
|
128
|
-
result[key] = typeof formContentItem === "string" ? formContentItem : Buffer.from(formContentItem.payload, formContentItem.encoding);
|
|
129
|
-
}
|
|
130
|
-
currentDeferred.resolve(result);
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
processSugarWorker.on("error", error => {
|
|
134
|
-
throw error;
|
|
135
|
-
});
|
|
136
|
-
return processSugarWorker;
|
|
137
|
-
}
|
|
138
86
|
forkReadSourcesAndProcessSugarWorker() {
|
|
139
87
|
const processSugarWorker = (0, _child_process.fork)("./ReadSourcesAndProcessSugarWorker", [], {
|
|
140
88
|
cwd: __dirname
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateAsyncGenerator.js","names":["_child_process","require","_IterableUtils","_GeneratorRequireUtils","GeneratorAsyncProxy","constructor","pathToGeneratorRootDir","purgeCache","useGeneratorRestarting","generatorSourcesImporter","generatorProcess","maxRequestNumber","processSugarDeferredMap","Map","GeneratorSourcesImporter","getLocalizedSugar","sugarFiles","resources","localizationEntryPoint","importLocalization","undefined","Error","getDictionary","readSources","formSourcesPath","farmDirectory","hlFarmDirectoryPath","importReadSources","formSource","getSugarTexts","importGetSugarTexts","result","getAllDependencies","importGetAllDependencies","supportsDependenciesExtraction","getAllDependenciesHash","importGetAllDependenciesHash","readSourcesAndProcessSugar","generationOptions","currentRequestNumber","promise","Promise","resolve","reject","set","forkReadSourcesAndProcessSugarWorker","console","log","kill","send","delete","processSugar","forkProcessSugarWorker","processSugarWorker","fork","cwd","__dirname","on","response","currentDeferred","get","requestNumber","type","errorText","formContent","generatedForm","key","formContentItem","iterateEntries","Buffer","from","payload","encoding","error","generatorsCache","createAsyncGenerator"],"sources":["../../../../../../src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport { ChildProcess, fork } from \"child_process\";\n\nimport {\n FormGenerator,\n GeneratedForm,\n GenerationOptions,\n LocalizationDictionaryContent,\n} from \"../../Form/GenerateForm\";\nimport { FormResources, FormSource, SugarContent } from \"../../ReadFormSource\";\nimport { iterateEntries } from \"../../../../../Common/IterableUtils\";\nimport { ExtractorResult } from \"../../../../../Common/TextExtractor/TextExtractorTypes\";\n\nimport { GeneratorSourcesImporter } from \"./GeneratorRequireUtils\";\nimport { CallResponse } from \"./ProcessSugarWorker\";\n\ninterface ProcessSugarDeferred {\n resolve: (result: GeneratedForm) => void;\n reject: (error: unknown) => void;\n}\n\nclass GeneratorAsyncProxy implements FormGenerator {\n private readonly pathToGeneratorRootDir: string;\n private readonly generatorSourcesImporter: GeneratorSourcesImporter;\n private readonly purgeCache: boolean;\n private readonly useGeneratorRestarting: boolean;\n private generatorProcess?: ChildProcess;\n private maxRequestNumber = 0;\n private readonly processSugarDeferredMap: Map<number, ProcessSugarDeferred> = new Map();\n\n public constructor(pathToGeneratorRootDir: string, purgeCache: boolean, useGeneratorRestarting: boolean) {\n this.useGeneratorRestarting = useGeneratorRestarting;\n this.pathToGeneratorRootDir = pathToGeneratorRootDir;\n this.purgeCache = purgeCache;\n this.generatorSourcesImporter = new GeneratorSourcesImporter(purgeCache);\n }\n\n public async getLocalizedSugar(sugarFiles: SugarContent, resources: FormResources): Promise<SugarContent> {\n const localizationEntryPoint = await this.generatorSourcesImporter.importLocalization(\n this.pathToGeneratorRootDir\n );\n if (localizationEntryPoint == undefined) {\n throw new Error(\"Данная версия генератора не поддерживает локализацию.\");\n }\n return localizationEntryPoint.getLocalizedSugar(sugarFiles, resources);\n }\n\n public async getDictionary(\n sugarFiles: SugarContent,\n resources: FormResources\n ): Promise<LocalizationDictionaryContent> {\n const localizationEntryPoint = await this.generatorSourcesImporter.importLocalization(\n this.pathToGeneratorRootDir\n );\n if (localizationEntryPoint == undefined) {\n throw new Error(\"Данная версия генератора не поддерживает локализацию.\");\n }\n return localizationEntryPoint.getDictionary(sugarFiles, resources);\n }\n\n public async readSources(\n formSourcesPath: string,\n farmDirectory: string,\n hlFarmDirectoryPath: string\n ): Promise<FormSource> {\n const readSources: FormGenerator[\"readSources\"] = await this.generatorSourcesImporter.importReadSources(\n this.pathToGeneratorRootDir\n );\n const formSource = await readSources(formSourcesPath, farmDirectory, hlFarmDirectoryPath);\n\n return formSource;\n }\n\n public async getSugarTexts(\n formSourcesPath: string,\n farmDirectory: string,\n hlFarmDirectoryPath: string\n ): Promise<ExtractorResult> {\n const getSugarTexts: FormGenerator[\"getSugarTexts\"] = await this.generatorSourcesImporter.importGetSugarTexts(\n this.pathToGeneratorRootDir\n );\n const result = await getSugarTexts(formSourcesPath, farmDirectory, hlFarmDirectoryPath);\n\n return result;\n }\n\n public async getAllDependencies(\n formSourcesPath: string,\n farmDirectory: string,\n hlFarmDirectoryPath: string\n ): Promise<string[]> {\n const getAllDependencies = await this.generatorSourcesImporter.importGetAllDependencies(\n this.pathToGeneratorRootDir\n );\n if (getAllDependencies == undefined) {\n throw new Error(\"This version of generator does not support dependencies extraction\");\n }\n const formSource = await getAllDependencies(formSourcesPath, farmDirectory, hlFarmDirectoryPath);\n return formSource;\n }\n\n public async supportsDependenciesExtraction(): Promise<boolean> {\n const getAllDependenciesHash = await this.generatorSourcesImporter.importGetAllDependenciesHash(\n this.pathToGeneratorRootDir\n );\n return getAllDependenciesHash != undefined;\n }\n\n public async getAllDependenciesHash(\n formSourcesPath: string,\n farmDirectory: string,\n hlFarmDirectoryPath: string\n ): Promise<string> {\n const getAllDependenciesHash = await this.generatorSourcesImporter.importGetAllDependenciesHash(\n this.pathToGeneratorRootDir\n );\n if (getAllDependenciesHash == undefined) {\n throw new Error(\"This version of generator does not support dependencies extraction\");\n }\n const formSource = await getAllDependenciesHash(formSourcesPath, farmDirectory, hlFarmDirectoryPath);\n return formSource;\n }\n\n public async readSourcesAndProcessSugar(\n formSourcesPath: string,\n farmDirectory: string,\n hlFarmDirectoryPath: string,\n generationOptions?: GenerationOptions\n ): Promise<GeneratedForm> {\n this.maxRequestNumber++;\n const currentRequestNumber = this.maxRequestNumber;\n const promise = new Promise<GeneratedForm>((resolve, reject) => {\n this.processSugarDeferredMap.set(currentRequestNumber, {\n resolve: resolve,\n reject: reject,\n });\n });\n\n if (!this.generatorProcess) {\n this.generatorProcess = this.forkReadSourcesAndProcessSugarWorker();\n }\n if (this.useGeneratorRestarting) {\n if (this.maxRequestNumber % 10 === 0) {\n console.log(\"Restarting generator\");\n this.generatorProcess.kill();\n this.generatorProcess = undefined;\n this.generatorProcess = this.forkReadSourcesAndProcessSugarWorker();\n console.log(\"Restarted generator\");\n }\n }\n\n this.generatorProcess.send([\n this.pathToGeneratorRootDir,\n formSourcesPath,\n farmDirectory,\n hlFarmDirectoryPath,\n generationOptions,\n this.purgeCache,\n currentRequestNumber,\n ]);\n\n const result = await promise;\n this.processSugarDeferredMap.delete(currentRequestNumber);\n return result;\n }\n\n public async processSugar(\n sugarFiles: SugarContent,\n resources: FormResources,\n generationOptions?: GenerationOptions\n ): Promise<GeneratedForm> {\n this.maxRequestNumber++;\n const currentRequestNumber = this.maxRequestNumber;\n const promise = new Promise<GeneratedForm>((resolve, reject) => {\n this.processSugarDeferredMap.set(currentRequestNumber, {\n resolve: resolve,\n reject: reject,\n });\n });\n\n if (!this.generatorProcess) {\n this.generatorProcess = this.forkProcessSugarWorker();\n }\n\n this.generatorProcess.send([\n this.pathToGeneratorRootDir,\n sugarFiles,\n resources,\n generationOptions,\n this.purgeCache,\n currentRequestNumber,\n ]);\n\n const result = await promise;\n this.processSugarDeferredMap.delete(currentRequestNumber);\n return result;\n }\n\n private forkProcessSugarWorker(): ChildProcess {\n const processSugarWorker = fork(\"./ProcessSugarWorker\", [], {\n cwd: __dirname,\n });\n\n processSugarWorker.on(\"message\", (response: CallResponse) => {\n const currentDeferred = this.processSugarDeferredMap.get(response.requestNumber);\n if (currentDeferred == undefined) {\n return;\n }\n if (response.type === \"Error\") {\n currentDeferred.reject(new Error(response.errorText));\n } else {\n const formContent = response.generatedForm;\n const result: GeneratedForm = {};\n\n for (const [key, formContentItem] of iterateEntries(formContent)) {\n result[key] =\n typeof formContentItem === \"string\"\n ? formContentItem\n : Buffer.from(formContentItem.payload, formContentItem.encoding);\n }\n\n currentDeferred.resolve(result);\n }\n });\n\n processSugarWorker.on(\"error\", error => {\n throw error;\n });\n\n return processSugarWorker;\n }\n\n private forkReadSourcesAndProcessSugarWorker(): ChildProcess {\n const processSugarWorker = fork(\"./ReadSourcesAndProcessSugarWorker\", [], {\n cwd: __dirname,\n });\n\n processSugarWorker.on(\"message\", (response: CallResponse) => {\n const currentDeferred = this.processSugarDeferredMap.get(response.requestNumber);\n if (currentDeferred == undefined) {\n return;\n }\n if (response.type === \"Error\") {\n currentDeferred.reject(new Error(response.errorText));\n } else {\n const formContent = response.generatedForm;\n const result: GeneratedForm = {};\n\n for (const [key, formContentItem] of iterateEntries(formContent)) {\n result[key] =\n typeof formContentItem === \"string\"\n ? formContentItem\n : Buffer.from(formContentItem.payload, formContentItem.encoding);\n }\n\n currentDeferred.resolve(result);\n }\n });\n\n processSugarWorker.on(\"error\", error => {\n throw error;\n });\n\n return processSugarWorker;\n }\n}\n\nconst generatorsCache: Map<string, GeneratorAsyncProxy> = new Map();\n\nexport function createAsyncGenerator(\n pathToGeneratorRootDir: string,\n purgeCache: boolean,\n useGeneratorRestarting: boolean\n): FormGenerator {\n let result = generatorsCache.get(pathToGeneratorRootDir);\n if (result == undefined) {\n result = new GeneratorAsyncProxy(pathToGeneratorRootDir, purgeCache, useGeneratorRestarting);\n generatorsCache.set(pathToGeneratorRootDir, result);\n }\n return result;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"CreateAsyncGenerator.js","names":["_child_process","require","_IterableUtils","_GeneratorRequireUtils","GeneratorAsyncProxy","constructor","pathToGeneratorRootDir","purgeCache","useGeneratorRestarting","generatorSourcesImporter","generatorProcess","maxRequestNumber","processSugarDeferredMap","Map","GeneratorSourcesImporter","getLocalizedSugar","sugarFiles","resources","localizationEntryPoint","importLocalization","undefined","Error","getDictionary","readSources","formSourcesPath","farmDirectory","importReadSources","getSugarTexts","importGetSugarTexts","getAllDependencies","importGetAllDependencies","supportsDependenciesExtraction","getAllDependenciesHash","importGetAllDependenciesHash","readSourcesAndProcessSugar","generationOptions","currentRequestNumber","promise","Promise","resolve","reject","set","forkReadSourcesAndProcessSugarWorker","console","log","kill","send","result","delete","processSugarWorker","fork","cwd","__dirname","on","response","currentDeferred","get","requestNumber","type","errorText","formContent","generatedForm","key","formContentItem","iterateEntries","Buffer","from","payload","encoding","error","generatorsCache","createAsyncGenerator"],"sources":["../../../../../../src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport { ChildProcess, fork } from \"child_process\";\n\nimport {\n FormGenerator,\n GeneratedForm,\n GenerationOptions,\n LocalizationDictionaryContent,\n} from \"../../Form/GenerateForm\";\nimport { FormResources, FormSource, SugarContent } from \"../../FormSource\";\nimport { iterateEntries } from \"../../../../../Common/IterableUtils\";\nimport { ExtractorResult } from \"../../../../../Common/TextExtractor/TextExtractorTypes\";\n\nimport { GeneratorSourcesImporter } from \"./GeneratorRequireUtils\";\nimport type { CallResponse } from \"./ReadSourcesAndProcessSugarWorker\";\n\ninterface ProcessSugarDeferred {\n resolve: (result: GeneratedForm) => void;\n reject: (error: unknown) => void;\n}\n\nclass GeneratorAsyncProxy implements FormGenerator {\n private readonly pathToGeneratorRootDir: string;\n private readonly generatorSourcesImporter: GeneratorSourcesImporter;\n private readonly purgeCache: boolean;\n private readonly useGeneratorRestarting: boolean;\n private generatorProcess?: ChildProcess;\n private maxRequestNumber = 0;\n private readonly processSugarDeferredMap: Map<number, ProcessSugarDeferred> = new Map();\n\n public constructor(pathToGeneratorRootDir: string, purgeCache: boolean, useGeneratorRestarting: boolean) {\n this.useGeneratorRestarting = useGeneratorRestarting;\n this.pathToGeneratorRootDir = pathToGeneratorRootDir;\n this.purgeCache = purgeCache;\n this.generatorSourcesImporter = new GeneratorSourcesImporter(this.pathToGeneratorRootDir, this.purgeCache);\n }\n\n public async getLocalizedSugar(sugarFiles: SugarContent, resources: FormResources): Promise<SugarContent> {\n const localizationEntryPoint = await this.generatorSourcesImporter.importLocalization();\n if (localizationEntryPoint == undefined) {\n throw new Error(\"Данная версия генератора не поддерживает локализацию.\");\n }\n return localizationEntryPoint.getLocalizedSugar(sugarFiles, resources);\n }\n\n public async getDictionary(\n sugarFiles: SugarContent,\n resources: FormResources\n ): Promise<LocalizationDictionaryContent> {\n const localizationEntryPoint = await this.generatorSourcesImporter.importLocalization();\n if (localizationEntryPoint == undefined) {\n throw new Error(\"Данная версия генератора не поддерживает локализацию.\");\n }\n return localizationEntryPoint.getDictionary(sugarFiles, resources);\n }\n\n public async readSources(formSourcesPath: string, farmDirectory: string): Promise<FormSource> {\n const readSources: FormGenerator[\"readSources\"] = await this.generatorSourcesImporter.importReadSources();\n return await readSources(formSourcesPath, farmDirectory);\n }\n\n public async getSugarTexts(formSourcesPath: string, farmDirectory: string): Promise<ExtractorResult> {\n const getSugarTexts: FormGenerator[\"getSugarTexts\"] = await this.generatorSourcesImporter.importGetSugarTexts();\n return await getSugarTexts(formSourcesPath, farmDirectory);\n }\n\n public async getAllDependencies(formSourcesPath: string, farmDirectory: string): Promise<string[]> {\n const getAllDependencies = await this.generatorSourcesImporter.importGetAllDependencies();\n return await getAllDependencies(formSourcesPath, farmDirectory);\n }\n\n public async supportsDependenciesExtraction(): Promise<boolean> {\n const getAllDependenciesHash = await this.generatorSourcesImporter.importGetAllDependenciesHash();\n return getAllDependenciesHash != undefined;\n }\n\n public async getAllDependenciesHash(formSourcesPath: string, farmDirectory: string): Promise<string> {\n const getAllDependenciesHash = await this.generatorSourcesImporter.importGetAllDependenciesHash();\n return await getAllDependenciesHash(formSourcesPath, farmDirectory);\n }\n\n public async readSourcesAndProcessSugar(\n formSourcesPath: string,\n farmDirectory: string,\n generationOptions?: GenerationOptions\n ): Promise<GeneratedForm> {\n this.maxRequestNumber++;\n const currentRequestNumber = this.maxRequestNumber;\n const promise = new Promise<GeneratedForm>((resolve, reject) => {\n this.processSugarDeferredMap.set(currentRequestNumber, {\n resolve: resolve,\n reject: reject,\n });\n });\n\n if (!this.generatorProcess) {\n this.generatorProcess = this.forkReadSourcesAndProcessSugarWorker();\n }\n if (this.useGeneratorRestarting) {\n if (this.maxRequestNumber % 10 === 0) {\n console.log(\"Restarting generator\");\n this.generatorProcess.kill();\n this.generatorProcess = undefined;\n this.generatorProcess = this.forkReadSourcesAndProcessSugarWorker();\n console.log(\"Restarted generator\");\n }\n }\n\n this.generatorProcess.send([\n this.pathToGeneratorRootDir,\n formSourcesPath,\n farmDirectory,\n generationOptions,\n this.purgeCache,\n currentRequestNumber,\n ]);\n\n const result = await promise;\n this.processSugarDeferredMap.delete(currentRequestNumber);\n return result;\n }\n\n private forkReadSourcesAndProcessSugarWorker(): ChildProcess {\n const processSugarWorker = fork(\"./ReadSourcesAndProcessSugarWorker\", [], {\n cwd: __dirname,\n });\n\n processSugarWorker.on(\"message\", (response: CallResponse) => {\n const currentDeferred = this.processSugarDeferredMap.get(response.requestNumber);\n if (currentDeferred == undefined) {\n return;\n }\n if (response.type === \"Error\") {\n currentDeferred.reject(new Error(response.errorText));\n } else {\n const formContent = response.generatedForm;\n const result: GeneratedForm = {};\n\n for (const [key, formContentItem] of iterateEntries(formContent)) {\n result[key] =\n typeof formContentItem === \"string\"\n ? formContentItem\n : Buffer.from(formContentItem.payload, formContentItem.encoding);\n }\n\n currentDeferred.resolve(result);\n }\n });\n\n processSugarWorker.on(\"error\", error => {\n throw error;\n });\n\n return processSugarWorker;\n }\n}\n\nconst generatorsCache: Map<string, GeneratorAsyncProxy> = new Map();\n\nexport function createAsyncGenerator(\n pathToGeneratorRootDir: string,\n purgeCache: boolean,\n useGeneratorRestarting: boolean\n): FormGenerator {\n let result = generatorsCache.get(pathToGeneratorRootDir);\n if (result == undefined) {\n result = new GeneratorAsyncProxy(pathToGeneratorRootDir, purgeCache, useGeneratorRestarting);\n generatorsCache.set(pathToGeneratorRootDir, result);\n }\n return result;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,87 +4,37 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.GeneratorSourcesValidator = exports.GeneratorSourcesImporter = void 0;
|
|
7
|
-
var path = _interopRequireWildcard(require("path"));
|
|
8
|
-
var _fsExtra = require("fs-extra");
|
|
9
|
-
var _FsUtils = require("../../../Commons/FsUtils");
|
|
10
|
-
var _EngineStructureUtils = require("../../EngineStructureUtils");
|
|
11
|
-
var _ReadFormSource = require("../../ReadFormSource");
|
|
12
7
|
var _ToolsApiClient = require("../../../Commons/ApiClient/ToolsApiClient");
|
|
13
8
|
var _RequireUncached = require("./RequireUncached");
|
|
14
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
9
|
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
17
10
|
|
|
18
11
|
class GeneratorSourcesImporter {
|
|
19
|
-
constructor(purgeCache) {
|
|
12
|
+
constructor(generatorPath, purgeCache) {
|
|
13
|
+
this.generatorPath = void 0;
|
|
20
14
|
this.purgeCache = void 0;
|
|
15
|
+
this.generatorPath = generatorPath;
|
|
21
16
|
this.purgeCache = purgeCache;
|
|
22
17
|
}
|
|
23
|
-
async importReadSources(
|
|
24
|
-
|
|
25
|
-
const readSourcesPath = path.join(pathToGenerator, "dist", "generators", "readSources.js");
|
|
26
|
-
if (await (0, _FsUtils.isFileExists)(readSourcesPath)) {
|
|
27
|
-
return this.requireUncachedDefault(readSourcesPath);
|
|
28
|
-
} else {
|
|
29
|
-
return _ReadFormSource.readFormSource;
|
|
30
|
-
}
|
|
31
|
-
} else {
|
|
32
|
-
const generatorMain = this.requireUncachedAllNamed(pathToGenerator);
|
|
33
|
-
return generatorMain["readSources"];
|
|
34
|
-
}
|
|
18
|
+
async importReadSources() {
|
|
19
|
+
return this.require("readSources");
|
|
35
20
|
}
|
|
36
|
-
async importGetSugarTexts(
|
|
37
|
-
|
|
38
|
-
const getSugarTextsPath = path.join(pathToGenerator, "dist", "generators", "getSugarTexts.js");
|
|
39
|
-
if (await (0, _FsUtils.isFileExists)(getSugarTextsPath)) {
|
|
40
|
-
return this.requireUncachedDefault(getSugarTextsPath);
|
|
41
|
-
}
|
|
42
|
-
throw new Error("Для данной формы извлекание сахара не поддерживается. Подними движок до версии ^5.37.0");
|
|
43
|
-
} else {
|
|
44
|
-
const generatorMain = this.requireUncachedAllNamed(pathToGenerator);
|
|
45
|
-
return generatorMain["getSugarTexts"];
|
|
46
|
-
}
|
|
21
|
+
async importGetSugarTexts() {
|
|
22
|
+
return this.require("getSugarTexts");
|
|
47
23
|
}
|
|
48
|
-
async importGetAllDependencies(
|
|
49
|
-
|
|
50
|
-
return undefined;
|
|
51
|
-
}
|
|
52
|
-
const generatorMain = this.requireUncachedAllNamed(pathToGenerator);
|
|
53
|
-
return generatorMain["getAllDependencies"];
|
|
24
|
+
async importGetAllDependencies() {
|
|
25
|
+
return this.require("getAllDependencies");
|
|
54
26
|
}
|
|
55
|
-
async importGetAllDependenciesHash(
|
|
56
|
-
|
|
57
|
-
return undefined;
|
|
58
|
-
}
|
|
59
|
-
const generatorMain = this.requireUncachedAllNamed(pathToGenerator);
|
|
60
|
-
return generatorMain["getAllDependenciesHash"];
|
|
27
|
+
async importGetAllDependenciesHash() {
|
|
28
|
+
return this.require("getAllDependenciesHash");
|
|
61
29
|
}
|
|
62
|
-
async importProcessSugar(
|
|
63
|
-
|
|
64
|
-
const processSugarPath = path.join(pathToGenerator, "dist", "generators", "processSugar.js");
|
|
65
|
-
|
|
66
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
67
|
-
return require(processSugarPath).default;
|
|
68
|
-
} else {
|
|
69
|
-
const generatorMain = this.requireUncachedAllNamed(pathToGenerator);
|
|
70
|
-
return generatorMain["processSugar"];
|
|
71
|
-
}
|
|
30
|
+
async importProcessSugar() {
|
|
31
|
+
return this.require("processSugar");
|
|
72
32
|
}
|
|
73
|
-
async importLocalization(
|
|
74
|
-
|
|
75
|
-
const localizationEntryPointPath = path.join(pathToGenerator, "dist", "generators", "localization.js");
|
|
76
|
-
if (!(await (0, _fsExtra.pathExists)(localizationEntryPointPath))) {
|
|
77
|
-
return undefined;
|
|
78
|
-
}
|
|
79
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
80
|
-
return require(localizationEntryPointPath);
|
|
81
|
-
} else {
|
|
82
|
-
const generatorMain = this.requireUncachedAllNamed(pathToGenerator);
|
|
83
|
-
return generatorMain["localization"];
|
|
84
|
-
}
|
|
33
|
+
async importLocalization() {
|
|
34
|
+
return this.require("localization");
|
|
85
35
|
}
|
|
86
|
-
|
|
87
|
-
return
|
|
36
|
+
async require(name) {
|
|
37
|
+
return this.requireUncachedAllNamed(this.generatorPath)[name];
|
|
88
38
|
}
|
|
89
39
|
requireUncachedAllNamed(module) {
|
|
90
40
|
return (0, _RequireUncached.requireUncachedAllNamed)(module, this.purgeCache);
|