@kontur.candy/tools 2.244.0 → 2.246.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.
Files changed (28) hide show
  1. package/distr/Common/ArrayUtils.js +4 -0
  2. package/distr/Common/ArrayUtils.js.map +1 -1
  3. package/distr/Common/CandyApiClient/CandyApiClient.js +9 -2
  4. package/distr/Common/CandyApiClient/CandyApiClient.js.map +1 -1
  5. package/distr/Common/CandyApiClient/FakeCandyApiClient.js +3 -0
  6. package/distr/Common/CandyApiClient/FakeCandyApiClient.js.map +1 -1
  7. package/distr/Common/CandyApiClient/ICandyApiClient.js.map +1 -1
  8. package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js +1 -0
  9. package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js.map +1 -1
  10. package/distr/Common/KCLangRuntimeUtils.js +2 -2
  11. package/distr/Common/KCLangRuntimeUtils.js.map +1 -1
  12. package/distr/Common/ModelPath/ModelPathValidator.js +44 -0
  13. package/distr/Common/ModelPath/ModelPathValidator.js.map +1 -0
  14. package/distr/Common/NdsPlusApiClient/INdsPlusApiClient.js.map +1 -1
  15. package/distr/Common/NdsPlusApiClient/NdsPlusApiClient.js +10 -19
  16. package/distr/Common/NdsPlusApiClient/NdsPlusApiClient.js.map +1 -1
  17. package/distr/Common/TypingUtils.js +2 -3
  18. package/distr/Common/TypingUtils.js.map +1 -1
  19. package/distr/Tools/src/BuildTasks/ReadFormSource.js +2 -1
  20. package/distr/Tools/src/BuildTasks/ReadFormSource.js.map +1 -1
  21. package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js +1 -1
  22. package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -1
  23. package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
  24. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js +9 -8
  25. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -1
  26. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js +9 -8
  27. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.map +1 -1
  28. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"ReadFormSource.js","names":["_path","_interopRequireDefault","require","_fsExtra","_recursiveReaddir","_FsUtils","_GetRngSchemaFileExtension","_FormPathUtils","readFormSource","formSourcesPath","farmDirectory","hlFarmDirectoryPath","rootPath","formName","extractGfvFromFormPath","sugarContent","readSugarFiles","path","join","result","resources","gfv","basename","additionalSettings","readFileWithDefault","autocalcsContent","readAutoCalcFiles","helpersContent","readJavaScriptFilesWithNames","commonHelpersContent","validationsContent","schemaRngContent","readSchemaRngFile","kcJsXmlContent","kcLangContent","normativeHelpContent","readNormativeHelpFile","tourSteps","hooksContent","readHooksFile","customControlsContent","readCustomControlsFiles","startsWith","commonResourcesPath","elements","hasRegionalForm","Object","values","find","sugar","includes","preprocessor","formSugarDirectoryPath","fileNames","readdir","fileName","sugarModuleName","replace","sugarModuleContent","readFile","isDirectoryExists","recursiveReaddir","relativeFileName","formAutoCalcPath","files","jsFiles","filter","filename","test","Promise","all","map","formJavaScriptFilesPath","parse","name","content","formSchemasPath","getRngSchemaFileExtension","formDirectoryPath","catch","filePath","defaultValue"],"sources":["../../../../src/BuildTasks/ReadFormSource.ts"],"sourcesContent":["import path from \"path\";\n\nimport { readdir, readFile } from \"fs-extra\";\nimport recursiveReaddir from \"recursive-readdir\";\n\nimport { isDirectoryExists } from \"../Commons/FsUtils\";\nimport { getRngSchemaFileExtension } from \"../../../Common/GetRngSchemaFileExtension\";\nimport { extractGfvFromFormPath } from \"../../../Common/FormPathUtils\";\n\nexport interface SugarContent {\n [sugarFileNameWithoutExtension: string]: string;\n}\n\nexport interface CustomControlsContent {\n [key: string]: string;\n}\n\nexport interface FormResources {\n gfv: string;\n additionalSettings: undefined | string;\n autocalcsContent: string[];\n helpersContent: Array<{ filename: string; content: string }>;\n commonHelpersContent: Array<{ filename: string; content: string }>;\n validationsContent: Array<{ filename: string; content: string }>;\n schemaRngContent: string;\n kcJsXmlContent: undefined | string;\n kcLangContent: undefined | string;\n normativeHelpContent: string;\n tourSteps: undefined | string;\n hooksContent: undefined | string;\n customControlsContent: CustomControlsContent;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n preprocessor?: any[];\n}\n\nexport interface FormSource {\n sugarContent: SugarContent;\n resources: FormResources;\n}\n\nexport async function readFormSource(\n formSourcesPath: string,\n farmDirectory: string,\n hlFarmDirectoryPath: string\n): Promise<FormSource> {\n const rootPath = farmDirectory;\n const formName = extractGfvFromFormPath(formSourcesPath);\n const sugarContent = await readSugarFiles(path.join(formSourcesPath, \"sugar\"));\n const result: FormSource = {\n sugarContent: sugarContent,\n resources: {\n gfv: path.basename(formSourcesPath),\n additionalSettings: await readFileWithDefault(formSourcesPath, \"settings.json\", \"{}\"),\n autocalcsContent: await readAutoCalcFiles(path.join(formSourcesPath, \"autocalc\")),\n helpersContent: await readJavaScriptFilesWithNames(path.join(formSourcesPath, \"helpers\")),\n commonHelpersContent: await readJavaScriptFilesWithNames(path.join(farmDirectory, \"jsHelpers\")),\n validationsContent: await readJavaScriptFilesWithNames(path.join(formSourcesPath, \"validations\")),\n schemaRngContent: await readSchemaRngFile(path.join(formSourcesPath, \"schemas\"), formName),\n kcJsXmlContent: await readFileWithDefault(\n path.join(formSourcesPath, \"autocalc\"),\n `${formName}.КС.candy.js.xml`,\n \"<dummy/>\"\n ),\n kcLangContent: await readFileWithDefault(\n path.join(formSourcesPath, \"autocalc\"),\n `${formName}.КС.candy.js.kclang`,\n \"\"\n ),\n normativeHelpContent: await readNormativeHelpFile(hlFarmDirectoryPath),\n tourSteps: await readFileWithDefault(path.join(rootPath, \"tour\"), \"tour.js\", \"{}\"),\n hooksContent: await readHooksFile(formSourcesPath),\n customControlsContent: await readCustomControlsFiles(path.join(formSourcesPath, \"controls\")),\n },\n };\n if (formName.startsWith(\"4\")) {\n const commonResourcesPath = path.join(formSourcesPath, \"..\", \"..\", \"commonResources\");\n\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const { elements } = require(path.join(commonResourcesPath, \"statTitle.js\"));\n const hasRegionalForm = Object.values(sugarContent).find(sugar => sugar.includes('hasRegionalForms=\"true\"'));\n\n if (!result.resources.hooksContent && hasRegionalForm) {\n result.resources.hooksContent = await readFileWithDefault(commonResourcesPath, \"regionStatHooks.js\");\n }\n result.resources.preprocessor = { ...elements };\n }\n return result;\n}\n\nasync function readSugarFiles(formSugarDirectoryPath: string): Promise<SugarContent> {\n const fileNames = await readdir(formSugarDirectoryPath);\n const result: SugarContent = {};\n for (const fileName of fileNames) {\n const sugarModuleName = fileName.replace(\".sugar.xml\", \"\");\n const sugarModuleContent = await readFile(path.join(formSugarDirectoryPath, fileName), \"utf-8\");\n result[sugarModuleName] = sugarModuleContent;\n }\n return result;\n}\n\nasync function readCustomControlsFiles(formSugarDirectoryPath: string): Promise<CustomControlsContent> {\n if (!(await isDirectoryExists(formSugarDirectoryPath))) {\n return {};\n }\n const fileNames = await recursiveReaddir(formSugarDirectoryPath);\n const result: CustomControlsContent = {};\n for (const fileName of fileNames) {\n const sugarModuleContent = await readFile(fileName, \"utf-8\");\n const relativeFileName = (\"controls\\\\\" + fileName.replace(formSugarDirectoryPath + \"\\\\\", \"\")).replace(\n /\\\\/g,\n \"/\"\n );\n result[relativeFileName] = sugarModuleContent;\n }\n return result;\n}\n\nasync function readAutoCalcFiles(formAutoCalcPath: string): Promise<string[]> {\n try {\n const files = await readdir(formAutoCalcPath);\n const jsFiles = files.filter(filename => /\\.js$/.test(filename));\n return Promise.all(jsFiles.map(filename => readFile(path.join(formAutoCalcPath, filename), \"utf-8\")));\n } catch {\n return [];\n }\n}\n\nasync function readJavaScriptFilesWithNames(\n formJavaScriptFilesPath: string\n): Promise<Array<{ filename: string; content: string }>> {\n try {\n const files = await readdir(formJavaScriptFilesPath);\n const jsFiles = files.filter(filename => /\\.js$/.test(filename));\n return Promise.all(\n jsFiles.map(async filename => ({\n filename: path.parse(filename).name,\n content: await readFile(path.join(formJavaScriptFilesPath, filename), \"utf-8\"),\n }))\n );\n } catch {\n return [];\n }\n}\n\nfunction readSchemaRngFile(formSchemasPath: string, gfv: string): Promise<string> {\n return readFile(path.join(formSchemasPath, `${gfv}${getRngSchemaFileExtension(formSchemasPath, gfv)}`), \"utf-8\");\n}\n\nfunction readNormativeHelpFile(hlFarmDirectoryPath: string): Promise<string> {\n return readFile(path.join(hlFarmDirectoryPath, \"Forms\", \"helpid_normativ.xml\"), \"utf-8\");\n}\n\nfunction readHooksFile(formDirectoryPath: string): Promise<string> {\n return readFile(path.join(formDirectoryPath, \"hooks.js\"), \"utf-8\").catch(() => \"\");\n}\n\nasync function readFileWithDefault(\n filePath: string,\n filename: string,\n defaultValue?: string\n): Promise<undefined | string> {\n try {\n return await readFile(path.join(filePath, filename), \"utf-8\");\n } catch {\n return defaultValue;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ReadFormSource.js","names":["_path","_interopRequireDefault","require","_fsExtra","_recursiveReaddir","_FsUtils","_GetRngSchemaFileExtension","_FormPathUtils","_ExtractGFVPath","readFormSource","formSourcesPath","farmDirectory","hlFarmDirectoryPath","rootPath","formName","extractGfvFromFormPath","sugarContent","readSugarFiles","path","join","result","resources","gfv","basename","additionalSettings","readFileWithDefault","autocalcsContent","readAutoCalcFiles","helpersContent","readJavaScriptFilesWithNames","commonHelpersContent","validationsContent","schemaRngContent","readSchemaRngFile","kcJsXmlContent","kcLangContent","normativeHelpContent","readNormativeHelpFile","tourSteps","hooksContent","readHooksFile","customControlsContent","readCustomControlsFiles","extractGFV","group","commonResourcesPath","elements","hasRegionalForm","Object","values","find","sugar","includes","preprocessor","formSugarDirectoryPath","fileNames","readdir","fileName","sugarModuleName","replace","sugarModuleContent","readFile","isDirectoryExists","recursiveReaddir","relativeFileName","formAutoCalcPath","files","jsFiles","filter","filename","test","Promise","all","map","formJavaScriptFilesPath","parse","name","content","formSchemasPath","getRngSchemaFileExtension","formDirectoryPath","catch","filePath","defaultValue"],"sources":["../../../../src/BuildTasks/ReadFormSource.ts"],"sourcesContent":["import path from \"path\";\n\nimport { readdir, readFile } from \"fs-extra\";\nimport recursiveReaddir from \"recursive-readdir\";\n\nimport { isDirectoryExists } from \"../Commons/FsUtils\";\nimport { getRngSchemaFileExtension } from \"../../../Common/GetRngSchemaFileExtension\";\nimport { extractGfvFromFormPath } from \"../../../Common/FormPathUtils\";\nimport { extractGFV } from \"../../../Common/ExtractGFVPath/ExtractGFVPath\";\n\nexport interface SugarContent {\n [sugarFileNameWithoutExtension: string]: string;\n}\n\nexport interface CustomControlsContent {\n [key: string]: string;\n}\n\nexport interface FormResources {\n gfv: string;\n additionalSettings: undefined | string;\n autocalcsContent: string[];\n helpersContent: Array<{ filename: string; content: string }>;\n commonHelpersContent: Array<{ filename: string; content: string }>;\n validationsContent: Array<{ filename: string; content: string }>;\n schemaRngContent: string;\n kcJsXmlContent: undefined | string;\n kcLangContent: undefined | string;\n normativeHelpContent: string;\n tourSteps: undefined | string;\n hooksContent: undefined | string;\n customControlsContent: CustomControlsContent;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n preprocessor?: any[];\n}\n\nexport interface FormSource {\n sugarContent: SugarContent;\n resources: FormResources;\n}\n\nexport async function readFormSource(\n formSourcesPath: string,\n farmDirectory: string,\n hlFarmDirectoryPath: string\n): Promise<FormSource> {\n const rootPath = farmDirectory;\n const formName = extractGfvFromFormPath(formSourcesPath);\n const sugarContent = await readSugarFiles(path.join(formSourcesPath, \"sugar\"));\n const result: FormSource = {\n sugarContent: sugarContent,\n resources: {\n gfv: path.basename(formSourcesPath),\n additionalSettings: await readFileWithDefault(formSourcesPath, \"settings.json\", \"{}\"),\n autocalcsContent: await readAutoCalcFiles(path.join(formSourcesPath, \"autocalc\")),\n helpersContent: await readJavaScriptFilesWithNames(path.join(formSourcesPath, \"helpers\")),\n commonHelpersContent: await readJavaScriptFilesWithNames(path.join(farmDirectory, \"jsHelpers\")),\n validationsContent: await readJavaScriptFilesWithNames(path.join(formSourcesPath, \"validations\")),\n schemaRngContent: await readSchemaRngFile(path.join(formSourcesPath, \"schemas\"), formName),\n kcJsXmlContent: await readFileWithDefault(\n path.join(formSourcesPath, \"autocalc\"),\n `${formName}.КС.candy.js.xml`,\n \"<dummy/>\"\n ),\n kcLangContent: await readFileWithDefault(\n path.join(formSourcesPath, \"autocalc\"),\n `${formName}.КС.candy.js.kclang`,\n \"\"\n ),\n normativeHelpContent: await readNormativeHelpFile(hlFarmDirectoryPath),\n tourSteps: await readFileWithDefault(path.join(rootPath, \"tour\"), \"tour.js\", \"{}\"),\n hooksContent: await readHooksFile(formSourcesPath),\n customControlsContent: await readCustomControlsFiles(path.join(formSourcesPath, \"controls\")),\n },\n };\n\n if (extractGFV(formName).group === \"4\") {\n const commonResourcesPath = path.join(formSourcesPath, \"..\", \"..\", \"commonResources\");\n\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const { elements } = require(path.join(commonResourcesPath, \"statTitle.js\"));\n const hasRegionalForm = Object.values(sugarContent).find(sugar => sugar.includes('hasRegionalForms=\"true\"'));\n\n if (!result.resources.hooksContent && hasRegionalForm) {\n result.resources.hooksContent = await readFileWithDefault(commonResourcesPath, \"regionStatHooks.js\");\n }\n result.resources.preprocessor = { ...elements };\n }\n return result;\n}\n\nasync function readSugarFiles(formSugarDirectoryPath: string): Promise<SugarContent> {\n const fileNames = await readdir(formSugarDirectoryPath);\n const result: SugarContent = {};\n for (const fileName of fileNames) {\n const sugarModuleName = fileName.replace(\".sugar.xml\", \"\");\n const sugarModuleContent = await readFile(path.join(formSugarDirectoryPath, fileName), \"utf-8\");\n result[sugarModuleName] = sugarModuleContent;\n }\n return result;\n}\n\nasync function readCustomControlsFiles(formSugarDirectoryPath: string): Promise<CustomControlsContent> {\n if (!(await isDirectoryExists(formSugarDirectoryPath))) {\n return {};\n }\n const fileNames = await recursiveReaddir(formSugarDirectoryPath);\n const result: CustomControlsContent = {};\n for (const fileName of fileNames) {\n const sugarModuleContent = await readFile(fileName, \"utf-8\");\n const relativeFileName = (\"controls\\\\\" + fileName.replace(formSugarDirectoryPath + \"\\\\\", \"\")).replace(\n /\\\\/g,\n \"/\"\n );\n result[relativeFileName] = sugarModuleContent;\n }\n return result;\n}\n\nasync function readAutoCalcFiles(formAutoCalcPath: string): Promise<string[]> {\n try {\n const files = await readdir(formAutoCalcPath);\n const jsFiles = files.filter(filename => /\\.js$/.test(filename));\n return Promise.all(jsFiles.map(filename => readFile(path.join(formAutoCalcPath, filename), \"utf-8\")));\n } catch {\n return [];\n }\n}\n\nasync function readJavaScriptFilesWithNames(\n formJavaScriptFilesPath: string\n): Promise<Array<{ filename: string; content: string }>> {\n try {\n const files = await readdir(formJavaScriptFilesPath);\n const jsFiles = files.filter(filename => /\\.js$/.test(filename));\n return Promise.all(\n jsFiles.map(async filename => ({\n filename: path.parse(filename).name,\n content: await readFile(path.join(formJavaScriptFilesPath, filename), \"utf-8\"),\n }))\n );\n } catch {\n return [];\n }\n}\n\nfunction readSchemaRngFile(formSchemasPath: string, gfv: string): Promise<string> {\n return readFile(path.join(formSchemasPath, `${gfv}${getRngSchemaFileExtension(formSchemasPath, gfv)}`), \"utf-8\");\n}\n\nfunction readNormativeHelpFile(hlFarmDirectoryPath: string): Promise<string> {\n return readFile(path.join(hlFarmDirectoryPath, \"Forms\", \"helpid_normativ.xml\"), \"utf-8\");\n}\n\nfunction readHooksFile(formDirectoryPath: string): Promise<string> {\n return readFile(path.join(formDirectoryPath, \"hooks.js\"), \"utf-8\").catch(() => \"\");\n}\n\nasync function readFileWithDefault(\n filePath: string,\n filename: string,\n defaultValue?: string\n): Promise<undefined | string> {\n try {\n return await readFile(path.join(filePath, filename), \"utf-8\");\n } catch {\n return defaultValue;\n }\n}\n"],"mappings":"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","ignoreList":[]}