@kontur.candy/tools 2.227.0 → 2.229.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.
@@ -44,7 +44,6 @@ function getGeneratorVersion(generatorSource) {
44
44
  async function runBuildForms(context, options, farmDirectory, resourcesDirectory, engineDirectory, candyModulesDirectory, hlFarmDirectoryPath) {
45
45
  const buildOptions = options;
46
46
  const pickListsChain = _Observe.Observe.files(_path.default.join(farmDirectory, "picklists"), "*.json").do(x => _FSTask.FSTask.copyRecursively(context.logger.withPrefix("PICKLISTS"), x, _path.default.join(resourcesDirectory, "picklists")));
47
- await _FormGlobsUtils.FormGlobs.ensureEachGlobResolvesIntoExistingForm(options.formGlobs, farmDirectory);
48
47
  const formInfos = await _FormGlobsUtils.FormGlobs.resolveGfvGlobs(options.formGlobs, farmDirectory);
49
48
  const staticResourcesForProductionChain = _Observe.Observe.files(_path.default.join(__dirname, "..", "..", "StaticFilesForProductionResourcesDir"), "*.js", "*.js.map").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("STATICS"), x, _path.default.join(resourcesDirectory, "public", "scripts")));
50
49
 
@@ -58,7 +57,7 @@ async function runBuildForms(context, options, farmDirectory, resourcesDirectory
58
57
  const copiedEngines = new Set();
59
58
  const repositoryRoot = _path.default.join(farmDirectory, "..");
60
59
  const buildCache = new _CacheAssetsPlugin.BuildCache(farmDirectory, options.buildCacheMode);
61
- const buildFormsChain = _Observe.Observe.fixedFormDirectories(formInfos.map(x => _path.default.relative(repositoryRoot, x.formPath))).splitToParallelChains(x => x, x => x, async formRelativePath => {
60
+ const createChainForForm = async formRelativePath => {
62
61
  const gfv = (0, _FormPathUtils.extractGfvFromFormPath)(formRelativePath);
63
62
  const formDirPath = _path.default.join(repositoryRoot, formRelativePath);
64
63
  if (!(await (0, _fsExtra.pathExists)(_path.default.join(formDirPath, _WellKnownDirectories.WellKnownDirectories.FormJsonFileName)))) {
@@ -106,7 +105,7 @@ async function runBuildForms(context, options, farmDirectory, resourcesDirectory
106
105
  copiedEngines.add((0, _EngineSource.getEngineSourceKey)(fi.engineSource));
107
106
  }
108
107
  });
109
- }, async fi => fi, async fi => fi.engineSource != undefined ? (0, _EngineSource.getEngineSourceKey)(fi.engineSource) : "NullEngine").attach(async fi => _Observe.Observe.files(fi.formSourcesPath, "../../controls/**/*", "../../xsltTemplates/**/*", "../../jsHelpers/**/*", `./${_WellKnownDirectories.WellKnownDirectories.FormJsonFileName}`, "schemas/**/*", "sugar/**/*", "controls/**/*", "autocalc/**/*", "helpers/**/*", "normalizers/**/*", "validations/**/*", "localization/**/*")).transform(async fi => {
108
+ }, async fi => fi, async fi => fi.engineSource != undefined ? (0, _EngineSource.getEngineSourceKey)(fi.engineSource) : "NullEngine").attach(async fi => buildOptions.watch ? _Observe.Observe.files(fi.formSourcesPath, "../../controls/**/*", "../../xsltTemplates/**/*", "../../jsHelpers/**/*", `./${_WellKnownDirectories.WellKnownDirectories.FormJsonFileName}`, "schemas/**/*", "sugar/**/*", "controls/**/*", "autocalc/**/*", "helpers/**/*", "normalizers/**/*", "validations/**/*", "localization/**/*") : _Observe.Observe.value(fi.formSourcesPath)).transform(async fi => {
110
109
  let dependenciesHash;
111
110
  if (fi.mode !== _ResolveFormInfo.FormBuildMode.NormalBuild) {
112
111
  return {
@@ -143,7 +142,7 @@ async function runBuildForms(context, options, farmDirectory, resourcesDirectory
143
142
  skipCodeReformatting: options.skipGeneratedCodeReformatting,
144
143
  resourcesHash: (_fi$dependenciesHash = fi.dependenciesHash) !== null && _fi$dependenciesHash !== void 0 ? _fi$dependenciesHash : "UndefinedResourcesHash"
145
144
  });
146
- }).attach(async () => _Observe.Observe.files(_path.default.join(formDirPath, "form"), "**/*")).do(async fi => {
145
+ }).attach(async () => buildOptions.watch ? _Observe.Observe.files(_path.default.join(formDirPath, "form"), "**/*") : _Observe.Observe.value(_path.default.join(formDirPath, "form"))).do(async fi => {
147
146
  var _fi$dependenciesHash2, _fi$dependenciesHash3;
148
147
  if (fi.generatorSource == undefined) {
149
148
  return;
@@ -195,11 +194,12 @@ async function runBuildForms(context, options, farmDirectory, resourcesDirectory
195
194
  });
196
195
  }
197
196
  });
198
- });
197
+ };
198
+ const buildFormsChain = _Observe.Observe.fixedFormDirectories(formInfos.map(x => _path.default.relative(repositoryRoot, x.formPath))).splitToParallelChains(x => x, x => x, createChainForForm);
199
+ if (options.clean) {
200
+ await cleanTargetDirectory(resourcesDirectory, context.logger);
201
+ }
199
202
  if (buildOptions.watch) {
200
- if (options.clean) {
201
- await cleanTargetDirectory(resourcesDirectory, context.logger);
202
- }
203
203
  const stopObserve1 = await pickListsChain.observe();
204
204
  const stopObserve2 = await buildFormsChain.observe();
205
205
  const stopObserve3 = await staticResourcesForProductionChain.observe();
@@ -216,13 +216,10 @@ async function runBuildForms(context, options, farmDirectory, resourcesDirectory
216
216
  } else {
217
217
  const startDate = Date.now();
218
218
  try {
219
- if (options.clean) {
220
- await cleanTargetDirectory(resourcesDirectory, context.logger);
221
- }
222
219
  await pickListsChain.currentValue;
223
220
  await resourcesExternalConvertersChain.currentValue;
224
- await buildFormsChain.currentValue;
225
221
  await staticResourcesForProductionChain.currentValue;
222
+ await buildFormsChain.currentValue;
226
223
  // eslint-disable-next-line no-console
227
224
  console.log(_chalk.default.greenBright("Build success"));
228
225
  } finally {
@@ -1 +1 @@
1
- {"version":3,"file":"RunBuildForms.js","names":["_path","_interopRequireDefault","require","_chalk","_fsExtra","_nodeNotifier","_AcquireFormEngine","_EngineSource","_CompileForm","_GenerateForm","_NullFormGenerator","_WriteFLangNormalizationFiles","_FSTask","_AcquireFormGenerator","_PublishedVersionUtils","_ResolveFormInfo","_WriteFormMeta","_FormGlobsUtils","_StaticLogger","_Observe","_SingleValueProducer","_TimingUtils","_CacheAssetsPlugin","_TypingUtils","_WriteAttachmentPathFiles","_GetRngSchemaFileExtension","_FormPathUtils","_WellKnownDirectories","_WriteAttachmentPathByGfvFiles","_WriteAllKClangFiles","_WriteExtendedSchemaFiles","getGeneratorVersion","generatorSource","type","version","Error","runBuildForms","context","options","farmDirectory","resourcesDirectory","engineDirectory","candyModulesDirectory","hlFarmDirectoryPath","buildOptions","pickListsChain","Observe","files","path","join","do","x","FSTask","copyRecursively","logger","withPrefix","FormGlobs","ensureEachGlobResolvesIntoExistingForm","formGlobs","formInfos","resolveGfvGlobs","staticResourcesForProductionChain","__dirname","getLogger","resourcesExternalConvertersChain","empty","copiedEngines","Set","repositoryRoot","buildCache","BuildCache","buildCacheMode","buildFormsChain","fixedFormDirectories","map","relative","formPath","splitToParallelChains","formRelativePath","gfv","extractGfvFromFormPath","formDirPath","pathExists","WellKnownDirectories","FormJsonFileName","warning","value","formSchemasDirPath","rngSchemaMask","getRngSchemaFileExtension","file","transform","formJsonFile","resolveFormInfo","upgradeFormJson","useLastStableVersion","usePrereleaseVersion","fi","mode","FormBuildMode","NormalBuild","generatorVersion","undefined","engineVersion","resolveGeneratorVersion","engineSource","resolveEngineVersion","attach","SingleValueProducer","NullFormGenerator","generatorFactory","useVersionFromCache","y","generator","getGeneratorSourceKey","engineFactory","has","getEngineSourceKey","add","formSourcesPath","dependenciesHash","supportsDependenciesExtraction","getAllDependenciesHash","buildCacheExist","exists","_fi$dependenciesHash","log","generateForm","skipCodeReformatting","skipGeneratedCodeReformatting","resourcesHash","_fi$dependenciesHash2","_fi$dependenciesHash3","extract","buildCacheOptions","depsHash","compileForm","formName","reject","writeFormMeta","themes","writeFLangNormalizationFiles","writeAllKClangFiles","writeExtendedSchemaFiles","writeAttachmentPathFiles","writeAttachmentPathByGfvFiles","CopyLegacyPrebuiltResources","modifier","content","replace","modifyFilesContent","watch","notifier","notify","title","message","clean","cleanTargetDirectory","stopObserve1","observe","stopObserve2","stopObserve3","stopObserve5","waitForExit","startDate","Date","now","currentValue","console","chalk","greenBright","totalTime","printTime","emptyDir"],"sources":["../../../../../src/CLICommands/BuildForms/RunBuildForms.ts"],"sourcesContent":["import path from \"path\";\n\nimport chalk from \"chalk\";\nimport { emptyDir, pathExists } from \"fs-extra\";\nimport notifier from \"node-notifier\";\n\nimport { engineFactory } from \"../../BuildTasks/Engine/AcquireFormEngine\";\nimport { getEngineSourceKey } from \"../../BuildTasks/Engine/EngineSource\";\nimport { compileForm } from \"../../BuildTasks/Form/CompileForm\";\nimport { generateForm } from \"../../BuildTasks/Form/GenerateForm\";\nimport { NullFormGenerator } from \"../../BuildTasks/Form/NullFormGenerator\";\nimport { writeFLangNormalizationFiles } from \"../../BuildTasks/Form/WriteFLangNormalizationFiles\";\nimport { FSTask } from \"../../BuildTasks/FSTask\";\nimport {\n generatorFactory,\n GeneratorSource,\n getGeneratorSourceKey,\n} from \"../../BuildTasks/Generator/AcquireFormGenerator\";\nimport { resolveEngineVersion, resolveGeneratorVersion } from \"../../BuildTasks/PublishedVersionUtils\";\nimport { FormBuildMode, resolveFormInfo } from \"../../BuildTasks/ResolveFormInfo\";\nimport { writeFormMeta } from \"../../BuildTasks/WriteFormMeta\";\nimport { ConsoleApplicationContext } from \"../../Commons/ConsoleApplication/ConsoleApplicationContext\";\nimport { FormGlobs } from \"../../Commons/FormGlobsUtils\";\nimport { ILogger } from \"../../Commons/Logging/ILogger\";\nimport { getLogger } from \"../../Commons/Logging/StaticLogger\";\nimport { Observe } from \"../../Commons/TasksCore/Observe\";\nimport { SingleValueProducer } from \"../../Commons/TasksCore/SingleValueProducer\";\nimport { printTime } from \"../../Commons/TimingUtils\";\nimport { BuildCache } from \"../../FormWebpackConfiguration/CacheAssetsPlugin\";\nimport { reject } from \"../../../../Common/TypingUtils\";\nimport { writeAttachmentPathFiles } from \"../../BuildTasks/Form/WriteAttachmentPathFiles\";\nimport { ChainableValueProducer } from \"../../Commons/TasksCore/ChainableValueProducer\";\nimport { EmptyProducer } from \"../../Commons/TasksCore/EmptyProducer\";\nimport { getRngSchemaFileExtension } from \"../../../../Common/GetRngSchemaFileExtension\";\nimport { extractGfvFromFormPath } from \"../../../../Common/FormPathUtils\";\nimport { WellKnownDirectories } from \"../../../../Common/WellKnownDirectories\";\nimport { writeAttachmentPathByGfvFiles } from \"../../BuildTasks/Form/WriteAttachmentPathByGfvFiles\";\nimport { writeAllKClangFiles } from \"../../BuildTasks/Form/WriteAllKClangFiles\";\nimport { writeExtendedSchemaFiles } from \"../../BuildTasks/Form/WriteExtendedSchemaFiles\";\n\nimport { BuildFormsOptions } from \"./BuildFormsOptions\";\n\nfunction getGeneratorVersion(generatorSource: GeneratorSource): string {\n if (generatorSource.type === \"PublishedGenerator\") {\n return generatorSource.version;\n } else {\n throw new Error(\"InvalidProgramState\");\n }\n}\n\nexport async function runBuildForms(\n context: ConsoleApplicationContext,\n options: BuildFormsOptions,\n farmDirectory: string,\n resourcesDirectory: string,\n engineDirectory: string,\n candyModulesDirectory: string,\n hlFarmDirectoryPath: string\n): Promise<void> {\n const buildOptions = options;\n\n const pickListsChain = Observe.files(path.join(farmDirectory, \"picklists\"), \"*.json\").do(x =>\n FSTask.copyRecursively(context.logger.withPrefix(\"PICKLISTS\"), x, path.join(resourcesDirectory, \"picklists\"))\n );\n\n await FormGlobs.ensureEachGlobResolvesIntoExistingForm(options.formGlobs, farmDirectory);\n const formInfos = await FormGlobs.resolveGfvGlobs(options.formGlobs, farmDirectory);\n\n const staticResourcesForProductionChain = Observe.files(\n path.join(__dirname, \"..\", \"..\", \"StaticFilesForProductionResourcesDir\"),\n \"*.js\",\n \"*.js.map\"\n ).do(x =>\n FSTask.copyRecursively(getLogger().withPrefix(\"STATICS\"), x, path.join(resourcesDirectory, \"public\", \"scripts\"))\n );\n\n /** Конвертеры описи для форм, которые пока не реализованы на кенди, сама механика описи перенесена в формы в кенди апи, поэтому они должны быть в candy.resources\n * Реализуется только при общем билде форм: candy build *\n * */\n let resourcesExternalConvertersChain: ChainableValueProducer<string> | EmptyProducer = Observe.empty();\n if (options.formGlobs[0] === \"*\") {\n resourcesExternalConvertersChain = Observe.files(path.join(farmDirectory, \"externalConverters\"), \"*.xslt\").do(\n x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"EXTERNAL-CONVERTERS\"),\n x,\n path.join(resourcesDirectory, \"converters\")\n )\n );\n }\n\n const copiedEngines = new Set<string>();\n\n const repositoryRoot = path.join(farmDirectory, \"..\");\n const buildCache = new BuildCache(farmDirectory, options.buildCacheMode);\n const buildFormsChain = Observe.fixedFormDirectories(\n formInfos.map(x => path.relative(repositoryRoot, x.formPath))\n ).splitToParallelChains(\n x => x,\n x => x,\n async formRelativePath => {\n const gfv = extractGfvFromFormPath(formRelativePath);\n const formDirPath = path.join(repositoryRoot, formRelativePath);\n\n if (!(await pathExists(path.join(formDirPath, WellKnownDirectories.FormJsonFileName)))) {\n context.logger.warning(\n `Form ${gfv} does not have form.json file. To include this form to build process restart build`\n );\n return Observe.value({});\n }\n const formSchemasDirPath = path.join(formDirPath, \"schemas\");\n const rngSchemaMask = `*${getRngSchemaFileExtension(formSchemasDirPath, gfv)}`;\n\n return Observe.file(path.join(formDirPath, WellKnownDirectories.FormJsonFileName))\n .transform(formJsonFile =>\n resolveFormInfo(\n formJsonFile,\n formDirPath,\n engineDirectory,\n context.logger.withPrefix(`FORM:${gfv}`),\n options.upgradeFormJson,\n options.useLastStableVersion,\n options.usePrereleaseVersion\n )\n )\n .transform(async fi => {\n if (fi.mode === FormBuildMode.NormalBuild) {\n if (fi.generatorVersion == undefined) {\n throw new Error(\"generatorVersion is not defined\");\n }\n if (fi.engineVersion == undefined) {\n throw new Error(\"engineVersion is not defined\");\n }\n return {\n ...fi,\n generatorSource: await resolveGeneratorVersion(\n fi.generatorVersion,\n context.logger.withPrefix(gfv)\n ),\n engineSource: await resolveEngineVersion(fi.engineVersion, context.logger.withPrefix(gfv)),\n };\n } else {\n return {\n ...fi,\n generatorSource: undefined,\n engineSource: undefined,\n };\n }\n })\n .attach(\n async fi => {\n if (fi.generatorSource == undefined) {\n return new SingleValueProducer(new NullFormGenerator());\n } else {\n return generatorFactory(\n fi.generatorSource,\n candyModulesDirectory,\n options.useVersionFromCache\n );\n }\n },\n async (fi, y) => ({ ...fi, generator: y }),\n async fi =>\n fi.generatorSource != undefined\n ? getGeneratorSourceKey(fi.generatorSource)\n : \"NullFormGenerator\"\n )\n .attach(\n async fi => {\n if (fi.engineSource === undefined) {\n return new SingleValueProducer(\"NullEngine\");\n }\n return engineFactory(fi.engineSource, candyModulesDirectory, options.useVersionFromCache).do(\n async x => {\n if (!copiedEngines.has(getEngineSourceKey(fi.engineSource))) {\n await FSTask.copyRecursively(\n getLogger().withPrefix(\"ENGINE\"),\n x,\n path.join(resourcesDirectory, \"public\")\n );\n copiedEngines.add(getEngineSourceKey(fi.engineSource));\n }\n }\n );\n },\n async fi => fi,\n async fi => (fi.engineSource != undefined ? getEngineSourceKey(fi.engineSource) : \"NullEngine\")\n )\n .attach(async fi =>\n Observe.files(\n fi.formSourcesPath,\n \"../../controls/**/*\",\n \"../../xsltTemplates/**/*\",\n \"../../jsHelpers/**/*\",\n `./${WellKnownDirectories.FormJsonFileName}`,\n \"schemas/**/*\",\n \"sugar/**/*\",\n \"controls/**/*\",\n \"autocalc/**/*\",\n \"helpers/**/*\",\n \"normalizers/**/*\",\n \"validations/**/*\",\n \"localization/**/*\"\n )\n )\n .transform(async fi => {\n let dependenciesHash: undefined | string;\n if (fi.mode !== FormBuildMode.NormalBuild) {\n return {\n ...fi,\n dependenciesHash: undefined,\n };\n }\n if (await fi.generator.supportsDependenciesExtraction()) {\n dependenciesHash = await fi.generator.getAllDependenciesHash(\n formDirPath,\n farmDirectory,\n hlFarmDirectoryPath\n );\n }\n return {\n ...fi,\n dependenciesHash: dependenciesHash,\n };\n })\n .transform(async fi => {\n let buildCacheExist: boolean = false;\n if (fi.dependenciesHash != undefined && fi.generatorSource != undefined) {\n buildCacheExist = await buildCache.exists(fi.generatorSource, gfv, fi.dependenciesHash);\n }\n return {\n ...fi,\n buildCacheExist: buildCacheExist,\n };\n })\n .do(async fi => {\n if (fi.generatorSource == undefined) {\n return undefined;\n }\n if (fi.buildCacheExist) {\n context.logger.withPrefix(`GENERATE:${gfv}`).log(\"Skipped due build cache exits\");\n return undefined;\n }\n\n return generateForm(\n fi.formSourcesPath,\n farmDirectory,\n hlFarmDirectoryPath,\n fi.generator,\n undefined,\n {\n skipCodeReformatting: options.skipGeneratedCodeReformatting,\n resourcesHash: fi.dependenciesHash ?? \"UndefinedResourcesHash\",\n }\n );\n })\n .attach(async () => Observe.files(path.join(formDirPath, \"form\"), \"**/*\"))\n .do(async fi => {\n if (fi.generatorSource == undefined) {\n return;\n }\n if (fi.dependenciesHash != undefined && fi.buildCacheExist) {\n context.logger.withPrefix(`COMPILE:${gfv}`).log(\"Skipped due build cache exists\");\n await buildCache.extract(fi.generatorSource, gfv, fi.dependenciesHash, resourcesDirectory);\n return;\n }\n const buildCacheOptions =\n fi.dependenciesHash != undefined\n ? {\n depsHash: fi.dependenciesHash,\n generatorVersion: getGeneratorVersion(fi.generatorSource),\n gfv: gfv,\n mode: options.buildCacheMode,\n farmDirectory: farmDirectory,\n }\n : undefined;\n\n await compileForm(\n fi.formName,\n formDirPath,\n resourcesDirectory,\n fi.dependenciesHash ??\n reject(\n \"This version of generator is not supported due to dependencies extraction is not supported\"\n ),\n false,\n undefined,\n options.mode === \"production\",\n buildCacheOptions\n );\n\n await writeFormMeta(\n resourcesDirectory,\n gfv,\n fi.engineSource,\n fi.dependenciesHash ??\n reject(\n \"This version of generator is not supported due to dependencies extraction is not supported\"\n ),\n fi.themes,\n buildCache,\n buildCacheOptions\n );\n })\n .do(async fi => {\n if (fi.generatorSource == undefined) {\n return;\n }\n const buildCacheOptions =\n fi.dependenciesHash != undefined\n ? {\n depsHash: fi.dependenciesHash,\n generatorVersion: getGeneratorVersion(fi.generatorSource),\n gfv: gfv,\n mode: options.buildCacheMode,\n farmDirectory: farmDirectory,\n }\n : undefined;\n await writeFLangNormalizationFiles(\n fi.formName,\n formDirPath,\n resourcesDirectory,\n undefined,\n buildCache,\n buildCacheOptions,\n fi.buildCacheExist\n );\n await writeAllKClangFiles(\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 if (fi.mode === FormBuildMode.CopyLegacyPrebuiltResources) {\n return Observe.files(path.join(fi.formSourcesPath, \"legacy-prebuilt\"), \"*\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"LEGACY-PREBUILT\"),\n x,\n path.join(resourcesDirectory)\n )\n );\n } else {\n return new SingleValueProducer(\"\");\n }\n })\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"schemas\"), rngSchemaMask).do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"SCHEMAS\"),\n x,\n path.join(resourcesDirectory, \"schemas\")\n )\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"converters\"), \"*\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"CONVERTERS\"),\n x,\n path.join(resourcesDirectory, \"converters\")\n )\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"mergers\"), \"*\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"MERGERS\"),\n x,\n path.join(resourcesDirectory, \"mergers\")\n )\n )\n )\n .attach(async fi => {\n const modifier = (content: string): string =>\n content.replace(/<x:include href=\"[./]+/g, '<x:include href=\"');\n return Observe.files(path.join(fi.formSourcesPath, \"converters\"), \"*\").do(x =>\n FSTask.modifyFilesContent(\n getLogger().withPrefix(\"FIX-XSLT-INCLUDE\"),\n x,\n path.join(resourcesDirectory, \"converters\"),\n \"**/*.xslt\",\n modifier\n )\n );\n })\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"..\", \"..\", \"xsltTemplates\"), \"*\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"XSLT-TEMPLATES\"),\n x,\n path.join(resourcesDirectory, \"converters\", \"xsltTemplates\")\n )\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"normalize\"), \"*.xml\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"NORMALIZE\"),\n x,\n path.join(resourcesDirectory, \"normalize\")\n )\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"patch\"), \"*.xslt\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"PATCH\"),\n x,\n path.join(resourcesDirectory, \"patch\")\n )\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"map\"), \"*.xml\").do(x =>\n FSTask.copyRecursively(getLogger().withPrefix(\"MAP\"), x, path.join(resourcesDirectory, \"map\"))\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"unmap\"), \"*.xml\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"UNMAP\"),\n x,\n path.join(resourcesDirectory, \"unmap\")\n )\n )\n )\n .do(async fi => {\n if (buildOptions.watch) {\n notifier.notify({\n title: `${fi.formName}: сборка завершена`,\n message: `Engine: ${\n fi.engineSource == undefined\n ? \"[NoEngine]\"\n : fi.engineSource.type === \"LocalEngineSources\"\n ? \"local\"\n : fi.engineSource.version\n }`,\n });\n }\n });\n }\n );\n\n if (buildOptions.watch) {\n if (options.clean) {\n await cleanTargetDirectory(resourcesDirectory, context.logger);\n }\n const stopObserve1 = await pickListsChain.observe();\n const stopObserve2 = await buildFormsChain.observe();\n const stopObserve3 = await staticResourcesForProductionChain.observe();\n const stopObserve5 = await resourcesExternalConvertersChain.observe();\n await context.waitForExit();\n if (stopObserve3 != undefined) {\n await stopObserve3();\n }\n if (stopObserve5 != undefined) {\n await stopObserve5();\n }\n await stopObserve2();\n await stopObserve1();\n } else {\n const startDate = Date.now();\n try {\n if (options.clean) {\n await cleanTargetDirectory(resourcesDirectory, context.logger);\n }\n await pickListsChain.currentValue;\n await resourcesExternalConvertersChain.currentValue;\n await buildFormsChain.currentValue;\n await staticResourcesForProductionChain.currentValue;\n // eslint-disable-next-line no-console\n console.log(chalk.greenBright(\"Build success\"));\n } finally {\n const totalTime = Date.now() - startDate;\n // eslint-disable-next-line no-console\n console.log(`Total time: ${printTime(totalTime)}`);\n }\n }\n}\n\nasync function cleanTargetDirectory(resourcesDirectory: string, logger: ILogger): Promise<void> {\n logger.log(\"Cleaning resource directory. \" + resourcesDirectory);\n await emptyDir(resourcesDirectory);\n logger.log(\"Resource directory clean\");\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"RunBuildForms.js","names":["_path","_interopRequireDefault","require","_chalk","_fsExtra","_nodeNotifier","_AcquireFormEngine","_EngineSource","_CompileForm","_GenerateForm","_NullFormGenerator","_WriteFLangNormalizationFiles","_FSTask","_AcquireFormGenerator","_PublishedVersionUtils","_ResolveFormInfo","_WriteFormMeta","_FormGlobsUtils","_StaticLogger","_Observe","_SingleValueProducer","_TimingUtils","_CacheAssetsPlugin","_TypingUtils","_WriteAttachmentPathFiles","_GetRngSchemaFileExtension","_FormPathUtils","_WellKnownDirectories","_WriteAttachmentPathByGfvFiles","_WriteAllKClangFiles","_WriteExtendedSchemaFiles","getGeneratorVersion","generatorSource","type","version","Error","runBuildForms","context","options","farmDirectory","resourcesDirectory","engineDirectory","candyModulesDirectory","hlFarmDirectoryPath","buildOptions","pickListsChain","Observe","files","path","join","do","x","FSTask","copyRecursively","logger","withPrefix","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","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","writeAllKClangFiles","writeExtendedSchemaFiles","writeAttachmentPathFiles","writeAttachmentPathByGfvFiles","CopyLegacyPrebuiltResources","modifier","content","replace","modifyFilesContent","notifier","notify","title","message","buildFormsChain","fixedFormDirectories","map","relative","formPath","splitToParallelChains","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 { writeAllKClangFiles } from \"../../BuildTasks/Form/WriteAllKClangFiles\";\nimport { writeExtendedSchemaFiles } from \"../../BuildTasks/Form/WriteExtendedSchemaFiles\";\n\nimport { BuildFormsOptions } from \"./BuildFormsOptions\";\n\nfunction getGeneratorVersion(generatorSource: GeneratorSource): string {\n if (generatorSource.type === \"PublishedGenerator\") {\n return generatorSource.version;\n } else {\n throw new Error(\"InvalidProgramState\");\n }\n}\n\nexport async function runBuildForms(\n context: ConsoleApplicationContext,\n options: BuildFormsOptions,\n farmDirectory: string,\n resourcesDirectory: string,\n engineDirectory: string,\n candyModulesDirectory: string,\n hlFarmDirectoryPath: string\n): Promise<void> {\n const buildOptions = options;\n\n const pickListsChain = Observe.files(path.join(farmDirectory, \"picklists\"), \"*.json\").do(x =>\n FSTask.copyRecursively(context.logger.withPrefix(\"PICKLISTS\"), x, path.join(resourcesDirectory, \"picklists\"))\n );\n\n 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\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(\n formDirPath,\n farmDirectory,\n hlFarmDirectoryPath\n );\n }\n return {\n ...fi,\n dependenciesHash: dependenciesHash,\n };\n })\n .transform(async fi => {\n let buildCacheExist: boolean = false;\n if (fi.dependenciesHash != undefined && fi.generatorSource != undefined) {\n buildCacheExist = await buildCache.exists(fi.generatorSource, gfv, fi.dependenciesHash);\n }\n return {\n ...fi,\n buildCacheExist: buildCacheExist,\n };\n })\n .do(async fi => {\n if (fi.generatorSource == undefined) {\n return undefined;\n }\n if (fi.buildCacheExist) {\n context.logger.withPrefix(`GENERATE:${gfv}`).log(\"Skipped due build cache exits\");\n return undefined;\n }\n\n return generateForm(fi.formSourcesPath, farmDirectory, hlFarmDirectoryPath, 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 writeAllKClangFiles(\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 if (fi.mode === FormBuildMode.CopyLegacyPrebuiltResources) {\n return Observe.files(path.join(fi.formSourcesPath, \"legacy-prebuilt\"), \"*\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"LEGACY-PREBUILT\"),\n x,\n path.join(resourcesDirectory)\n )\n );\n } else {\n return new SingleValueProducer(\"\");\n }\n })\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"schemas\"), rngSchemaMask).do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"SCHEMAS\"),\n x,\n path.join(resourcesDirectory, \"schemas\")\n )\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"converters\"), \"*\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"CONVERTERS\"),\n x,\n path.join(resourcesDirectory, \"converters\")\n )\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"mergers\"), \"*\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"MERGERS\"),\n x,\n path.join(resourcesDirectory, \"mergers\")\n )\n )\n )\n .attach(async fi => {\n const modifier = (content: string): string =>\n content.replace(/<x:include href=\"[./]+/g, '<x:include href=\"');\n return Observe.files(path.join(fi.formSourcesPath, \"converters\"), \"*\").do(x =>\n FSTask.modifyFilesContent(\n getLogger().withPrefix(\"FIX-XSLT-INCLUDE\"),\n x,\n path.join(resourcesDirectory, \"converters\"),\n \"**/*.xslt\",\n modifier\n )\n );\n })\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"..\", \"..\", \"xsltTemplates\"), \"*\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"XSLT-TEMPLATES\"),\n x,\n path.join(resourcesDirectory, \"converters\", \"xsltTemplates\")\n )\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"normalize\"), \"*.xml\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"NORMALIZE\"),\n x,\n path.join(resourcesDirectory, \"normalize\")\n )\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"patch\"), \"*.xslt\").do(x =>\n FSTask.copyRecursively(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 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 // 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":[]}
@@ -39,7 +39,6 @@ async function runDevBuild(context, options, engineDirectory, resourcesDirectory
39
39
  const staticResourcesChain = _Observe.Observe.files(_path.default.join(__dirname, "..", "..", "StaticFilesForResourcesDir"), "*.js").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("STATICS"), x, _path.default.join(resourcesDirectory, "public", "scripts")));
40
40
  const pickListsChain = _Observe.Observe.files(_path.default.join(farmDirectory, "picklists"), "*.json").do(x => _FSTask.FSTask.copyRecursively(context.logger.withPrefix("PICKLISTS"), x, _path.default.join(resourcesDirectory, "picklists")));
41
41
  const repositoryRoot = _path.default.join(farmDirectory, "..");
42
- await _FormGlobsUtils.FormGlobs.ensureEachGlobResolvesIntoExistingForm(options.formGlobs, farmDirectory);
43
42
  const formInfos = await _FormGlobsUtils.FormGlobs.resolveGfvGlobs(options.formGlobs, farmDirectory);
44
43
 
45
44
  /** Конвертеры описи для форм, которые пока не реализованы на кенди, сама механика описи перенесена в формы в кенди апи, поэтому они должны быть в candy.resources
@@ -49,7 +48,7 @@ async function runDevBuild(context, options, engineDirectory, resourcesDirectory
49
48
  if (options.formGlobs[0] === "*") {
50
49
  resourcesExternalConvertersChain = _Observe.Observe.files(_path.default.join(farmDirectory, "externalConverters"), "*.xslt").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("EXTERNAL-CONVERTERS"), x, _path.default.join(resourcesDirectory, "converters")));
51
50
  }
52
- const buildFormsChain = _Observe.Observe.fixedFormDirectories(formInfos.map(x => _path.default.relative(repositoryRoot, x.formPath))).splitToParallelChains(x => x, x => x, async formRelativePath => {
51
+ const createChainForForm = async formRelativePath => {
53
52
  const gfv = (0, _FormPathUtils.extractGfvFromFormPath)(formRelativePath);
54
53
  const formDirPath = _path.default.join(repositoryRoot, formRelativePath);
55
54
  const formSchemasDirPath = _path.default.join(formDirPath, "schemas");
@@ -61,7 +60,7 @@ async function runDevBuild(context, options, engineDirectory, resourcesDirectory
61
60
  })).attach(async fi => (0, _AcquireFormGenerator.generatorFactory)(fi.generatorSource, candyModulesDirectory, false, undefined), async (fi, y) => ({
62
61
  ...fi,
63
62
  generator: y
64
- }), async fi => (0, _AcquireFormGenerator.getGeneratorSourceKey)(fi.generatorSource)).attach(async fi => _Observe.Observe.files(fi.formSourcesPath, "../../controls/**/*", `./${_WellKnownDirectories.WellKnownDirectories.FormJsonFileName}`, "schemas/**/*", "sugar/**/*", "controls/**/*", "autocalc/**/*", "helpers/**/*", "normalizers/**/*", "validations/**/*", "localization/**/*")).transform(async fi => ({
63
+ }), async fi => (0, _AcquireFormGenerator.getGeneratorSourceKey)(fi.generatorSource)).attach(async fi => devBuildOptions.watch ? _Observe.Observe.files(fi.formSourcesPath, "../../controls/**/*", `./${_WellKnownDirectories.WellKnownDirectories.FormJsonFileName}`, "schemas/**/*", "sugar/**/*", "controls/**/*", "autocalc/**/*", "helpers/**/*", "normalizers/**/*", "validations/**/*", "localization/**/*") : _Observe.Observe.value(fi.formSourcesPath)).transform(async fi => ({
65
64
  ...fi,
66
65
  dependenciesHash: await fi.generator.getAllDependenciesHash(formDirPath, farmDirectory, hlFarmDirectoryPath)
67
66
  })).do(async fi => {
@@ -72,13 +71,14 @@ async function runDevBuild(context, options, engineDirectory, resourcesDirectory
72
71
  skipCodeReformatting: options.skipGeneratedCodeReformatting,
73
72
  resourcesHash: fi.dependenciesHash
74
73
  });
75
- }).attach(async () => _Observe.Observe.files(_path.default.join(formDirPath, "form"), "**/*")).do(async fi => {
74
+ }).attach(async () => devBuildOptions.watch ? _Observe.Observe.files(_path.default.join(formDirPath, "form"), "**/*") : _Observe.Observe.value(_path.default.join(formDirPath, "form"))).do(async fi => {
76
75
  if (options.skipWebPackCompilation) {
77
76
  return undefined;
78
77
  }
79
78
  return (0, _CompileForm.compileForm)(fi.formName, formDirPath, resourcesDirectory, fi.dependenciesHash, options.buildDebugOnly, undefined, false);
80
79
  }).do(fi => (0, _WriteFLangNormalizationFiles.writeFLangNormalizationFiles)(fi.formName, formDirPath, resourcesDirectory)).do(fi => (0, _WriteAllKClangFiles.writeAllKClangFiles)(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"))));
81
- });
80
+ };
81
+ const buildFormsChain = _Observe.Observe.fixedFormDirectories(formInfos.map(x => _path.default.relative(repositoryRoot, x.formPath))).splitToParallelChains(x => x, x => x, createChainForForm);
82
82
  if (devBuildOptions.watch) {
83
83
  const stopObserve1 = await buildEngineChain.observe();
84
84
  const stopObserve2 = await buildClientJsChain.observe();
@@ -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","_WriteAllKClangFiles","_WriteExtendedSchemaFiles","runDevBuild","context","options","engineDirectory","resourcesDirectory","farmDirectory","candyModulesDirectory","hlFarmDirectoryPath","devBuildOptions","engineWebpackConfigTask","createEngineWebpackConfigTask","buildEngineChain","skipBuildEngine","EmptyProducer","chainWith","p","BuildLocalEngineTask","buildDebugOnly","clientWebpackConfigTask","createClientWebpackConfigTask","buildClientJsChain","BuildClientJsTask","staticResourcesChain","Observe","files","path","join","__dirname","do","x","FSTask","copyRecursively","getLogger","withPrefix","pickListsChain","logger","repositoryRoot","FormGlobs","ensureEachGlobResolvesIntoExistingForm","formGlobs","formInfos","resolveGfvGlobs","resourcesExternalConvertersChain","empty","buildFormsChain","fixedFormDirectories","map","relative","formPath","splitToParallelChains","formRelativePath","gfv","extractGfvFromFormPath","formDirPath","formSchemasDirPath","rngSchemaMask","getRngSchemaFileExtension","file","WellKnownDirectories","FormJsonFileName","transform","formJsonFile","resolveFormInfo","generatorSource","resolveLocalGeneratorSource","engineSource","resolveLocalEngineSource","attach","fi","generatorFactory","undefined","y","generator","getGeneratorSourceKey","formSourcesPath","dependenciesHash","getAllDependenciesHash","skipGeneration","generateForm","skipCodeReformatting","skipGeneratedCodeReformatting","resourcesHash","skipWebPackCompilation","compileForm","formName","writeFLangNormalizationFiles","writeAllKClangFiles","writeExtendedSchemaFiles","writeAttachmentPathFiles","writeAttachmentPathByGfvFiles","writeFormMeta","themes","watch","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 { createClientWebpackConfigTask, createEngineWebpackConfigTask } 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 { writeAllKClangFiles } from \"../../BuildTasks/Form/WriteAllKClangFiles\";\nimport { writeExtendedSchemaFiles } from \"../../BuildTasks/Form/WriteExtendedSchemaFiles\";\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 hlFarmDirectoryPath: 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 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 await FormGlobs.ensureEachGlobResolvesIntoExistingForm(options.formGlobs, farmDirectory);\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 buildFormsChain = Observe.fixedFormDirectories(\n formInfos.map(x => path.relative(repositoryRoot, x.formPath))\n ).splitToParallelChains(\n x => x,\n x => x,\n async formRelativePath => {\n const gfv = extractGfvFromFormPath(formRelativePath);\n const formDirPath = path.join(repositoryRoot, formRelativePath);\n 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 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 )\n .transform(async fi => ({\n ...fi,\n dependenciesHash: await fi.generator.getAllDependenciesHash(\n formDirPath,\n farmDirectory,\n hlFarmDirectoryPath\n ),\n }))\n .do(async fi => {\n if (options.skipGeneration) {\n return undefined;\n }\n return generateForm(\n fi.formSourcesPath,\n farmDirectory,\n hlFarmDirectoryPath,\n fi.generator,\n undefined,\n {\n skipCodeReformatting: options.skipGeneratedCodeReformatting,\n resourcesHash: fi.dependenciesHash,\n }\n );\n })\n .attach(async () => Observe.files(path.join(formDirPath, \"form\"), \"**/*\"))\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 => writeAllKClangFiles(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(\n getLogger().withPrefix(\"PATCH\"),\n x,\n path.join(resourcesDirectory, \"patch\")\n )\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"map\"), \"*.xml\").do(x =>\n FSTask.copyRecursively(getLogger().withPrefix(\"MAP\"), x, path.join(resourcesDirectory, \"map\"))\n )\n )\n .attach(async fi =>\n Observe.files(path.join(fi.formSourcesPath, \"unmap\"), \"*.xml\").do(x =>\n FSTask.copyRecursively(\n getLogger().withPrefix(\"UNMAP\"),\n x,\n path.join(resourcesDirectory, \"unmap\")\n )\n )\n );\n }\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 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","_WriteAllKClangFiles","_WriteExtendedSchemaFiles","runDevBuild","context","options","engineDirectory","resourcesDirectory","farmDirectory","candyModulesDirectory","hlFarmDirectoryPath","devBuildOptions","engineWebpackConfigTask","createEngineWebpackConfigTask","buildEngineChain","skipBuildEngine","EmptyProducer","chainWith","p","BuildLocalEngineTask","buildDebugOnly","clientWebpackConfigTask","createClientWebpackConfigTask","buildClientJsChain","BuildClientJsTask","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","writeAllKClangFiles","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 { createClientWebpackConfigTask, createEngineWebpackConfigTask } 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 { writeAllKClangFiles } from \"../../BuildTasks/Form/WriteAllKClangFiles\";\nimport { writeExtendedSchemaFiles } from \"../../BuildTasks/Form/WriteExtendedSchemaFiles\";\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 hlFarmDirectoryPath: 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 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(\n formDirPath,\n farmDirectory,\n hlFarmDirectoryPath\n ),\n }))\n .do(async fi => {\n if (options.skipGeneration) {\n return undefined;\n }\n return generateForm(fi.formSourcesPath, farmDirectory, hlFarmDirectoryPath, 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 => writeAllKClangFiles(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 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":[]}
@@ -11,7 +11,6 @@ var _FormGlobsUtils = require("../../Commons/FormGlobsUtils");
11
11
  var _IterableUtils = require("../../../../Common/IterableUtils");
