@kontur.candy/tools 2.251.1 → 2.252.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/distr/Tools/src/BuildTasks/ResolveFormInfo.js +3 -2
- package/distr/Tools/src/BuildTasks/ResolveFormInfo.js.map +1 -1
- package/distr/Tools/src/BuildTasks/WriteFormMeta.js +3 -2
- package/distr/Tools/src/BuildTasks/WriteFormMeta.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +1 -1
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/BuildServerProxyController.js +54 -0
- package/distr/Tools/src/CLICommands/BuildServer/BuildServerProxyController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js +10 -8
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js +21 -0
- package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js.map +1 -1
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js +1 -1
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js.map +1 -1
- package/distr/Tools/src/CandyCLI.js.map +1 -1
- package/distr/Tools/src/ReadFarmConfig.js +2 -1
- package/distr/Tools/src/ReadFarmConfig.js.map +1 -1
- package/package.json +1 -1
|
@@ -21,7 +21,7 @@ let FormBuildMode = exports.FormBuildMode = /*#__PURE__*/function (FormBuildMode
|
|
|
21
21
|
return FormBuildMode;
|
|
22
22
|
}({});
|
|
23
23
|
async function resolveFormInfo(formJsonFile, pathToForm, _engineDirectory, logger = (0, _StaticLogger.getLogger)(), upgradeFormJson = false, useLastStableVersion = false, usePrereleaseVersion, nightly = false) {
|
|
24
|
-
var _formConfig$dependenc, _formConfig$dependenc2
|
|
24
|
+
var _formConfig$dependenc, _formConfig$dependenc2, _formConfig$settings$;
|
|
25
25
|
const formConfig = await readFormConfig(formJsonFile);
|
|
26
26
|
if (useLastStableVersion && usePrereleaseVersion != undefined) {
|
|
27
27
|
throw new Error("Необходимо использовать либо флаг useLastStableVersion либо usePrereleaseVersion");
|
|
@@ -66,7 +66,8 @@ async function resolveFormInfo(formJsonFile, pathToForm, _engineDirectory, logge
|
|
|
66
66
|
formName: (0, _FormPathUtils.extractGfvFromFormPath)(pathToForm),
|
|
67
67
|
formSourcesPath: pathToForm,
|
|
68
68
|
generatorVersion: generatorVersion,
|
|
69
|
-
engineVersion: engineVersion
|
|
69
|
+
engineVersion: engineVersion,
|
|
70
|
+
useServerSideNormalization: (_formConfig$settings$ = formConfig.settings.useServerSideFLangNormalization) !== null && _formConfig$settings$ !== void 0 ? _formConfig$settings$ : false
|
|
70
71
|
};
|
|
71
72
|
}
|
|
72
73
|
async function isNewFormJsonFormat(formJsonFile) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResolveFormInfo.js","names":["_fsExtra","require","_lodash","_FsUtils","_StaticLogger","_FormPathUtils","_PublishedVersionUtils","_Version","FormBuildMode","exports","resolveFormInfo","formJsonFile","pathToForm","_engineDirectory","logger","getLogger","upgradeFormJson","useLastStableVersion","usePrereleaseVersion","nightly","_formConfig$dependenc","_formConfig$dependenc2","formConfig","readFormConfig","undefined","Error","dependencies","engine","getLastStableEngineVersion","generator","getLastStableGeneratorVersion","log","writeFileAsync","JSON","stringify","prereleaseVersionFormJson","getPrereleaseVersionFormJson","generatorVersion","parseCandyVersionSpec","engineVersion","type","preId","themes","mode","NoEditor","NormalBuild","formName","extractGfvFromFormPath","formSourcesPath","isNewFormJsonFormat","readJson","getFormConfigFromSource","_formConfig$dependenc3","_formConfig$dependenc4","_formConfig$settings","_formConfig$mode","isValidSemVerVersionRange","settings","useServerSideFLangNormalization","pickBy","x","build"],"sources":["../../../../src/BuildTasks/ResolveFormInfo.ts"],"sourcesContent":["import { readJson } from \"fs-extra\";\nimport { pickBy } from \"lodash\";\n\nimport { writeFileAsync } from \"../Commons/FsUtils\";\nimport { ILogger } from \"../Commons/Logging/ILogger\";\nimport { getLogger } 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}\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 };\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":";;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AAEA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AAEA,IAAAK,sBAAA,GAAAL,OAAA;AAKA,IAAAM,QAAA,GAAAN,OAAA;AAA+F,IAEnFO,aAAa,GAAAC,OAAA,CAAAD,aAAA,0BAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AA8ClB,eAAeE,eAAeA,CACjCC,YAAoB,EACpBC,UAAkB,EAClBC,gBAAoC,EACpCC,MAAe,GAAG,IAAAC,uBAAS,EAAC,CAAC,EAC7BC,eAAwB,GAAG,KAAK,EAChCC,oBAA6B,GAAG,KAAK,EACrCC,oBAA6B,EAC7BC,OAAgB,GAAG,KAAK,EACP;EAAA,IAAAC,qBAAA,EAAAC,sBAAA;EACjB,MAAMC,UAAU,GAAG,MAAMC,cAAc,CAACZ,YAAY,CAAC;EACrD,IAAIM,oBAAoB,IAAIC,oBAAoB,IAAIM,SAAS,EAAE;IAC3D,MAAM,IAAIC,KAAK,CAAC,kFAAkF,CAAC;EACvG;EACA,IAAIR,oBAAoB,EAAE;IACtBK,UAAU,CAACI,YAAY,GAAG;MACtBC,MAAM,EAAE,MAAM,IAAAC,iDAA0B,EAAC,CAAC;MAC1CC,SAAS,EAAE,MAAM,IAAAC,oDAA6B,EAAC;IACnD,CAAC;IACDhB,MAAM,CAACiB,GAAG,CAAC,kCAAkCT,UAAU,CAACI,YAAY,CAACC,MAAM,EAAE,CAAC;IAC9E,MAAM,IAAAK,uBAAc,EAACrB,YAAY,EAAEsB,IAAI,CAACC,SAAS,CAACZ,UAAU,EAAEE,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC;EAC3F;EACA,IAAIN,oBAAoB,IAAIM,SAAS,EAAE;IACnC,MAAMW,yBAAyB,GAAG,MAAM,IAAAC,mDAA4B,EAAClB,oBAAoB,CAAC;IAC1F,IAAIiB,yBAAyB,IAAIX,SAAS,EAAE;MACxCF,UAAU,CAACI,YAAY,GAAG;QACtBC,MAAM,EAAEQ,yBAAyB;QACjCN,SAAS,EAAEM;MACf,CAAC;MACDrB,MAAM,CAACiB,GAAG,CAAC,sCAAsCT,UAAU,CAACI,YAAY,CAACC,MAAM,EAAE,CAAC;IACtF;IACA,MAAM,IAAAK,uBAAc,EAACrB,YAAY,EAAEsB,IAAI,CAACC,SAAS,CAACZ,UAAU,EAAEE,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC;EAC3F;EACA,IAAIa,gBAAgB,GAChB,EAAAjB,qBAAA,GAAAE,UAAU,CAACI,YAAY,cAAAN,qBAAA,uBAAvBA,qBAAA,CAAyBS,SAAS,KAAIL,SAAS,GACzC,IAAAc,8BAAqB,EAAChB,UAAU,CAACI,YAAY,CAACG,SAAS,CAAC,GACxDL,SAAS;EACnB,IAAIe,aAAa,GACb,EAAAlB,sBAAA,GAAAC,UAAU,CAACI,YAAY,cAAAL,sBAAA,uBAAvBA,sBAAA,CAAyBM,MAAM,KAAIH,SAAS,GACtC,IAAAc,8BAAqB,EAAChB,UAAU,CAACI,YAAY,CAACC,MAAM,CAAC,GACrDH,SAAS;EACnB,IAAIL,OAAO,EAAE;IACTkB,gBAAgB,GAAG;MAAEG,IAAI,EAAE,KAAK;MAAEC,KAAK,EAAE;IAAU,CAAC;IACpDF,aAAa,GAAG;MAAEC,IAAI,EAAE,KAAK;MAAEC,KAAK,EAAE;IAAU,CAAC;EACrD;EACA,IAAIzB,eAAe,EAAE;IACjB,MAAM,IAAAgB,uBAAc,EAACrB,YAAY,EAAEsB,IAAI,CAACC,SAAS,CAACZ,UAAU,EAAEE,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC;EAC3F;EACA,OAAO;IACHkB,MAAM,EAAEpB,UAAU,CAACoB,MAAM;IACzBC,IAAI,EAAErB,UAAU,CAACqB,IAAI,KAAK,WAAW,GAAGnC,aAAa,CAACoC,QAAQ,GAAGpC,aAAa,CAACqC,WAAW;IAC1FC,QAAQ,EAAE,IAAAC,qCAAsB,EAACnC,UAAU,CAAC;IAC5CoC,eAAe,EAAEpC,UAAU;IAC3ByB,gBAAgB,EAAEA,gBAAgB;IAClCE,aAAa,EAAEA;EACnB,CAAC;AACL;AAEO,eAAeU,mBAAmBA,CAACtC,YAAoB,EAAoB;EAC9E,MAAMW,UAA6B,GAAG,MAAM,IAAA4B,iBAAQ,EAACvC,YAAY,CAAC;EAClE,OAAOW,UAAU,CAACI,YAAY,IAAIF,SAAS;AAC/C;AAEO,eAAeD,cAAcA,CAACZ,YAAoB,EAAuB;EAC5E,MAAMW,UAA6B,GAAG,MAAM,IAAA4B,iBAAQ,EAACvC,YAAY,CAAC;EAClE,OAAOwC,uBAAuB,CAAC7B,UAAU,CAAC;AAC9C;AAEO,SAAS6B,uBAAuBA,CAAC7B,UAA6B,EAAc;EAAA,IAAA8B,sBAAA,EAAAC,sBAAA,EAAAC,oBAAA,EAAAC,gBAAA;EAC/E,IACI,EAAAH,sBAAA,GAAA9B,UAAU,CAACI,YAAY,cAAA0B,sBAAA,uBAAvBA,sBAAA,CAAyBvB,SAAS,KAAIL,SAAS,IAC/C,CAAC,IAAAgC,kCAAyB,EAAClC,UAAU,CAACI,YAAY,CAACG,SAAS,CAAC,EAC/D;IACE,MAAM,IAAIJ,KAAK,CAAC,GAAGH,UAAU,CAACI,YAAY,CAACG,SAAS,8BAA8B,CAAC;EACvF;EAEA,IAAI,EAAAwB,sBAAA,GAAA/B,UAAU,CAACI,YAAY,cAAA2B,sBAAA,uBAAvBA,sBAAA,CAAyB1B,MAAM,KAAIH,SAAS,IAAI,CAAC,IAAAgC,kCAAyB,EAAClC,UAAU,CAACI,YAAY,CAACC,MAAM,CAAC,EAAE;IAC5G,MAAM,IAAIF,KAAK,CAAC,GAAGH,UAAU,CAACI,YAAY,CAACC,MAAM,8BAA8B,CAAC;EACpF;EAEA,MAAM8B,QAAQ,GAAG;IACbC,+BAA+B,EAAE,KAAK;IACtC,GAAG,IAAAC,cAAM,GAAAL,oBAAA,GAAChC,UAAU,CAACmC,QAAQ,cAAAH,oBAAA,cAAAA,oBAAA,GAAI,CAAC,CAAC,EAAEM,CAAC,IAAIA,CAAC,KAAKpC,SAAS;EAC7D,CAAC;EAED,OAAO;IACHkB,MAAM,EAAEpB,UAAU,CAACoB,MAAM;IACzBmB,KAAK,EAAEvC,UAAU,CAACuC,KAAK,IAAI,QAAQ;IACnClB,IAAI,GAAAY,gBAAA,GAAEjC,UAAU,CAACqB,IAAI,cAAAY,gBAAA,cAAAA,gBAAA,GAAI,cAAc;IACvCE,QAAQ,EAAEA,QAAQ;IAClB/B,YAAY,EACRJ,UAAU,CAACI,YAAY,IAAIF,SAAS,GAC9B;MACIK,SAAS,EAAEP,UAAU,CAACI,YAAY,CAACG,SAAS;MAC5CF,MAAM,EAAEL,UAAU,CAACI,YAAY,CAACC;IACpC,CAAC,GACDH;EACd,CAAC;AACL","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ResolveFormInfo.js","names":["_fsExtra","require","_lodash","_FsUtils","_StaticLogger","_FormPathUtils","_PublishedVersionUtils","_Version","FormBuildMode","exports","resolveFormInfo","formJsonFile","pathToForm","_engineDirectory","logger","getLogger","upgradeFormJson","useLastStableVersion","usePrereleaseVersion","nightly","_formConfig$dependenc","_formConfig$dependenc2","_formConfig$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":[]}
|
|
@@ -9,11 +9,12 @@ var _path = _interopRequireDefault(require("path"));
|
|
|
9
9
|
var _fsExtra = require("fs-extra");
|
|
10
10
|
var _FsUtils = require("../Commons/FsUtils");
|
|
11
11
|
var _EngineVersionUtils = require("./EngineVersionUtils");
|
|
12
|
-
async function writeFormMeta(resourcesPath, formName, engineSources, resourcesHash, themes, buildCache, buildCacheOptions) {
|
|
12
|
+
async function writeFormMeta(resourcesPath, formName, engineSources, resourcesHash, themes, useServerSideNormalization, buildCache, buildCacheOptions) {
|
|
13
13
|
await (0, _fsExtra.ensureDir)(_path.default.join(resourcesPath, "metas"));
|
|
14
14
|
const formMetaContent = {
|
|
15
15
|
engineName: engineSources.type === "LocalEngineSources" ? "local" : _EngineVersionUtils.EngineVersionUtils.engineVersionToName(engineSources.version),
|
|
16
|
-
resourcesHash: resourcesHash
|
|
16
|
+
resourcesHash: resourcesHash,
|
|
17
|
+
useServerSideNormalization: useServerSideNormalization
|
|
17
18
|
};
|
|
18
19
|
if (themes != undefined) {
|
|
19
20
|
formMetaContent.themes = themes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WriteFormMeta.js","names":["_path","_interopRequireDefault","require","_fsExtra","_FsUtils","_EngineVersionUtils","writeFormMeta","resourcesPath","formName","engineSources","resourcesHash","themes","buildCache","buildCacheOptions","ensureDir","path","join","formMetaContent","engineName","type","EngineVersionUtils","engineVersionToName","version","undefined","content","JSON","stringify","writeFileAsync","setContent","generatorVersion","gfv","depsHash"],"sources":["../../../../src/BuildTasks/WriteFormMeta.ts"],"sourcesContent":["import path from \"path\";\n\nimport { ensureDir } from \"fs-extra\";\n\nimport { writeFileAsync } from \"../Commons/FsUtils\";\nimport { BuildCache, FormBuildCacheOptions } from \"../FormWebpackConfiguration/CacheAssetsPlugin\";\n\nimport { EngineSource } from \"./Engine/EngineSource\";\nimport { EngineVersionUtils } from \"./EngineVersionUtils\";\n\nexport interface FormMetaContent {\n themes?: string[];\n engineName: string;\n resourcesHash: string;\n}\n\nexport async function writeFormMeta(\n resourcesPath: string,\n formName: string,\n engineSources: EngineSource,\n resourcesHash: string,\n themes: undefined | string[],\n buildCache?: BuildCache,\n buildCacheOptions?: FormBuildCacheOptions\n): Promise<void> {\n await ensureDir(path.join(resourcesPath, \"metas\"));\n const formMetaContent: FormMetaContent = {\n engineName:\n engineSources.type === \"LocalEngineSources\"\n ? \"local\"\n : EngineVersionUtils.engineVersionToName(engineSources.version),\n resourcesHash: resourcesHash,\n };\n if (themes != undefined) {\n formMetaContent.themes = themes;\n }\n const content = JSON.stringify(formMetaContent, undefined, \" \");\n await writeFileAsync(path.join(resourcesPath, \"metas\", `${formName}.metas.json`), content, \"utf8\");\n if (buildCache != undefined && buildCacheOptions != undefined) {\n await buildCache.setContent(\n buildCacheOptions.generatorVersion,\n buildCacheOptions.gfv,\n buildCacheOptions.depsHash,\n path.join(\"metas\", `${formName}.metas.json`),\n content\n );\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AAIA,IAAAG,mBAAA,GAAAH,OAAA;
|
|
1
|
+
{"version":3,"file":"WriteFormMeta.js","names":["_path","_interopRequireDefault","require","_fsExtra","_FsUtils","_EngineVersionUtils","writeFormMeta","resourcesPath","formName","engineSources","resourcesHash","themes","useServerSideNormalization","buildCache","buildCacheOptions","ensureDir","path","join","formMetaContent","engineName","type","EngineVersionUtils","engineVersionToName","version","undefined","content","JSON","stringify","writeFileAsync","setContent","generatorVersion","gfv","depsHash"],"sources":["../../../../src/BuildTasks/WriteFormMeta.ts"],"sourcesContent":["import path from \"path\";\n\nimport { ensureDir } from \"fs-extra\";\n\nimport { writeFileAsync } from \"../Commons/FsUtils\";\nimport { BuildCache, FormBuildCacheOptions } from \"../FormWebpackConfiguration/CacheAssetsPlugin\";\n\nimport { EngineSource } from \"./Engine/EngineSource\";\nimport { EngineVersionUtils } from \"./EngineVersionUtils\";\n\nexport interface FormMetaContent {\n themes?: string[];\n engineName: string;\n resourcesHash: string;\n useServerSideNormalization: boolean;\n}\n\nexport async function writeFormMeta(\n resourcesPath: string,\n formName: string,\n engineSources: EngineSource,\n resourcesHash: string,\n themes: undefined | string[],\n useServerSideNormalization: boolean,\n buildCache?: BuildCache,\n buildCacheOptions?: FormBuildCacheOptions\n): Promise<void> {\n await ensureDir(path.join(resourcesPath, \"metas\"));\n const formMetaContent: FormMetaContent = {\n engineName:\n engineSources.type === \"LocalEngineSources\"\n ? \"local\"\n : EngineVersionUtils.engineVersionToName(engineSources.version),\n resourcesHash: resourcesHash,\n useServerSideNormalization: useServerSideNormalization,\n };\n if (themes != undefined) {\n formMetaContent.themes = themes;\n }\n const content = JSON.stringify(formMetaContent, undefined, \" \");\n await writeFileAsync(path.join(resourcesPath, \"metas\", `${formName}.metas.json`), content, \"utf8\");\n if (buildCache != undefined && buildCacheOptions != undefined) {\n await buildCache.setContent(\n buildCacheOptions.generatorVersion,\n buildCacheOptions.gfv,\n buildCacheOptions.depsHash,\n path.join(\"metas\", `${formName}.metas.json`),\n content\n );\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AAIA,IAAAG,mBAAA,GAAAH,OAAA;AASO,eAAeI,aAAaA,CAC/BC,aAAqB,EACrBC,QAAgB,EAChBC,aAA2B,EAC3BC,aAAqB,EACrBC,MAA4B,EAC5BC,0BAAmC,EACnCC,UAAuB,EACvBC,iBAAyC,EAC5B;EACb,MAAM,IAAAC,kBAAS,EAACC,aAAI,CAACC,IAAI,CAACV,aAAa,EAAE,OAAO,CAAC,CAAC;EAClD,MAAMW,eAAgC,GAAG;IACrCC,UAAU,EACNV,aAAa,CAACW,IAAI,KAAK,oBAAoB,GACrC,OAAO,GACPC,sCAAkB,CAACC,mBAAmB,CAACb,aAAa,CAACc,OAAO,CAAC;IACvEb,aAAa,EAAEA,aAAa;IAC5BE,0BAA0B,EAAEA;EAChC,CAAC;EACD,IAAID,MAAM,IAAIa,SAAS,EAAE;IACrBN,eAAe,CAACP,MAAM,GAAGA,MAAM;EACnC;EACA,MAAMc,OAAO,GAAGC,IAAI,CAACC,SAAS,CAACT,eAAe,EAAEM,SAAS,EAAE,IAAI,CAAC;EAChE,MAAM,IAAAI,uBAAc,EAACZ,aAAI,CAACC,IAAI,CAACV,aAAa,EAAE,OAAO,EAAE,GAAGC,QAAQ,aAAa,CAAC,EAAEiB,OAAO,EAAE,MAAM,CAAC;EAClG,IAAIZ,UAAU,IAAIW,SAAS,IAAIV,iBAAiB,IAAIU,SAAS,EAAE;IAC3D,MAAMX,UAAU,CAACgB,UAAU,CACvBf,iBAAiB,CAACgB,gBAAgB,EAClChB,iBAAiB,CAACiB,GAAG,EACrBjB,iBAAiB,CAACkB,QAAQ,EAC1BhB,aAAI,CAACC,IAAI,CAAC,OAAO,EAAE,GAAGT,QAAQ,aAAa,CAAC,EAC5CiB,OACJ,CAAC;EACL;AACJ","ignoreList":[]}
|
|
@@ -170,7 +170,7 @@ async function runBuildForms(context, options, farmDirectory, resourcesDirectory
|
|
|
170
170
|
farmDirectory: farmDirectory
|
|
171
171
|
} : undefined;
|
|
172
172
|
await (0, _CompileForm.compileForm)(fi.formName, formDirPath, resourcesDirectory, (_fi$dependenciesHash2 = fi.dependenciesHash) !== null && _fi$dependenciesHash2 !== void 0 ? _fi$dependenciesHash2 : (0, _TypingUtils.reject)("This version of generator is not supported due to dependencies extraction is not supported"), false, undefined, options.mode === "production", buildCacheOptions);
|
|
173
|
-
await (0, _WriteFormMeta.writeFormMeta)(resourcesDirectory, gfv, fi.engineSource, (_fi$dependenciesHash3 = fi.dependenciesHash) !== null && _fi$dependenciesHash3 !== void 0 ? _fi$dependenciesHash3 : (0, _TypingUtils.reject)("This version of generator is not supported due to dependencies extraction is not supported"), fi.themes, buildCache, buildCacheOptions);
|
|
173
|
+
await (0, _WriteFormMeta.writeFormMeta)(resourcesDirectory, gfv, fi.engineSource, (_fi$dependenciesHash3 = fi.dependenciesHash) !== null && _fi$dependenciesHash3 !== void 0 ? _fi$dependenciesHash3 : (0, _TypingUtils.reject)("This version of generator is not supported due to dependencies extraction is not supported"), fi.themes, fi.useServerSideNormalization, buildCache, buildCacheOptions);
|
|
174
174
|
}).do(async fi => {
|
|
175
175
|
if (fi.generatorSource == undefined) {
|
|
176
176
|
return;
|
|
@@ -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","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 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","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":[]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.BuildServerProxyController = void 0;
|
|
7
|
+
var _https = require("https");
|
|
8
|
+
var _httpProxyMiddleware = require("http-proxy-middleware");
|
|
9
|
+
var _SingletonController = require("../../Commons/HttpServer/ExpressWrapper/SingletonController");
|
|
10
|
+
class BuildServerProxyController extends _SingletonController.SingletonController {
|
|
11
|
+
constructor(proxyConfig, logger) {
|
|
12
|
+
super();
|
|
13
|
+
this.proxyConfig = void 0;
|
|
14
|
+
this.logger = void 0;
|
|
15
|
+
this.proxyConfig = proxyConfig;
|
|
16
|
+
this.logger = logger;
|
|
17
|
+
}
|
|
18
|
+
async setupMiddleware(expressApplication) {
|
|
19
|
+
const logger = this.logger;
|
|
20
|
+
for (const [pattern, cfg] of Object.entries(this.proxyConfig)) {
|
|
21
|
+
logger.log(`Proxy: ${pattern} -> ${cfg.target}`);
|
|
22
|
+
const isHttpsTarget = String(cfg.target).startsWith("https:");
|
|
23
|
+
const agent = isHttpsTarget ? new _https.Agent({
|
|
24
|
+
rejectUnauthorized: false
|
|
25
|
+
}) : undefined;
|
|
26
|
+
expressApplication.use(pattern, (0, _httpProxyMiddleware.createProxyMiddleware)({
|
|
27
|
+
changeOrigin: true,
|
|
28
|
+
secure: false,
|
|
29
|
+
logLevel: "warn",
|
|
30
|
+
...cfg,
|
|
31
|
+
agent: agent,
|
|
32
|
+
onProxyReq: (proxyReq, req) => {
|
|
33
|
+
logger.log(`[proxy ${pattern}] ${req.method} ${req.url}`);
|
|
34
|
+
(0, _httpProxyMiddleware.fixRequestBody)(proxyReq, req);
|
|
35
|
+
},
|
|
36
|
+
onError: (err, req, res) => {
|
|
37
|
+
var _code;
|
|
38
|
+
const code = (_code = err.code) !== null && _code !== void 0 ? _code : "ERR";
|
|
39
|
+
this.logger.warning(`Proxy error on ${pattern} [${code}] ${req.url} -> ${cfg.target}: ${err.message}`);
|
|
40
|
+
if ("headersSent" in res && !res.headersSent && "writeHead" in res) {
|
|
41
|
+
res.writeHead(502, {
|
|
42
|
+
"Content-Type": "text/plain"
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
if ("end" in res) {
|
|
46
|
+
res.end(`Bad Gateway (candy-tools proxy): [${code}] ${err.message}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.BuildServerProxyController = BuildServerProxyController;
|
|
54
|
+
//# sourceMappingURL=BuildServerProxyController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BuildServerProxyController.js","names":["_https","require","_httpProxyMiddleware","_SingletonController","BuildServerProxyController","SingletonController","constructor","proxyConfig","logger","setupMiddleware","expressApplication","pattern","cfg","Object","entries","log","target","isHttpsTarget","String","startsWith","agent","HttpsAgent","rejectUnauthorized","undefined","use","createProxyMiddleware","changeOrigin","secure","logLevel","onProxyReq","proxyReq","req","method","url","fixRequestBody","onError","err","res","_code","code","warning","message","headersSent","writeHead","end","exports"],"sources":["../../../../../src/CLICommands/BuildServer/BuildServerProxyController.ts"],"sourcesContent":["import { Agent as HttpsAgent } from \"https\";\n\nimport { Express } from \"express\";\nimport { createProxyMiddleware, fixRequestBody } from \"http-proxy-middleware\";\n\nimport { SingletonController } from \"../../Commons/HttpServer/ExpressWrapper/SingletonController\";\nimport { ILogger } from \"../../Commons/Logging/ILogger\";\nimport { FarmProxyConfig } from \"../../ReadFarmConfig\";\n\nexport class BuildServerProxyController extends SingletonController {\n private readonly proxyConfig: Record<string, FarmProxyConfig>;\n private readonly logger: ILogger;\n\n public constructor(proxyConfig: Record<string, FarmProxyConfig>, logger: ILogger) {\n super();\n this.proxyConfig = proxyConfig;\n this.logger = logger;\n }\n\n public async setupMiddleware(expressApplication: Express): Promise<void> {\n const logger = this.logger;\n for (const [pattern, cfg] of Object.entries(this.proxyConfig)) {\n logger.log(`Proxy: ${pattern} -> ${cfg.target}`);\n\n const isHttpsTarget = String(cfg.target).startsWith(\"https:\");\n const agent = isHttpsTarget ? new HttpsAgent({ rejectUnauthorized: false }) : undefined;\n\n expressApplication.use(\n pattern,\n createProxyMiddleware({\n changeOrigin: true,\n secure: false,\n logLevel: \"warn\",\n ...cfg,\n agent: agent,\n onProxyReq: (proxyReq, req) => {\n logger.log(`[proxy ${pattern}] ${req.method} ${req.url}`);\n fixRequestBody(proxyReq, req);\n },\n onError: (err, req, res) => {\n const code = (err as NodeJS.ErrnoException).code ?? \"ERR\";\n this.logger.warning(\n `Proxy error on ${pattern} [${code}] ${req.url} -> ${cfg.target}: ${err.message}`\n );\n if (\"headersSent\" in res && !res.headersSent && \"writeHead\" in res) {\n res.writeHead(502, { \"Content-Type\": \"text/plain\" });\n }\n if (\"end\" in res) {\n res.end(`Bad Gateway (candy-tools proxy): [${code}] ${err.message}`);\n }\n },\n })\n );\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,oBAAA,GAAAD,OAAA;AAEA,IAAAE,oBAAA,GAAAF,OAAA;AAIO,MAAMG,0BAA0B,SAASC,wCAAmB,CAAC;EAIzDC,WAAWA,CAACC,WAA4C,EAAEC,MAAe,EAAE;IAC9E,KAAK,CAAC,CAAC;IAAC,KAJKD,WAAW;IAAA,KACXC,MAAM;IAInB,IAAI,CAACD,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,MAAM,GAAGA,MAAM;EACxB;EAEA,MAAaC,eAAeA,CAACC,kBAA2B,EAAiB;IACrE,MAAMF,MAAM,GAAG,IAAI,CAACA,MAAM;IAC1B,KAAK,MAAM,CAACG,OAAO,EAAEC,GAAG,CAAC,IAAIC,MAAM,CAACC,OAAO,CAAC,IAAI,CAACP,WAAW,CAAC,EAAE;MAC3DC,MAAM,CAACO,GAAG,CAAC,UAAUJ,OAAO,OAAOC,GAAG,CAACI,MAAM,EAAE,CAAC;MAEhD,MAAMC,aAAa,GAAGC,MAAM,CAACN,GAAG,CAACI,MAAM,CAAC,CAACG,UAAU,CAAC,QAAQ,CAAC;MAC7D,MAAMC,KAAK,GAAGH,aAAa,GAAG,IAAII,YAAU,CAAC;QAAEC,kBAAkB,EAAE;MAAM,CAAC,CAAC,GAAGC,SAAS;MAEvFb,kBAAkB,CAACc,GAAG,CAClBb,OAAO,EACP,IAAAc,0CAAqB,EAAC;QAClBC,YAAY,EAAE,IAAI;QAClBC,MAAM,EAAE,KAAK;QACbC,QAAQ,EAAE,MAAM;QAChB,GAAGhB,GAAG;QACNQ,KAAK,EAAEA,KAAK;QACZS,UAAU,EAAEA,CAACC,QAAQ,EAAEC,GAAG,KAAK;UAC3BvB,MAAM,CAACO,GAAG,CAAC,UAAUJ,OAAO,KAAKoB,GAAG,CAACC,MAAM,IAAID,GAAG,CAACE,GAAG,EAAE,CAAC;UACzD,IAAAC,mCAAc,EAACJ,QAAQ,EAAEC,GAAG,CAAC;QACjC,CAAC;QACDI,OAAO,EAAEA,CAACC,GAAG,EAAEL,GAAG,EAAEM,GAAG,KAAK;UAAA,IAAAC,KAAA;UACxB,MAAMC,IAAI,IAAAD,KAAA,GAAIF,GAAG,CAA2BG,IAAI,cAAAD,KAAA,cAAAA,KAAA,GAAI,KAAK;UACzD,IAAI,CAAC9B,MAAM,CAACgC,OAAO,CACf,kBAAkB7B,OAAO,KAAK4B,IAAI,KAAKR,GAAG,CAACE,GAAG,OAAOrB,GAAG,CAACI,MAAM,KAAKoB,GAAG,CAACK,OAAO,EACnF,CAAC;UACD,IAAI,aAAa,IAAIJ,GAAG,IAAI,CAACA,GAAG,CAACK,WAAW,IAAI,WAAW,IAAIL,GAAG,EAAE;YAChEA,GAAG,CAACM,SAAS,CAAC,GAAG,EAAE;cAAE,cAAc,EAAE;YAAa,CAAC,CAAC;UACxD;UACA,IAAI,KAAK,IAAIN,GAAG,EAAE;YACdA,GAAG,CAACO,GAAG,CAAC,qCAAqCL,IAAI,KAAKH,GAAG,CAACK,OAAO,EAAE,CAAC;UACxE;QACJ;MACJ,CAAC,CACL,CAAC;IACL;EACJ;AACJ;AAACI,OAAA,CAAAzC,0BAAA,GAAAA,0BAAA","ignoreList":[]}
|
|
@@ -43,29 +43,31 @@ let BuildServerFormInfoController = exports.BuildServerFormInfoController = (_de
|
|
|
43
43
|
return (await Promise.all(this.allFarmDirectories.map(i => i.getAllGfvs()))).flat().map(x => `${x}.metas.json`).join("\n");
|
|
44
44
|
}
|
|
45
45
|
async getFormMeta(gfv) {
|
|
46
|
+
const formJsonFile = (await Promise.all(this.allFarmDirectories.map(i => i.getFormJsonPath(gfv)))).flat().filter(i => i != undefined);
|
|
47
|
+
if (formJsonFile[0] == undefined) {
|
|
48
|
+
throw Error(`${gfv} not found in farm directories`);
|
|
49
|
+
}
|
|
50
|
+
const formInfo = await (0, _ResolveFormInfo.resolveFormInfo)(formJsonFile[0], path.dirname(formJsonFile[0]), undefined);
|
|
46
51
|
if (this.useEngineFromLocalSources) {
|
|
47
52
|
const localEngineMetaContent = {
|
|
48
53
|
engineName: "local",
|
|
49
|
-
resourcesHash: "local-hash"
|
|
54
|
+
resourcesHash: "local-hash",
|
|
55
|
+
useServerSideNormalization: formInfo.useServerSideNormalization
|
|
50
56
|
};
|
|
51
57
|
return JSON.stringify(localEngineMetaContent, undefined, " ");
|
|
52
58
|
}
|
|
53
|
-
const formJsonFile = (await Promise.all(this.allFarmDirectories.map(i => i.getFormJsonPath(gfv)))).flat().filter(i => i != undefined);
|
|
54
|
-
if (formJsonFile[0] == undefined) {
|
|
55
|
-
throw Error(`${gfv} not found in farm directories`);
|
|
56
|
-
}
|
|
57
|
-
const formInfo = await (0, _ResolveFormInfo.resolveFormInfo)(formJsonFile[0], path.dirname(formJsonFile[0]), undefined);
|
|
58
59
|
const engineVersion = this.nightly ? {
|
|
59
60
|
type: "pre",
|
|
60
61
|
preId: "nightly"
|
|
61
62
|
} : formInfo.engineVersion;
|
|
62
63
|
if (engineVersion == undefined) {
|
|
63
|
-
throw new Error("
|
|
64
|
+
throw new Error("Unknown engine version! Can't return meta for this form!");
|
|
64
65
|
}
|
|
65
66
|
const engineSources = await (0, _PublishedVersionUtils.resolveEngineVersion)(engineVersion);
|
|
66
67
|
const formMetaContent = {
|
|
67
68
|
engineName: engineSources.type === "LocalEngineSources" ? "local" : _EngineVersionUtils.EngineVersionUtils.engineVersionToName(engineSources.version),
|
|
68
|
-
resourcesHash: "local-hash"
|
|
69
|
+
resourcesHash: "local-hash",
|
|
70
|
+
useServerSideNormalization: formInfo.useServerSideNormalization
|
|
69
71
|
};
|
|
70
72
|
if (formInfo.themes != undefined) {
|
|
71
73
|
formMetaContent.themes = formInfo.themes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildServerFormInfoController.js","names":["path","_interopRequireWildcard","require","_EngineVersionUtils","_PublishedVersionUtils","_ResolveFormInfo","_Methods","_Params","_Results","_SingletonController","_FarmDirectory","_dec","_dec2","_class","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BuildServerFormInfoController","exports","httpGet","httpReturn","PlainText","httpUrlParam","httpType","String","SingletonController","constructor","allFarmConfig","useEngineFromLocalSources","nightly","allFarmDirectories","map","FarmDirectory","farmDirectory","setupMiddleware","expressApplication","use","_","__","next","resetAllFarmDirectories","getAllFormMetas","Promise","all","getAllGfvs","flat","x","join","getFormMeta","gfv","
|
|
1
|
+
{"version":3,"file":"BuildServerFormInfoController.js","names":["path","_interopRequireWildcard","require","_EngineVersionUtils","_PublishedVersionUtils","_ResolveFormInfo","_Methods","_Params","_Results","_SingletonController","_FarmDirectory","_dec","_dec2","_class","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BuildServerFormInfoController","exports","httpGet","httpReturn","PlainText","httpUrlParam","httpType","String","SingletonController","constructor","allFarmConfig","useEngineFromLocalSources","nightly","allFarmDirectories","map","FarmDirectory","farmDirectory","setupMiddleware","expressApplication","use","_","__","next","resetAllFarmDirectories","getAllFormMetas","Promise","all","getAllGfvs","flat","x","join","getFormMeta","gfv","formJsonFile","getFormJsonPath","filter","undefined","Error","formInfo","resolveFormInfo","dirname","localEngineMetaContent","engineName","resourcesHash","useServerSideNormalization","JSON","stringify","engineVersion","type","preId","engineSources","resolveEngineVersion","formMetaContent","EngineVersionUtils","engineVersionToName","version","themes","_applyDecoratedDescriptor2","prototype"],"sources":["../../../../../../src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.ts"],"sourcesContent":["import * as path from \"path\";\n\nimport { Express } from \"express\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\n\nimport { EngineVersionUtils } from \"../../../BuildTasks/EngineVersionUtils\";\nimport { resolveEngineVersion } from \"../../../BuildTasks/PublishedVersionUtils\";\nimport { resolveFormInfo } from \"../../../BuildTasks/ResolveFormInfo\";\nimport { FormMetaContent } from \"../../../BuildTasks/WriteFormMeta\";\nimport { httpGet } from \"../../../Commons/HttpServer/AttributeRouting/Methods\";\nimport { httpType, httpUrlParam } from \"../../../Commons/HttpServer/AttributeRouting/Params\";\nimport { httpReturn } from \"../../../Commons/HttpServer/AttributeRouting/Results\";\nimport { SingletonController } from \"../../../Commons/HttpServer/ExpressWrapper/SingletonController\";\nimport { CandyVersionSpec } from \"../../../BuildTasks/Version\";\n\nimport { FarmDirectory } from \"./Directories/FarmDirectory\";\n\nexport class BuildServerFormInfoController extends SingletonController {\n private readonly allFarmConfig: FarmConfig[];\n private allFarmDirectories: FarmDirectory[];\n private readonly nightly: boolean;\n private readonly useEngineFromLocalSources: boolean;\n\n public constructor(allFarmConfig: FarmConfig[], useEngineFromLocalSources: boolean, nightly: boolean) {\n super();\n this.nightly = nightly;\n this.allFarmConfig = allFarmConfig;\n this.allFarmDirectories = allFarmConfig.map(i => new FarmDirectory(i.farmDirectory));\n this.useEngineFromLocalSources = useEngineFromLocalSources;\n }\n\n public async setupMiddleware(expressApplication: Express) {\n expressApplication.use(\"/force-gfvs\", (_, __, next) => {\n this.resetAllFarmDirectories();\n next();\n });\n }\n\n private resetAllFarmDirectories() {\n this.allFarmDirectories = this.allFarmConfig.map(i => new FarmDirectory(i.farmDirectory));\n }\n\n @httpGet(\"/metas\", httpReturn.PlainText)\n public async getAllFormMetas(): Promise<string> {\n return (await Promise.all(this.allFarmDirectories.map(i => i.getAllGfvs())))\n .flat()\n .map(x => `${x}.metas.json`)\n .join(\"\\n\");\n }\n\n @httpGet(\"/metas/:gfv.metas.json\", httpReturn.PlainText, httpUrlParam(\"gfv\", httpType.String))\n public async getFormMeta(gfv: string): Promise<string> {\n const formJsonFile = (await Promise.all(this.allFarmDirectories.map(i => i.getFormJsonPath(gfv))))\n .flat()\n .filter(i => i != undefined);\n if (formJsonFile[0] == undefined) {\n throw Error(`${gfv} not found in farm directories`);\n }\n const formInfo = await resolveFormInfo(formJsonFile[0], path.dirname(formJsonFile[0]), undefined);\n if (this.useEngineFromLocalSources) {\n const localEngineMetaContent: FormMetaContent = {\n engineName: \"local\",\n resourcesHash: \"local-hash\",\n useServerSideNormalization: formInfo.useServerSideNormalization,\n };\n return JSON.stringify(localEngineMetaContent, undefined, \" \");\n }\n const engineVersion: undefined | CandyVersionSpec = this.nightly\n ? { type: \"pre\", preId: \"nightly\" }\n : formInfo.engineVersion;\n if (engineVersion == undefined) {\n throw new Error(\"Unknown engine version! Can't return meta for this form!\");\n }\n const engineSources = await resolveEngineVersion(engineVersion);\n const formMetaContent: FormMetaContent = {\n engineName:\n engineSources.type === \"LocalEngineSources\"\n ? \"local\"\n : EngineVersionUtils.engineVersionToName(engineSources.version),\n resourcesHash: \"local-hash\",\n useServerSideNormalization: formInfo.useServerSideNormalization,\n };\n if (formInfo.themes != undefined) {\n formMetaContent.themes = formInfo.themes;\n }\n return JSON.stringify(formMetaContent, undefined, \" \");\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,6 +10,7 @@ var _ExpressServerWrapper = require("../../Commons/HttpServer/ExpressWrapper/Exp
|
|
|
10
10
|
var _FormsHelperController = require("../FormsHelper/FormsHelperController");
|
|
11
11
|
var _ExtractTextsFromSugarController = require("../SugarExtractor/ExtractTextsFromSugarController");
|
|
12
12
|
var _BuildLogsWebsocketController = require("./BuildLogsWebsocketController");
|
|
13
|
+
var _BuildServerProxyController = require("./BuildServerProxyController");
|
|
13
14
|
var _BuildServerBackendResourcesController = require("./ResourcesControllers/BuildServerBackendResourcesController");
|
|
14
15
|
var _BuildServerBackendResourcesUpdatesController = require("./ResourcesControllers/BuildServerBackendResourcesUpdatesController");
|
|
15
16
|
var _BuildServerBuildFormsController = require("./ResourcesControllers/BuildServerBuildFormsController");
|
|
@@ -32,6 +33,7 @@ async function runBuildServer(context, options, allFarmConfig) {
|
|
|
32
33
|
if (!options.disableClientOverride) {
|
|
33
34
|
webServer.registerSigletonController(new _BuildLogsWebsocketController.BuildLogsWebsocketController());
|
|
34
35
|
}
|
|
36
|
+
registerProxyOnServer(webServer, allFarmConfig, context.logger);
|
|
35
37
|
const buildServerCandyWidgetController = new _BuildServerCandyWidgetController.BuildServerCandyWidgetController(engineDirectory, options.buildDebugOnly, {
|
|
36
38
|
frontEndDevMode: options.developmentMode
|
|
37
39
|
});
|
|
@@ -65,6 +67,7 @@ async function runDevBuildServer(context, options, allFarmConfig) {
|
|
|
65
67
|
if (!options.disableClientOverride) {
|
|
66
68
|
webServer.registerSigletonController(new _BuildLogsWebsocketController.BuildLogsWebsocketController());
|
|
67
69
|
}
|
|
70
|
+
registerProxyOnServer(webServer, allFarmConfig, context.logger);
|
|
68
71
|
const buildServerCandyWidgetController = new _BuildServerCandyWidgetController.BuildServerCandyWidgetController(engineDirectory, options.buildDebugOnly, {
|
|
69
72
|
frontEndDevMode: options.developmentMode
|
|
70
73
|
});
|
|
@@ -94,4 +97,22 @@ const resolveEngineDirectory = configs => {
|
|
|
94
97
|
}
|
|
95
98
|
return engineDirectory;
|
|
96
99
|
};
|
|
100
|
+
function registerProxyOnServer(server, allFarmConfig, logger) {
|
|
101
|
+
const mergedProxy = mergeProxyConfigs(allFarmConfig);
|
|
102
|
+
if (Object.keys(mergedProxy).length === 0) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
server.registerSigletonController(new _BuildServerProxyController.BuildServerProxyController(mergedProxy, logger));
|
|
106
|
+
}
|
|
107
|
+
function mergeProxyConfigs(configs) {
|
|
108
|
+
const merged = {};
|
|
109
|
+
configs.forEach(fc => {
|
|
110
|
+
if (fc !== null && fc !== void 0 && fc.proxy) {
|
|
111
|
+
Object.entries(fc.proxy).forEach(([key, cfg]) => {
|
|
112
|
+
merged[key] = cfg;
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
return merged;
|
|
117
|
+
}
|
|
97
118
|
//# sourceMappingURL=RunBuildServer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunBuildServer.js","names":["_TypingUtils","require","_ExpressServerWrapper","_FormsHelperController","_ExtractTextsFromSugarController","_BuildLogsWebsocketController","_BuildServerBackendResourcesController","_BuildServerBackendResourcesUpdatesController","_BuildServerBuildFormsController","_BuildServerClientJsController","_BuildServerClientJsFromResourcesController","_BuildServerFormInfoController","_BuildServerLocalSourcesEngineController","_BuildServerPrebuiltResourcesController","_BuildServerPublishedEngineController","_BuildServerCandyWidgetController","runBuildServer","context","options","allFarmConfig","ensureArrayIsNotEmpty","engineDirectory","resolveEngineDirectory","candyModulesDirectory","formTestingHelpersWebServer","ExpressServerWrapper","undefined","logger","registerSigletonController","FormsHelperController","frontEndDevMode","developmentMode","webServer","disableClientOverride","BuildLogsWebsocketController","buildServerCandyWidgetController","BuildServerCandyWidgetController","buildDebugOnly","buildFormsController","BuildServerBuildFormsController","nightly","BuildServerBackendResourcesController","ExtractTextsFromSugarController","BuildServerFormInfoController","BuildServerPrebuiltResourcesController","BuildServerPublishedEngineController","BuildServerClientJsFromResourcesController","BuildServerBackendResourcesUpdatesController","start","waitForExit","stop","runDevBuildServer","buildServerBuildFormsController","BuildServerLocalSourcesEngineController","BuildServerClientJsController","configs","_configs$find","find","c","Boolean","Error"],"sources":["../../../../../src/CLICommands/BuildServer/RunBuildServer.ts"],"sourcesContent":["import { FarmConfig } from \"Tools/src/CandyCLI\";\n\nimport { ensureArrayIsNotEmpty } from \"../../../../Common/TypingUtils\";\nimport { ConsoleApplicationContext } from \"../../Commons/ConsoleApplication/ConsoleApplicationContext\";\nimport { ExpressServerWrapper } from \"../../Commons/HttpServer/ExpressWrapper/ExpressServerWrapper\";\nimport { FormsHelperController } from \"../FormsHelper/FormsHelperController\";\nimport { ExtractTextsFromSugarController } from \"../SugarExtractor/ExtractTextsFromSugarController\";\n\nimport { BuildLogsWebsocketController } from \"./BuildLogsWebsocketController\";\nimport { BuildServerOptions, DevBuildServerOptions } from \"./BuildServerServerOptions\";\nimport { BuildServerBackendResourcesController } from \"./ResourcesControllers/BuildServerBackendResourcesController\";\nimport { BuildServerBackendResourcesUpdatesController } from \"./ResourcesControllers/BuildServerBackendResourcesUpdatesController\";\nimport { BuildServerBuildFormsController } from \"./ResourcesControllers/BuildServerBuildFormsController\";\nimport { BuildServerClientJsController } from \"./ResourcesControllers/BuildServerClientJsController\";\nimport { BuildServerClientJsFromResourcesController } from \"./ResourcesControllers/BuildServerClientJsFromResourcesController\";\nimport { BuildServerFormInfoController } from \"./ResourcesControllers/BuildServerFormInfoController\";\nimport { BuildServerLocalSourcesEngineController } from \"./ResourcesControllers/BuildServerLocalSourcesEngineController\";\nimport { BuildServerPrebuiltResourcesController } from \"./ResourcesControllers/BuildServerPrebuiltResourcesController\";\nimport { BuildServerPublishedEngineController } from \"./ResourcesControllers/BuildServerPublishedEngineController\";\nimport { BuildServerCandyWidgetController } from \"./ResourcesControllers/BuildServerCandyWidgetController\";\n\nexport async function runBuildServer(\n context: ConsoleApplicationContext,\n options: BuildServerOptions,\n allFarmConfig: FarmConfig[]\n): Promise<void> {\n ensureArrayIsNotEmpty(allFarmConfig);\n const engineDirectory = resolveEngineDirectory(allFarmConfig);\n const candyModulesDirectory = allFarmConfig[0].candyModulesDirectory;\n\n const formTestingHelpersWebServer = new ExpressServerWrapper(9010, undefined, context.logger, \"Forms helpers\");\n formTestingHelpersWebServer.registerSigletonController(\n new FormsHelperController({ frontEndDevMode: options.developmentMode })\n );\n\n const webServer = new ExpressServerWrapper(9000, 9043, context.logger);\n if (!options.disableClientOverride) {\n webServer.registerSigletonController(new BuildLogsWebsocketController());\n }\n const buildServerCandyWidgetController = new BuildServerCandyWidgetController(\n engineDirectory,\n options.buildDebugOnly,\n {\n frontEndDevMode: options.developmentMode,\n }\n );\n const buildFormsController = new BuildServerBuildFormsController(\n allFarmConfig,\n candyModulesDirectory,\n false,\n engineDirectory,\n options.buildDebugOnly,\n options.nightly\n );\n webServer.registerSigletonController(buildServerCandyWidgetController);\n webServer.registerSigletonController(buildFormsController);\n webServer.registerSigletonController(\n new BuildServerBackendResourcesController(allFarmConfig, buildFormsController)\n );\n\n webServer.registerSigletonController(new ExtractTextsFromSugarController(allFarmConfig));\n\n webServer.registerSigletonController(new BuildServerFormInfoController(allFarmConfig, false, options.nightly));\n\n webServer.registerSigletonController(new BuildServerPrebuiltResourcesController());\n webServer.registerSigletonController(new BuildServerPublishedEngineController(candyModulesDirectory));\n webServer.registerSigletonController(\n new BuildServerClientJsFromResourcesController(options.disableClientOverride, {\n frontEndDevMode: options.developmentMode,\n })\n );\n webServer.registerSigletonController(new BuildServerBackendResourcesUpdatesController(allFarmConfig));\n await formTestingHelpersWebServer.start();\n await webServer.start();\n await context.waitForExit();\n await webServer.stop();\n await formTestingHelpersWebServer.stop();\n}\n\nexport async function runDevBuildServer(\n context: ConsoleApplicationContext,\n options: DevBuildServerOptions,\n allFarmConfig: FarmConfig[]\n): Promise<void> {\n ensureArrayIsNotEmpty(allFarmConfig);\n const engineDirectory = resolveEngineDirectory(allFarmConfig);\n const candyModulesDirectory = allFarmConfig[0].candyModulesDirectory;\n\n const formTestingHelpersWebServer = new ExpressServerWrapper(9010, undefined, context.logger, \"Forms helpers\");\n formTestingHelpersWebServer.registerSigletonController(\n new FormsHelperController({ frontEndDevMode: options.developmentMode })\n );\n\n const webServer = new ExpressServerWrapper(9000, 9043, context.logger);\n if (!options.disableClientOverride) {\n webServer.registerSigletonController(new BuildLogsWebsocketController());\n }\n const buildServerCandyWidgetController = new BuildServerCandyWidgetController(\n engineDirectory,\n options.buildDebugOnly,\n {\n frontEndDevMode: options.developmentMode,\n }\n );\n const buildServerBuildFormsController = new BuildServerBuildFormsController(\n allFarmConfig,\n candyModulesDirectory,\n true,\n engineDirectory,\n options.buildDebugOnly\n );\n webServer.registerSigletonController(buildServerCandyWidgetController);\n webServer.registerSigletonController(buildServerBuildFormsController);\n webServer.registerSigletonController(\n new BuildServerBackendResourcesController(allFarmConfig, buildServerBuildFormsController)\n );\n webServer.registerSigletonController(new ExtractTextsFromSugarController(allFarmConfig));\n webServer.registerSigletonController(new BuildServerFormInfoController(allFarmConfig, true, false));\n\n webServer.registerSigletonController(new BuildServerPrebuiltResourcesController());\n webServer.registerSigletonController(\n new BuildServerLocalSourcesEngineController(engineDirectory, options.buildDebugOnly)\n );\n\n webServer.registerSigletonController(\n new BuildServerClientJsController(engineDirectory, options.buildDebugOnly, options.disableClientOverride, {\n frontEndDevMode: options.developmentMode,\n })\n );\n webServer.registerSigletonController(new BuildServerBackendResourcesUpdatesController(allFarmConfig));\n await formTestingHelpersWebServer.start();\n await webServer.start();\n await context.waitForExit();\n await webServer.stop();\n await formTestingHelpersWebServer.stop();\n}\n\nconst resolveEngineDirectory = (configs: FarmConfig[]): string => {\n const engineDirectory = configs.find(c => Boolean(c.engineDirectory))?.engineDirectory;\n if (!engineDirectory) {\n throw Error(\"All Engine directory is empty\");\n }\n return engineDirectory;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"RunBuildServer.js","names":["_TypingUtils","require","_ExpressServerWrapper","_FormsHelperController","_ExtractTextsFromSugarController","_BuildLogsWebsocketController","_BuildServerProxyController","_BuildServerBackendResourcesController","_BuildServerBackendResourcesUpdatesController","_BuildServerBuildFormsController","_BuildServerClientJsController","_BuildServerClientJsFromResourcesController","_BuildServerFormInfoController","_BuildServerLocalSourcesEngineController","_BuildServerPrebuiltResourcesController","_BuildServerPublishedEngineController","_BuildServerCandyWidgetController","runBuildServer","context","options","allFarmConfig","ensureArrayIsNotEmpty","engineDirectory","resolveEngineDirectory","candyModulesDirectory","formTestingHelpersWebServer","ExpressServerWrapper","undefined","logger","registerSigletonController","FormsHelperController","frontEndDevMode","developmentMode","webServer","disableClientOverride","BuildLogsWebsocketController","registerProxyOnServer","buildServerCandyWidgetController","BuildServerCandyWidgetController","buildDebugOnly","buildFormsController","BuildServerBuildFormsController","nightly","BuildServerBackendResourcesController","ExtractTextsFromSugarController","BuildServerFormInfoController","BuildServerPrebuiltResourcesController","BuildServerPublishedEngineController","BuildServerClientJsFromResourcesController","BuildServerBackendResourcesUpdatesController","start","waitForExit","stop","runDevBuildServer","buildServerBuildFormsController","BuildServerLocalSourcesEngineController","BuildServerClientJsController","configs","_configs$find","find","c","Boolean","Error","server","mergedProxy","mergeProxyConfigs","Object","keys","length","BuildServerProxyController","merged","forEach","fc","proxy","entries","key","cfg"],"sources":["../../../../../src/CLICommands/BuildServer/RunBuildServer.ts"],"sourcesContent":["import { FarmConfig } from \"Tools/src/CandyCLI\";\n\nimport { ensureArrayIsNotEmpty } from \"../../../../Common/TypingUtils\";\nimport { ConsoleApplicationContext } from \"../../Commons/ConsoleApplication/ConsoleApplicationContext\";\nimport { ExpressServerWrapper } from \"../../Commons/HttpServer/ExpressWrapper/ExpressServerWrapper\";\nimport { ILogger } from \"../../Commons/Logging/ILogger\";\nimport { FarmProxyConfig } from \"../../ReadFarmConfig\";\nimport { FormsHelperController } from \"../FormsHelper/FormsHelperController\";\nimport { ExtractTextsFromSugarController } from \"../SugarExtractor/ExtractTextsFromSugarController\";\n\nimport { BuildLogsWebsocketController } from \"./BuildLogsWebsocketController\";\nimport { BuildServerProxyController } from \"./BuildServerProxyController\";\nimport { BuildServerOptions, DevBuildServerOptions } from \"./BuildServerServerOptions\";\nimport { BuildServerBackendResourcesController } from \"./ResourcesControllers/BuildServerBackendResourcesController\";\nimport { BuildServerBackendResourcesUpdatesController } from \"./ResourcesControllers/BuildServerBackendResourcesUpdatesController\";\nimport { BuildServerBuildFormsController } from \"./ResourcesControllers/BuildServerBuildFormsController\";\nimport { BuildServerClientJsController } from \"./ResourcesControllers/BuildServerClientJsController\";\nimport { BuildServerClientJsFromResourcesController } from \"./ResourcesControllers/BuildServerClientJsFromResourcesController\";\nimport { BuildServerFormInfoController } from \"./ResourcesControllers/BuildServerFormInfoController\";\nimport { BuildServerLocalSourcesEngineController } from \"./ResourcesControllers/BuildServerLocalSourcesEngineController\";\nimport { BuildServerPrebuiltResourcesController } from \"./ResourcesControllers/BuildServerPrebuiltResourcesController\";\nimport { BuildServerPublishedEngineController } from \"./ResourcesControllers/BuildServerPublishedEngineController\";\nimport { BuildServerCandyWidgetController } from \"./ResourcesControllers/BuildServerCandyWidgetController\";\n\nexport async function runBuildServer(\n context: ConsoleApplicationContext,\n options: BuildServerOptions,\n allFarmConfig: FarmConfig[]\n): Promise<void> {\n ensureArrayIsNotEmpty(allFarmConfig);\n const engineDirectory = resolveEngineDirectory(allFarmConfig);\n const candyModulesDirectory = allFarmConfig[0].candyModulesDirectory;\n\n const formTestingHelpersWebServer = new ExpressServerWrapper(9010, undefined, context.logger, \"Forms helpers\");\n formTestingHelpersWebServer.registerSigletonController(\n new FormsHelperController({ frontEndDevMode: options.developmentMode })\n );\n\n const webServer = new ExpressServerWrapper(9000, 9043, context.logger);\n if (!options.disableClientOverride) {\n webServer.registerSigletonController(new BuildLogsWebsocketController());\n }\n registerProxyOnServer(webServer, allFarmConfig, context.logger);\n\n const buildServerCandyWidgetController = new BuildServerCandyWidgetController(\n engineDirectory,\n options.buildDebugOnly,\n {\n frontEndDevMode: options.developmentMode,\n }\n );\n const buildFormsController = new BuildServerBuildFormsController(\n allFarmConfig,\n candyModulesDirectory,\n false,\n engineDirectory,\n options.buildDebugOnly,\n options.nightly\n );\n webServer.registerSigletonController(buildServerCandyWidgetController);\n webServer.registerSigletonController(buildFormsController);\n webServer.registerSigletonController(\n new BuildServerBackendResourcesController(allFarmConfig, buildFormsController)\n );\n\n webServer.registerSigletonController(new ExtractTextsFromSugarController(allFarmConfig));\n\n webServer.registerSigletonController(new BuildServerFormInfoController(allFarmConfig, false, options.nightly));\n\n webServer.registerSigletonController(new BuildServerPrebuiltResourcesController());\n webServer.registerSigletonController(new BuildServerPublishedEngineController(candyModulesDirectory));\n webServer.registerSigletonController(\n new BuildServerClientJsFromResourcesController(options.disableClientOverride, {\n frontEndDevMode: options.developmentMode,\n })\n );\n webServer.registerSigletonController(new BuildServerBackendResourcesUpdatesController(allFarmConfig));\n await formTestingHelpersWebServer.start();\n await webServer.start();\n await context.waitForExit();\n await webServer.stop();\n await formTestingHelpersWebServer.stop();\n}\n\nexport async function runDevBuildServer(\n context: ConsoleApplicationContext,\n options: DevBuildServerOptions,\n allFarmConfig: FarmConfig[]\n): Promise<void> {\n ensureArrayIsNotEmpty(allFarmConfig);\n const engineDirectory = resolveEngineDirectory(allFarmConfig);\n const candyModulesDirectory = allFarmConfig[0].candyModulesDirectory;\n\n const formTestingHelpersWebServer = new ExpressServerWrapper(9010, undefined, context.logger, \"Forms helpers\");\n formTestingHelpersWebServer.registerSigletonController(\n new FormsHelperController({ frontEndDevMode: options.developmentMode })\n );\n\n const webServer = new ExpressServerWrapper(9000, 9043, context.logger);\n if (!options.disableClientOverride) {\n webServer.registerSigletonController(new BuildLogsWebsocketController());\n }\n registerProxyOnServer(webServer, allFarmConfig, context.logger);\n const buildServerCandyWidgetController = new BuildServerCandyWidgetController(\n engineDirectory,\n options.buildDebugOnly,\n {\n frontEndDevMode: options.developmentMode,\n }\n );\n const buildServerBuildFormsController = new BuildServerBuildFormsController(\n allFarmConfig,\n candyModulesDirectory,\n true,\n engineDirectory,\n options.buildDebugOnly\n );\n webServer.registerSigletonController(buildServerCandyWidgetController);\n webServer.registerSigletonController(buildServerBuildFormsController);\n webServer.registerSigletonController(\n new BuildServerBackendResourcesController(allFarmConfig, buildServerBuildFormsController)\n );\n webServer.registerSigletonController(new ExtractTextsFromSugarController(allFarmConfig));\n webServer.registerSigletonController(new BuildServerFormInfoController(allFarmConfig, true, false));\n\n webServer.registerSigletonController(new BuildServerPrebuiltResourcesController());\n webServer.registerSigletonController(\n new BuildServerLocalSourcesEngineController(engineDirectory, options.buildDebugOnly)\n );\n\n webServer.registerSigletonController(\n new BuildServerClientJsController(engineDirectory, options.buildDebugOnly, options.disableClientOverride, {\n frontEndDevMode: options.developmentMode,\n })\n );\n webServer.registerSigletonController(new BuildServerBackendResourcesUpdatesController(allFarmConfig));\n await formTestingHelpersWebServer.start();\n await webServer.start();\n await context.waitForExit();\n await webServer.stop();\n await formTestingHelpersWebServer.stop();\n}\n\nconst resolveEngineDirectory = (configs: FarmConfig[]): string => {\n const engineDirectory = configs.find(c => Boolean(c.engineDirectory))?.engineDirectory;\n if (!engineDirectory) {\n throw Error(\"All Engine directory is empty\");\n }\n return engineDirectory;\n};\n\nfunction registerProxyOnServer(server: ExpressServerWrapper, allFarmConfig: FarmConfig[], logger: ILogger): void {\n const mergedProxy = mergeProxyConfigs(allFarmConfig);\n if (Object.keys(mergedProxy).length === 0) {\n return;\n }\n server.registerSigletonController(new BuildServerProxyController(mergedProxy, logger));\n}\n\nfunction mergeProxyConfigs(configs: FarmConfig[]): Record<string, FarmProxyConfig> {\n const merged: Record<string, FarmProxyConfig> = {};\n configs.forEach(fc => {\n if (fc?.proxy) {\n Object.entries(fc.proxy).forEach(([key, cfg]) => {\n merged[key] = cfg;\n });\n }\n });\n return merged;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -79,7 +79,7 @@ async function runDevBuild(context, options, engineDirectory, resourcesDirectory
|
|
|
79
79
|
return undefined;
|
|
80
80
|
}
|
|
81
81
|
return (0, _CompileForm.compileForm)(fi.formName, formDirPath, resourcesDirectory, fi.dependenciesHash, options.buildDebugOnly, undefined, false);
|
|
82
|
-
}).do(fi => (0, _WriteFLangNormalizationFiles.writeFLangNormalizationFiles)(fi.formName, formDirPath, resourcesDirectory)).do(fi => (0, _WriteKClangFiles.writeKClangFiles)(fi.formName, formDirPath, resourcesDirectory)).do(fi => (0, _WriteExtendedSchemaFiles.writeExtendedSchemaFiles)(fi.formName, formDirPath, resourcesDirectory)).do(fi => (0, _WriteAttachmentPathFiles.writeAttachmentPathFiles)(fi.formName, formDirPath, resourcesDirectory)).do(fi => (0, _WriteAttachmentPathByGfvFiles.writeAttachmentPathByGfvFiles)(fi.formName, formDirPath, resourcesDirectory)).do(fi => (0, _WriteFormMeta.writeFormMeta)(resourcesDirectory, gfv, fi.engineSource, fi.dependenciesHash, fi.themes)).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "schemas"), rngSchemaMask).do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("SCHEMAS"), x, _path.default.join(resourcesDirectory, "schemas")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "converters"), "*").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("CONVERTERS"), x, _path.default.join(resourcesDirectory, "converters")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "mergers"), "*").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("MERGERS"), x, _path.default.join(resourcesDirectory, "mergers")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "normalize"), "*.xml").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("NORMALIZE"), x, _path.default.join(resourcesDirectory, "normalize")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "patch"), "*.xslt").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("PATCH"), x, _path.default.join(resourcesDirectory, "patch")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "map"), "*.xml").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("MAP"), x, _path.default.join(resourcesDirectory, "map")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "unmap"), "*.xml").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("UNMAP"), x, _path.default.join(resourcesDirectory, "unmap"))));
|
|
82
|
+
}).do(fi => (0, _WriteFLangNormalizationFiles.writeFLangNormalizationFiles)(fi.formName, formDirPath, resourcesDirectory)).do(fi => (0, _WriteKClangFiles.writeKClangFiles)(fi.formName, formDirPath, resourcesDirectory)).do(fi => (0, _WriteExtendedSchemaFiles.writeExtendedSchemaFiles)(fi.formName, formDirPath, resourcesDirectory)).do(fi => (0, _WriteAttachmentPathFiles.writeAttachmentPathFiles)(fi.formName, formDirPath, resourcesDirectory)).do(fi => (0, _WriteAttachmentPathByGfvFiles.writeAttachmentPathByGfvFiles)(fi.formName, formDirPath, resourcesDirectory)).do(fi => (0, _WriteFormMeta.writeFormMeta)(resourcesDirectory, gfv, fi.engineSource, fi.dependenciesHash, fi.themes, fi.useServerSideNormalization)).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "schemas"), rngSchemaMask).do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("SCHEMAS"), x, _path.default.join(resourcesDirectory, "schemas")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "converters"), "*").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("CONVERTERS"), x, _path.default.join(resourcesDirectory, "converters")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "mergers"), "*").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("MERGERS"), x, _path.default.join(resourcesDirectory, "mergers")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "normalize"), "*.xml").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("NORMALIZE"), x, _path.default.join(resourcesDirectory, "normalize")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "patch"), "*.xslt").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("PATCH"), x, _path.default.join(resourcesDirectory, "patch")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "map"), "*.xml").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("MAP"), x, _path.default.join(resourcesDirectory, "map")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "unmap"), "*.xml").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("UNMAP"), x, _path.default.join(resourcesDirectory, "unmap"))));
|
|
83
83
|
};
|
|
84
84
|
const buildFormsChain = _Observe.Observe.fixedFormDirectories(formInfos.map(x => _path.default.relative(repositoryRoot, x.formPath))).splitToParallelChains(x => x, x => x, createChainForForm);
|
|
85
85
|
if (devBuildOptions.watch) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunDevBuild.js","names":["_path","_interopRequireDefault","require","_chalk","_BuildClientJsTask","_BuildLocalEngineTask","_EngineStructureUtils","_CompileForm","_GenerateForm","_WriteFLangNormalizationFiles","_FSTask","_AcquireFormGenerator","_PublishedVersionUtils","_ResolveFormInfo","_WriteFormMeta","_FormGlobsUtils","_StaticLogger","_Observe","_TimingUtils","_WriteAttachmentPathFiles","_EmptyProducer","_GetRngSchemaFileExtension","_FormPathUtils","_WellKnownDirectories","_WriteAttachmentPathByGfvFiles","_WriteKClangFiles","_WriteExtendedSchemaFiles","_BuildCandyWidgetTask","runDevBuild","context","options","engineDirectory","resourcesDirectory","farmDirectory","candyModulesDirectory","devBuildOptions","engineWebpackConfigTask","createEngineWebpackConfigTask","buildEngineChain","skipBuildEngine","EmptyProducer","chainWith","p","BuildLocalEngineTask","buildDebugOnly","clientWebpackConfigTask","createClientWebpackConfigTask","buildClientJsChain","BuildClientJsTask","candyWidgetsConfigTask","createClientViteConfigTask","buildCandyWidgetChain","buildCandyWidget","BuildCandyWidgetTask","staticResourcesChain","Observe","files","path","join","__dirname","do","x","FSTask","copyRecursively","getLogger","withPrefix","pickListsChain","logger","repositoryRoot","formInfos","FormGlobs","resolveGfvGlobs","formGlobs","resourcesExternalConvertersChain","empty","createChainForForm","formRelativePath","gfv","extractGfvFromFormPath","formDirPath","formSchemasDirPath","rngSchemaMask","getRngSchemaFileExtension","file","WellKnownDirectories","FormJsonFileName","transform","formJsonFile","resolveFormInfo","generatorSource","resolveLocalGeneratorSource","engineSource","resolveLocalEngineSource","attach","fi","generatorFactory","undefined","y","generator","getGeneratorSourceKey","watch","formSourcesPath","value","dependenciesHash","getAllDependenciesHash","skipGeneration","generateForm","skipCodeReformatting","skipGeneratedCodeReformatting","resourcesHash","skipWebPackCompilation","compileForm","formName","writeFLangNormalizationFiles","writeKClangFiles","writeExtendedSchemaFiles","writeAttachmentPathFiles","writeAttachmentPathByGfvFiles","writeFormMeta","themes","buildFormsChain","fixedFormDirectories","map","relative","formPath","splitToParallelChains","stopObserve1","observe","stopObserve2","stopObserve3","stopObserve4","stopObserve5","stopObserve6","waitForExit","startDate","Date","now","Promise","all","currentValue","e","continueOnError","error","totalTime","console","log","chalk","greenBright","printTime"],"sources":["../../../../../src/CLICommands/DevBuild/RunDevBuild.ts"],"sourcesContent":["import path from \"path\";\n\nimport chalk from \"chalk\";\n\nimport { BuildClientJsTask } from \"../../BuildTasks/ClientJS/BuildClientJsTask\";\nimport { BuildLocalEngineTask } from \"../../BuildTasks/Engine/BuildLocalEngineTask\";\nimport {\n createClientViteConfigTask,\n createClientWebpackConfigTask,\n createEngineWebpackConfigTask,\n} from \"../../BuildTasks/EngineStructureUtils\";\nimport { compileForm } from \"../../BuildTasks/Form/CompileForm\";\nimport { generateForm } from \"../../BuildTasks/Form/GenerateForm\";\nimport { writeFLangNormalizationFiles } from \"../../BuildTasks/Form/WriteFLangNormalizationFiles\";\nimport { FSTask } from \"../../BuildTasks/FSTask\";\nimport { generatorFactory, getGeneratorSourceKey } from \"../../BuildTasks/Generator/AcquireFormGenerator\";\nimport { resolveLocalEngineSource, resolveLocalGeneratorSource } from \"../../BuildTasks/PublishedVersionUtils\";\nimport { resolveFormInfo } from \"../../BuildTasks/ResolveFormInfo\";\nimport { writeFormMeta } from \"../../BuildTasks/WriteFormMeta\";\nimport { ConsoleApplicationContext } from \"../../Commons/ConsoleApplication/ConsoleApplicationContext\";\nimport { FormGlobs } from \"../../Commons/FormGlobsUtils\";\nimport { getLogger } from \"../../Commons/Logging/StaticLogger\";\nimport { Observe } from \"../../Commons/TasksCore/Observe\";\nimport { printTime } from \"../../Commons/TimingUtils\";\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 { BuildCandyWidgetTask } from \"../../BuildTasks/CandyWidget/BuildCandyWidgetTask\";\n\nimport { DevelopmentBuildOptions } from \"./DevBuildOptions\";\n\nexport async function runDevBuild(\n context: ConsoleApplicationContext,\n options: DevelopmentBuildOptions,\n engineDirectory: string,\n resourcesDirectory: string,\n farmDirectory: string,\n candyModulesDirectory: string\n): Promise<void> {\n const devBuildOptions = options;\n\n const engineWebpackConfigTask = await createEngineWebpackConfigTask(engineDirectory);\n const buildEngineChain = options.skipBuildEngine\n ? new EmptyProducer()\n : engineWebpackConfigTask.chainWith(\n p => new BuildLocalEngineTask(p, resourcesDirectory, options.buildDebugOnly)\n );\n\n const clientWebpackConfigTask = await createClientWebpackConfigTask(engineDirectory);\n const buildClientJsChain = options.skipBuildEngine\n ? new EmptyProducer()\n : clientWebpackConfigTask.chainWith(p => new BuildClientJsTask(p, resourcesDirectory));\n\n const candyWidgetsConfigTask = await createClientViteConfigTask(engineDirectory);\n const buildCandyWidgetChain =\n options.skipBuildEngine || !options.buildCandyWidget\n ? new EmptyProducer()\n : candyWidgetsConfigTask.chainWith(p => new BuildCandyWidgetTask(p));\n\n const staticResourcesChain = Observe.files(\n path.join(__dirname, \"..\", \"..\", \"StaticFilesForResourcesDir\"),\n \"*.js\"\n ).do(x =>\n FSTask.copyRecursively(getLogger().withPrefix(\"STATICS\"), x, path.join(resourcesDirectory, \"public\", \"scripts\"))\n );\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 repositoryRoot = path.join(farmDirectory, \"..\");\n\n const formInfos = await FormGlobs.resolveGfvGlobs(options.formGlobs, farmDirectory);\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 createChainForForm = async (formRelativePath: string) => {\n const gfv = extractGfvFromFormPath(formRelativePath);\n const formDirPath = path.join(repositoryRoot, formRelativePath);\n const formSchemasDirPath = path.join(formDirPath, \"schemas\");\n const rngSchemaMask = `*${getRngSchemaFileExtension(formSchemasDirPath, gfv)}`;\n\n return Observe.file(path.join(formDirPath, WellKnownDirectories.FormJsonFileName))\n .transform(formJsonFile => resolveFormInfo(formJsonFile, formDirPath, engineDirectory))\n .transform(async x => ({\n ...x,\n generatorSource: resolveLocalGeneratorSource(engineDirectory),\n engineSource: resolveLocalEngineSource(engineDirectory),\n }))\n .attach(\n async fi => generatorFactory(fi.generatorSource, candyModulesDirectory, false, undefined),\n async (fi, y) => ({ ...fi, generator: y }),\n async fi => getGeneratorSourceKey(fi.generatorSource)\n )\n .attach(async fi =>\n devBuildOptions.watch\n ? Observe.files(\n fi.formSourcesPath,\n \"../../controls/**/*\",\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 ...fi,\n dependenciesHash: await fi.generator.getAllDependenciesHash(formDirPath, farmDirectory),\n }))\n .do(async fi => {\n if (options.skipGeneration) {\n return undefined;\n }\n return generateForm(fi.formSourcesPath, farmDirectory, fi.generator, undefined, {\n skipCodeReformatting: options.skipGeneratedCodeReformatting,\n resourcesHash: fi.dependenciesHash,\n });\n })\n .attach(async () =>\n devBuildOptions.watch\n ? Observe.files(path.join(formDirPath, \"form\"), \"**/*\")\n : Observe.value(path.join(formDirPath, \"form\"))\n )\n .do(async fi => {\n if (options.skipWebPackCompilation) {\n return undefined;\n }\n return compileForm(\n fi.formName,\n formDirPath,\n resourcesDirectory,\n fi.dependenciesHash,\n options.buildDebugOnly,\n undefined,\n false\n );\n })\n .do(fi => writeFLangNormalizationFiles(fi.formName, formDirPath, resourcesDirectory))\n .do(fi => writeKClangFiles(fi.formName, formDirPath, resourcesDirectory))\n .do(fi => writeExtendedSchemaFiles(fi.formName, formDirPath, resourcesDirectory))\n .do(fi => writeAttachmentPathFiles(fi.formName, formDirPath, resourcesDirectory))\n .do(fi => writeAttachmentPathByGfvFiles(fi.formName, formDirPath, resourcesDirectory))\n .do(fi => writeFormMeta(resourcesDirectory, gfv, fi.engineSource, fi.dependenciesHash, fi.themes))\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 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 };\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 if (devBuildOptions.watch) {\n const stopObserve1 = await buildEngineChain.observe();\n const stopObserve2 = await buildClientJsChain.observe();\n const stopObserve3 = await staticResourcesChain.observe();\n const stopObserve4 = await buildFormsChain.observe();\n const stopObserve5 = await pickListsChain.observe();\n const stopObserve6 = await resourcesExternalConvertersChain.observe();\n\n await context.waitForExit();\n\n await stopObserve1();\n await stopObserve2();\n await stopObserve3();\n await stopObserve4();\n await stopObserve5();\n await stopObserve6();\n } else {\n const startDate = Date.now();\n await Promise.all([\n buildEngineChain.currentValue,\n buildClientJsChain.currentValue,\n buildCandyWidgetChain.currentValue,\n staticResourcesChain.currentValue,\n resourcesExternalConvertersChain.currentValue,\n (async () => {\n try {\n await pickListsChain.currentValue;\n await buildFormsChain.currentValue;\n } catch (e) {\n if (options.continueOnError) {\n context.logger.error(e);\n } else {\n throw e;\n }\n }\n })(),\n ]);\n const totalTime = Date.now() - startDate;\n // eslint-disable-next-line no-console\n console.log(`${chalk.greenBright(\"Build success\")} Total time: ${printTime(totalTime)}`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"RunDevBuild.js","names":["_path","_interopRequireDefault","require","_chalk","_BuildClientJsTask","_BuildLocalEngineTask","_EngineStructureUtils","_CompileForm","_GenerateForm","_WriteFLangNormalizationFiles","_FSTask","_AcquireFormGenerator","_PublishedVersionUtils","_ResolveFormInfo","_WriteFormMeta","_FormGlobsUtils","_StaticLogger","_Observe","_TimingUtils","_WriteAttachmentPathFiles","_EmptyProducer","_GetRngSchemaFileExtension","_FormPathUtils","_WellKnownDirectories","_WriteAttachmentPathByGfvFiles","_WriteKClangFiles","_WriteExtendedSchemaFiles","_BuildCandyWidgetTask","runDevBuild","context","options","engineDirectory","resourcesDirectory","farmDirectory","candyModulesDirectory","devBuildOptions","engineWebpackConfigTask","createEngineWebpackConfigTask","buildEngineChain","skipBuildEngine","EmptyProducer","chainWith","p","BuildLocalEngineTask","buildDebugOnly","clientWebpackConfigTask","createClientWebpackConfigTask","buildClientJsChain","BuildClientJsTask","candyWidgetsConfigTask","createClientViteConfigTask","buildCandyWidgetChain","buildCandyWidget","BuildCandyWidgetTask","staticResourcesChain","Observe","files","path","join","__dirname","do","x","FSTask","copyRecursively","getLogger","withPrefix","pickListsChain","logger","repositoryRoot","formInfos","FormGlobs","resolveGfvGlobs","formGlobs","resourcesExternalConvertersChain","empty","createChainForForm","formRelativePath","gfv","extractGfvFromFormPath","formDirPath","formSchemasDirPath","rngSchemaMask","getRngSchemaFileExtension","file","WellKnownDirectories","FormJsonFileName","transform","formJsonFile","resolveFormInfo","generatorSource","resolveLocalGeneratorSource","engineSource","resolveLocalEngineSource","attach","fi","generatorFactory","undefined","y","generator","getGeneratorSourceKey","watch","formSourcesPath","value","dependenciesHash","getAllDependenciesHash","skipGeneration","generateForm","skipCodeReformatting","skipGeneratedCodeReformatting","resourcesHash","skipWebPackCompilation","compileForm","formName","writeFLangNormalizationFiles","writeKClangFiles","writeExtendedSchemaFiles","writeAttachmentPathFiles","writeAttachmentPathByGfvFiles","writeFormMeta","themes","useServerSideNormalization","buildFormsChain","fixedFormDirectories","map","relative","formPath","splitToParallelChains","stopObserve1","observe","stopObserve2","stopObserve3","stopObserve4","stopObserve5","stopObserve6","waitForExit","startDate","Date","now","Promise","all","currentValue","e","continueOnError","error","totalTime","console","log","chalk","greenBright","printTime"],"sources":["../../../../../src/CLICommands/DevBuild/RunDevBuild.ts"],"sourcesContent":["import path from \"path\";\n\nimport chalk from \"chalk\";\n\nimport { BuildClientJsTask } from \"../../BuildTasks/ClientJS/BuildClientJsTask\";\nimport { BuildLocalEngineTask } from \"../../BuildTasks/Engine/BuildLocalEngineTask\";\nimport {\n createClientViteConfigTask,\n createClientWebpackConfigTask,\n createEngineWebpackConfigTask,\n} from \"../../BuildTasks/EngineStructureUtils\";\nimport { compileForm } from \"../../BuildTasks/Form/CompileForm\";\nimport { generateForm } from \"../../BuildTasks/Form/GenerateForm\";\nimport { writeFLangNormalizationFiles } from \"../../BuildTasks/Form/WriteFLangNormalizationFiles\";\nimport { FSTask } from \"../../BuildTasks/FSTask\";\nimport { generatorFactory, getGeneratorSourceKey } from \"../../BuildTasks/Generator/AcquireFormGenerator\";\nimport { resolveLocalEngineSource, resolveLocalGeneratorSource } from \"../../BuildTasks/PublishedVersionUtils\";\nimport { resolveFormInfo } from \"../../BuildTasks/ResolveFormInfo\";\nimport { writeFormMeta } from \"../../BuildTasks/WriteFormMeta\";\nimport { ConsoleApplicationContext } from \"../../Commons/ConsoleApplication/ConsoleApplicationContext\";\nimport { FormGlobs } from \"../../Commons/FormGlobsUtils\";\nimport { getLogger } from \"../../Commons/Logging/StaticLogger\";\nimport { Observe } from \"../../Commons/TasksCore/Observe\";\nimport { printTime } from \"../../Commons/TimingUtils\";\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 { BuildCandyWidgetTask } from \"../../BuildTasks/CandyWidget/BuildCandyWidgetTask\";\n\nimport { DevelopmentBuildOptions } from \"./DevBuildOptions\";\n\nexport async function runDevBuild(\n context: ConsoleApplicationContext,\n options: DevelopmentBuildOptions,\n engineDirectory: string,\n resourcesDirectory: string,\n farmDirectory: string,\n candyModulesDirectory: string\n): Promise<void> {\n const devBuildOptions = options;\n\n const engineWebpackConfigTask = await createEngineWebpackConfigTask(engineDirectory);\n const buildEngineChain = options.skipBuildEngine\n ? new EmptyProducer()\n : engineWebpackConfigTask.chainWith(\n p => new BuildLocalEngineTask(p, resourcesDirectory, options.buildDebugOnly)\n );\n\n const clientWebpackConfigTask = await createClientWebpackConfigTask(engineDirectory);\n const buildClientJsChain = options.skipBuildEngine\n ? new EmptyProducer()\n : clientWebpackConfigTask.chainWith(p => new BuildClientJsTask(p, resourcesDirectory));\n\n const candyWidgetsConfigTask = await createClientViteConfigTask(engineDirectory);\n const buildCandyWidgetChain =\n options.skipBuildEngine || !options.buildCandyWidget\n ? new EmptyProducer()\n : candyWidgetsConfigTask.chainWith(p => new BuildCandyWidgetTask(p));\n\n const staticResourcesChain = Observe.files(\n path.join(__dirname, \"..\", \"..\", \"StaticFilesForResourcesDir\"),\n \"*.js\"\n ).do(x =>\n FSTask.copyRecursively(getLogger().withPrefix(\"STATICS\"), x, path.join(resourcesDirectory, \"public\", \"scripts\"))\n );\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 repositoryRoot = path.join(farmDirectory, \"..\");\n\n const formInfos = await FormGlobs.resolveGfvGlobs(options.formGlobs, farmDirectory);\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 createChainForForm = async (formRelativePath: string) => {\n const gfv = extractGfvFromFormPath(formRelativePath);\n const formDirPath = path.join(repositoryRoot, formRelativePath);\n const formSchemasDirPath = path.join(formDirPath, \"schemas\");\n const rngSchemaMask = `*${getRngSchemaFileExtension(formSchemasDirPath, gfv)}`;\n\n return Observe.file(path.join(formDirPath, WellKnownDirectories.FormJsonFileName))\n .transform(formJsonFile => resolveFormInfo(formJsonFile, formDirPath, engineDirectory))\n .transform(async x => ({\n ...x,\n generatorSource: resolveLocalGeneratorSource(engineDirectory),\n engineSource: resolveLocalEngineSource(engineDirectory),\n }))\n .attach(\n async fi => generatorFactory(fi.generatorSource, candyModulesDirectory, false, undefined),\n async (fi, y) => ({ ...fi, generator: y }),\n async fi => getGeneratorSourceKey(fi.generatorSource)\n )\n .attach(async fi =>\n devBuildOptions.watch\n ? Observe.files(\n fi.formSourcesPath,\n \"../../controls/**/*\",\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 ...fi,\n dependenciesHash: await fi.generator.getAllDependenciesHash(formDirPath, farmDirectory),\n }))\n .do(async fi => {\n if (options.skipGeneration) {\n return undefined;\n }\n return generateForm(fi.formSourcesPath, farmDirectory, fi.generator, undefined, {\n skipCodeReformatting: options.skipGeneratedCodeReformatting,\n resourcesHash: fi.dependenciesHash,\n });\n })\n .attach(async () =>\n devBuildOptions.watch\n ? Observe.files(path.join(formDirPath, \"form\"), \"**/*\")\n : Observe.value(path.join(formDirPath, \"form\"))\n )\n .do(async fi => {\n if (options.skipWebPackCompilation) {\n return undefined;\n }\n return compileForm(\n fi.formName,\n formDirPath,\n resourcesDirectory,\n fi.dependenciesHash,\n options.buildDebugOnly,\n undefined,\n false\n );\n })\n .do(fi => writeFLangNormalizationFiles(fi.formName, formDirPath, resourcesDirectory))\n .do(fi => writeKClangFiles(fi.formName, formDirPath, resourcesDirectory))\n .do(fi => writeExtendedSchemaFiles(fi.formName, formDirPath, resourcesDirectory))\n .do(fi => writeAttachmentPathFiles(fi.formName, formDirPath, resourcesDirectory))\n .do(fi => writeAttachmentPathByGfvFiles(fi.formName, formDirPath, resourcesDirectory))\n .do(fi =>\n writeFormMeta(\n resourcesDirectory,\n gfv,\n fi.engineSource,\n fi.dependenciesHash,\n fi.themes,\n fi.useServerSideNormalization\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 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 };\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 if (devBuildOptions.watch) {\n const stopObserve1 = await buildEngineChain.observe();\n const stopObserve2 = await buildClientJsChain.observe();\n const stopObserve3 = await staticResourcesChain.observe();\n const stopObserve4 = await buildFormsChain.observe();\n const stopObserve5 = await pickListsChain.observe();\n const stopObserve6 = await resourcesExternalConvertersChain.observe();\n\n await context.waitForExit();\n\n await stopObserve1();\n await stopObserve2();\n await stopObserve3();\n await stopObserve4();\n await stopObserve5();\n await stopObserve6();\n } else {\n const startDate = Date.now();\n await Promise.all([\n buildEngineChain.currentValue,\n buildClientJsChain.currentValue,\n buildCandyWidgetChain.currentValue,\n staticResourcesChain.currentValue,\n resourcesExternalConvertersChain.currentValue,\n (async () => {\n try {\n await pickListsChain.currentValue;\n await buildFormsChain.currentValue;\n } catch (e) {\n if (options.continueOnError) {\n context.logger.error(e);\n } else {\n throw e;\n }\n }\n })(),\n ]);\n const totalTime = Date.now() - startDate;\n // eslint-disable-next-line no-console\n console.log(`${chalk.greenBright(\"Build success\")} Total time: ${printTime(totalTime)}`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CandyCLI.js","names":["require","_path","_interopRequireDefault","_fsExtra","_shelljs","_RunBuildForms","_RunBuildServer","_RunDevBuild","_RunFormStats","_RunInitForm","_RunLocalization","_RunUpgradeForm","_ConsoleApplication","_StaticLogger","_CandyToolOptions","_ReadFarmConfig","_SelfUpdate","_RunRenameFiles","_ClearSourceMapForProduction","config","fatal","remoteInspectFlagToDisableDebuggerInChildProcess","debugArgIdx","process","execArgv","indexOf","splice","debugArg2Idx","removeTemporaryWebpackConfigFiles","farmDirectory","logger","files","readdir","oldTempFileNames","filter","x","endsWith","length","log","fileName","unlink","path","join","validateFarmConfig","farmConfig","readFarmConfig","engineDirectory","undefined","Error","resourcesDirectory","candyModulesDirectory","resolve","validateAndPrepareFarmDirectoriesPath","allFarmDirectories","currentDir","context","result","pth","pathExists","push","pathToFarm","runConsoleApplication","argv","getCurrentVersion","parsedArgs","parseOptions","setConsoleLoggingVerbosity","options","logVerbosity","setLogger","verbose","type","runInitForm","cwd","allFarmsDir","warning","allFarmConfig","Array","isArray","runDevBuildServer","runBuildServer","runBuildForms","mode","clearSourceMapForProduction","runDevBuild","runFormStats","runUpgradeForm","runRenameFiles","runLocalization"],"sources":["../../../src/CandyCLI.ts"],"sourcesContent":["import \"core-js/features/array/flat\";\nimport \"core-js/proposals/iterator-helpers\";\nimport \"core-js/stable\";\nimport path from \"path\";\n\nimport { pathExists, readdir, unlink } from \"fs-extra\";\nimport \"reflect-metadata\";\nimport \"regenerator-runtime/runtime\";\nimport { config } from \"shelljs\";\n\nimport { runBuildForms } from \"./CLICommands/BuildForms/RunBuildForms\";\nimport { runBuildServer, runDevBuildServer } from \"./CLICommands/BuildServer/RunBuildServer\";\nimport { runDevBuild } from \"./CLICommands/DevBuild/RunDevBuild\";\nimport { runFormStats } from \"./CLICommands/FormStats/RunFormStats\";\nimport { runInitForm } from \"./CLICommands/InitForm/RunInitForm\";\nimport { runLocalization } from \"./CLICommands/Localization/RunLocalization\";\nimport { runUpgradeForm } from \"./CLICommands/UpgradeForm/RunUpgradeForm\";\nimport { runConsoleApplication } from \"./Commons/ConsoleApplication/ConsoleApplication\";\nimport { ILogger } from \"./Commons/Logging/ILogger\";\nimport { setLogger } from \"./Commons/Logging/StaticLogger\";\nimport { parseOptions } from \"./Options/CandyToolOptions\";\nimport { readFarmConfig } from \"./ReadFarmConfig\";\nimport { getCurrentVersion } from \"./SelfUpdate\";\nimport { ConsoleApplicationContext } from \"./Commons/ConsoleApplication/ConsoleApplicationContext\";\nimport { runRenameFiles } from \"./CLICommands/RenameFiles/RunRenameFiles\";\nimport { clearSourceMapForProduction } from \"./CLICommands/BuildForms/ClearSourceMapForProduction\";\n\nconfig.fatal = true;\n\nexport interface FarmConfig {\n candyModulesDirectory: string;\n farmDirectory: string;\n engineDirectory?: string | undefined;\n resourcesDirectory?: string | undefined;\n}\n\nfunction remoteInspectFlagToDisableDebuggerInChildProcess(): void {\n const debugArgIdx = process.execArgv.indexOf(\"--inspect-brk\");\n if (debugArgIdx !== -1) {\n process.execArgv.splice(debugArgIdx, 1);\n }\n const debugArg2Idx = process.execArgv.indexOf(\"--inspect\");\n if (debugArg2Idx !== -1) {\n process.execArgv.splice(debugArg2Idx, 1);\n }\n}\n\nasync function removeTemporaryWebpackConfigFiles(farmDirectory: string, logger: ILogger): Promise<void> {\n const files = await readdir(farmDirectory);\n const oldTempFileNames = files.filter(x => x.endsWith(\".candy-tmp.webpack.config.js\"));\n if (oldTempFileNames.length > 0) {\n logger.log(\"Removing old webpack.config.js files\");\n for (const fileName of oldTempFileNames) {\n await unlink(path.join(farmDirectory, fileName));\n }\n logger.log(\"Removed old webpack.config.js files\");\n }\n}\n\nfunction validateFarmConfig(farmDirectory: string): FarmConfig {\n const farmConfig = readFarmConfig(farmDirectory);\n\n if (farmConfig.engineDirectory == undefined) {\n throw new Error(\"EngineDirectory is not specified\");\n }\n if (farmConfig.resourcesDirectory == undefined) {\n throw new Error(\"ResourcesDirectory is not specified\");\n }\n\n const candyModulesDirectory = path.resolve(farmDirectory, \"..\", \".candy_modules\");\n return {\n ...farmConfig,\n farmDirectory: farmDirectory,\n candyModulesDirectory: candyModulesDirectory,\n };\n}\n\nconst validateAndPrepareFarmDirectoriesPath = async (\n allFarmDirectories: string[],\n currentDir: string,\n context: ConsoleApplicationContext\n): Promise<FarmConfig[]> => {\n const result: FarmConfig[] = [];\n for (const pth of allFarmDirectories) {\n if (await pathExists(path.join(pth, \"config.js\"))) {\n await removeTemporaryWebpackConfigFiles(pth, context.logger);\n result.push(validateFarmConfig(pth));\n } else {\n // Все дело в том, что связка service-runner-2 + tools корректно работает только в папке с формой\n // из за чего, внутри раннера напилен хитрый механизм поиска путей формы. Перепиливать все механики\n // совсем не хочется, поэтому для нас, считаю поднятие до уровня engine вполне приемлемым решением\n const pathToFarm = path.join(currentDir, \"..\", \"..\", \"..\", pth);\n if (!(await pathExists(pathToFarm))) {\n throw Error(`allFarmDirectories path = ${pathToFarm} not exist`);\n }\n await removeTemporaryWebpackConfigFiles(pathToFarm, context.logger);\n result.push(validateFarmConfig(pathToFarm));\n }\n }\n return result;\n};\n\nrunConsoleApplication(async (argv, context) => {\n remoteInspectFlagToDisableDebuggerInChildProcess();\n\n context.logger.log(\"@kontur.candy/tools: \" + (await getCurrentVersion()));\n const parsedArgs = parseOptions(argv);\n\n context.setConsoleLoggingVerbosity(parsedArgs.options.logVerbosity);\n setLogger(context.logger);\n context.logger.verbose(`Verbose level: ${parsedArgs.options.logVerbosity}`);\n\n if (parsedArgs.type === \"init-form\") {\n await runInitForm(context, parsedArgs.options);\n return;\n }\n\n const farmDirectory = process.cwd();\n await removeTemporaryWebpackConfigFiles(farmDirectory, context.logger);\n const farmConfig = readFarmConfig(farmDirectory);\n\n if (farmConfig.engineDirectory == undefined) {\n throw new Error(\"EngineDirectory is not specified\");\n }\n if (farmConfig.resourcesDirectory == undefined) {\n throw new Error(\"ResourcesDirectory is not specified\");\n }\n\n const engineDirectory = path.resolve(farmConfig.engineDirectory);\n const resourcesDirectory = path.resolve(farmConfig.resourcesDirectory);\n const candyModulesDirectory = path.resolve(farmDirectory, \"..\", \".candy_modules\");\n\n if (parsedArgs.type === \"build-server\" || parsedArgs.type === \"dev-build-server\") {\n const allFarmDirectories = parsedArgs.options.allFarmsDir;\n context.logger.warning(`allFarmDirectories = ${parsedArgs.options.allFarmsDir}`);\n let allFarmConfig;\n if (Array.isArray(allFarmDirectories) && allFarmDirectories.length > 0) {\n allFarmConfig = await validateAndPrepareFarmDirectoriesPath(allFarmDirectories, farmDirectory, context);\n } else {\n context.logger.warning(`Use default candyFarm path dir = ${farmDirectory}`);\n allFarmConfig = await validateAndPrepareFarmDirectoriesPath([farmDirectory], farmDirectory, context);\n }\n\n if (parsedArgs.type === \"dev-build-server\") {\n await runDevBuildServer(context, parsedArgs.options, allFarmConfig);\n } else {\n await runBuildServer(context, parsedArgs.options, allFarmConfig);\n }\n }\n\n if (parsedArgs.type === \"build\") {\n await runBuildForms(\n context,\n parsedArgs.options,\n farmDirectory,\n resourcesDirectory,\n engineDirectory,\n candyModulesDirectory\n );\n if (parsedArgs.options.mode === \"production\") {\n await clearSourceMapForProduction(resourcesDirectory);\n }\n }\n\n if (parsedArgs.type === \"dev-build\") {\n await runDevBuild(\n context,\n parsedArgs.options,\n engineDirectory,\n resourcesDirectory,\n farmDirectory,\n candyModulesDirectory\n );\n }\n\n if (parsedArgs.type === \"form-stats\") {\n await runFormStats(context, parsedArgs.options, farmDirectory);\n }\n if (parsedArgs.type === \"upgrade\") {\n await runUpgradeForm(context, parsedArgs.options, farmDirectory);\n }\n if (parsedArgs.type === \"rename\") {\n await runRenameFiles(context, parsedArgs.options, farmDirectory);\n }\n if (parsedArgs.type === \"localize\") {\n await runLocalization(context, parsedArgs.options, farmDirectory, engineDirectory, candyModulesDirectory);\n }\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"CandyCLI.js","names":["require","_path","_interopRequireDefault","_fsExtra","_shelljs","_RunBuildForms","_RunBuildServer","_RunDevBuild","_RunFormStats","_RunInitForm","_RunLocalization","_RunUpgradeForm","_ConsoleApplication","_StaticLogger","_CandyToolOptions","_ReadFarmConfig","_SelfUpdate","_RunRenameFiles","_ClearSourceMapForProduction","config","fatal","remoteInspectFlagToDisableDebuggerInChildProcess","debugArgIdx","process","execArgv","indexOf","splice","debugArg2Idx","removeTemporaryWebpackConfigFiles","farmDirectory","logger","files","readdir","oldTempFileNames","filter","x","endsWith","length","log","fileName","unlink","path","join","validateFarmConfig","farmConfig","readFarmConfig","engineDirectory","undefined","Error","resourcesDirectory","candyModulesDirectory","resolve","validateAndPrepareFarmDirectoriesPath","allFarmDirectories","currentDir","context","result","pth","pathExists","push","pathToFarm","runConsoleApplication","argv","getCurrentVersion","parsedArgs","parseOptions","setConsoleLoggingVerbosity","options","logVerbosity","setLogger","verbose","type","runInitForm","cwd","allFarmsDir","warning","allFarmConfig","Array","isArray","runDevBuildServer","runBuildServer","runBuildForms","mode","clearSourceMapForProduction","runDevBuild","runFormStats","runUpgradeForm","runRenameFiles","runLocalization"],"sources":["../../../src/CandyCLI.ts"],"sourcesContent":["import \"core-js/features/array/flat\";\nimport \"core-js/proposals/iterator-helpers\";\nimport \"core-js/stable\";\nimport path from \"path\";\n\nimport { pathExists, readdir, unlink } from \"fs-extra\";\nimport \"reflect-metadata\";\nimport \"regenerator-runtime/runtime\";\nimport { config } from \"shelljs\";\n\nimport { runBuildForms } from \"./CLICommands/BuildForms/RunBuildForms\";\nimport { runBuildServer, runDevBuildServer } from \"./CLICommands/BuildServer/RunBuildServer\";\nimport { runDevBuild } from \"./CLICommands/DevBuild/RunDevBuild\";\nimport { runFormStats } from \"./CLICommands/FormStats/RunFormStats\";\nimport { runInitForm } from \"./CLICommands/InitForm/RunInitForm\";\nimport { runLocalization } from \"./CLICommands/Localization/RunLocalization\";\nimport { runUpgradeForm } from \"./CLICommands/UpgradeForm/RunUpgradeForm\";\nimport { runConsoleApplication } from \"./Commons/ConsoleApplication/ConsoleApplication\";\nimport { ILogger } from \"./Commons/Logging/ILogger\";\nimport { setLogger } from \"./Commons/Logging/StaticLogger\";\nimport { parseOptions } from \"./Options/CandyToolOptions\";\nimport { FarmProxyConfig, readFarmConfig } from \"./ReadFarmConfig\";\nimport { getCurrentVersion } from \"./SelfUpdate\";\nimport { ConsoleApplicationContext } from \"./Commons/ConsoleApplication/ConsoleApplicationContext\";\nimport { runRenameFiles } from \"./CLICommands/RenameFiles/RunRenameFiles\";\nimport { clearSourceMapForProduction } from \"./CLICommands/BuildForms/ClearSourceMapForProduction\";\n\nconfig.fatal = true;\n\nexport interface FarmConfig {\n candyModulesDirectory: string;\n farmDirectory: string;\n engineDirectory?: string | undefined;\n resourcesDirectory?: string | undefined;\n proxy?: Record<string, FarmProxyConfig>;\n}\n\nfunction remoteInspectFlagToDisableDebuggerInChildProcess(): void {\n const debugArgIdx = process.execArgv.indexOf(\"--inspect-brk\");\n if (debugArgIdx !== -1) {\n process.execArgv.splice(debugArgIdx, 1);\n }\n const debugArg2Idx = process.execArgv.indexOf(\"--inspect\");\n if (debugArg2Idx !== -1) {\n process.execArgv.splice(debugArg2Idx, 1);\n }\n}\n\nasync function removeTemporaryWebpackConfigFiles(farmDirectory: string, logger: ILogger): Promise<void> {\n const files = await readdir(farmDirectory);\n const oldTempFileNames = files.filter(x => x.endsWith(\".candy-tmp.webpack.config.js\"));\n if (oldTempFileNames.length > 0) {\n logger.log(\"Removing old webpack.config.js files\");\n for (const fileName of oldTempFileNames) {\n await unlink(path.join(farmDirectory, fileName));\n }\n logger.log(\"Removed old webpack.config.js files\");\n }\n}\n\nfunction validateFarmConfig(farmDirectory: string): FarmConfig {\n const farmConfig = readFarmConfig(farmDirectory);\n\n if (farmConfig.engineDirectory == undefined) {\n throw new Error(\"EngineDirectory is not specified\");\n }\n if (farmConfig.resourcesDirectory == undefined) {\n throw new Error(\"ResourcesDirectory is not specified\");\n }\n\n const candyModulesDirectory = path.resolve(farmDirectory, \"..\", \".candy_modules\");\n return {\n ...farmConfig,\n farmDirectory: farmDirectory,\n candyModulesDirectory: candyModulesDirectory,\n };\n}\n\nconst validateAndPrepareFarmDirectoriesPath = async (\n allFarmDirectories: string[],\n currentDir: string,\n context: ConsoleApplicationContext\n): Promise<FarmConfig[]> => {\n const result: FarmConfig[] = [];\n for (const pth of allFarmDirectories) {\n if (await pathExists(path.join(pth, \"config.js\"))) {\n await removeTemporaryWebpackConfigFiles(pth, context.logger);\n result.push(validateFarmConfig(pth));\n } else {\n // Все дело в том, что связка service-runner-2 + tools корректно работает только в папке с формой\n // из за чего, внутри раннера напилен хитрый механизм поиска путей формы. Перепиливать все механики\n // совсем не хочется, поэтому для нас, считаю поднятие до уровня engine вполне приемлемым решением\n const pathToFarm = path.join(currentDir, \"..\", \"..\", \"..\", pth);\n if (!(await pathExists(pathToFarm))) {\n throw Error(`allFarmDirectories path = ${pathToFarm} not exist`);\n }\n await removeTemporaryWebpackConfigFiles(pathToFarm, context.logger);\n result.push(validateFarmConfig(pathToFarm));\n }\n }\n return result;\n};\n\nrunConsoleApplication(async (argv, context) => {\n remoteInspectFlagToDisableDebuggerInChildProcess();\n\n context.logger.log(\"@kontur.candy/tools: \" + (await getCurrentVersion()));\n const parsedArgs = parseOptions(argv);\n\n context.setConsoleLoggingVerbosity(parsedArgs.options.logVerbosity);\n setLogger(context.logger);\n context.logger.verbose(`Verbose level: ${parsedArgs.options.logVerbosity}`);\n\n if (parsedArgs.type === \"init-form\") {\n await runInitForm(context, parsedArgs.options);\n return;\n }\n\n const farmDirectory = process.cwd();\n await removeTemporaryWebpackConfigFiles(farmDirectory, context.logger);\n const farmConfig = readFarmConfig(farmDirectory);\n\n if (farmConfig.engineDirectory == undefined) {\n throw new Error(\"EngineDirectory is not specified\");\n }\n if (farmConfig.resourcesDirectory == undefined) {\n throw new Error(\"ResourcesDirectory is not specified\");\n }\n\n const engineDirectory = path.resolve(farmConfig.engineDirectory);\n const resourcesDirectory = path.resolve(farmConfig.resourcesDirectory);\n const candyModulesDirectory = path.resolve(farmDirectory, \"..\", \".candy_modules\");\n\n if (parsedArgs.type === \"build-server\" || parsedArgs.type === \"dev-build-server\") {\n const allFarmDirectories = parsedArgs.options.allFarmsDir;\n context.logger.warning(`allFarmDirectories = ${parsedArgs.options.allFarmsDir}`);\n let allFarmConfig;\n if (Array.isArray(allFarmDirectories) && allFarmDirectories.length > 0) {\n allFarmConfig = await validateAndPrepareFarmDirectoriesPath(allFarmDirectories, farmDirectory, context);\n } else {\n context.logger.warning(`Use default candyFarm path dir = ${farmDirectory}`);\n allFarmConfig = await validateAndPrepareFarmDirectoriesPath([farmDirectory], farmDirectory, context);\n }\n\n if (parsedArgs.type === \"dev-build-server\") {\n await runDevBuildServer(context, parsedArgs.options, allFarmConfig);\n } else {\n await runBuildServer(context, parsedArgs.options, allFarmConfig);\n }\n }\n\n if (parsedArgs.type === \"build\") {\n await runBuildForms(\n context,\n parsedArgs.options,\n farmDirectory,\n resourcesDirectory,\n engineDirectory,\n candyModulesDirectory\n );\n if (parsedArgs.options.mode === \"production\") {\n await clearSourceMapForProduction(resourcesDirectory);\n }\n }\n\n if (parsedArgs.type === \"dev-build\") {\n await runDevBuild(\n context,\n parsedArgs.options,\n engineDirectory,\n resourcesDirectory,\n farmDirectory,\n candyModulesDirectory\n );\n }\n\n if (parsedArgs.type === \"form-stats\") {\n await runFormStats(context, parsedArgs.options, farmDirectory);\n }\n if (parsedArgs.type === \"upgrade\") {\n await runUpgradeForm(context, parsedArgs.options, farmDirectory);\n }\n if (parsedArgs.type === \"rename\") {\n await runRenameFiles(context, parsedArgs.options, farmDirectory);\n }\n if (parsedArgs.type === \"localize\") {\n await runLocalization(context, parsedArgs.options, farmDirectory, engineDirectory, candyModulesDirectory);\n }\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,7 +11,8 @@ function readFarmConfig(farmDirectory) {
|
|
|
11
11
|
const configEvaluationResult = require(_path.default.join(farmDirectory, "config.js"))(farmDirectory);
|
|
12
12
|
return {
|
|
13
13
|
engineDirectory: configEvaluationResult.localEngineDirectoryPath,
|
|
14
|
-
resourcesDirectory: configEvaluationResult.resourcesDirectoryPath
|
|
14
|
+
resourcesDirectory: configEvaluationResult.resourcesDirectoryPath,
|
|
15
|
+
proxy: configEvaluationResult.proxy
|
|
15
16
|
};
|
|
16
17
|
}
|
|
17
18
|
//# sourceMappingURL=ReadFarmConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadFarmConfig.js","names":["_path","_interopRequireDefault","require","readFarmConfig","farmDirectory","configEvaluationResult","path","join","engineDirectory","localEngineDirectoryPath","resourcesDirectory","resourcesDirectoryPath"],"sources":["../../../src/ReadFarmConfig.ts"],"sourcesContent":["import path from \"path\";\n\nexport interface FarmConfig {\n engineDirectory?: string;\n resourcesDirectory?: string;\n}\n\nexport function readFarmConfig(farmDirectory: string): FarmConfig {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/no-require-imports\n const configEvaluationResult: any = require(path.join(farmDirectory, \"config.js\"))(farmDirectory);\n return {\n engineDirectory: configEvaluationResult.localEngineDirectoryPath,\n resourcesDirectory: configEvaluationResult.resourcesDirectoryPath,\n };\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;
|
|
1
|
+
{"version":3,"file":"ReadFarmConfig.js","names":["_path","_interopRequireDefault","require","readFarmConfig","farmDirectory","configEvaluationResult","path","join","engineDirectory","localEngineDirectoryPath","resourcesDirectory","resourcesDirectoryPath","proxy"],"sources":["../../../src/ReadFarmConfig.ts"],"sourcesContent":["import path from \"path\";\n\nimport type { Options as HttpProxyOptions } from \"http-proxy-middleware\";\n\nexport type FarmProxyConfig = Pick<HttpProxyOptions, \"changeOrigin\" | \"pathRewrite\"> & { target: string };\n\nexport interface FarmConfig {\n engineDirectory?: string;\n resourcesDirectory?: string;\n proxy?: Record<string, FarmProxyConfig>;\n}\n\nexport function readFarmConfig(farmDirectory: string): FarmConfig {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/no-require-imports\n const configEvaluationResult: any = require(path.join(farmDirectory, \"config.js\"))(farmDirectory);\n return {\n engineDirectory: configEvaluationResult.localEngineDirectoryPath,\n resourcesDirectory: configEvaluationResult.resourcesDirectoryPath,\n proxy: configEvaluationResult.proxy,\n };\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAYO,SAASC,cAAcA,CAACC,aAAqB,EAAc;EAC9D;EACA,MAAMC,sBAA2B,GAAGH,OAAO,CAACI,aAAI,CAACC,IAAI,CAACH,aAAa,EAAE,WAAW,CAAC,CAAC,CAACA,aAAa,CAAC;EACjG,OAAO;IACHI,eAAe,EAAEH,sBAAsB,CAACI,wBAAwB;IAChEC,kBAAkB,EAAEL,sBAAsB,CAACM,sBAAsB;IACjEC,KAAK,EAAEP,sBAAsB,CAACO;EAClC,CAAC;AACL","ignoreList":[]}
|