@kontur.candy/tools 2.253.0 → 2.255.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/README.md +0 -16
- package/distr/Common/AsyncUtils.js +7 -0
- package/distr/Common/AsyncUtils.js.map +1 -1
- package/distr/Common/CandyApiClient/CandyApiClient.js +37 -5
- package/distr/Common/CandyApiClient/CandyApiClient.js.map +1 -1
- package/distr/Common/CandyApiClient/ClientDraftInfo/ClientDraftInfoResponse.js.map +1 -1
- package/distr/Common/CandyApiClient/FakeCandyApiClient.js +20 -0
- package/distr/Common/CandyApiClient/FakeCandyApiClient.js.map +1 -1
- package/distr/Common/CandyApiClient/ICandyApiClient.js.map +1 -1
- package/distr/Common/CommonConstants/DefaultServicesUrls.js +3 -1
- package/distr/Common/CommonConstants/DefaultServicesUrls.js.map +1 -1
- package/distr/Common/IntRangeUtils.js +4 -0
- package/distr/Common/IntRangeUtils.js.map +1 -1
- package/distr/Common/KCLangRuntimeUtils.js +7 -1
- package/distr/Common/KCLangRuntimeUtils.js.map +1 -1
- package/distr/Common/TypingUtils.js +4 -0
- package/distr/Common/TypingUtils.js.map +1 -1
- package/distr/Common/async/Channel.js +64 -0
- package/distr/Common/async/Channel.js.map +1 -0
- package/distr/Common/async/pool/AsyncPool.js +145 -0
- package/distr/Common/async/pool/AsyncPool.js.map +1 -0
- package/distr/Common/async/pool/FixedPool.js +29 -0
- package/distr/Common/async/pool/FixedPool.js.map +1 -0
- package/distr/Common/async/pool/LimitedPool.js +81 -0
- package/distr/Common/async/pool/LimitedPool.js.map +1 -0
- package/distr/Common/async/pool/Registry.js +73 -0
- package/distr/Common/async/pool/Registry.js.map +1 -0
- package/distr/Common/async/pool/index.js +13 -0
- package/distr/Common/async/pool/index.js.map +1 -0
- package/distr/Common/ds/LinkedList.js +64 -0
- package/distr/Common/ds/LinkedList.js.map +1 -0
- package/distr/Common/multithread/ThreadPool.js +74 -0
- package/distr/Common/multithread/ThreadPool.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Form/GenerateForm.js +2 -1
- 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/Generator/AcquirePublishedGeneratorTask.js +1 -1
- package/distr/Tools/src/BuildTasks/Generator/AcquirePublishedGeneratorTask.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js +13 -4
- package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js +29 -107
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorPool.js +62 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorPool.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js +29 -36
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js +28 -35
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedThreadWorker.js +14 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedThreadWorker.js.map +1 -0
- package/distr/Tools/src/BuildTasks/ResolveFormInfo.js +1 -1
- package/distr/Tools/src/BuildTasks/ResolveFormInfo.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js +0 -10
- package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +2 -6
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js +0 -22
- package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +1 -3
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +2 -5
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js.map +1 -1
- package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js +0 -10
- package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js.map +1 -1
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js +35 -6
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js.map +1 -1
- package/distr/Tools/src/CLICommands/Localization/RunLocalization.js +1 -1
- package/distr/Tools/src/CLICommands/Localization/RunLocalization.js.map +1 -1
- package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js +1 -1
- package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js.map +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js +14 -13
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js +14 -13
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.map +1 -1
- package/package.json +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js +0 -40
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedProcessWorker.js +0 -19
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedProcessWorker.js.map +0 -1
package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _nodeWorker_threads = require("node:worker_threads");
|
|
3
4
|
var _IterableUtils = require("../../../../../Common/IterableUtils");
|
|
4
5
|
var _GeneratorRequireUtils = require("./GeneratorRequireUtils");
|
|
5
|
-
var
|
|
6
|
-
|
|
6
|
+
var _TypedThreadWorker = require("./TypedThreadWorker");
|
|
7
|
+
const {
|
|
8
|
+
generatorPath
|
|
9
|
+
} = _nodeWorker_threads.workerData;
|
|
10
|
+
const generator = (0, _GeneratorRequireUtils.importGenerator)(generatorPath);
|
|
11
|
+
(0, _TypedThreadWorker.startWorker)(async ([formPath, farmPath, options], send) => {
|
|
7
12
|
let formSource;
|
|
8
13
|
try {
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
formSource = await readSources(formSourcesPath, farmDirectory);
|
|
12
|
-
const processSugar = await importer.importProcessSugar();
|
|
13
|
-
const formContent = await processSugar(formSource.sugarContent, formSource.resources, generationOptions);
|
|
14
|
+
formSource = await generator.readSources(formPath, farmPath);
|
|
15
|
+
const formContent = await generator.processSugar(formSource.sugarContent, formSource.resources, options);
|
|
14
16
|
|
|
15
17
|
// eslint-disable-next-line no-warning-comments
|
|
16
18
|
// TODO(2026-06-30): временно отключаем валидацию компиляции Flang на бэкенде (исправить в задаче https://yt.skbkontur.ru/issue/FS-9242)
|
|
@@ -18,40 +20,31 @@ _TypedProcessWorker.TypedProcessWorker.start(async ([pathToGeneratorProcessSugar
|
|
|
18
20
|
// await validator.validate(formContent);
|
|
19
21
|
|
|
20
22
|
const result = {};
|
|
21
|
-
|
|
22
|
-
// NOTE Because only JSON are allowed for IPC we need to convert Buffer -> Base64
|
|
23
|
-
// Another solution is use a stream, but formContent still need to convert or send by chunks
|
|
23
|
+
const transferList = [];
|
|
24
24
|
for (const [key, formContentItem] of (0, _IterableUtils.iterateEntries)(formContent)) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
if (formContentItem instanceof Buffer) {
|
|
26
|
+
// Buffer.buffer is typed as ArrayBuffer | SharedArrayBuffer,
|
|
27
|
+
// but Node.js Buffers never use SharedArrayBuffer in practice.
|
|
28
|
+
const content = formContentItem.buffer.slice(formContentItem.byteOffset, formContentItem.byteOffset + formContentItem.byteLength);
|
|
29
|
+
result[key] = content;
|
|
30
|
+
transferList.push(content);
|
|
31
|
+
} else {
|
|
32
|
+
result[key] = formContentItem;
|
|
33
|
+
}
|
|
30
34
|
}
|
|
31
35
|
send({
|
|
32
36
|
type: "Result",
|
|
33
37
|
gfv: formSource.resources.gfv,
|
|
34
|
-
generatedForm: result
|
|
35
|
-
|
|
36
|
-
});
|
|
38
|
+
generatedForm: result
|
|
39
|
+
}, transferList);
|
|
37
40
|
} catch (error) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
});
|
|
46
|
-
} else {
|
|
47
|
-
var _formSource2;
|
|
48
|
-
send({
|
|
49
|
-
type: "Error",
|
|
50
|
-
gfv: (_formSource2 = formSource) === null || _formSource2 === void 0 ? void 0 : _formSource2.resources.gfv,
|
|
51
|
-
errorText: `${error}`,
|
|
52
|
-
requestNumber: requestNumber
|
|
53
|
-
});
|
|
54
|
-
}
|
|
41
|
+
var _formSource;
|
|
42
|
+
const errorText = error instanceof Error ? `${error.toString()}\n${error.stack}` : `${error}`;
|
|
43
|
+
send({
|
|
44
|
+
type: "Error",
|
|
45
|
+
gfv: (_formSource = formSource) === null || _formSource === void 0 ? void 0 : _formSource.resources.gfv,
|
|
46
|
+
errorText: errorText
|
|
47
|
+
});
|
|
55
48
|
}
|
|
56
49
|
});
|
|
57
50
|
//# sourceMappingURL=ReadSourcesAndProcessSugarWorker.js.map
|
package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadSourcesAndProcessSugarWorker.js","names":["
|
|
1
|
+
{"version":3,"file":"ReadSourcesAndProcessSugarWorker.js","names":["_nodeWorker_threads","require","_IterableUtils","_GeneratorRequireUtils","_TypedThreadWorker","generatorPath","workerData","generator","importGenerator","startWorker","formPath","farmPath","options","send","formSource","readSources","formContent","processSugar","sugarContent","resources","result","transferList","key","formContentItem","iterateEntries","Buffer","content","buffer","slice","byteOffset","byteLength","push","type","gfv","generatedForm","error","_formSource","errorText","Error","toString","stack"],"sources":["../../../../../../src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.ts"],"sourcesContent":["import { workerData } from \"node:worker_threads\";\n\nimport type { GeneratedForm, GenerationOptions } from \"../../Form/GenerateForm\";\nimport type { FormSource } from \"../../FormSource\";\nimport { iterateEntries } from \"../../../../../Common/IterableUtils\";\n\nimport { importGenerator } from \"./GeneratorRequireUtils\";\nimport { startWorker } from \"./TypedThreadWorker\";\n\nexport interface GeneratedFormWorkerMessage {\n [relativeFileName: string]: string | ArrayBuffer;\n}\n\nexport type CallMessage = [formPath: string, farmPath: string, options: GenerationOptions | undefined];\n\nexport type CallResponse =\n | { type: \"Result\"; gfv: string; generatedForm: GeneratedFormWorkerMessage }\n | { type: \"Error\"; gfv?: string; errorText: string };\n\nconst { generatorPath } = workerData as { generatorPath: string };\nconst generator = importGenerator(generatorPath);\n\nstartWorker<CallMessage, CallResponse>(async ([formPath, farmPath, options], send): Promise<void> => {\n let formSource: FormSource | undefined;\n try {\n formSource = await generator.readSources(formPath, farmPath);\n const formContent: GeneratedForm = await generator.processSugar(\n formSource.sugarContent,\n formSource.resources,\n options\n );\n\n // eslint-disable-next-line no-warning-comments\n // TODO(2026-06-30): временно отключаем валидацию компиляции Flang на бэкенде (исправить в задаче https://yt.skbkontur.ru/issue/FS-9242)\n // const validator = new GeneratorSourcesValidator(generationOptions);\n // await validator.validate(formContent);\n\n const result: GeneratedFormWorkerMessage = {};\n const transferList: ArrayBuffer[] = [];\n\n for (const [key, formContentItem] of iterateEntries(formContent)) {\n if (formContentItem instanceof Buffer) {\n // Buffer.buffer is typed as ArrayBuffer | SharedArrayBuffer,\n // but Node.js Buffers never use SharedArrayBuffer in practice.\n const content = formContentItem.buffer.slice(\n formContentItem.byteOffset,\n formContentItem.byteOffset + formContentItem.byteLength\n ) as ArrayBuffer;\n result[key] = content;\n transferList.push(content);\n } else {\n result[key] = formContentItem as string;\n }\n }\n\n send(\n {\n type: \"Result\",\n gfv: formSource.resources.gfv,\n generatedForm: result,\n },\n transferList\n );\n } catch (error) {\n const errorText = error instanceof Error ? `${error.toString()}\\n${error.stack}` : `${error}`;\n send({\n type: \"Error\",\n gfv: formSource?.resources.gfv,\n errorText: errorText,\n });\n }\n});\n"],"mappings":";;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAIA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAH,OAAA;AAYA,MAAM;EAAEI;AAAc,CAAC,GAAGC,8BAAuC;AACjE,MAAMC,SAAS,GAAG,IAAAC,sCAAe,EAACH,aAAa,CAAC;AAEhD,IAAAI,8BAAW,EAA4B,OAAO,CAACC,QAAQ,EAAEC,QAAQ,EAAEC,OAAO,CAAC,EAAEC,IAAI,KAAoB;EACjG,IAAIC,UAAkC;EACtC,IAAI;IACAA,UAAU,GAAG,MAAMP,SAAS,CAACQ,WAAW,CAACL,QAAQ,EAAEC,QAAQ,CAAC;IAC5D,MAAMK,WAA0B,GAAG,MAAMT,SAAS,CAACU,YAAY,CAC3DH,UAAU,CAACI,YAAY,EACvBJ,UAAU,CAACK,SAAS,EACpBP,OACJ,CAAC;;IAED;IACA;IACA;IACA;;IAEA,MAAMQ,MAAkC,GAAG,CAAC,CAAC;IAC7C,MAAMC,YAA2B,GAAG,EAAE;IAEtC,KAAK,MAAM,CAACC,GAAG,EAAEC,eAAe,CAAC,IAAI,IAAAC,6BAAc,EAACR,WAAW,CAAC,EAAE;MAC9D,IAAIO,eAAe,YAAYE,MAAM,EAAE;QACnC;QACA;QACA,MAAMC,OAAO,GAAGH,eAAe,CAACI,MAAM,CAACC,KAAK,CACxCL,eAAe,CAACM,UAAU,EAC1BN,eAAe,CAACM,UAAU,GAAGN,eAAe,CAACO,UACjD,CAAgB;QAChBV,MAAM,CAACE,GAAG,CAAC,GAAGI,OAAO;QACrBL,YAAY,CAACU,IAAI,CAACL,OAAO,CAAC;MAC9B,CAAC,MAAM;QACHN,MAAM,CAACE,GAAG,CAAC,GAAGC,eAAyB;MAC3C;IACJ;IAEAV,IAAI,CACA;MACImB,IAAI,EAAE,QAAQ;MACdC,GAAG,EAAEnB,UAAU,CAACK,SAAS,CAACc,GAAG;MAC7BC,aAAa,EAAEd;IACnB,CAAC,EACDC,YACJ,CAAC;EACL,CAAC,CAAC,OAAOc,KAAK,EAAE;IAAA,IAAAC,WAAA;IACZ,MAAMC,SAAS,GAAGF,KAAK,YAAYG,KAAK,GAAG,GAAGH,KAAK,CAACI,QAAQ,CAAC,CAAC,KAAKJ,KAAK,CAACK,KAAK,EAAE,GAAG,GAAGL,KAAK,EAAE;IAC7FtB,IAAI,CAAC;MACDmB,IAAI,EAAE,OAAO;MACbC,GAAG,GAAAG,WAAA,GAAEtB,UAAU,cAAAsB,WAAA,uBAAVA,WAAA,CAAYjB,SAAS,CAACc,GAAG;MAC9BI,SAAS,EAAEA;IACf,CAAC,CAAC;EACN;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.startWorker = void 0;
|
|
7
|
+
var _nodeWorker_threads = require("node:worker_threads");
|
|
8
|
+
const startWorker = handle => {
|
|
9
|
+
_nodeWorker_threads.parentPort === null || _nodeWorker_threads.parentPort === void 0 || _nodeWorker_threads.parentPort.on("message", async msg => {
|
|
10
|
+
await handle(msg, (out, transfer) => _nodeWorker_threads.parentPort === null || _nodeWorker_threads.parentPort === void 0 ? void 0 : _nodeWorker_threads.parentPort.postMessage(out, transfer));
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
exports.startWorker = startWorker;
|
|
14
|
+
//# sourceMappingURL=TypedThreadWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TypedThreadWorker.js","names":["_nodeWorker_threads","require","startWorker","handle","parentPort","on","msg","out","transfer","postMessage","exports"],"sources":["../../../../../../src/BuildTasks/Generator/GeneratorWorker/TypedThreadWorker.ts"],"sourcesContent":["import { parentPort, TransferListItem } from \"node:worker_threads\";\n\ntype Send<Out> = (out: Out, transfer?: TransferListItem[]) => void;\ntype Handle<In, Out> = (msg: In, send: Send<Out>) => Promise<void>;\n\nexport const startWorker = <In, Out>(handle: Handle<In, Out>): void => {\n parentPort?.on(\"message\", async (msg: In) => {\n await handle(msg, (out, transfer) => parentPort?.postMessage(out, transfer));\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAKO,MAAMC,WAAW,GAAaC,MAAuB,IAAW;EACnEC,8BAAU,aAAVA,8BAAU,eAAVA,8BAAU,CAAEC,EAAE,CAAC,SAAS,EAAE,MAAOC,GAAO,IAAK;IACzC,MAAMH,MAAM,CAACG,GAAG,EAAE,CAACC,GAAG,EAAEC,QAAQ,KAAKJ,8BAAU,aAAVA,8BAAU,uBAAVA,8BAAU,CAAEK,WAAW,CAACF,GAAG,EAAEC,QAAQ,CAAC,CAAC;EAChF,CAAC,CAAC;AACN,CAAC;AAACE,OAAA,CAAAR,WAAA,GAAAA,WAAA","ignoreList":[]}
|
|
@@ -20,7 +20,7 @@ let FormBuildMode = exports.FormBuildMode = /*#__PURE__*/function (FormBuildMode
|
|
|
20
20
|
FormBuildMode[FormBuildMode["NoEditor"] = 1] = "NoEditor";
|
|
21
21
|
return FormBuildMode;
|
|
22
22
|
}({});
|
|
23
|
-
async function resolveFormInfo(formJsonFile, pathToForm,
|
|
23
|
+
async function resolveFormInfo(formJsonFile, pathToForm, logger = (0, _StaticLogger.getLogger)(), upgradeFormJson = false, useLastStableVersion = false, usePrereleaseVersion, nightly = false) {
|
|
24
24
|
var _formConfig$dependenc, _formConfig$dependenc2, _formConfig$settings$;
|
|
25
25
|
const formConfig = await readFormConfig(formJsonFile);
|
|
26
26
|
if (useLastStableVersion && usePrereleaseVersion != undefined) {
|
|
@@ -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$settings$","formConfig","readFormConfig","undefined","Error","dependencies","engine","getLastStableEngineVersion","generator","getLastStableGeneratorVersion","log","writeFileAsync","JSON","stringify","prereleaseVersionFormJson","getPrereleaseVersionFormJson","generatorVersion","parseCandyVersionSpec","engineVersion","type","preId","themes","mode","NoEditor","NormalBuild","formName","extractGfvFromFormPath","formSourcesPath","useServerSideNormalization","settings","useServerSideFLangNormalization","isNewFormJsonFormat","readJson","getFormConfigFromSource","_formConfig$dependenc3","_formConfig$dependenc4","_formConfig$settings","_formConfig$mode","isValidSemVerVersionRange","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 } 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}\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 useServerSideNormalization: boolean;\n}\n\nexport interface FormConfigContent {\n themes?: string[];\n build?: \"ci\" | \"manual\";\n mode?: \"no-editor\";\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\" | \"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);\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: formConfig.mode === \"no-editor\" ? FormBuildMode.NoEditor : FormBuildMode.NormalBuild,\n formName: extractGfvFromFormPath(pathToForm),\n formSourcesPath: pathToForm,\n generatorVersion: generatorVersion,\n engineVersion: engineVersion,\n useServerSideNormalization: formConfig.settings.useServerSideFLangNormalization ?? false,\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): Promise<FormConfig> {\n const formConfig: FormConfigContent = await readJson(formJsonFile);\n return getFormConfigFromSource(formConfig);\n}\n\nexport function getFormConfigFromSource(formConfig: FormConfigContent): 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
|
+
{"version":3,"file":"ResolveFormInfo.js","names":["_fsExtra","require","_lodash","_FsUtils","_StaticLogger","_FormPathUtils","_PublishedVersionUtils","_Version","FormBuildMode","exports","resolveFormInfo","formJsonFile","pathToForm","logger","getLogger","upgradeFormJson","useLastStableVersion","usePrereleaseVersion","nightly","_formConfig$dependenc","_formConfig$dependenc2","_formConfig$settings$","formConfig","readFormConfig","undefined","Error","dependencies","engine","getLastStableEngineVersion","generator","getLastStableGeneratorVersion","log","writeFileAsync","JSON","stringify","prereleaseVersionFormJson","getPrereleaseVersionFormJson","generatorVersion","parseCandyVersionSpec","engineVersion","type","preId","themes","mode","NoEditor","NormalBuild","formName","extractGfvFromFormPath","formSourcesPath","useServerSideNormalization","settings","useServerSideFLangNormalization","isNewFormJsonFormat","readJson","getFormConfigFromSource","_formConfig$dependenc3","_formConfig$dependenc4","_formConfig$settings","_formConfig$mode","isValidSemVerVersionRange","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 } 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}\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 useServerSideNormalization: boolean;\n}\n\nexport interface FormConfigContent {\n themes?: string[];\n build?: \"ci\" | \"manual\";\n mode?: \"no-editor\";\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\" | \"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 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);\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: formConfig.mode === \"no-editor\" ? FormBuildMode.NoEditor : FormBuildMode.NormalBuild,\n formName: extractGfvFromFormPath(pathToForm),\n formSourcesPath: pathToForm,\n generatorVersion: generatorVersion,\n engineVersion: engineVersion,\n useServerSideNormalization: formConfig.settings.useServerSideFLangNormalization ?? false,\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): Promise<FormConfig> {\n const formConfig: FormConfigContent = await readJson(formJsonFile);\n return getFormConfigFromSource(formConfig);\n}\n\nexport function getFormConfigFromSource(formConfig: FormConfigContent): 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":[]}
|
|
@@ -75,16 +75,6 @@ const buildFormsOptionsDefinition = exports.buildFormsOptionsDefinition = (0, _C
|
|
|
75
75
|
usePrereleaseVersion: input
|
|
76
76
|
}),
|
|
77
77
|
description: "Устанавливает версию движка в файла form.json в последнюю пререлизную версию в заданным preid. В файле версии генератора и движка будут установлены в pre:some-preid."
|
|
78
|
-
}, {
|
|
79
|
-
name: "no-reformat",
|
|
80
|
-
doesNotRequireValue: true,
|
|
81
|
-
defaultValue: {
|
|
82
|
-
skipGeneratedCodeReformatting: true
|
|
83
|
-
},
|
|
84
|
-
parse: input => ({
|
|
85
|
-
skipGeneratedCodeReformatting: input
|
|
86
|
-
}),
|
|
87
|
-
description: "Отлючает форматирование генерируемого кода. Работает, только если версия генератора поддерживает эту опцию. Используется для ускорения сборки форм. (default: true)"
|
|
88
78
|
}, {
|
|
89
79
|
alias: "g",
|
|
90
80
|
name: "gfvs",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildFormsOptions.js","names":["_CommandBasedOptionsParser","require","_CommonOptionDefintions","_BuildCacheMode","buildFormsOptionsDefinition","exports","commandDefinition","optionsDefinition","alias","name","defaultValue","watch","parse","input","doesNotRequireValue","description","clean","mode","upgradeFormJson","buildCacheMode","BuildCacheMode","ReadOnly","parseBuildCacheMode","useLastStableVersion","usePrereleaseVersion","undefined","skipGeneratedCodeReformatting","formGlobs","defaultOption","multiple","useVersionFromCache","buildCandyWidget","devModeOption","logVerbosityOption","detailedDescription","trim","examples","extendedDetails"],"sources":["../../../../../src/CLICommands/BuildForms/BuildFormsOptions.ts"],"sourcesContent":["import { commandDefinition, optionsDefinition } from \"../../Commons/Options/CommandBasedOptionsParser\";\nimport { CommonOptions } from \"../CommonOptions/CommonOptions\";\nimport { devModeOption, logVerbosityOption } from \"../CommonOptions/CommonOptionDefintions\";\n\nimport { BuildCacheMode, parseBuildCacheMode } from \"./BuildCacheMode\";\n\nexport interface BuildFormsOptions extends CommonOptions {\n watch: boolean;\n clean: boolean;\n formGlobs: string[];\n upgradeFormJson: boolean;\n useLastStableVersion: boolean;\n usePrereleaseVersion?: string;\n skipGeneratedCodeReformatting: boolean;\n useVersionFromCache: boolean;\n mode: \"development\" | \"production\";\n buildCacheMode: BuildCacheMode;\n buildCandyWidget: boolean;\n}\n\nexport const buildFormsOptionsDefinition = commandDefinition<\"build\", BuildFormsOptions>(\n \"build\",\n \"build\",\n optionsDefinition(\n {\n alias: \"w\",\n name: \"watch\",\n defaultValue: { watch: false },\n parse: input => ({ watch: input }),\n doesNotRequireValue: true,\n description:\n \"Watch-режим. Выполняет сборку форм, а затем пересобирает при изменениях. В том числе движка, генератора и статических ресурсов.\",\n },\n {\n name: \"clean\",\n defaultValue: { clean: false },\n parse: input => ({ clean: input }),\n doesNotRequireValue: true,\n description:\n \"Полностью очищает целевой каталог ресурсов. Используется при полной сборке форм для продакшена\",\n },\n {\n name: \"mode\",\n defaultValue: { mode: \"development\" },\n parse: (input: string) => ({ mode: input }),\n description:\n \"Разделение сборок на продовую (mode=production) и не продовую (mode=development). По умолчанию development\",\n },\n {\n name: \"upgrade-form-json\",\n defaultValue: { upgradeFormJson: false },\n parse: input => ({ upgradeFormJson: input }),\n doesNotRequireValue: true,\n description: \"Форсирует изменение формата файла form.json на новый\",\n },\n {\n name: \"build-cache\",\n defaultValue: { buildCacheMode: BuildCacheMode.ReadOnly },\n parse: (input: string) => ({ buildCacheMode: parseBuildCacheMode(input) }),\n description:\n \"Задаёт режим использования кэша сборки. Возможные значения:\\n\" +\n \" disabled - не использовать кэш\\n\" +\n \" readonly - использовать кэш для сборки, но не обновляет его (значение по умолчанию)\\n\" +\n \" update - использовать кэш для сборки и презаписывать, если не совпадает\\n\" +\n \" force-update - всегда выполнять сборку и обновить значения в кэше\\n\" +\n \"Отключается при использовании watch-режима\",\n },\n {\n name: \"use-last-stable-version\",\n defaultValue: { useLastStableVersion: false },\n parse: input => ({ useLastStableVersion: input }),\n doesNotRequireValue: true,\n description:\n \"Устанавливает версию движка в файла `form.json` в последнюю стабильную версию. Аналогичен запуску candy-build с параметром -ge master\",\n },\n {\n name: \"use-prerelease-version\",\n defaultValue: { usePrereleaseVersion: undefined as undefined | string },\n parse: (input: string) => ({ usePrereleaseVersion: input }),\n description:\n \"Устанавливает версию движка в файла form.json в последнюю пререлизную версию в заданным preid. В файле версии генератора и движка будут установлены в pre:some-preid.\",\n },\n {\n name: \"no-reformat\",\n doesNotRequireValue: true,\n defaultValue: { skipGeneratedCodeReformatting: true },\n parse: (input: boolean) => ({ skipGeneratedCodeReformatting: input }),\n description:\n \"Отлючает форматирование генерируемого кода. Работает, только если версия генератора поддерживает эту опцию. Используется для ускорения сборки форм. (default: true)\",\n },\n {\n alias: \"g\",\n name: \"gfvs\",\n defaultValue: { formGlobs: [] },\n parse: (input: string[]) => ({ formGlobs: input }),\n defaultOption: true,\n multiple: true,\n description: \"Одна или несколько GFV или GFV-масок для пересборки. Может содержать значки `?` и `*`.\",\n },\n {\n name: \"use-version-from-cache\",\n defaultValue: { useVersionFromCache: false },\n parse: (input: boolean) => ({ useVersionFromCache: input }),\n description: \"Использовать версию движка и генератора из файловой системы\",\n doesNotRequireValue: true,\n },\n {\n name: \"build-candy-widget\",\n doesNotRequireValue: true,\n defaultValue: { buildCandyWidget: false },\n parse: (input: boolean) => ({ buildCandyWidget: input }),\n description: \"Собирать candy-виджет\",\n },\n devModeOption,\n logVerbosityOption\n ),\n {\n description:\n \"Выполняет сборку одной или нескольких форм.\\n\" +\n \"Подробнее: https://git.skbkontur.ru/forms/candy/-/blob/master/Tools/README.md#candy-build\",\n\n detailedDescription: `\nОсновной сценарий: выполняет сборку форм в каталог с ресурсами. Действия, которые выполняет команда:\n\n* Получение движка форм версии указанной в \\`form.json\\`,\n* получение генератора форм версии указанной в \\`form.json\\`,\n* генерация и компиляция формы в каталог ресурсов,\n* создание файлов \\`{gfv}.metas.json\\` в каталоге ресурсов\n* копирование конвертеров в каталог ресурсов,\n* копирование схемы в каталог ресурсов.\n`.trim(),\n\n examples: `\n\\`\\`\\`\n# Сборка формы 104816\ncandy build 104816\n\\`\\`\\`\n\n\\`\\`\\`\n# Сборка все формы группы 1\ncandy build 1?????\n\\`\\`\\`\n\n\\`\\`\\`\n# Собрать форму 104816 и следить за изменениями\ncandy build 104816 -w\n\\`\\`\\`\n\n\\`\\`\\`\n# Использовать последнюю пререлизную версию движка с preid=bso\ncandy build 104816 --use-prerelease-version bso\n\\`\\`\\`\n`.trim(),\n\n extendedDetails: `\n### Версионирование\n\nПри сборке форм, учитывается версия движка и генератора указанные файле form.json. Версии могут указывать не на конкретную версию, а адресовать диапазон в соответствии с [semver](https://semver.org/lang/ru/).\nВ этом случае будет выбрана последняя подходящая версия.\n\nФайл form.json должен выглядеть следующим образом:\n\\`\\`\\`\n{\n // Опционально\n \"themes\": [\"имя-темы\", ...],\n \"dependencies\": {\n \"engine\": \"[версия-движка]\",\n \"generator\": \"[версия-генератора]\"\n }\n}\n\\`\\`\\`\n\n\\`версия-движка\\`, \\`версия-генератора\\` - Соответственно, диапазоны версий. На данный момент всегда совпадают.\n\nДопустимые варианты версий:\n* Версия в формате [semver](https://semver.org/lang/ru/).\n* Версия с префиксом pre. Например, \\`pre:my-stange-branch-name\\`, где \\`my-stange-branch-name\\` - название предрелизной версии, выпускаемой разработчиками Candy, для предварительного выпуска форм.\nВерсия с префиксом pre используются для движков, которые не являются стабильными и используются для предварительных сборок форм.\n`.trim(),\n }\n);\n"],"mappings":";;;;;;AAAA,IAAAA,0BAAA,GAAAC,OAAA;AAEA,IAAAC,uBAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AAgBO,MAAMG,2BAA2B,GAAAC,OAAA,CAAAD,2BAAA,GAAG,IAAAE,4CAAiB,EACxD,OAAO,EACP,OAAO,EACP,IAAAC,4CAAiB,EACb;EACIC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,OAAO;EACbC,YAAY,EAAE;IAAEC,KAAK,EAAE;EAAM,CAAC;EAC9BC,KAAK,EAAEC,KAAK,KAAK;IAAEF,KAAK,EAAEE;EAAM,CAAC,CAAC;EAClCC,mBAAmB,EAAE,IAAI;EACzBC,WAAW,EACP;AACR,CAAC,EACD;EACIN,IAAI,EAAE,OAAO;EACbC,YAAY,EAAE;IAAEM,KAAK,EAAE;EAAM,CAAC;EAC9BJ,KAAK,EAAEC,KAAK,KAAK;IAAEG,KAAK,EAAEH;EAAM,CAAC,CAAC;EAClCC,mBAAmB,EAAE,IAAI;EACzBC,WAAW,EACP;AACR,CAAC,EACD;EACIN,IAAI,EAAE,MAAM;EACZC,YAAY,EAAE;IAAEO,IAAI,EAAE;EAAc,CAAC;EACrCL,KAAK,EAAGC,KAAa,KAAM;IAAEI,IAAI,EAAEJ;EAAM,CAAC,CAAC;EAC3CE,WAAW,EACP;AACR,CAAC,EACD;EACIN,IAAI,EAAE,mBAAmB;EACzBC,YAAY,EAAE;IAAEQ,eAAe,EAAE;EAAM,CAAC;EACxCN,KAAK,EAAEC,KAAK,KAAK;IAAEK,eAAe,EAAEL;EAAM,CAAC,CAAC;EAC5CC,mBAAmB,EAAE,IAAI;EACzBC,WAAW,EAAE;AACjB,CAAC,EACD;EACIN,IAAI,EAAE,aAAa;EACnBC,YAAY,EAAE;IAAES,cAAc,EAAEC,8BAAc,CAACC;EAAS,CAAC;EACzDT,KAAK,EAAGC,KAAa,KAAM;IAAEM,cAAc,EAAE,IAAAG,mCAAmB,EAACT,KAAK;EAAE,CAAC,CAAC;EAC1EE,WAAW,EACP,+DAA+D,GAC/D,oCAAoC,GACpC,yFAAyF,GACzF,6EAA6E,GAC7E,uEAAuE,GACvE;AACR,CAAC,EACD;EACIN,IAAI,EAAE,yBAAyB;EAC/BC,YAAY,EAAE;IAAEa,oBAAoB,EAAE;EAAM,CAAC;EAC7CX,KAAK,EAAEC,KAAK,KAAK;IAAEU,oBAAoB,EAAEV;EAAM,CAAC,CAAC;EACjDC,mBAAmB,EAAE,IAAI;EACzBC,WAAW,EACP;AACR,CAAC,EACD;EACIN,IAAI,EAAE,wBAAwB;EAC9BC,YAAY,EAAE;IAAEc,oBAAoB,EAAEC;EAAgC,CAAC;EACvEb,KAAK,EAAGC,KAAa,KAAM;IAAEW,oBAAoB,EAAEX;EAAM,CAAC,CAAC;EAC3DE,WAAW,EACP;AACR,CAAC,EACD;EACIN,IAAI,EAAE,aAAa;EACnBK,mBAAmB,EAAE,IAAI;EACzBJ,YAAY,EAAE;IAAEgB,6BAA6B,EAAE;EAAK,CAAC;EACrDd,KAAK,EAAGC,KAAc,KAAM;IAAEa,6BAA6B,EAAEb;EAAM,CAAC,CAAC;EACrEE,WAAW,EACP;AACR,CAAC,EACD;EACIP,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,MAAM;EACZC,YAAY,EAAE;IAAEiB,SAAS,EAAE;EAAG,CAAC;EAC/Bf,KAAK,EAAGC,KAAe,KAAM;IAAEc,SAAS,EAAEd;EAAM,CAAC,CAAC;EAClDe,aAAa,EAAE,IAAI;EACnBC,QAAQ,EAAE,IAAI;EACdd,WAAW,EAAE;AACjB,CAAC,EACD;EACIN,IAAI,EAAE,wBAAwB;EAC9BC,YAAY,EAAE;IAAEoB,mBAAmB,EAAE;EAAM,CAAC;EAC5ClB,KAAK,EAAGC,KAAc,KAAM;IAAEiB,mBAAmB,EAAEjB;EAAM,CAAC,CAAC;EAC3DE,WAAW,EAAE,6DAA6D;EAC1ED,mBAAmB,EAAE;AACzB,CAAC,EACD;EACIL,IAAI,EAAE,oBAAoB;EAC1BK,mBAAmB,EAAE,IAAI;EACzBJ,YAAY,EAAE;IAAEqB,gBAAgB,EAAE;EAAM,CAAC;EACzCnB,KAAK,EAAGC,KAAc,KAAM;IAAEkB,gBAAgB,EAAElB;EAAM,CAAC,CAAC;EACxDE,WAAW,EAAE;AACjB,CAAC,EACDiB,qCAAa,EACbC,0CACJ,CAAC,EACD;EACIlB,WAAW,EACP,+CAA+C,GAC/C,2FAA2F;EAE/FmB,mBAAmB,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAACC,IAAI,CAAC,CAAC;EAEAC,QAAQ,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAACD,IAAI,CAAC,CAAC;EAEAE,eAAe,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAACF,IAAI,CAAC;AACH,CACJ,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"BuildFormsOptions.js","names":["_CommandBasedOptionsParser","require","_CommonOptionDefintions","_BuildCacheMode","buildFormsOptionsDefinition","exports","commandDefinition","optionsDefinition","alias","name","defaultValue","watch","parse","input","doesNotRequireValue","description","clean","mode","upgradeFormJson","buildCacheMode","BuildCacheMode","ReadOnly","parseBuildCacheMode","useLastStableVersion","usePrereleaseVersion","undefined","formGlobs","defaultOption","multiple","useVersionFromCache","buildCandyWidget","devModeOption","logVerbosityOption","detailedDescription","trim","examples","extendedDetails"],"sources":["../../../../../src/CLICommands/BuildForms/BuildFormsOptions.ts"],"sourcesContent":["import { commandDefinition, optionsDefinition } from \"../../Commons/Options/CommandBasedOptionsParser\";\nimport { CommonOptions } from \"../CommonOptions/CommonOptions\";\nimport { devModeOption, logVerbosityOption } from \"../CommonOptions/CommonOptionDefintions\";\n\nimport { BuildCacheMode, parseBuildCacheMode } from \"./BuildCacheMode\";\n\nexport interface BuildFormsOptions extends CommonOptions {\n watch: boolean;\n clean: boolean;\n formGlobs: string[];\n upgradeFormJson: boolean;\n useLastStableVersion: boolean;\n usePrereleaseVersion?: string;\n useVersionFromCache: boolean;\n mode: \"development\" | \"production\";\n buildCacheMode: BuildCacheMode;\n buildCandyWidget: boolean;\n}\n\nexport const buildFormsOptionsDefinition = commandDefinition<\"build\", BuildFormsOptions>(\n \"build\",\n \"build\",\n optionsDefinition(\n {\n alias: \"w\",\n name: \"watch\",\n defaultValue: { watch: false },\n parse: input => ({ watch: input }),\n doesNotRequireValue: true,\n description:\n \"Watch-режим. Выполняет сборку форм, а затем пересобирает при изменениях. В том числе движка, генератора и статических ресурсов.\",\n },\n {\n name: \"clean\",\n defaultValue: { clean: false },\n parse: input => ({ clean: input }),\n doesNotRequireValue: true,\n description:\n \"Полностью очищает целевой каталог ресурсов. Используется при полной сборке форм для продакшена\",\n },\n {\n name: \"mode\",\n defaultValue: { mode: \"development\" },\n parse: (input: string) => ({ mode: input }),\n description:\n \"Разделение сборок на продовую (mode=production) и не продовую (mode=development). По умолчанию development\",\n },\n {\n name: \"upgrade-form-json\",\n defaultValue: { upgradeFormJson: false },\n parse: input => ({ upgradeFormJson: input }),\n doesNotRequireValue: true,\n description: \"Форсирует изменение формата файла form.json на новый\",\n },\n {\n name: \"build-cache\",\n defaultValue: { buildCacheMode: BuildCacheMode.ReadOnly },\n parse: (input: string) => ({ buildCacheMode: parseBuildCacheMode(input) }),\n description:\n \"Задаёт режим использования кэша сборки. Возможные значения:\\n\" +\n \" disabled - не использовать кэш\\n\" +\n \" readonly - использовать кэш для сборки, но не обновляет его (значение по умолчанию)\\n\" +\n \" update - использовать кэш для сборки и презаписывать, если не совпадает\\n\" +\n \" force-update - всегда выполнять сборку и обновить значения в кэше\\n\" +\n \"Отключается при использовании watch-режима\",\n },\n {\n name: \"use-last-stable-version\",\n defaultValue: { useLastStableVersion: false },\n parse: input => ({ useLastStableVersion: input }),\n doesNotRequireValue: true,\n description:\n \"Устанавливает версию движка в файла `form.json` в последнюю стабильную версию. Аналогичен запуску candy-build с параметром -ge master\",\n },\n {\n name: \"use-prerelease-version\",\n defaultValue: { usePrereleaseVersion: undefined as undefined | string },\n parse: (input: string) => ({ usePrereleaseVersion: input }),\n description:\n \"Устанавливает версию движка в файла form.json в последнюю пререлизную версию в заданным preid. В файле версии генератора и движка будут установлены в pre:some-preid.\",\n },\n {\n alias: \"g\",\n name: \"gfvs\",\n defaultValue: { formGlobs: [] },\n parse: (input: string[]) => ({ formGlobs: input }),\n defaultOption: true,\n multiple: true,\n description: \"Одна или несколько GFV или GFV-масок для пересборки. Может содержать значки `?` и `*`.\",\n },\n {\n name: \"use-version-from-cache\",\n defaultValue: { useVersionFromCache: false },\n parse: (input: boolean) => ({ useVersionFromCache: input }),\n description: \"Использовать версию движка и генератора из файловой системы\",\n doesNotRequireValue: true,\n },\n {\n name: \"build-candy-widget\",\n doesNotRequireValue: true,\n defaultValue: { buildCandyWidget: false },\n parse: (input: boolean) => ({ buildCandyWidget: input }),\n description: \"Собирать candy-виджет\",\n },\n devModeOption,\n logVerbosityOption\n ),\n {\n description:\n \"Выполняет сборку одной или нескольких форм.\\n\" +\n \"Подробнее: https://git.skbkontur.ru/forms/candy/-/blob/master/Tools/README.md#candy-build\",\n\n detailedDescription: `\nОсновной сценарий: выполняет сборку форм в каталог с ресурсами. Действия, которые выполняет команда:\n\n* Получение движка форм версии указанной в \\`form.json\\`,\n* получение генератора форм версии указанной в \\`form.json\\`,\n* генерация и компиляция формы в каталог ресурсов,\n* создание файлов \\`{gfv}.metas.json\\` в каталоге ресурсов\n* копирование конвертеров в каталог ресурсов,\n* копирование схемы в каталог ресурсов.\n`.trim(),\n\n examples: `\n\\`\\`\\`\n# Сборка формы 104816\ncandy build 104816\n\\`\\`\\`\n\n\\`\\`\\`\n# Сборка все формы группы 1\ncandy build 1?????\n\\`\\`\\`\n\n\\`\\`\\`\n# Собрать форму 104816 и следить за изменениями\ncandy build 104816 -w\n\\`\\`\\`\n\n\\`\\`\\`\n# Использовать последнюю пререлизную версию движка с preid=bso\ncandy build 104816 --use-prerelease-version bso\n\\`\\`\\`\n`.trim(),\n\n extendedDetails: `\n### Версионирование\n\nПри сборке форм, учитывается версия движка и генератора указанные файле form.json. Версии могут указывать не на конкретную версию, а адресовать диапазон в соответствии с [semver](https://semver.org/lang/ru/).\nВ этом случае будет выбрана последняя подходящая версия.\n\nФайл form.json должен выглядеть следующим образом:\n\\`\\`\\`\n{\n // Опционально\n \"themes\": [\"имя-темы\", ...],\n \"dependencies\": {\n \"engine\": \"[версия-движка]\",\n \"generator\": \"[версия-генератора]\"\n }\n}\n\\`\\`\\`\n\n\\`версия-движка\\`, \\`версия-генератора\\` - Соответственно, диапазоны версий. На данный момент всегда совпадают.\n\nДопустимые варианты версий:\n* Версия в формате [semver](https://semver.org/lang/ru/).\n* Версия с префиксом pre. Например, \\`pre:my-stange-branch-name\\`, где \\`my-stange-branch-name\\` - название предрелизной версии, выпускаемой разработчиками Candy, для предварительного выпуска форм.\nВерсия с префиксом pre используются для движков, которые не являются стабильными и используются для предварительных сборок форм.\n`.trim(),\n }\n);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -76,7 +76,7 @@ async function runBuildForms(context, options, farmDirectory, resourcesDirectory
|
|
|
76
76
|
if (await (0, _fsExtra.pathExists)(_path.default.join(formDirPath, "presentations.json"))) {
|
|
77
77
|
throw new Error(`presentations.json больше не используется, удали его из ${formDirPath} или используй команду candy rename ${gfv} в каталоге candy.farm`);
|
|
78
78
|
}
|
|
79
|
-
return _Observe.Observe.file(_path.default.join(formDirPath, _WellKnownDirectories.WellKnownDirectories.FormJsonFileName)).transform(formJsonFile => (0, _ResolveFormInfo.resolveFormInfo)(formJsonFile, formDirPath,
|
|
79
|
+
return _Observe.Observe.file(_path.default.join(formDirPath, _WellKnownDirectories.WellKnownDirectories.FormJsonFileName)).transform(formJsonFile => (0, _ResolveFormInfo.resolveFormInfo)(formJsonFile, formDirPath, context.logger.withPrefix(`FORM:${gfv}`), options.upgradeFormJson, options.useLastStableVersion, options.usePrereleaseVersion)).transform(async fi => {
|
|
80
80
|
if (fi.mode === _ResolveFormInfo.FormBuildMode.NormalBuild) {
|
|
81
81
|
if (fi.generatorVersion == undefined) {
|
|
82
82
|
throw new Error("generatorVersion is not defined");
|
|
@@ -116,16 +116,13 @@ async function runBuildForms(context, options, farmDirectory, resourcesDirectory
|
|
|
116
116
|
}
|
|
117
117
|
});
|
|
118
118
|
}, async fi => fi, async fi => fi.engineSource != undefined ? (0, _EngineSource.getEngineSourceKey)(fi.engineSource) : "NullEngine").attach(async fi => buildOptions.watch ? _Observe.Observe.files(fi.formSourcesPath, "../../controls/**/*", "../../xsltTemplates/**/*", "../../jsHelpers/**/*", `./${_WellKnownDirectories.WellKnownDirectories.FormJsonFileName}`, "schemas/**/*", "sugar/**/*", "controls/**/*", "autocalc/**/*", "helpers/**/*", "normalizers/**/*", "validations/**/*", "localization/**/*") : _Observe.Observe.value(fi.formSourcesPath)).transform(async fi => {
|
|
119
|
-
let dependenciesHash;
|
|
120
119
|
if (fi.mode !== _ResolveFormInfo.FormBuildMode.NormalBuild) {
|
|
121
120
|
return {
|
|
122
121
|
...fi,
|
|
123
122
|
dependenciesHash: undefined
|
|
124
123
|
};
|
|
125
124
|
}
|
|
126
|
-
|
|
127
|
-
dependenciesHash = await fi.generator.getAllDependenciesHash(formDirPath, farmDirectory);
|
|
128
|
-
}
|
|
125
|
+
const dependenciesHash = await fi.generator.getAllDependenciesHash(formDirPath, farmDirectory);
|
|
129
126
|
return {
|
|
130
127
|
...fi,
|
|
131
128
|
dependenciesHash: dependenciesHash
|
|
@@ -149,7 +146,6 @@ async function runBuildForms(context, options, farmDirectory, resourcesDirectory
|
|
|
149
146
|
return undefined;
|
|
150
147
|
}
|
|
151
148
|
return (0, _GenerateForm.generateForm)(fi.formSourcesPath, farmDirectory, fi.generator, undefined, {
|
|
152
|
-
skipCodeReformatting: options.skipGeneratedCodeReformatting,
|
|
153
149
|
resourcesHash: (_fi$dependenciesHash = fi.dependenciesHash) !== null && _fi$dependenciesHash !== void 0 ? _fi$dependenciesHash : "UndefinedResourcesHash"
|
|
154
150
|
});
|
|
155
151
|
}).attach(async () => buildOptions.watch ? _Observe.Observe.files(_path.default.join(formDirPath, "form"), "**/*") : _Observe.Observe.value(_path.default.join(formDirPath, "form"))).do(async fi => {
|
|
@@ -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","_EmptyProducer","_GetRngSchemaFileExtension","_FormPathUtils","_WellKnownDirectories","_WriteAttachmentPathByGfvFiles","_WriteKClangFiles","_WriteExtendedSchemaFiles","_EngineStructureUtils","_BuildCandyWidgetTask","getGeneratorVersion","generatorSource","type","version","Error","runBuildForms","context","options","farmDirectory","resourcesDirectory","engineDirectory","candyModulesDirectory","buildOptions","pickListsChain","Observe","files","path","join","do","x","FSTask","copyRecursively","logger","withPrefix","formInfos","FormGlobs","resolveGfvGlobs","formGlobs","staticResourcesForProductionChain","__dirname","getLogger","resourcesExternalConvertersChain","empty","copiedEngines","Set","repositoryRoot","buildCache","BuildCache","buildCacheMode","createChainForForm","formRelativePath","gfv","extractGfvFromFormPath","formDirPath","pathExists","WellKnownDirectories","FormJsonFileName","warning","value","formSchemasDirPath","rngSchemaMask","getRngSchemaFileExtension","rngSchemaExtension","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","watch","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","useServerSideNormalization","writeFLangNormalizationFiles","writeKClangFiles","writeExtendedSchemaFiles","writeAttachmentPathFiles","writeAttachmentPathByGfvFiles","modifier","content","replace","modifyFilesContent","notifier","notify","title","message","buildFormsChain","fixedFormDirectories","map","relative","formPath","splitToParallelChains","candyWidgetsConfigTask","createClientViteConfigTask","buildCandyWidgetChain","buildCandyWidget","EmptyProducer","chainWith","p","BuildCandyWidgetTask","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\";\nimport { writeKClangFiles } from \"../../BuildTasks/Form/WriteKClangFiles\";\nimport { writeExtendedSchemaFiles } from \"../../BuildTasks/Form/WriteExtendedSchemaFiles\";\nimport { createClientViteConfigTask } from \"../../BuildTasks/EngineStructureUtils\";\nimport { BuildCandyWidgetTask } from \"../../BuildTasks/CandyWidget/BuildCandyWidgetTask\";\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): 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 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\n const createChainForForm = async (formRelativePath: string) => {\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 const rngSchemaExtension = getRngSchemaFileExtension(formSchemasDirPath, gfv);\n\n if (rngSchemaExtension == \".rng.xml\") {\n throw new Error(\n `Недопустимое название схемы ${gfv + rngSchemaExtension} используй команду candy rename ${gfv} в каталоге candy.farm`\n );\n }\n if (await pathExists(path.join(formDirPath, \"presentations.json\"))) {\n throw new Error(\n `presentations.json больше не используется, удали его из ${formDirPath} или используй команду candy rename ${gfv} в каталоге candy.farm`\n );\n }\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(fi.generatorSource, candyModulesDirectory, options.useVersionFromCache);\n }\n },\n async (fi, y) => ({ ...fi, generator: y }),\n async fi =>\n fi.generatorSource != undefined ? getGeneratorSourceKey(fi.generatorSource) : \"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 buildOptions.watch\n ? Observe.files(\n fi.formSourcesPath,\n \"../../controls/**/*\",\n \"../../xsltTemplates/**/*\",\n \"../../jsHelpers/**/*\",\n `./${WellKnownDirectories.FormJsonFileName}`,\n \"schemas/**/*\",\n \"sugar/**/*\",\n \"controls/**/*\",\n \"autocalc/**/*\",\n \"helpers/**/*\",\n \"normalizers/**/*\",\n \"validations/**/*\",\n \"localization/**/*\"\n )\n : Observe.value(fi.formSourcesPath)\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(formDirPath, farmDirectory);\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(fi.formSourcesPath, farmDirectory, fi.generator, undefined, {\n skipCodeReformatting: options.skipGeneratedCodeReformatting,\n resourcesHash: fi.dependenciesHash ?? \"UndefinedResourcesHash\",\n });\n })\n .attach(async () =>\n buildOptions.watch\n ? Observe.files(path.join(formDirPath, \"form\"), \"**/*\")\n : Observe.value(path.join(formDirPath, \"form\"))\n )\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 fi.useServerSideNormalization,\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 formDirPath,\n resourcesDirectory,\n undefined,\n buildCache,\n buildCacheOptions,\n fi.buildCacheExist\n );\n await writeKClangFiles(\n fi.formName,\n formDirPath,\n resourcesDirectory,\n undefined,\n buildCache,\n buildCacheOptions,\n fi.buildCacheExist\n );\n await writeExtendedSchemaFiles(\n fi.formName,\n formDirPath,\n resourcesDirectory,\n undefined,\n buildCache,\n buildCacheOptions,\n fi.buildCacheExist\n );\n await writeAttachmentPathFiles(\n fi.formName,\n formDirPath,\n resourcesDirectory,\n undefined,\n buildCache,\n buildCacheOptions\n );\n await writeAttachmentPathByGfvFiles(\n fi.formName,\n formDirPath,\n resourcesDirectory,\n undefined,\n buildCache,\n buildCacheOptions\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(getLogger().withPrefix(\"PATCH\"), x, path.join(resourcesDirectory, \"patch\"))\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(getLogger().withPrefix(\"UNMAP\"), x, path.join(resourcesDirectory, \"unmap\"))\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 const buildFormsChain = Observe.fixedFormDirectories(\n formInfos.map(x => path.relative(repositoryRoot, x.formPath))\n ).splitToParallelChains(\n x => x,\n x => x,\n createChainForForm\n );\n\n const candyWidgetsConfigTask = await createClientViteConfigTask(engineDirectory);\n const buildCandyWidgetChain = !options.buildCandyWidget\n ? new EmptyProducer()\n : candyWidgetsConfigTask.chainWith(p => new BuildCandyWidgetTask(p));\n\n if (options.clean) {\n await cleanTargetDirectory(resourcesDirectory, context.logger);\n }\n\n if (buildOptions.watch) {\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 await pickListsChain.currentValue;\n await resourcesExternalConvertersChain.currentValue;\n await staticResourcesForProductionChain.currentValue;\n await buildFormsChain.currentValue;\n await buildCandyWidgetChain.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","_EmptyProducer","_GetRngSchemaFileExtension","_FormPathUtils","_WellKnownDirectories","_WriteAttachmentPathByGfvFiles","_WriteKClangFiles","_WriteExtendedSchemaFiles","_EngineStructureUtils","_BuildCandyWidgetTask","getGeneratorVersion","generatorSource","type","version","Error","runBuildForms","context","options","farmDirectory","resourcesDirectory","engineDirectory","candyModulesDirectory","buildOptions","pickListsChain","Observe","files","path","join","do","x","FSTask","copyRecursively","logger","withPrefix","formInfos","FormGlobs","resolveGfvGlobs","formGlobs","staticResourcesForProductionChain","__dirname","getLogger","resourcesExternalConvertersChain","empty","copiedEngines","Set","repositoryRoot","buildCache","BuildCache","buildCacheMode","createChainForForm","formRelativePath","gfv","extractGfvFromFormPath","formDirPath","pathExists","WellKnownDirectories","FormJsonFileName","warning","value","formSchemasDirPath","rngSchemaMask","getRngSchemaFileExtension","rngSchemaExtension","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","watch","formSourcesPath","dependenciesHash","getAllDependenciesHash","buildCacheExist","exists","_fi$dependenciesHash","log","generateForm","resourcesHash","_fi$dependenciesHash2","_fi$dependenciesHash3","extract","buildCacheOptions","depsHash","compileForm","formName","reject","writeFormMeta","themes","useServerSideNormalization","writeFLangNormalizationFiles","writeKClangFiles","writeExtendedSchemaFiles","writeAttachmentPathFiles","writeAttachmentPathByGfvFiles","modifier","content","replace","modifyFilesContent","notifier","notify","title","message","buildFormsChain","fixedFormDirectories","map","relative","formPath","splitToParallelChains","candyWidgetsConfigTask","createClientViteConfigTask","buildCandyWidgetChain","buildCandyWidget","EmptyProducer","chainWith","p","BuildCandyWidgetTask","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\";\nimport { writeKClangFiles } from \"../../BuildTasks/Form/WriteKClangFiles\";\nimport { writeExtendedSchemaFiles } from \"../../BuildTasks/Form/WriteExtendedSchemaFiles\";\nimport { createClientViteConfigTask } from \"../../BuildTasks/EngineStructureUtils\";\nimport { BuildCandyWidgetTask } from \"../../BuildTasks/CandyWidget/BuildCandyWidgetTask\";\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): 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 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\n const createChainForForm = async (formRelativePath: string) => {\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 const rngSchemaExtension = getRngSchemaFileExtension(formSchemasDirPath, gfv);\n\n if (rngSchemaExtension == \".rng.xml\") {\n throw new Error(\n `Недопустимое название схемы ${gfv + rngSchemaExtension} используй команду candy rename ${gfv} в каталоге candy.farm`\n );\n }\n if (await pathExists(path.join(formDirPath, \"presentations.json\"))) {\n throw new Error(\n `presentations.json больше не используется, удали его из ${formDirPath} или используй команду candy rename ${gfv} в каталоге candy.farm`\n );\n }\n\n return Observe.file(path.join(formDirPath, WellKnownDirectories.FormJsonFileName))\n .transform(formJsonFile =>\n resolveFormInfo(\n formJsonFile,\n formDirPath,\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(fi.generatorSource, candyModulesDirectory, options.useVersionFromCache);\n }\n },\n async (fi, y) => ({ ...fi, generator: y }),\n async fi =>\n fi.generatorSource != undefined ? getGeneratorSourceKey(fi.generatorSource) : \"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 buildOptions.watch\n ? Observe.files(\n fi.formSourcesPath,\n \"../../controls/**/*\",\n \"../../xsltTemplates/**/*\",\n \"../../jsHelpers/**/*\",\n `./${WellKnownDirectories.FormJsonFileName}`,\n \"schemas/**/*\",\n \"sugar/**/*\",\n \"controls/**/*\",\n \"autocalc/**/*\",\n \"helpers/**/*\",\n \"normalizers/**/*\",\n \"validations/**/*\",\n \"localization/**/*\"\n )\n : Observe.value(fi.formSourcesPath)\n )\n .transform(async fi => {\n if (fi.mode !== FormBuildMode.NormalBuild) {\n return {\n ...fi,\n dependenciesHash: undefined,\n };\n }\n const dependenciesHash = await fi.generator.getAllDependenciesHash(formDirPath, farmDirectory);\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(fi.formSourcesPath, farmDirectory, fi.generator, undefined, {\n resourcesHash: fi.dependenciesHash ?? \"UndefinedResourcesHash\",\n });\n })\n .attach(async () =>\n buildOptions.watch\n ? Observe.files(path.join(formDirPath, \"form\"), \"**/*\")\n : Observe.value(path.join(formDirPath, \"form\"))\n )\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 fi.useServerSideNormalization,\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 formDirPath,\n resourcesDirectory,\n undefined,\n buildCache,\n buildCacheOptions,\n fi.buildCacheExist\n );\n await writeKClangFiles(\n fi.formName,\n formDirPath,\n resourcesDirectory,\n undefined,\n buildCache,\n buildCacheOptions,\n fi.buildCacheExist\n );\n await writeExtendedSchemaFiles(\n fi.formName,\n formDirPath,\n resourcesDirectory,\n undefined,\n buildCache,\n buildCacheOptions,\n fi.buildCacheExist\n );\n await writeAttachmentPathFiles(\n fi.formName,\n formDirPath,\n resourcesDirectory,\n undefined,\n buildCache,\n buildCacheOptions\n );\n await writeAttachmentPathByGfvFiles(\n fi.formName,\n formDirPath,\n resourcesDirectory,\n undefined,\n buildCache,\n buildCacheOptions\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(getLogger().withPrefix(\"PATCH\"), x, path.join(resourcesDirectory, \"patch\"))\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(getLogger().withPrefix(\"UNMAP\"), x, path.join(resourcesDirectory, \"unmap\"))\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 const buildFormsChain = Observe.fixedFormDirectories(\n formInfos.map(x => path.relative(repositoryRoot, x.formPath))\n ).splitToParallelChains(\n x => x,\n x => x,\n createChainForForm\n );\n\n const candyWidgetsConfigTask = await createClientViteConfigTask(engineDirectory);\n const buildCandyWidgetChain = !options.buildCandyWidget\n ? new EmptyProducer()\n : candyWidgetsConfigTask.chainWith(p => new BuildCandyWidgetTask(p));\n\n if (options.clean) {\n await cleanTargetDirectory(resourcesDirectory, context.logger);\n }\n\n if (buildOptions.watch) {\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 await pickListsChain.currentValue;\n await resourcesExternalConvertersChain.currentValue;\n await staticResourcesForProductionChain.currentValue;\n await buildFormsChain.currentValue;\n await buildCandyWidgetChain.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":[]}
|
|
@@ -47,17 +47,6 @@ const buildServerCommandDefinition = exports.buildServerCommandDefinition = (0,
|
|
|
47
47
|
}),
|
|
48
48
|
doesNotRequireValue: true,
|
|
49
49
|
description: "Отключает перехват client.js. В этом случае не будет работать отображение логов сборки и ожидания сборки формы."
|
|
50
|
-
}, {
|
|
51
|
-
name: "reformat",
|
|
52
|
-
alias: "r",
|
|
53
|
-
doesNotRequireValue: true,
|
|
54
|
-
defaultValue: {
|
|
55
|
-
skipGeneratedCodeReformatting: true
|
|
56
|
-
},
|
|
57
|
-
parse: input => ({
|
|
58
|
-
skipGeneratedCodeReformatting: !input
|
|
59
|
-
}),
|
|
60
|
-
description: "Включает форматирование генерируемого кода. Работает, только если версия генератора поддерживает эту опцию. Используется для отладки и просмотра сгенерированных форм в отдадчике. (default: false)"
|
|
61
50
|
}, _BuildDebugOnlyOption.debugOnlyOptionDefinition, _CommonOptionDefintions.devModeOption, _CommonOptionDefintions.logVerbosityOption), {
|
|
62
51
|
description: "Magic"
|
|
63
52
|
});
|
|
@@ -95,17 +84,6 @@ const devBuildServerCommandDefinition = exports.devBuildServerCommandDefinition
|
|
|
95
84
|
}),
|
|
96
85
|
doesNotRequireValue: true,
|
|
97
86
|
description: "Отключает перехват client.js. В этом случае не будет работать отображение логов сборки и ожидания сборки формы."
|
|
98
|
-
}, {
|
|
99
|
-
name: "reformat",
|
|
100
|
-
alias: "r",
|
|
101
|
-
doesNotRequireValue: true,
|
|
102
|
-
defaultValue: {
|
|
103
|
-
skipGeneratedCodeReformatting: true
|
|
104
|
-
},
|
|
105
|
-
parse: input => ({
|
|
106
|
-
skipGeneratedCodeReformatting: !input
|
|
107
|
-
}),
|
|
108
|
-
description: "Включает форматирование генерируемого кода. Работает, только если версия генератора поддерживает эту опцию. Используется для отладки и просмотра сгенерированных форм в отдадчике. (default: false)"
|
|
109
87
|
}, _BuildDebugOnlyOption.debugOnlyOptionDefinition, _CommonOptionDefintions.devModeOption, _CommonOptionDefintions.logVerbosityOption), {
|
|
110
88
|
description: "Magic"
|
|
111
89
|
});
|