12
12
  var _WellKnownDirectories = require("../../../../Common/WellKnownDirectories");
13
13
  async function runFormStats(context, options, farmDirectory) {
14
- await _FormGlobsUtils.FormGlobs.ensureEachGlobResolvesIntoExistingForm(options.formGlobs, farmDirectory);
15
14
  const formGlobs = await _FormGlobsUtils.FormGlobs.resolveSpecifiers(options.formGlobs, farmDirectory);
16
15
  const engineToGfvMap = {};
17
16
  for (const {
@@ -1 +1 @@
1
- {"version":3,"file":"RunFormStats.js","names":["_path","_interopRequireDefault","require","_ResolveFormInfo","_FormGlobsUtils","_IterableUtils","_WellKnownDirectories","runFormStats","context","options","farmDirectory","FormGlobs","ensureEachGlobResolvesIntoExistingForm","formGlobs","resolveSpecifiers","engineToGfvMap","gfv","formPath","resolveGfvGlobs","_engineToGfvMap$engin","_engineToGfvMap$engin2","formJsonContent","readFormConfig","path","join","WellKnownDirectories","FormJsonFileName","engineBranch","mode","_formJsonContent$depe","_formJsonContent$depe2","dependencies","engine","push","engineGfvs","iterateEntries","logger","log","length","gfvs","Object","entries"],"sources":["../../../../../src/CLICommands/FormStats/RunFormStats.ts"],"sourcesContent":["import path from \"path\";\n\nimport { readFormConfig } from \"../../BuildTasks/ResolveFormInfo\";\nimport { ConsoleApplicationContext } from \"../../Commons/ConsoleApplication/ConsoleApplicationContext\";\nimport { FormGlobs } from \"../../Commons/FormGlobsUtils\";\nimport { iterateEntries } from \"../../../../Common/IterableUtils\";\nimport { WellKnownDirectories } from \"../../../../Common/WellKnownDirectories\";\n\nimport { FormStatsOptions } from \"./FormStatsOptions\";\n\nexport async function runFormStats(\n context: ConsoleApplicationContext,\n options: FormStatsOptions,\n farmDirectory: string\n): Promise<void> {\n await FormGlobs.ensureEachGlobResolvesIntoExistingForm(options.formGlobs, farmDirectory);\n const formGlobs = await FormGlobs.resolveSpecifiers(options.formGlobs, farmDirectory);\n\n const engineToGfvMap: Record<string, string[]> = {};\n for (const { gfv, formPath } of await FormGlobs.resolveGfvGlobs(formGlobs, farmDirectory)) {\n try {\n const formJsonContent = await readFormConfig(path.join(formPath, WellKnownDirectories.FormJsonFileName));\n let engineBranch: string;\n if (formJsonContent.mode === \"copy-legacy-prebuilt-resources\") {\n engineBranch = \"LegacyCopyPrebuilt\";\n } else if (formJsonContent.mode === \"no-editor\") {\n engineBranch = \"NoEditor\";\n } else {\n engineBranch = formJsonContent.dependencies?.engine ?? \"Unknown\";\n }\n engineToGfvMap[engineBranch] = engineToGfvMap[engineBranch] ?? [];\n engineToGfvMap[engineBranch]?.push(gfv);\n } catch {\n engineToGfvMap[\"Unknown\"] = engineToGfvMap[\"Unknown\"] || [];\n engineToGfvMap[\"Unknown\"].push(gfv);\n }\n }\n\n for (const [engine, engineGfvs] of iterateEntries(engineToGfvMap)) {\n context.logger.log(engine);\n context.logger.log(` ${engineGfvs.length} forms`);\n }\n context.logger.log(\"\");\n for (const [engine, gfvs] of Object.entries(engineToGfvMap)) {\n context.logger.log(engine);\n context.logger.log(` ${gfvs.join(\", \")}`);\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,gBAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,qBAAA,GAAAJ,OAAA;AAIO,eAAeK,YAAYA,CAC9BC,OAAkC,EAClCC,OAAyB,EACzBC,aAAqB,EACR;EACb,MAAMC,yBAAS,CAACC,sCAAsC,CAACH,OAAO,CAACI,SAAS,EAAEH,aAAa,CAAC;EACxF,MAAMG,SAAS,GAAG,MAAMF,yBAAS,CAACG,iBAAiB,CAACL,OAAO,CAACI,SAAS,EAAEH,aAAa,CAAC;EAErF,MAAMK,cAAwC,GAAG,CAAC,CAAC;EACnD,KAAK,MAAM;IAAEC,GAAG;IAAEC;EAAS,CAAC,IAAI,MAAMN,yBAAS,CAACO,eAAe,CAACL,SAAS,EAAEH,aAAa,CAAC,EAAE;IACvF,IAAI;MAAA,IAAAS,qBAAA,EAAAC,sBAAA;MACA,MAAMC,eAAe,GAAG,MAAM,IAAAC,+BAAc,EAACC,aAAI,CAACC,IAAI,CAACP,QAAQ,EAAEQ,0CAAoB,CAACC,gBAAgB,CAAC,CAAC;MACxG,IAAIC,YAAoB;MACxB,IAAIN,eAAe,CAACO,IAAI,KAAK,gCAAgC,EAAE;QAC3DD,YAAY,GAAG,oBAAoB;MACvC,CAAC,MAAM,IAAIN,eAAe,CAACO,IAAI,KAAK,WAAW,EAAE;QAC7CD,YAAY,GAAG,UAAU;MAC7B,CAAC,MAAM;QAAA,IAAAE,qBAAA,EAAAC,sBAAA;QACHH,YAAY,IAAAE,qBAAA,IAAAC,sBAAA,GAAGT,eAAe,CAACU,YAAY,cAAAD,sBAAA,uBAA5BA,sBAAA,CAA8BE,MAAM,cAAAH,qBAAA,cAAAA,qBAAA,GAAI,SAAS;MACpE;MACAd,cAAc,CAACY,YAAY,CAAC,IAAAR,qBAAA,GAAGJ,cAAc,CAACY,YAAY,CAAC,cAAAR,qBAAA,cAAAA,qBAAA,GAAI,EAAE;MACjE,CAAAC,sBAAA,GAAAL,cAAc,CAACY,YAAY,CAAC,cAAAP,sBAAA,eAA5BA,sBAAA,CAA8Ba,IAAI,CAACjB,GAAG,CAAC;IAC3C,CAAC,CAAC,MAAM;MACJD,cAAc,CAAC,SAAS,CAAC,GAAGA,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE;MAC3DA,cAAc,CAAC,SAAS,CAAC,CAACkB,IAAI,CAACjB,GAAG,CAAC;IACvC;EACJ;EAEA,KAAK,MAAM,CAACgB,MAAM,EAAEE,UAAU,CAAC,IAAI,IAAAC,6BAAc,EAACpB,cAAc,CAAC,EAAE;IAC/DP,OAAO,CAAC4B,MAAM,CAACC,GAAG,CAACL,MAAM,CAAC;IAC1BxB,OAAO,CAAC4B,MAAM,CAACC,GAAG,CAAC,KAAKH,UAAU,CAACI,MAAM,QAAQ,CAAC;EACtD;EACA9B,OAAO,CAAC4B,MAAM,CAACC,GAAG,CAAC,EAAE,CAAC;EACtB,KAAK,MAAM,CAACL,MAAM,EAAEO,IAAI,CAAC,IAAIC,MAAM,CAACC,OAAO,CAAC1B,cAAc,CAAC,EAAE;IACzDP,OAAO,CAAC4B,MAAM,CAACC,GAAG,CAACL,MAAM,CAAC;IAC1BxB,OAAO,CAAC4B,MAAM,CAACC,GAAG,CAAC,KAAKE,IAAI,CAACf,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;EAC9C;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"RunFormStats.js","names":["_path","_interopRequireDefault","require","_ResolveFormInfo","_FormGlobsUtils","_IterableUtils","_WellKnownDirectories","runFormStats","context","options","farmDirectory","formGlobs","FormGlobs","resolveSpecifiers","engineToGfvMap","gfv","formPath","resolveGfvGlobs","_engineToGfvMap$engin","_engineToGfvMap$engin2","formJsonContent","readFormConfig","path","join","WellKnownDirectories","FormJsonFileName","engineBranch","mode","_formJsonContent$depe","_formJsonContent$depe2","dependencies","engine","push","engineGfvs","iterateEntries","logger","log","length","gfvs","Object","entries"],"sources":["../../../../../src/CLICommands/FormStats/RunFormStats.ts"],"sourcesContent":["import path from \"path\";\n\nimport { readFormConfig } from \"../../BuildTasks/ResolveFormInfo\";\nimport { ConsoleApplicationContext } from \"../../Commons/ConsoleApplication/ConsoleApplicationContext\";\nimport { FormGlobs } from \"../../Commons/FormGlobsUtils\";\nimport { iterateEntries } from \"../../../../Common/IterableUtils\";\nimport { WellKnownDirectories } from \"../../../../Common/WellKnownDirectories\";\n\nimport { FormStatsOptions } from \"./FormStatsOptions\";\n\nexport async function runFormStats(\n context: ConsoleApplicationContext,\n options: FormStatsOptions,\n farmDirectory: string\n): Promise<void> {\n const formGlobs = await FormGlobs.resolveSpecifiers(options.formGlobs, farmDirectory);\n\n const engineToGfvMap: Record<string, string[]> = {};\n for (const { gfv, formPath } of await FormGlobs.resolveGfvGlobs(formGlobs, farmDirectory)) {\n try {\n const formJsonContent = await readFormConfig(path.join(formPath, WellKnownDirectories.FormJsonFileName));\n let engineBranch: string;\n if (formJsonContent.mode === \"copy-legacy-prebuilt-resources\") {\n engineBranch = \"LegacyCopyPrebuilt\";\n } else if (formJsonContent.mode === \"no-editor\") {\n engineBranch = \"NoEditor\";\n } else {\n engineBranch = formJsonContent.dependencies?.engine ?? \"Unknown\";\n }\n engineToGfvMap[engineBranch] = engineToGfvMap[engineBranch] ?? [];\n engineToGfvMap[engineBranch]?.push(gfv);\n } catch {\n engineToGfvMap[\"Unknown\"] = engineToGfvMap[\"Unknown\"] || [];\n engineToGfvMap[\"Unknown\"].push(gfv);\n }\n }\n\n for (const [engine, engineGfvs] of iterateEntries(engineToGfvMap)) {\n context.logger.log(engine);\n context.logger.log(` ${engineGfvs.length} forms`);\n }\n context.logger.log(\"\");\n for (const [engine, gfvs] of Object.entries(engineToGfvMap)) {\n context.logger.log(engine);\n context.logger.log(` ${gfvs.join(\", \")}`);\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,gBAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,qBAAA,GAAAJ,OAAA;AAIO,eAAeK,YAAYA,CAC9BC,OAAkC,EAClCC,OAAyB,EACzBC,aAAqB,EACR;EACb,MAAMC,SAAS,GAAG,MAAMC,yBAAS,CAACC,iBAAiB,CAACJ,OAAO,CAACE,SAAS,EAAED,aAAa,CAAC;EAErF,MAAMI,cAAwC,GAAG,CAAC,CAAC;EACnD,KAAK,MAAM;IAAEC,GAAG;IAAEC;EAAS,CAAC,IAAI,MAAMJ,yBAAS,CAACK,eAAe,CAACN,SAAS,EAAED,aAAa,CAAC,EAAE;IACvF,IAAI;MAAA,IAAAQ,qBAAA,EAAAC,sBAAA;MACA,MAAMC,eAAe,GAAG,MAAM,IAAAC,+BAAc,EAACC,aAAI,CAACC,IAAI,CAACP,QAAQ,EAAEQ,0CAAoB,CAACC,gBAAgB,CAAC,CAAC;MACxG,IAAIC,YAAoB;MACxB,IAAIN,eAAe,CAACO,IAAI,KAAK,gCAAgC,EAAE;QAC3DD,YAAY,GAAG,oBAAoB;MACvC,CAAC,MAAM,IAAIN,eAAe,CAACO,IAAI,KAAK,WAAW,EAAE;QAC7CD,YAAY,GAAG,UAAU;MAC7B,CAAC,MAAM;QAAA,IAAAE,qBAAA,EAAAC,sBAAA;QACHH,YAAY,IAAAE,qBAAA,IAAAC,sBAAA,GAAGT,eAAe,CAACU,YAAY,cAAAD,sBAAA,uBAA5BA,sBAAA,CAA8BE,MAAM,cAAAH,qBAAA,cAAAA,qBAAA,GAAI,SAAS;MACpE;MACAd,cAAc,CAACY,YAAY,CAAC,IAAAR,qBAAA,GAAGJ,cAAc,CAACY,YAAY,CAAC,cAAAR,qBAAA,cAAAA,qBAAA,GAAI,EAAE;MACjE,CAAAC,sBAAA,GAAAL,cAAc,CAACY,YAAY,CAAC,cAAAP,sBAAA,eAA5BA,sBAAA,CAA8Ba,IAAI,CAACjB,GAAG,CAAC;IAC3C,CAAC,CAAC,MAAM;MACJD,cAAc,CAAC,SAAS,CAAC,GAAGA,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE;MAC3DA,cAAc,CAAC,SAAS,CAAC,CAACkB,IAAI,CAACjB,GAAG,CAAC;IACvC;EACJ;EAEA,KAAK,MAAM,CAACgB,MAAM,EAAEE,UAAU,CAAC,IAAI,IAAAC,6BAAc,EAACpB,cAAc,CAAC,EAAE;IAC/DN,OAAO,CAAC2B,MAAM,CAACC,GAAG,CAACL,MAAM,CAAC;IAC1BvB,OAAO,CAAC2B,MAAM,CAACC,GAAG,CAAC,KAAKH,UAAU,CAACI,MAAM,QAAQ,CAAC;EACtD;EACA7B,OAAO,CAAC2B,MAAM,CAACC,GAAG,CAAC,EAAE,CAAC;EACtB,KAAK,MAAM,CAACL,MAAM,EAAEO,IAAI,CAAC,IAAIC,MAAM,CAACC,OAAO,CAAC1B,cAAc,CAAC,EAAE;IACzDN,OAAO,CAAC2B,MAAM,CAACC,GAAG,CAACL,MAAM,CAAC;IAC1BvB,OAAO,CAAC2B,MAAM,CAACC,GAAG,CAAC,KAAKE,IAAI,CAACf,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;EAC9C;AACJ","ignoreList":[]}
@@ -10,7 +10,6 @@ var _FormGlobsUtils = require("../../Commons/FormGlobsUtils");
10
10
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
11
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
12
  async function runRenameFiles(context, options, farmDirectory) {
13
- await _FormGlobsUtils.FormGlobs.ensureEachGlobResolvesIntoExistingForm(options.formGlobs, farmDirectory);
14
13
  const formGlobs = await _FormGlobsUtils.FormGlobs.resolveSpecifiers(options.formGlobs, farmDirectory);
15
14
  for (const {
16
15
  gfv,
@@ -1 +1 @@
1
- {"version":3,"file":"RunRenameFiles.js","names":["path","_interopRequireWildcard","require","_fsExtra","_FormGlobsUtils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","runRenameFiles","context","options","farmDirectory","FormGlobs","ensureEachGlobResolvesIntoExistingForm","formGlobs","resolveSpecifiers","gfv","formPath","resolveGfvGlobs","isNaN","Number","logger","withPrefix","renameFiles","maxSubversion","rngXmlFileName","newRngXmlFileName","fileDirPath","join","pathExists","warning","newFileDirPath","log","rename"],"sources":["../../../../../src/CLICommands/RenameFiles/RunRenameFiles.ts"],"sourcesContent":["import * as path from \"path\";\n\nimport { pathExists, rename } from \"fs-extra\";\n\nimport { ConsoleApplicationContext } from \"../../Commons/ConsoleApplication/ConsoleApplicationContext\";\nimport { FormGlobs } from \"../../Commons/FormGlobsUtils\";\nimport { ILogger } from \"../../Commons/Logging/ILogger\";\n\nimport { RenameFilesOptions } from \"./RenameFilesOptions\";\n\nexport async function runRenameFiles(\n context: ConsoleApplicationContext,\n options: RenameFilesOptions,\n farmDirectory: string\n): Promise<void> {\n await FormGlobs.ensureEachGlobResolvesIntoExistingForm(options.formGlobs, farmDirectory);\n const formGlobs = await FormGlobs.resolveSpecifiers(options.formGlobs, farmDirectory);\n for (const { gfv, formPath } of await FormGlobs.resolveGfvGlobs(formGlobs, farmDirectory)) {\n if (!isNaN(Number(gfv))) {\n const logger = context.logger.withPrefix(`FORM:${gfv}`);\n await renameFiles(gfv, formPath, logger);\n }\n }\n}\n\nasync function renameFiles(gfv: string, formPath: string, logger: ILogger): Promise<void> {\n const maxSubversion = 0;\n const rngXmlFileName = `${gfv}.rng.xml`;\n const newRngXmlFileName = `${gfv}.${maxSubversion}.rng.xml`;\n const fileDirPath = path.join(formPath, \"schemas\", rngXmlFileName);\n if (!(await pathExists(fileDirPath))) {\n logger.warning(`Form ${gfv} does not have ${rngXmlFileName}.`);\n return;\n }\n const newFileDirPath = path.join(formPath, \"schemas\", newRngXmlFileName);\n logger.log(`Rename \"${rngXmlFileName}\" in \"${newRngXmlFileName}\".`);\n await rename(fileDirPath, newFileDirPath);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"RunRenameFiles.js","names":["path","_interopRequireWildcard","require","_fsExtra","_FormGlobsUtils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","runRenameFiles","context","options","farmDirectory","formGlobs","FormGlobs","resolveSpecifiers","gfv","formPath","resolveGfvGlobs","isNaN","Number","logger","withPrefix","renameFiles","maxSubversion","rngXmlFileName","newRngXmlFileName","fileDirPath","join","pathExists","warning","newFileDirPath","log","rename"],"sources":["../../../../../src/CLICommands/RenameFiles/RunRenameFiles.ts"],"sourcesContent":["import * as path from \"path\";\n\nimport { pathExists, rename } from \"fs-extra\";\n\nimport { ConsoleApplicationContext } from \"../../Commons/ConsoleApplication/ConsoleApplicationContext\";\nimport { FormGlobs } from \"../../Commons/FormGlobsUtils\";\nimport { ILogger } from \"../../Commons/Logging/ILogger\";\n\nimport { RenameFilesOptions } from \"./RenameFilesOptions\";\n\nexport async function runRenameFiles(\n context: ConsoleApplicationContext,\n options: RenameFilesOptions,\n farmDirectory: string\n): Promise<void> {\n const formGlobs = await FormGlobs.resolveSpecifiers(options.formGlobs, farmDirectory);\n for (const { gfv, formPath } of await FormGlobs.resolveGfvGlobs(formGlobs, farmDirectory)) {\n if (!isNaN(Number(gfv))) {\n const logger = context.logger.withPrefix(`FORM:${gfv}`);\n await renameFiles(gfv, formPath, logger);\n }\n }\n}\n\nasync function renameFiles(gfv: string, formPath: string, logger: ILogger): Promise<void> {\n const maxSubversion = 0;\n const rngXmlFileName = `${gfv}.rng.xml`;\n const newRngXmlFileName = `${gfv}.${maxSubversion}.rng.xml`;\n const fileDirPath = path.join(formPath, \"schemas\", rngXmlFileName);\n if (!(await pathExists(fileDirPath))) {\n logger.warning(`Form ${gfv} does not have ${rngXmlFileName}.`);\n return;\n }\n const newFileDirPath = path.join(formPath, \"schemas\", newRngXmlFileName);\n logger.log(`Rename \"${rngXmlFileName}\" in \"${newRngXmlFileName}\".`);\n await rename(fileDirPath, newFileDirPath);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -14,7 +14,6 @@ var _WellKnownDirectories = require("../../../../Common/WellKnownDirectories");
14
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
15
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
16
  async function runUpgradeForm(context, options, farmDirectory) {
17
- await _FormGlobsUtils.FormGlobs.ensureEachGlobResolvesIntoExistingForm(options.formGlobs, farmDirectory);
18
17
  const formGlobs = await _FormGlobsUtils.FormGlobs.resolveSpecifiers(options.formGlobs, farmDirectory);
19
18
  for (const {
20
19
  gfv,
@@ -1 +1 @@
1
- {"version":3,"file":"RunUpgradeForm.js","names":["path","_interopRequireWildcard","require","_fsExtra","_PublishedVersionUtils","_ResolveFormInfo","_FormGlobsUtils","_Version","_WellKnownDirectories","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","runUpgradeForm","context","options","farmDirectory","FormGlobs","ensureEachGlobResolvesIntoExistingForm","formGlobs","resolveSpecifiers","gfv","formPath","resolveGfvGlobs","logger","withPrefix","useCiBuild","log","upgradeFormToCiBuildMode","engine","undefined","upgradeFormEngine","skipPreVersions","preid","upgradeFormPrerelease","engineVersion","formJsonPath","join","WellKnownDirectories","FormJsonFileName","pathExists","warning","formConfig","readFormConfig","_formConfig$dependenc","_formConfig$dependenc2","dependencies","generator","_formConfig$dependenc3","_formConfig$dependenc4","engineVersionSpec","parseCandyVersionSpec","generatorVersionSpec","type","test","version","mode","getLastStableEngineVersion","getLastStableGeneratorVersion","writeJson","spaces","isEngineVersionExists","Error","generatedFormDirectory","isNewFormJsonFormat","build","remove","formGitIgnorePath","gitIgnoreContent","readFile","split","includes","writeFile","trimRight","prereleaseVersionFormJson","getPrereleaseVersionFormJson"],"sources":["../../../../../src/CLICommands/UpgradeForm/RunUpgradeForm.ts"],"sourcesContent":["import * as path from \"path\";\n\nimport { pathExists, readFile, remove, writeFile, writeJson } from \"fs-extra\";\n\nimport {\n getLastStableEngineVersion,\n getLastStableGeneratorVersion,\n getPrereleaseVersionFormJson,\n isEngineVersionExists,\n} from \"../../BuildTasks/PublishedVersionUtils\";\nimport { isNewFormJsonFormat, readFormConfig } from \"../../BuildTasks/ResolveFormInfo\";\nimport { ConsoleApplicationContext } from \"../../Commons/ConsoleApplication/ConsoleApplicationContext\";\nimport { FormGlobs } from \"../../Commons/FormGlobsUtils\";\nimport { ILogger } from \"../../Commons/Logging/ILogger\";\nimport { parseCandyVersionSpec } from \"../../BuildTasks/Version\";\nimport { WellKnownDirectories } from \"../../../../Common/WellKnownDirectories\";\n\nimport { UpgradeFormOptions } from \"./UpgradeFormOptions\";\n\nexport async function runUpgradeForm(\n context: ConsoleApplicationContext,\n options: UpgradeFormOptions,\n farmDirectory: string\n): Promise<void> {\n await FormGlobs.ensureEachGlobResolvesIntoExistingForm(options.formGlobs, farmDirectory);\n const formGlobs = await FormGlobs.resolveSpecifiers(options.formGlobs, farmDirectory);\n for (const { gfv, formPath } of await FormGlobs.resolveGfvGlobs(formGlobs, farmDirectory)) {\n const logger = context.logger.withPrefix(`FORM:${gfv}`);\n if (options.useCiBuild) {\n logger.log(\"Begin upgrading build mode\");\n await upgradeFormToCiBuildMode(formPath, logger);\n logger.log(\"Finish upgrading build mode\");\n }\n if (options.engine != undefined) {\n logger.log(\"Begin upgrading engine version\");\n await upgradeFormEngine(formPath, options.engine, options.skipPreVersions, logger);\n logger.log(\"Finish upgrading engine version\");\n }\n if (options.preid != undefined) {\n logger.log(\"Begin upgrading engine version\");\n await upgradeFormPrerelease(formPath, options.preid, logger);\n logger.log(\"Finish upgrading engine version\");\n }\n }\n}\n\nasync function upgradeFormEngine(\n formPath: string,\n engineVersion: string,\n skipPreVersions: boolean,\n logger: ILogger\n): Promise<void> {\n const formJsonPath = path.join(formPath, WellKnownDirectories.FormJsonFileName);\n if (!(await pathExists(formJsonPath))) {\n logger.warning(\"Form does not have form.json: Upgrade skipped\");\n return;\n }\n const formConfig = await readFormConfig(formJsonPath);\n if (skipPreVersions) {\n if (formConfig.dependencies?.engine != undefined && formConfig.dependencies?.generator != undefined) {\n const engineVersionSpec = parseCandyVersionSpec(formConfig.dependencies?.engine);\n const generatorVersionSpec = parseCandyVersionSpec(formConfig.dependencies?.generator);\n if (\n engineVersionSpec.type === \"pre\" ||\n generatorVersionSpec.type === \"pre\" ||\n (engineVersionSpec.type === \"version\" && /[a-zA-Z]/.test(engineVersionSpec.version)) ||\n (generatorVersionSpec.type === \"version\" && /[a-zA-Z]/.test(generatorVersionSpec.version))\n ) {\n logger.log(\n \"Form version has prerelease version: Upgrade skipped due to flag skipPreVersions (--skip-pre-versions) specified\"\n );\n return;\n }\n }\n }\n if (formConfig.mode === \"no-editor\") {\n logger.log(\"Form does not have editor: Upgrade skipped\");\n return;\n }\n if (formConfig.mode === \"copy-legacy-prebuilt-resources\") {\n logger.log(\"Form does not have editor: Upgrade skipped\");\n return;\n }\n if (engineVersion === \"latest\") {\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 writeJson(formJsonPath, formConfig, { spaces: 2 });\n } else {\n if (await isEngineVersionExists(engineVersion)) {\n formConfig.dependencies = { engine: engineVersion, generator: engineVersion };\n logger.log(`Updated to version ${formConfig.dependencies.engine}`);\n await writeJson(formJsonPath, formConfig, { spaces: 2 });\n } else {\n throw new Error(`Версии ${engineVersion} не существует.`);\n }\n }\n}\n\nasync function upgradeFormToCiBuildMode(formPath: string, logger: ILogger): Promise<void> {\n const formJsonPath = path.join(formPath, WellKnownDirectories.FormJsonFileName);\n if (!(await pathExists(formJsonPath))) {\n logger.warning(\"form.json does not exists. Upgrade skipped.\");\n return;\n }\n const generatedFormDirectory = path.join(formPath, \"form\");\n if (!(await isNewFormJsonFormat(formJsonPath))) {\n throw new Error(\n \"Файл form.json формы должен иметь новый формат зависимости. Обратитесь к разработчикам за разъяснениями.\"\n );\n }\n const formConfig = await readFormConfig(formJsonPath);\n if (formConfig.build !== \"ci\") {\n formConfig.build = \"ci\";\n await writeJson(formJsonPath, formConfig, { spaces: 2 });\n logger.log(\"Updated form.json\");\n }\n if (await pathExists(generatedFormDirectory)) {\n await remove(generatedFormDirectory);\n logger.log(\"Removed form directory\");\n }\n const formGitIgnorePath = path.join(formPath, \".gitignore\");\n if (await pathExists(formGitIgnorePath)) {\n const gitIgnoreContent = await readFile(formGitIgnorePath, \"utf8\");\n if (!gitIgnoreContent.split(\"\\n\").includes(\"form\")) {\n await writeFile(formGitIgnorePath, gitIgnoreContent.trimRight() + \"\\n\" + \"form\\n\");\n logger.log(\"Updated .gitignore\");\n }\n } else {\n await writeFile(formGitIgnorePath, \"form\\n\");\n logger.log(\"Created .gitignore\");\n }\n}\n\nasync function upgradeFormPrerelease(formPath: string, preid: string, logger: ILogger): Promise<void> {\n const formJsonPath = path.join(formPath, WellKnownDirectories.FormJsonFileName);\n const formConfig = await readFormConfig(formJsonPath);\n const prereleaseVersionFormJson = await getPrereleaseVersionFormJson(preid);\n\n if (prereleaseVersionFormJson != undefined) {\n formConfig.dependencies = { engine: prereleaseVersionFormJson, generator: prereleaseVersionFormJson };\n logger.log(`Updated to prerelease version ${formConfig.dependencies.engine}`);\n await writeJson(formJsonPath, formConfig, { spaces: 2 });\n } else {\n throw new Error(`Версии ${preid} не существует.`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"RunUpgradeForm.js","names":["path","_interopRequireWildcard","require","_fsExtra","_PublishedVersionUtils","_ResolveFormInfo","_FormGlobsUtils","_Version","_WellKnownDirectories","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","runUpgradeForm","context","options","farmDirectory","formGlobs","FormGlobs","resolveSpecifiers","gfv","formPath","resolveGfvGlobs","logger","withPrefix","useCiBuild","log","upgradeFormToCiBuildMode","engine","undefined","upgradeFormEngine","skipPreVersions","preid","upgradeFormPrerelease","engineVersion","formJsonPath","join","WellKnownDirectories","FormJsonFileName","pathExists","warning","formConfig","readFormConfig","_formConfig$dependenc","_formConfig$dependenc2","dependencies","generator","_formConfig$dependenc3","_formConfig$dependenc4","engineVersionSpec","parseCandyVersionSpec","generatorVersionSpec","type","test","version","mode","getLastStableEngineVersion","getLastStableGeneratorVersion","writeJson","spaces","isEngineVersionExists","Error","generatedFormDirectory","isNewFormJsonFormat","build","remove","formGitIgnorePath","gitIgnoreContent","readFile","split","includes","writeFile","trimRight","prereleaseVersionFormJson","getPrereleaseVersionFormJson"],"sources":["../../../../../src/CLICommands/UpgradeForm/RunUpgradeForm.ts"],"sourcesContent":["import * as path from \"path\";\n\nimport { pathExists, readFile, remove, writeFile, writeJson } from \"fs-extra\";\n\nimport {\n getLastStableEngineVersion,\n getLastStableGeneratorVersion,\n getPrereleaseVersionFormJson,\n isEngineVersionExists,\n} from \"../../BuildTasks/PublishedVersionUtils\";\nimport { isNewFormJsonFormat, readFormConfig } from \"../../BuildTasks/ResolveFormInfo\";\nimport { ConsoleApplicationContext } from \"../../Commons/ConsoleApplication/ConsoleApplicationContext\";\nimport { FormGlobs } from \"../../Commons/FormGlobsUtils\";\nimport { ILogger } from \"../../Commons/Logging/ILogger\";\nimport { parseCandyVersionSpec } from \"../../BuildTasks/Version\";\nimport { WellKnownDirectories } from \"../../../../Common/WellKnownDirectories\";\n\nimport { UpgradeFormOptions } from \"./UpgradeFormOptions\";\n\nexport async function runUpgradeForm(\n context: ConsoleApplicationContext,\n options: UpgradeFormOptions,\n farmDirectory: string\n): Promise<void> {\n const formGlobs = await FormGlobs.resolveSpecifiers(options.formGlobs, farmDirectory);\n for (const { gfv, formPath } of await FormGlobs.resolveGfvGlobs(formGlobs, farmDirectory)) {\n const logger = context.logger.withPrefix(`FORM:${gfv}`);\n if (options.useCiBuild) {\n logger.log(\"Begin upgrading build mode\");\n await upgradeFormToCiBuildMode(formPath, logger);\n logger.log(\"Finish upgrading build mode\");\n }\n if (options.engine != undefined) {\n logger.log(\"Begin upgrading engine version\");\n await upgradeFormEngine(formPath, options.engine, options.skipPreVersions, logger);\n logger.log(\"Finish upgrading engine version\");\n }\n if (options.preid != undefined) {\n logger.log(\"Begin upgrading engine version\");\n await upgradeFormPrerelease(formPath, options.preid, logger);\n logger.log(\"Finish upgrading engine version\");\n }\n }\n}\n\nasync function upgradeFormEngine(\n formPath: string,\n engineVersion: string,\n skipPreVersions: boolean,\n logger: ILogger\n): Promise<void> {\n const formJsonPath = path.join(formPath, WellKnownDirectories.FormJsonFileName);\n if (!(await pathExists(formJsonPath))) {\n logger.warning(\"Form does not have form.json: Upgrade skipped\");\n return;\n }\n const formConfig = await readFormConfig(formJsonPath);\n if (skipPreVersions) {\n if (formConfig.dependencies?.engine != undefined && formConfig.dependencies?.generator != undefined) {\n const engineVersionSpec = parseCandyVersionSpec(formConfig.dependencies?.engine);\n const generatorVersionSpec = parseCandyVersionSpec(formConfig.dependencies?.generator);\n if (\n engineVersionSpec.type === \"pre\" ||\n generatorVersionSpec.type === \"pre\" ||\n (engineVersionSpec.type === \"version\" && /[a-zA-Z]/.test(engineVersionSpec.version)) ||\n (generatorVersionSpec.type === \"version\" && /[a-zA-Z]/.test(generatorVersionSpec.version))\n ) {\n logger.log(\n \"Form version has prerelease version: Upgrade skipped due to flag skipPreVersions (--skip-pre-versions) specified\"\n );\n return;\n }\n }\n }\n if (formConfig.mode === \"no-editor\") {\n logger.log(\"Form does not have editor: Upgrade skipped\");\n return;\n }\n if (formConfig.mode === \"copy-legacy-prebuilt-resources\") {\n logger.log(\"Form does not have editor: Upgrade skipped\");\n return;\n }\n if (engineVersion === \"latest\") {\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 writeJson(formJsonPath, formConfig, { spaces: 2 });\n } else {\n if (await isEngineVersionExists(engineVersion)) {\n formConfig.dependencies = { engine: engineVersion, generator: engineVersion };\n logger.log(`Updated to version ${formConfig.dependencies.engine}`);\n await writeJson(formJsonPath, formConfig, { spaces: 2 });\n } else {\n throw new Error(`Версии ${engineVersion} не существует.`);\n }\n }\n}\n\nasync function upgradeFormToCiBuildMode(formPath: string, logger: ILogger): Promise<void> {\n const formJsonPath = path.join(formPath, WellKnownDirectories.FormJsonFileName);\n if (!(await pathExists(formJsonPath))) {\n logger.warning(\"form.json does not exists. Upgrade skipped.\");\n return;\n }\n const generatedFormDirectory = path.join(formPath, \"form\");\n if (!(await isNewFormJsonFormat(formJsonPath))) {\n throw new Error(\n \"Файл form.json формы должен иметь новый формат зависимости. Обратитесь к разработчикам за разъяснениями.\"\n );\n }\n const formConfig = await readFormConfig(formJsonPath);\n if (formConfig.build !== \"ci\") {\n formConfig.build = \"ci\";\n await writeJson(formJsonPath, formConfig, { spaces: 2 });\n logger.log(\"Updated form.json\");\n }\n if (await pathExists(generatedFormDirectory)) {\n await remove(generatedFormDirectory);\n logger.log(\"Removed form directory\");\n }\n const formGitIgnorePath = path.join(formPath, \".gitignore\");\n if (await pathExists(formGitIgnorePath)) {\n const gitIgnoreContent = await readFile(formGitIgnorePath, \"utf8\");\n if (!gitIgnoreContent.split(\"\\n\").includes(\"form\")) {\n await writeFile(formGitIgnorePath, gitIgnoreContent.trimRight() + \"\\n\" + \"form\\n\");\n logger.log(\"Updated .gitignore\");\n }\n } else {\n await writeFile(formGitIgnorePath, \"form\\n\");\n logger.log(\"Created .gitignore\");\n }\n}\n\nasync function upgradeFormPrerelease(formPath: string, preid: string, logger: ILogger): Promise<void> {\n const formJsonPath = path.join(formPath, WellKnownDirectories.FormJsonFileName);\n const formConfig = await readFormConfig(formJsonPath);\n const prereleaseVersionFormJson = await getPrereleaseVersionFormJson(preid);\n\n if (prereleaseVersionFormJson != undefined) {\n formConfig.dependencies = { engine: prereleaseVersionFormJson, generator: prereleaseVersionFormJson };\n logger.log(`Updated to prerelease version ${formConfig.dependencies.engine}`);\n await writeJson(formJsonPath, formConfig, { spaces: 2 });\n } else {\n throw new Error(`Версии ${preid} не существует.`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -73,17 +73,9 @@ class FormGlobs {
73
73
  }
74
74
  return result;
75
75
  }
76
- static async ensureEachGlobResolvesIntoExistingForm(formGlobs, farmDirectory) {
77
- const promises = formGlobs.map(async glob => {
78
- const gfvs = await this.resolveGfvGlobs([glob], farmDirectory);
79
- if (gfvs.length === 0) {
80
- throw new Error(`Форм соответствующих ${glob} не найдено.`);
81
- }
82
- });
83
- await Promise.all(promises);
84
- }
85
- static async resolveGfvGlobs(formGlobs, farmDirectory) {
76
+ static async resolveGfvGlobs(formGlobs, farmDirectory, throwErrorIfUnusedGlobFound = true) {
86
77
  const result = new Map();
78
+ const foundGlobs = new Set();
87
79
  const forms = await FormGlobs.enumerateFormsInRepository(_path.default.normalize(_path.default.join(farmDirectory, "..")));
88
80
  for (const {
89
81
  gfv,
@@ -92,17 +84,26 @@ class FormGlobs {
92
84
  for (const formGlob of formGlobs) {
93
85
  if (await FormGlobs.isFormMatchToGlob(formGlob, gfv, formPath)) {
94
86
  result.set(gfv, formPath);
87
+ foundGlobs.add(formGlob);
95
88
  }
96
89
  }
97
90
  }
91
+ if (throwErrorIfUnusedGlobFound) {
92
+ const maxAbsemtGlobsToLog = 10;
93
+ const absentGlobs = Iterator.from(formGlobs).filter(formGlob => !foundGlobs.has(formGlob)).take(maxAbsemtGlobsToLog).toArray();
94
+ if (absentGlobs.length > 0) {
95
+ throw new Error(`Форм соответствующих ${absentGlobs.join(", ")} не найдено.`);
96
+ }
97
+ }
98
98
  return [...result.entries()].map(([gfv, formPath]) => ({
99
99
  gfv: gfv,
100
100
  formPath: formPath
101
101
  }));
102
102
  }
103
103
  static async resolveSpecifiers(formGlobsWithSpecifiers, farmDirectory) {
104
- const results = await Promise.all(formGlobsWithSpecifiers.map(x => this.resolveOnlyFormGlobSpecifiers(x, farmDirectory)));
105
- return results.flat();
104
+ const suitableGlobs = formGlobsWithSpecifiers.filter(x => x.endsWith(":with-ui-tests") || x.endsWith(":with-ci-build"));
105
+ const resolvedGlobs = (await this.resolveGfvGlobs(suitableGlobs, farmDirectory, false)).map(x => x.gfv);
106
+ return resolvedGlobs;
106
107
  }
107
108
  static async isFormMatchToGlob(formGlob, gfv, formPath) {
108
109
  const gfvRegexp = new RegExp("^" + formGlob.replace(":with-ui-tests", "").replace(":with-ci-build", "").replace(/\*/gi, "\\d*").replace(/\?/gi, "\\d") + "$");
@@ -123,15 +124,6 @@ class FormGlobs {
123
124
  }
124
125
  return false;
125
126
  }
126
- static async resolveOnlyFormGlobSpecifiers(formGlob, farmDirectory) {
127
- if (formGlob.endsWith(":with-ui-tests")) {
128
- return (await this.resolveGfvGlobs([formGlob], farmDirectory)).map(x => x.gfv);
129
- }
130
- if (formGlob.endsWith(":with-ci-build")) {
131
- return (await this.resolveGfvGlobs([formGlob], farmDirectory)).map(x => x.gfv);
132
- }
133
- return [formGlob];
134
- }
135
127
  }
136
128
  exports.FormGlobs = FormGlobs;
137
129
  //# sourceMappingURL=FormGlobsUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormGlobsUtils.js","names":["_path","_interopRequireDefault","require","_fsExtra","_ResolveFormInfo","_FormPathUtils","_WellKnownDirectories","_FsUtils","FormGlobs","enumerateFormsInRepository","repositoryRoots","result","repositoryRoot","formJsonPath","globAsync","WellKnownDirectories","FormJsonFileName","cwd","formPath","path","dirname","gfv","extractGfvFromFormPath","push","join","formRelativePath","TestFarmDir","CandySubdirectoryName","ensureEachGlobResolvesIntoExistingForm","formGlobs","farmDirectory","promises","map","glob","gfvs","resolveGfvGlobs","length","Error","Promise","all","Map","forms","normalize","formGlob","isFormMatchToGlob","set","entries","resolveSpecifiers","formGlobsWithSpecifiers","results","x","resolveOnlyFormGlobSpecifiers","flat","gfvRegexp","RegExp","replace","test","includes","pathExists","formConfig","readFormConfig","build","endsWith","exports"],"sources":["../../../../src/Commons/FormGlobsUtils.ts"],"sourcesContent":["import path from \"path\";\n\nimport { pathExists } from \"fs-extra\";\n\nimport { readFormConfig } from \"../BuildTasks/ResolveFormInfo\";\nimport { extractGfvFromFormPath } from \"../../../Common/FormPathUtils\";\nimport { WellKnownDirectories } from \"../../../Common/WellKnownDirectories\";\n\nimport { globAsync } from \"./FsUtils\";\nimport { FormLocationInfo } from \"./FormLocationInfo\";\n\nexport interface GfvInfo {\n gfv: string;\n formPath: string;\n formRelativePath: string;\n}\n\nexport class FormGlobs {\n public static async enumerateFormsInRepository(...repositoryRoots: string[]): Promise<GfvInfo[]> {\n const result: GfvInfo[] = [];\n\n for (const repositoryRoot of repositoryRoots) {\n for (const formJsonPath of await globAsync(`candy.farm/forms/*/${WellKnownDirectories.FormJsonFileName}`, {\n cwd: repositoryRoot,\n })) {\n const formPath = path.dirname(formJsonPath);\n const gfv = extractGfvFromFormPath(formPath);\n result.push({\n gfv: gfv,\n formPath: path.join(repositoryRoot, formPath),\n formRelativePath: formPath,\n });\n }\n for (const formJsonPath of await globAsync(\n `${WellKnownDirectories.TestFarmDir}/forms/*/${WellKnownDirectories.FormJsonFileName}`,\n {\n cwd: repositoryRoot,\n }\n )) {\n const formPath = path.dirname(formJsonPath);\n const gfv = extractGfvFromFormPath(formPath);\n result.push({\n gfv: gfv,\n formPath: path.join(repositoryRoot, formPath),\n formRelativePath: formPath,\n });\n }\n for (const formJsonPath of await globAsync(\n `candy.rpn.farm/forms/*/${WellKnownDirectories.FormJsonFileName}`,\n {\n cwd: repositoryRoot,\n }\n )) {\n const formPath = path.dirname(formJsonPath);\n const gfv = extractGfvFromFormPath(formPath);\n result.push({\n gfv: gfv,\n formPath: path.join(repositoryRoot, formPath),\n formRelativePath: formPath,\n });\n }\n for (const formJsonPath of await globAsync(\n `candy.diadoc.farm/forms/*/${WellKnownDirectories.FormJsonFileName}`,\n {\n cwd: repositoryRoot,\n }\n )) {\n const formPath = path.dirname(formJsonPath);\n const gfv = extractGfvFromFormPath(formPath);\n result.push({\n gfv: gfv,\n formPath: path.join(repositoryRoot, formPath),\n formRelativePath: formPath,\n });\n }\n for (const formJsonPath of await globAsync(\n `**/${WellKnownDirectories.CandySubdirectoryName}/${WellKnownDirectories.FormJsonFileName}`,\n { cwd: path.join(repositoryRoot, \"forms\") }\n )) {\n const formPath = path.dirname(formJsonPath);\n const gfv = extractGfvFromFormPath(formPath);\n result.push({\n gfv: gfv,\n formPath: path.join(repositoryRoot, \"forms\", formPath),\n formRelativePath: formPath,\n });\n }\n }\n return result;\n }\n\n public static async ensureEachGlobResolvesIntoExistingForm(\n formGlobs: string[],\n farmDirectory: string\n ): Promise<void> {\n const promises = formGlobs.map(async glob => {\n const gfvs = await this.resolveGfvGlobs([glob], farmDirectory);\n if (gfvs.length === 0) {\n throw new Error(`Форм соответствующих ${glob} не найдено.`);\n }\n });\n await Promise.all(promises);\n }\n\n public static async resolveGfvGlobs(formGlobs: string[], farmDirectory: string): Promise<FormLocationInfo[]> {\n const result: Map<string, string> = new Map();\n\n const forms = await FormGlobs.enumerateFormsInRepository(path.normalize(path.join(farmDirectory, \"..\")));\n for (const { gfv, formPath } of forms) {\n for (const formGlob of formGlobs) {\n if (await FormGlobs.isFormMatchToGlob(formGlob, gfv, formPath)) {\n result.set(gfv, formPath);\n }\n }\n }\n\n return [...result.entries()].map(([gfv, formPath]) => ({ gfv: gfv, formPath: formPath }));\n }\n\n public static async resolveSpecifiers(formGlobsWithSpecifiers: string[], farmDirectory: string): Promise<string[]> {\n const results = await Promise.all(\n formGlobsWithSpecifiers.map(x => this.resolveOnlyFormGlobSpecifiers(x, farmDirectory))\n );\n return results.flat();\n }\n\n private static async isFormMatchToGlob(formGlob: string, gfv: string, formPath: string) {\n const gfvRegexp = new RegExp(\n \"^\" +\n formGlob\n .replace(\":with-ui-tests\", \"\")\n .replace(\":with-ci-build\", \"\")\n .replace(/\\*/gi, \"\\\\d*\")\n .replace(/\\?/gi, \"\\\\d\") +\n \"$\"\n );\n if (gfvRegexp.test(gfv)) {\n if (formGlob.includes(\":with-ui-tests\")) {\n if (!(await pathExists(path.join(formPath, \"test\")))) {\n return false;\n }\n }\n if (formGlob.includes(\":with-ci-build\")) {\n const formJsonPath = path.join(formPath, WellKnownDirectories.FormJsonFileName);\n const formConfig = await readFormConfig(formJsonPath);\n if (formConfig.build !== \"ci\") {\n return false;\n }\n }\n return true;\n }\n return false;\n }\n\n private static async resolveOnlyFormGlobSpecifiers(formGlob: string, farmDirectory: string): Promise<string[]> {\n if (formGlob.endsWith(\":with-ui-tests\")) {\n return (await this.resolveGfvGlobs([formGlob], farmDirectory)).map(x => x.gfv);\n }\n if (formGlob.endsWith(\":with-ci-build\")) {\n return (await this.resolveGfvGlobs([formGlob], farmDirectory)).map(x => x.gfv);\n }\n return [formGlob];\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FormGlobsUtils.js","names":["_path","_interopRequireDefault","require","_fsExtra","_ResolveFormInfo","_FormPathUtils","_WellKnownDirectories","_FsUtils","FormGlobs","enumerateFormsInRepository","repositoryRoots","result","repositoryRoot","formJsonPath","globAsync","WellKnownDirectories","FormJsonFileName","cwd","formPath","path","dirname","gfv","extractGfvFromFormPath","push","join","formRelativePath","TestFarmDir","CandySubdirectoryName","resolveGfvGlobs","formGlobs","farmDirectory","throwErrorIfUnusedGlobFound","Map","foundGlobs","Set","forms","normalize","formGlob","isFormMatchToGlob","set","add","maxAbsemtGlobsToLog","absentGlobs","Iterator","from","filter","has","take","toArray","length","Error","entries","map","resolveSpecifiers","formGlobsWithSpecifiers","suitableGlobs","x","endsWith","resolvedGlobs","gfvRegexp","RegExp","replace","test","includes","pathExists","formConfig","readFormConfig","build","exports"],"sources":["../../../../src/Commons/FormGlobsUtils.ts"],"sourcesContent":["import path from \"path\";\n\nimport { pathExists } from \"fs-extra\";\n\nimport { readFormConfig } from \"../BuildTasks/ResolveFormInfo\";\nimport { extractGfvFromFormPath } from \"../../../Common/FormPathUtils\";\nimport { WellKnownDirectories } from \"../../../Common/WellKnownDirectories\";\n\nimport { globAsync } from \"./FsUtils\";\nimport { FormLocationInfo } from \"./FormLocationInfo\";\n\nexport interface GfvInfo {\n gfv: string;\n formPath: string;\n formRelativePath: string;\n}\n\nexport class FormGlobs {\n public static async enumerateFormsInRepository(...repositoryRoots: string[]): Promise<GfvInfo[]> {\n const result: GfvInfo[] = [];\n\n for (const repositoryRoot of repositoryRoots) {\n for (const formJsonPath of await globAsync(`candy.farm/forms/*/${WellKnownDirectories.FormJsonFileName}`, {\n cwd: repositoryRoot,\n })) {\n const formPath = path.dirname(formJsonPath);\n const gfv = extractGfvFromFormPath(formPath);\n result.push({\n gfv: gfv,\n formPath: path.join(repositoryRoot, formPath),\n formRelativePath: formPath,\n });\n }\n for (const formJsonPath of await globAsync(\n `${WellKnownDirectories.TestFarmDir}/forms/*/${WellKnownDirectories.FormJsonFileName}`,\n {\n cwd: repositoryRoot,\n }\n )) {\n const formPath = path.dirname(formJsonPath);\n const gfv = extractGfvFromFormPath(formPath);\n result.push({\n gfv: gfv,\n formPath: path.join(repositoryRoot, formPath),\n formRelativePath: formPath,\n });\n }\n for (const formJsonPath of await globAsync(\n `candy.rpn.farm/forms/*/${WellKnownDirectories.FormJsonFileName}`,\n {\n cwd: repositoryRoot,\n }\n )) {\n const formPath = path.dirname(formJsonPath);\n const gfv = extractGfvFromFormPath(formPath);\n result.push({\n gfv: gfv,\n formPath: path.join(repositoryRoot, formPath),\n formRelativePath: formPath,\n });\n }\n for (const formJsonPath of await globAsync(\n `candy.diadoc.farm/forms/*/${WellKnownDirectories.FormJsonFileName}`,\n {\n cwd: repositoryRoot,\n }\n )) {\n const formPath = path.dirname(formJsonPath);\n const gfv = extractGfvFromFormPath(formPath);\n result.push({\n gfv: gfv,\n formPath: path.join(repositoryRoot, formPath),\n formRelativePath: formPath,\n });\n }\n for (const formJsonPath of await globAsync(\n `**/${WellKnownDirectories.CandySubdirectoryName}/${WellKnownDirectories.FormJsonFileName}`,\n { cwd: path.join(repositoryRoot, \"forms\") }\n )) {\n const formPath = path.dirname(formJsonPath);\n const gfv = extractGfvFromFormPath(formPath);\n result.push({\n gfv: gfv,\n formPath: path.join(repositoryRoot, \"forms\", formPath),\n formRelativePath: formPath,\n });\n }\n }\n return result;\n }\n\n public static async resolveGfvGlobs(\n formGlobs: string[],\n farmDirectory: string,\n throwErrorIfUnusedGlobFound: boolean = true\n ): Promise<FormLocationInfo[]> {\n const result: Map<string, string> = new Map();\n const foundGlobs = new Set<string>();\n\n const forms = await FormGlobs.enumerateFormsInRepository(path.normalize(path.join(farmDirectory, \"..\")));\n for (const { gfv, formPath } of forms) {\n for (const formGlob of formGlobs) {\n if (await FormGlobs.isFormMatchToGlob(formGlob, gfv, formPath)) {\n result.set(gfv, formPath);\n foundGlobs.add(formGlob);\n }\n }\n }\n\n if (throwErrorIfUnusedGlobFound) {\n const maxAbsemtGlobsToLog = 10;\n const absentGlobs = Iterator.from(formGlobs)\n .filter(formGlob => !foundGlobs.has(formGlob))\n .take(maxAbsemtGlobsToLog)\n .toArray();\n if (absentGlobs.length > 0) {\n throw new Error(`Форм соответствующих ${absentGlobs.join(\", \")} не найдено.`);\n }\n }\n\n return [...result.entries()].map(([gfv, formPath]) => ({ gfv: gfv, formPath: formPath }));\n }\n\n public static async resolveSpecifiers(formGlobsWithSpecifiers: string[], farmDirectory: string): Promise<string[]> {\n const suitableGlobs = formGlobsWithSpecifiers.filter(\n x => x.endsWith(\":with-ui-tests\") || x.endsWith(\":with-ci-build\")\n );\n const resolvedGlobs = (await this.resolveGfvGlobs(suitableGlobs, farmDirectory, false)).map(x => x.gfv);\n return resolvedGlobs;\n }\n\n private static async isFormMatchToGlob(formGlob: string, gfv: string, formPath: string) {\n const gfvRegexp = new RegExp(\n \"^\" +\n formGlob\n .replace(\":with-ui-tests\", \"\")\n .replace(\":with-ci-build\", \"\")\n .replace(/\\*/gi, \"\\\\d*\")\n .replace(/\\?/gi, \"\\\\d\") +\n \"$\"\n );\n if (gfvRegexp.test(gfv)) {\n if (formGlob.includes(\":with-ui-tests\")) {\n if (!(await pathExists(path.join(formPath, \"test\")))) {\n return false;\n }\n }\n if (formGlob.includes(\":with-ci-build\")) {\n const formJsonPath = path.join(formPath, WellKnownDirectories.FormJsonFileName);\n const formConfig = await readFormConfig(formJsonPath);\n if (formConfig.build !== \"ci\") {\n return false;\n }\n }\n return true;\n }\n return false;\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kontur.candy/tools",
3
- "version": "2.227.0",
3
+ "version": "2.229.0",
4
4
  "description": "",
5
5
  "files": [
6
6
  "candy.js",