@platforma-sdk/tengo-builder 4.0.10 → 4.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/cli.cjs +0 -1
  2. package/dist/cli.cjs.map +1 -1
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/build.cjs +3 -3
  6. package/dist/commands/build.cjs.map +1 -1
  7. package/dist/commands/build.js.map +1 -1
  8. package/dist/commands/check.cjs +0 -1
  9. package/dist/commands/check.cjs.map +1 -1
  10. package/dist/commands/check.js.map +1 -1
  11. package/dist/commands/dump/artifacts.cjs +0 -1
  12. package/dist/commands/dump/artifacts.cjs.map +1 -1
  13. package/dist/commands/dump/artifacts.js.map +1 -1
  14. package/dist/commands/dump/software.cjs +0 -1
  15. package/dist/commands/dump/software.cjs.map +1 -1
  16. package/dist/commands/dump/software.js.map +1 -1
  17. package/dist/commands/test.cjs +0 -1
  18. package/dist/commands/test.cjs.map +1 -1
  19. package/dist/commands/test.js.map +1 -1
  20. package/dist/compiler/artifactset.cjs +2 -0
  21. package/dist/compiler/artifactset.cjs.map +1 -1
  22. package/dist/compiler/artifactset.js +2 -1
  23. package/dist/compiler/artifactset.js.map +1 -1
  24. package/dist/compiler/compiler.cjs +1 -0
  25. package/dist/compiler/compiler.cjs.map +1 -1
  26. package/dist/compiler/compiler.js +1 -0
  27. package/dist/compiler/compiler.js.map +1 -1
  28. package/dist/compiler/compileroptions.cjs +1 -0
  29. package/dist/compiler/compileroptions.cjs.map +1 -1
  30. package/dist/compiler/compileroptions.js +1 -1
  31. package/dist/compiler/compileroptions.js.map +1 -1
  32. package/dist/compiler/main.cjs +5 -3
  33. package/dist/compiler/main.cjs.map +1 -1
  34. package/dist/compiler/main.js +1 -1
  35. package/dist/compiler/main.js.map +1 -1
  36. package/dist/compiler/pack_limits.cjs +2 -0
  37. package/dist/compiler/pack_limits.cjs.map +1 -1
  38. package/dist/compiler/pack_limits.js +1 -1
  39. package/dist/compiler/pack_limits.js.map +1 -1
  40. package/dist/compiler/package.cjs.map +1 -1
  41. package/dist/compiler/package.js.map +1 -1
  42. package/dist/compiler/source.cjs +10 -1
  43. package/dist/compiler/source.cjs.map +1 -1
  44. package/dist/compiler/source.js +8 -1
  45. package/dist/compiler/source.js.map +1 -1
  46. package/dist/compiler/template.cjs +0 -1
  47. package/dist/compiler/template.cjs.map +1 -1
  48. package/dist/compiler/template.js.map +1 -1
  49. package/dist/compiler/util.cjs +3 -3
  50. package/dist/compiler/util.cjs.map +1 -1
  51. package/dist/compiler/util.js.map +1 -1
  52. package/dist/shared/basecmd.cjs +0 -1
  53. package/dist/shared/basecmd.cjs.map +1 -1
  54. package/dist/shared/basecmd.js.map +1 -1
  55. package/dist/shared/dump.cjs.map +1 -1
  56. package/dist/shared/dump.js.map +1 -1
  57. package/dist/shared/proc.cjs +0 -1
  58. package/dist/shared/proc.cjs.map +1 -1
  59. package/dist/shared/proc.js.map +1 -1
  60. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"basecmd.cjs","names":["Option"],"sources":["../../src/shared/basecmd.ts"],"sourcesContent":["import { Command, Option } from \"commander\";\n\n/** Add one or more groups of options to a command, preserving group order. */\nexport function addOptions(cmd: Command, ...optionGroups: Option[][]): Command {\n for (const group of optionGroups) {\n for (const opt of group) cmd.addOption(opt);\n }\n return cmd;\n}\n\n// Comma-delimited, repeatable collector: `--tags-additional-args -e,-x` and/or\n// repeated occurrences accumulate into a single string[].\nfunction collectComma(value: string, previous: string[]): string[] {\n return previous.concat(value.split(\",\"));\n}\n\nexport const GlobalOptions = (): Option[] => [\n new Option(\"--log-level <level>\", \"logging level\")\n .choices([\"error\", \"warn\", \"info\", \"debug\"])\n .default(\"info\"),\n];\n\nexport const CtagsOptions = (): Option[] => [\n new Option(\"--generate-tags\", \"generate tags, default false\").default(false),\n new Option(\n \"--tags-file <path>\",\n 'where to put \".tags\" file, it should be a root of VS Code project',\n ).default(\"../../.tags\"), // usually a user opens a directory with all blocks\n new Option(\n \"--tags-additional-args <args>\",\n \"additional flags for universal-ctags command: e.g. -e for emacs\",\n )\n .argParser(collectComma)\n .default([] as string[]),\n];\n\nexport const ArtifactTypeOptions = (): Option[] => [\n new Option(\"-t, --type <type>\", \"artifact type\")\n .choices([\"all\", \"library\", \"template\", \"test\", \"software\", \"asset\", \"wasm\"])\n .default(\"all\"),\n];\n"],"mappings":";;;;AAGA,SAAgB,WAAW,KAAc,GAAG,cAAmC;AAC7E,MAAK,MAAM,SAAS,aAClB,MAAK,MAAM,OAAO,MAAO,KAAI,UAAU,IAAI;AAE7C,QAAO;;AAKT,SAAS,aAAa,OAAe,UAA8B;AACjE,QAAO,SAAS,OAAO,MAAM,MAAM,IAAI,CAAC;;AAG1C,MAAa,sBAAgC,CAC3C,IAAIA,UAAAA,OAAO,uBAAuB,gBAAgB,CAC/C,QAAQ;CAAC;CAAS;CAAQ;CAAQ;CAAQ,CAAC,CAC3C,QAAQ,OAAO,CACnB;AAED,MAAa,qBAA+B;CAC1C,IAAIA,UAAAA,OAAO,mBAAmB,+BAA+B,CAAC,QAAQ,MAAM;CAC5E,IAAIA,UAAAA,OACF,sBACA,sEACD,CAAC,QAAQ,cAAc;CACxB,IAAIA,UAAAA,OACF,iCACA,kEACD,CACE,UAAU,aAAa,CACvB,QAAQ,EAAE,CAAa;CAC3B;AAED,MAAa,4BAAsC,CACjD,IAAIA,UAAAA,OAAO,qBAAqB,gBAAgB,CAC7C,QAAQ;CAAC;CAAO;CAAW;CAAY;CAAQ;CAAY;CAAS;CAAO,CAAC,CAC5E,QAAQ,MAAM,CAClB"}
1
+ {"version":3,"file":"basecmd.cjs","names":["Option"],"sources":["../../src/shared/basecmd.ts"],"sourcesContent":["import { Command, Option } from \"commander\";\n\n/** Add one or more groups of options to a command, preserving group order. */\nexport function addOptions(cmd: Command, ...optionGroups: Option[][]): Command {\n for (const group of optionGroups) {\n for (const opt of group) cmd.addOption(opt);\n }\n return cmd;\n}\n\n// Comma-delimited, repeatable collector: `--tags-additional-args -e,-x` and/or\n// repeated occurrences accumulate into a single string[].\nfunction collectComma(value: string, previous: string[]): string[] {\n return previous.concat(value.split(\",\"));\n}\n\nexport const GlobalOptions = (): Option[] => [\n new Option(\"--log-level <level>\", \"logging level\")\n .choices([\"error\", \"warn\", \"info\", \"debug\"])\n .default(\"info\"),\n];\n\nexport const CtagsOptions = (): Option[] => [\n new Option(\"--generate-tags\", \"generate tags, default false\").default(false),\n new Option(\n \"--tags-file <path>\",\n 'where to put \".tags\" file, it should be a root of VS Code project',\n ).default(\"../../.tags\"), // usually a user opens a directory with all blocks\n new Option(\n \"--tags-additional-args <args>\",\n \"additional flags for universal-ctags command: e.g. -e for emacs\",\n )\n .argParser(collectComma)\n .default([] as string[]),\n];\n\nexport const ArtifactTypeOptions = (): Option[] => [\n new Option(\"-t, --type <type>\", \"artifact type\")\n .choices([\"all\", \"library\", \"template\", \"test\", \"software\", \"asset\", \"wasm\"])\n .default(\"all\"),\n];\n"],"mappings":";;;AAGA,SAAgB,WAAW,KAAc,GAAG,cAAmC;CAC7E,KAAK,MAAM,SAAS,cAClB,KAAK,MAAM,OAAO,OAAO,IAAI,UAAU,GAAG;CAE5C,OAAO;AACT;AAIA,SAAS,aAAa,OAAe,UAA8B;CACjE,OAAO,SAAS,OAAO,MAAM,MAAM,GAAG,CAAC;AACzC;AAEA,MAAa,sBAAgC,CAC3C,IAAIA,UAAAA,OAAO,uBAAuB,eAAe,CAAC,CAC/C,QAAQ;CAAC;CAAS;CAAQ;CAAQ;AAAO,CAAC,CAAC,CAC3C,QAAQ,MAAM,CACnB;AAEA,MAAa,qBAA+B;CAC1C,IAAIA,UAAAA,OAAO,mBAAmB,8BAA8B,CAAC,CAAC,QAAQ,KAAK;CAC3E,IAAIA,UAAAA,OACF,sBACA,qEACF,CAAC,CAAC,QAAQ,aAAa;CACvB,IAAIA,UAAAA,OACF,iCACA,iEACF,CAAC,CACE,UAAU,YAAY,CAAC,CACvB,QAAQ,CAAC,CAAa;AAC3B;AAEA,MAAa,4BAAsC,CACjD,IAAIA,UAAAA,OAAO,qBAAqB,eAAe,CAAC,CAC7C,QAAQ;CAAC;CAAO;CAAW;CAAY;CAAQ;CAAY;CAAS;AAAM,CAAC,CAAC,CAC5E,QAAQ,KAAK,CAClB"}
@@ -1 +1 @@
1
- {"version":3,"file":"basecmd.js","names":[],"sources":["../../src/shared/basecmd.ts"],"sourcesContent":["import { Command, Option } from \"commander\";\n\n/** Add one or more groups of options to a command, preserving group order. */\nexport function addOptions(cmd: Command, ...optionGroups: Option[][]): Command {\n for (const group of optionGroups) {\n for (const opt of group) cmd.addOption(opt);\n }\n return cmd;\n}\n\n// Comma-delimited, repeatable collector: `--tags-additional-args -e,-x` and/or\n// repeated occurrences accumulate into a single string[].\nfunction collectComma(value: string, previous: string[]): string[] {\n return previous.concat(value.split(\",\"));\n}\n\nexport const GlobalOptions = (): Option[] => [\n new Option(\"--log-level <level>\", \"logging level\")\n .choices([\"error\", \"warn\", \"info\", \"debug\"])\n .default(\"info\"),\n];\n\nexport const CtagsOptions = (): Option[] => [\n new Option(\"--generate-tags\", \"generate tags, default false\").default(false),\n new Option(\n \"--tags-file <path>\",\n 'where to put \".tags\" file, it should be a root of VS Code project',\n ).default(\"../../.tags\"), // usually a user opens a directory with all blocks\n new Option(\n \"--tags-additional-args <args>\",\n \"additional flags for universal-ctags command: e.g. -e for emacs\",\n )\n .argParser(collectComma)\n .default([] as string[]),\n];\n\nexport const ArtifactTypeOptions = (): Option[] => [\n new Option(\"-t, --type <type>\", \"artifact type\")\n .choices([\"all\", \"library\", \"template\", \"test\", \"software\", \"asset\", \"wasm\"])\n .default(\"all\"),\n];\n"],"mappings":";;;AAGA,SAAgB,WAAW,KAAc,GAAG,cAAmC;AAC7E,MAAK,MAAM,SAAS,aAClB,MAAK,MAAM,OAAO,MAAO,KAAI,UAAU,IAAI;AAE7C,QAAO;;AAKT,SAAS,aAAa,OAAe,UAA8B;AACjE,QAAO,SAAS,OAAO,MAAM,MAAM,IAAI,CAAC;;AAG1C,MAAa,sBAAgC,CAC3C,IAAI,OAAO,uBAAuB,gBAAgB,CAC/C,QAAQ;CAAC;CAAS;CAAQ;CAAQ;CAAQ,CAAC,CAC3C,QAAQ,OAAO,CACnB;AAED,MAAa,qBAA+B;CAC1C,IAAI,OAAO,mBAAmB,+BAA+B,CAAC,QAAQ,MAAM;CAC5E,IAAI,OACF,sBACA,sEACD,CAAC,QAAQ,cAAc;CACxB,IAAI,OACF,iCACA,kEACD,CACE,UAAU,aAAa,CACvB,QAAQ,EAAE,CAAa;CAC3B;AAED,MAAa,4BAAsC,CACjD,IAAI,OAAO,qBAAqB,gBAAgB,CAC7C,QAAQ;CAAC;CAAO;CAAW;CAAY;CAAQ;CAAY;CAAS;CAAO,CAAC,CAC5E,QAAQ,MAAM,CAClB"}
1
+ {"version":3,"file":"basecmd.js","names":[],"sources":["../../src/shared/basecmd.ts"],"sourcesContent":["import { Command, Option } from \"commander\";\n\n/** Add one or more groups of options to a command, preserving group order. */\nexport function addOptions(cmd: Command, ...optionGroups: Option[][]): Command {\n for (const group of optionGroups) {\n for (const opt of group) cmd.addOption(opt);\n }\n return cmd;\n}\n\n// Comma-delimited, repeatable collector: `--tags-additional-args -e,-x` and/or\n// repeated occurrences accumulate into a single string[].\nfunction collectComma(value: string, previous: string[]): string[] {\n return previous.concat(value.split(\",\"));\n}\n\nexport const GlobalOptions = (): Option[] => [\n new Option(\"--log-level <level>\", \"logging level\")\n .choices([\"error\", \"warn\", \"info\", \"debug\"])\n .default(\"info\"),\n];\n\nexport const CtagsOptions = (): Option[] => [\n new Option(\"--generate-tags\", \"generate tags, default false\").default(false),\n new Option(\n \"--tags-file <path>\",\n 'where to put \".tags\" file, it should be a root of VS Code project',\n ).default(\"../../.tags\"), // usually a user opens a directory with all blocks\n new Option(\n \"--tags-additional-args <args>\",\n \"additional flags for universal-ctags command: e.g. -e for emacs\",\n )\n .argParser(collectComma)\n .default([] as string[]),\n];\n\nexport const ArtifactTypeOptions = (): Option[] => [\n new Option(\"-t, --type <type>\", \"artifact type\")\n .choices([\"all\", \"library\", \"template\", \"test\", \"software\", \"asset\", \"wasm\"])\n .default(\"all\"),\n];\n"],"mappings":";;;AAGA,SAAgB,WAAW,KAAc,GAAG,cAAmC;CAC7E,KAAK,MAAM,SAAS,cAClB,KAAK,MAAM,OAAO,OAAO,IAAI,UAAU,GAAG;CAE5C,OAAO;AACT;AAIA,SAAS,aAAa,OAAe,UAA8B;CACjE,OAAO,SAAS,OAAO,MAAM,MAAM,GAAG,CAAC;AACzC;AAEA,MAAa,sBAAgC,CAC3C,IAAI,OAAO,uBAAuB,eAAe,CAAC,CAC/C,QAAQ;CAAC;CAAS;CAAQ;CAAQ;AAAO,CAAC,CAAC,CAC3C,QAAQ,MAAM,CACnB;AAEA,MAAa,qBAA+B;CAC1C,IAAI,OAAO,mBAAmB,8BAA8B,CAAC,CAAC,QAAQ,KAAK;CAC3E,IAAI,OACF,sBACA,qEACF,CAAC,CAAC,QAAQ,aAAa;CACvB,IAAI,OACF,iCACA,iEACF,CAAC,CACE,UAAU,YAAY,CAAC,CACvB,QAAQ,CAAC,CAAa;AAC3B;AAEA,MAAa,4BAAsC,CACjD,IAAI,OAAO,qBAAqB,eAAe,CAAC,CAC7C,QAAQ;CAAC;CAAO;CAAW;CAAY;CAAQ;CAAY;CAAS;AAAM,CAAC,CAAC,CAC5E,QAAQ,KAAK,CAClB"}
@@ -1 +1 @@
1
- {"version":3,"file":"dump.cjs","names":["getPackageInfo","parseSources","newCompiler","typedArtifactNameToString","compile"],"sources":["../../src/shared/dump.ts"],"sourcesContent":["import type winston from \"winston\";\nimport { getPackageInfo, newCompiler, compile, parseSources } from \"../compiler/main\";\nimport type { ArtifactType } from \"../compiler/package\";\nimport { typedArtifactNameToString } from \"../compiler/package\";\nimport type { TemplateDataV3 } from \"@milaboratories/pl-model-backend\";\n\nexport function dumpArtifacts(\n logger: winston.Logger,\n stream: NodeJS.WritableStream,\n aType?: ArtifactType,\n): void {\n const packageInfo = getPackageInfo(process.cwd(), logger);\n\n const sources = parseSources(logger, packageInfo, \"dist\", \"src\", \"\");\n\n const compiler = newCompiler(logger, packageInfo, \"dist\");\n\n // group output by type:\n // - all libs\n // - all templates\n // - all software\n // - all assets\n // - all tests\n\n // Libs\n\n if (!aType || aType === \"library\") {\n for (const lib of compiler.allLibs()) {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(lib.fullName)}`);\n stream.write(JSON.stringify(lib) + \"\\n\");\n }\n\n for (const src of sources) {\n if (src.fullName.type === \"library\") {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(src.fullName)}`);\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n }\n\n // Templates\n\n if (!aType || aType === \"template\") {\n for (const tpl of compiler.allTemplates()) {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(tpl.fullName)}`);\n stream.write(JSON.stringify(tpl) + \"\\n\");\n }\n\n for (const src of sources) {\n if (src.fullName.type === \"template\") {\n logger.debug(\n `Dumping to pl-tester: ${typedArtifactNameToString(src.fullName)} ${src.srcName}`,\n );\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n }\n\n // Software\n\n if (!aType || aType === \"software\") {\n for (const sw of compiler.allSoftware()) {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(sw.fullName)}`);\n stream.write(JSON.stringify(sw) + \"\\n\");\n }\n\n for (const src of sources) {\n if (src.fullName.type === \"software\") {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(src.fullName)}`);\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n }\n\n // Assets\n\n if (!aType || aType === \"asset\") {\n for (const asset of compiler.allAssets()) {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(asset.fullName)}`);\n stream.write(JSON.stringify(asset) + \"\\n\");\n }\n\n for (const src of sources) {\n if (src.fullName.type === \"asset\") {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(src.fullName)}`);\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n }\n\n // Wasm\n\n if (!aType || aType === \"wasm\") {\n for (const wasm of compiler.allWasm()) {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(wasm.fullName)}`);\n stream.write(JSON.stringify(wasm) + \"\\n\");\n }\n }\n\n // Tests\n\n if (!aType || aType === \"test\") {\n for (const src of sources) {\n if (src.fullName.type === \"test\") {\n logger.debug(\n `Dumping to pl-tester: ${typedArtifactNameToString(src.fullName)} ${src.srcName}`,\n );\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n }\n}\n\nexport function dumpLibs(\n logger: winston.Logger,\n stream: NodeJS.WritableStream,\n recursive: boolean,\n): void {\n const packageInfo = getPackageInfo(process.cwd(), logger);\n\n const sources = parseSources(logger, packageInfo, \"dist\", \"src\", \"\");\n\n if (!recursive) {\n for (const src of sources) {\n if (src.fullName.type === \"library\") {\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n\n return;\n }\n\n const compiler = newCompiler(logger, packageInfo, \"dist\");\n for (const src of sources) {\n if (src.fullName.type === \"library\") {\n compiler.addLib(src);\n }\n }\n\n for (const lib of compiler.allLibs()) {\n stream.write(JSON.stringify(lib) + \"\\n\");\n }\n}\n\nexport function dumpSoftware(logger: winston.Logger, stream: NodeJS.WritableStream): void {\n const packageInfo = getPackageInfo(process.cwd(), logger);\n const compiled = compile(logger, packageInfo, \"dist\");\n\n const hashes = new Set<string>();\n const sourceMap = new Map<string, string>();\n for (const tpl of compiled.templates) {\n Object.entries(tpl.data.hashToSource).forEach(([hash, src]) => sourceMap.set(hash, src));\n getTemplateSoftware(tpl.data.template).forEach((hash) => hashes.add(hash));\n }\n\n for (const hash of hashes) {\n const src = sourceMap.get(hash);\n if (src) {\n if (Object.hasOwn(JSON.parse(src) as object, \"asset\")) {\n // Skip assets. They are kept in templates software because of backward compatibility with backend.\n continue;\n }\n stream.write(src);\n if (!src.endsWith(\"\\n\")) {\n stream.write(\"\\n\");\n }\n } else {\n throw new Error(`Source not found for hash: ${hash}`);\n }\n }\n}\n\nfunction getTemplateSoftware(tpl: TemplateDataV3): Set<string> {\n const hashes = new Set<string>();\n for (const sw of Object.values(tpl.software)) {\n hashes.add(sw.sourceHash);\n }\n for (const subTpl of Object.values(tpl.templates)) {\n getTemplateSoftware(subTpl).forEach((hash) => hashes.add(hash));\n }\n\n return new Set(hashes);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"dump.cjs","names":["getPackageInfo","parseSources","newCompiler","typedArtifactNameToString","compile"],"sources":["../../src/shared/dump.ts"],"sourcesContent":["import type winston from \"winston\";\nimport { getPackageInfo, newCompiler, compile, parseSources } from \"../compiler/main\";\nimport type { ArtifactType } from \"../compiler/package\";\nimport { typedArtifactNameToString } from \"../compiler/package\";\nimport type { TemplateDataV3 } from \"@milaboratories/pl-model-backend\";\n\nexport function dumpArtifacts(\n logger: winston.Logger,\n stream: NodeJS.WritableStream,\n aType?: ArtifactType,\n): void {\n const packageInfo = getPackageInfo(process.cwd(), logger);\n\n const sources = parseSources(logger, packageInfo, \"dist\", \"src\", \"\");\n\n const compiler = newCompiler(logger, packageInfo, \"dist\");\n\n // group output by type:\n // - all libs\n // - all templates\n // - all software\n // - all assets\n // - all tests\n\n // Libs\n\n if (!aType || aType === \"library\") {\n for (const lib of compiler.allLibs()) {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(lib.fullName)}`);\n stream.write(JSON.stringify(lib) + \"\\n\");\n }\n\n for (const src of sources) {\n if (src.fullName.type === \"library\") {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(src.fullName)}`);\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n }\n\n // Templates\n\n if (!aType || aType === \"template\") {\n for (const tpl of compiler.allTemplates()) {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(tpl.fullName)}`);\n stream.write(JSON.stringify(tpl) + \"\\n\");\n }\n\n for (const src of sources) {\n if (src.fullName.type === \"template\") {\n logger.debug(\n `Dumping to pl-tester: ${typedArtifactNameToString(src.fullName)} ${src.srcName}`,\n );\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n }\n\n // Software\n\n if (!aType || aType === \"software\") {\n for (const sw of compiler.allSoftware()) {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(sw.fullName)}`);\n stream.write(JSON.stringify(sw) + \"\\n\");\n }\n\n for (const src of sources) {\n if (src.fullName.type === \"software\") {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(src.fullName)}`);\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n }\n\n // Assets\n\n if (!aType || aType === \"asset\") {\n for (const asset of compiler.allAssets()) {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(asset.fullName)}`);\n stream.write(JSON.stringify(asset) + \"\\n\");\n }\n\n for (const src of sources) {\n if (src.fullName.type === \"asset\") {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(src.fullName)}`);\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n }\n\n // Wasm\n\n if (!aType || aType === \"wasm\") {\n for (const wasm of compiler.allWasm()) {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(wasm.fullName)}`);\n stream.write(JSON.stringify(wasm) + \"\\n\");\n }\n }\n\n // Tests\n\n if (!aType || aType === \"test\") {\n for (const src of sources) {\n if (src.fullName.type === \"test\") {\n logger.debug(\n `Dumping to pl-tester: ${typedArtifactNameToString(src.fullName)} ${src.srcName}`,\n );\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n }\n}\n\nexport function dumpLibs(\n logger: winston.Logger,\n stream: NodeJS.WritableStream,\n recursive: boolean,\n): void {\n const packageInfo = getPackageInfo(process.cwd(), logger);\n\n const sources = parseSources(logger, packageInfo, \"dist\", \"src\", \"\");\n\n if (!recursive) {\n for (const src of sources) {\n if (src.fullName.type === \"library\") {\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n\n return;\n }\n\n const compiler = newCompiler(logger, packageInfo, \"dist\");\n for (const src of sources) {\n if (src.fullName.type === \"library\") {\n compiler.addLib(src);\n }\n }\n\n for (const lib of compiler.allLibs()) {\n stream.write(JSON.stringify(lib) + \"\\n\");\n }\n}\n\nexport function dumpSoftware(logger: winston.Logger, stream: NodeJS.WritableStream): void {\n const packageInfo = getPackageInfo(process.cwd(), logger);\n const compiled = compile(logger, packageInfo, \"dist\");\n\n const hashes = new Set<string>();\n const sourceMap = new Map<string, string>();\n for (const tpl of compiled.templates) {\n Object.entries(tpl.data.hashToSource).forEach(([hash, src]) => sourceMap.set(hash, src));\n getTemplateSoftware(tpl.data.template).forEach((hash) => hashes.add(hash));\n }\n\n for (const hash of hashes) {\n const src = sourceMap.get(hash);\n if (src) {\n if (Object.hasOwn(JSON.parse(src) as object, \"asset\")) {\n // Skip assets. They are kept in templates software because of backward compatibility with backend.\n continue;\n }\n stream.write(src);\n if (!src.endsWith(\"\\n\")) {\n stream.write(\"\\n\");\n }\n } else {\n throw new Error(`Source not found for hash: ${hash}`);\n }\n }\n}\n\nfunction getTemplateSoftware(tpl: TemplateDataV3): Set<string> {\n const hashes = new Set<string>();\n for (const sw of Object.values(tpl.software)) {\n hashes.add(sw.sourceHash);\n }\n for (const subTpl of Object.values(tpl.templates)) {\n getTemplateSoftware(subTpl).forEach((hash) => hashes.add(hash));\n }\n\n return new Set(hashes);\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dump.js","names":[],"sources":["../../src/shared/dump.ts"],"sourcesContent":["import type winston from \"winston\";\nimport { getPackageInfo, newCompiler, compile, parseSources } from \"../compiler/main\";\nimport type { ArtifactType } from \"../compiler/package\";\nimport { typedArtifactNameToString } from \"../compiler/package\";\nimport type { TemplateDataV3 } from \"@milaboratories/pl-model-backend\";\n\nexport function dumpArtifacts(\n logger: winston.Logger,\n stream: NodeJS.WritableStream,\n aType?: ArtifactType,\n): void {\n const packageInfo = getPackageInfo(process.cwd(), logger);\n\n const sources = parseSources(logger, packageInfo, \"dist\", \"src\", \"\");\n\n const compiler = newCompiler(logger, packageInfo, \"dist\");\n\n // group output by type:\n // - all libs\n // - all templates\n // - all software\n // - all assets\n // - all tests\n\n // Libs\n\n if (!aType || aType === \"library\") {\n for (const lib of compiler.allLibs()) {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(lib.fullName)}`);\n stream.write(JSON.stringify(lib) + \"\\n\");\n }\n\n for (const src of sources) {\n if (src.fullName.type === \"library\") {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(src.fullName)}`);\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n }\n\n // Templates\n\n if (!aType || aType === \"template\") {\n for (const tpl of compiler.allTemplates()) {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(tpl.fullName)}`);\n stream.write(JSON.stringify(tpl) + \"\\n\");\n }\n\n for (const src of sources) {\n if (src.fullName.type === \"template\") {\n logger.debug(\n `Dumping to pl-tester: ${typedArtifactNameToString(src.fullName)} ${src.srcName}`,\n );\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n }\n\n // Software\n\n if (!aType || aType === \"software\") {\n for (const sw of compiler.allSoftware()) {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(sw.fullName)}`);\n stream.write(JSON.stringify(sw) + \"\\n\");\n }\n\n for (const src of sources) {\n if (src.fullName.type === \"software\") {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(src.fullName)}`);\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n }\n\n // Assets\n\n if (!aType || aType === \"asset\") {\n for (const asset of compiler.allAssets()) {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(asset.fullName)}`);\n stream.write(JSON.stringify(asset) + \"\\n\");\n }\n\n for (const src of sources) {\n if (src.fullName.type === \"asset\") {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(src.fullName)}`);\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n }\n\n // Wasm\n\n if (!aType || aType === \"wasm\") {\n for (const wasm of compiler.allWasm()) {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(wasm.fullName)}`);\n stream.write(JSON.stringify(wasm) + \"\\n\");\n }\n }\n\n // Tests\n\n if (!aType || aType === \"test\") {\n for (const src of sources) {\n if (src.fullName.type === \"test\") {\n logger.debug(\n `Dumping to pl-tester: ${typedArtifactNameToString(src.fullName)} ${src.srcName}`,\n );\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n }\n}\n\nexport function dumpLibs(\n logger: winston.Logger,\n stream: NodeJS.WritableStream,\n recursive: boolean,\n): void {\n const packageInfo = getPackageInfo(process.cwd(), logger);\n\n const sources = parseSources(logger, packageInfo, \"dist\", \"src\", \"\");\n\n if (!recursive) {\n for (const src of sources) {\n if (src.fullName.type === \"library\") {\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n\n return;\n }\n\n const compiler = newCompiler(logger, packageInfo, \"dist\");\n for (const src of sources) {\n if (src.fullName.type === \"library\") {\n compiler.addLib(src);\n }\n }\n\n for (const lib of compiler.allLibs()) {\n stream.write(JSON.stringify(lib) + \"\\n\");\n }\n}\n\nexport function dumpSoftware(logger: winston.Logger, stream: NodeJS.WritableStream): void {\n const packageInfo = getPackageInfo(process.cwd(), logger);\n const compiled = compile(logger, packageInfo, \"dist\");\n\n const hashes = new Set<string>();\n const sourceMap = new Map<string, string>();\n for (const tpl of compiled.templates) {\n Object.entries(tpl.data.hashToSource).forEach(([hash, src]) => sourceMap.set(hash, src));\n getTemplateSoftware(tpl.data.template).forEach((hash) => hashes.add(hash));\n }\n\n for (const hash of hashes) {\n const src = sourceMap.get(hash);\n if (src) {\n if (Object.hasOwn(JSON.parse(src) as object, \"asset\")) {\n // Skip assets. They are kept in templates software because of backward compatibility with backend.\n continue;\n }\n stream.write(src);\n if (!src.endsWith(\"\\n\")) {\n stream.write(\"\\n\");\n }\n } else {\n throw new Error(`Source not found for hash: ${hash}`);\n }\n }\n}\n\nfunction getTemplateSoftware(tpl: TemplateDataV3): Set<string> {\n const hashes = new Set<string>();\n for (const sw of Object.values(tpl.software)) {\n hashes.add(sw.sourceHash);\n }\n for (const subTpl of Object.values(tpl.templates)) {\n getTemplateSoftware(subTpl).forEach((hash) => hashes.add(hash));\n }\n\n return new Set(hashes);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"dump.js","names":[],"sources":["../../src/shared/dump.ts"],"sourcesContent":["import type winston from \"winston\";\nimport { getPackageInfo, newCompiler, compile, parseSources } from \"../compiler/main\";\nimport type { ArtifactType } from \"../compiler/package\";\nimport { typedArtifactNameToString } from \"../compiler/package\";\nimport type { TemplateDataV3 } from \"@milaboratories/pl-model-backend\";\n\nexport function dumpArtifacts(\n logger: winston.Logger,\n stream: NodeJS.WritableStream,\n aType?: ArtifactType,\n): void {\n const packageInfo = getPackageInfo(process.cwd(), logger);\n\n const sources = parseSources(logger, packageInfo, \"dist\", \"src\", \"\");\n\n const compiler = newCompiler(logger, packageInfo, \"dist\");\n\n // group output by type:\n // - all libs\n // - all templates\n // - all software\n // - all assets\n // - all tests\n\n // Libs\n\n if (!aType || aType === \"library\") {\n for (const lib of compiler.allLibs()) {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(lib.fullName)}`);\n stream.write(JSON.stringify(lib) + \"\\n\");\n }\n\n for (const src of sources) {\n if (src.fullName.type === \"library\") {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(src.fullName)}`);\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n }\n\n // Templates\n\n if (!aType || aType === \"template\") {\n for (const tpl of compiler.allTemplates()) {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(tpl.fullName)}`);\n stream.write(JSON.stringify(tpl) + \"\\n\");\n }\n\n for (const src of sources) {\n if (src.fullName.type === \"template\") {\n logger.debug(\n `Dumping to pl-tester: ${typedArtifactNameToString(src.fullName)} ${src.srcName}`,\n );\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n }\n\n // Software\n\n if (!aType || aType === \"software\") {\n for (const sw of compiler.allSoftware()) {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(sw.fullName)}`);\n stream.write(JSON.stringify(sw) + \"\\n\");\n }\n\n for (const src of sources) {\n if (src.fullName.type === \"software\") {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(src.fullName)}`);\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n }\n\n // Assets\n\n if (!aType || aType === \"asset\") {\n for (const asset of compiler.allAssets()) {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(asset.fullName)}`);\n stream.write(JSON.stringify(asset) + \"\\n\");\n }\n\n for (const src of sources) {\n if (src.fullName.type === \"asset\") {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(src.fullName)}`);\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n }\n\n // Wasm\n\n if (!aType || aType === \"wasm\") {\n for (const wasm of compiler.allWasm()) {\n logger.debug(`Dumping to pl-tester: ${typedArtifactNameToString(wasm.fullName)}`);\n stream.write(JSON.stringify(wasm) + \"\\n\");\n }\n }\n\n // Tests\n\n if (!aType || aType === \"test\") {\n for (const src of sources) {\n if (src.fullName.type === \"test\") {\n logger.debug(\n `Dumping to pl-tester: ${typedArtifactNameToString(src.fullName)} ${src.srcName}`,\n );\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n }\n}\n\nexport function dumpLibs(\n logger: winston.Logger,\n stream: NodeJS.WritableStream,\n recursive: boolean,\n): void {\n const packageInfo = getPackageInfo(process.cwd(), logger);\n\n const sources = parseSources(logger, packageInfo, \"dist\", \"src\", \"\");\n\n if (!recursive) {\n for (const src of sources) {\n if (src.fullName.type === \"library\") {\n stream.write(JSON.stringify(src) + \"\\n\");\n }\n }\n\n return;\n }\n\n const compiler = newCompiler(logger, packageInfo, \"dist\");\n for (const src of sources) {\n if (src.fullName.type === \"library\") {\n compiler.addLib(src);\n }\n }\n\n for (const lib of compiler.allLibs()) {\n stream.write(JSON.stringify(lib) + \"\\n\");\n }\n}\n\nexport function dumpSoftware(logger: winston.Logger, stream: NodeJS.WritableStream): void {\n const packageInfo = getPackageInfo(process.cwd(), logger);\n const compiled = compile(logger, packageInfo, \"dist\");\n\n const hashes = new Set<string>();\n const sourceMap = new Map<string, string>();\n for (const tpl of compiled.templates) {\n Object.entries(tpl.data.hashToSource).forEach(([hash, src]) => sourceMap.set(hash, src));\n getTemplateSoftware(tpl.data.template).forEach((hash) => hashes.add(hash));\n }\n\n for (const hash of hashes) {\n const src = sourceMap.get(hash);\n if (src) {\n if (Object.hasOwn(JSON.parse(src) as object, \"asset\")) {\n // Skip assets. They are kept in templates software because of backward compatibility with backend.\n continue;\n }\n stream.write(src);\n if (!src.endsWith(\"\\n\")) {\n stream.write(\"\\n\");\n }\n } else {\n throw new Error(`Source not found for hash: ${hash}`);\n }\n }\n}\n\nfunction getTemplateSoftware(tpl: TemplateDataV3): Set<string> {\n const hashes = new Set<string>();\n for (const sw of Object.values(tpl.software)) {\n hashes.add(sw.sourceHash);\n }\n for (const subTpl of Object.values(tpl.templates)) {\n getTemplateSoftware(subTpl).forEach((hash) => hashes.add(hash));\n }\n\n return new Set(hashes);\n}\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- require("../_virtual/_rolldown/runtime.cjs");
2
1
  let node_child_process = require("node:child_process");
3
2
  //#region src/shared/proc.ts
4
3
  function spawnEmbed(cmd, ...args) {
@@ -1 +1 @@
1
- {"version":3,"file":"proc.cjs","names":[],"sources":["../../src/shared/proc.ts"],"sourcesContent":["import type { ChildProcess, ChildProcessByStdio } from \"node:child_process\";\nimport { spawn } from \"node:child_process\";\nimport type { Writable } from \"node:stream\";\n\nexport function spawnEmbed(\n cmd: string,\n ...args: string[]\n): ChildProcessByStdio<Writable, null, null> {\n const p = spawn(cmd, args, { stdio: [\"pipe\", \"inherit\", \"inherit\"] });\n\n p.stdin.on(\"error\", (err: Error) => {\n const systemError = err as NodeJS.ErrnoException;\n if (systemError.code === \"EPIPE\") {\n // ignore EPIPE error as it stands for broken command run.\n // The command will write normal problem description by itself.\n }\n });\n\n return p;\n}\n\nexport function waitFor(p: ChildProcess): Promise<number> {\n return new Promise((resolve, reject) => {\n p.on(\"close\", (code: number) => {\n resolve(code);\n });\n p.on(\"error\", (err) => {\n reject(err);\n });\n });\n}\n"],"mappings":";;;AAIA,SAAgB,WACd,KACA,GAAG,MACwC;CAC3C,MAAM,KAAA,GAAA,mBAAA,OAAU,KAAK,MAAM,EAAE,OAAO;EAAC;EAAQ;EAAW;EAAU,EAAE,CAAC;AAErE,GAAE,MAAM,GAAG,UAAU,QAAe;AAElC,MADoB,IACJ,SAAS,SAAS;GAIlC;AAEF,QAAO;;AAGT,SAAgB,QAAQ,GAAkC;AACxD,QAAO,IAAI,SAAS,SAAS,WAAW;AACtC,IAAE,GAAG,UAAU,SAAiB;AAC9B,WAAQ,KAAK;IACb;AACF,IAAE,GAAG,UAAU,QAAQ;AACrB,UAAO,IAAI;IACX;GACF"}
1
+ {"version":3,"file":"proc.cjs","names":["systemError"],"sources":["../../src/shared/proc.ts"],"sourcesContent":["import type { ChildProcess, ChildProcessByStdio } from \"node:child_process\";\nimport { spawn } from \"node:child_process\";\nimport type { Writable } from \"node:stream\";\n\nexport function spawnEmbed(\n cmd: string,\n ...args: string[]\n): ChildProcessByStdio<Writable, null, null> {\n const p = spawn(cmd, args, { stdio: [\"pipe\", \"inherit\", \"inherit\"] });\n\n p.stdin.on(\"error\", (err: Error) => {\n const systemError = err as NodeJS.ErrnoException;\n if (systemError.code === \"EPIPE\") {\n // ignore EPIPE error as it stands for broken command run.\n // The command will write normal problem description by itself.\n }\n });\n\n return p;\n}\n\nexport function waitFor(p: ChildProcess): Promise<number> {\n return new Promise((resolve, reject) => {\n p.on(\"close\", (code: number) => {\n resolve(code);\n });\n p.on(\"error\", (err) => {\n reject(err);\n });\n });\n}\n"],"mappings":";;AAIA,SAAgB,WACd,KACA,GAAG,MACwC;CAC3C,MAAM,KAAA,GAAA,mBAAA,MAAA,CAAU,KAAK,MAAM,EAAE,OAAO;EAAC;EAAQ;EAAW;CAAS,EAAE,CAAC;CAEpE,EAAE,MAAM,GAAG,UAAU,QAAe;EAElC,IAAIA,IAAY,SAAS,SAAS,CAGlC;CACF,CAAC;CAED,OAAO;AACT;AAEA,SAAgB,QAAQ,GAAkC;CACxD,OAAO,IAAI,SAAS,SAAS,WAAW;EACtC,EAAE,GAAG,UAAU,SAAiB;GAC9B,QAAQ,IAAI;EACd,CAAC;EACD,EAAE,GAAG,UAAU,QAAQ;GACrB,OAAO,GAAG;EACZ,CAAC;CACH,CAAC;AACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"proc.js","names":[],"sources":["../../src/shared/proc.ts"],"sourcesContent":["import type { ChildProcess, ChildProcessByStdio } from \"node:child_process\";\nimport { spawn } from \"node:child_process\";\nimport type { Writable } from \"node:stream\";\n\nexport function spawnEmbed(\n cmd: string,\n ...args: string[]\n): ChildProcessByStdio<Writable, null, null> {\n const p = spawn(cmd, args, { stdio: [\"pipe\", \"inherit\", \"inherit\"] });\n\n p.stdin.on(\"error\", (err: Error) => {\n const systemError = err as NodeJS.ErrnoException;\n if (systemError.code === \"EPIPE\") {\n // ignore EPIPE error as it stands for broken command run.\n // The command will write normal problem description by itself.\n }\n });\n\n return p;\n}\n\nexport function waitFor(p: ChildProcess): Promise<number> {\n return new Promise((resolve, reject) => {\n p.on(\"close\", (code: number) => {\n resolve(code);\n });\n p.on(\"error\", (err) => {\n reject(err);\n });\n });\n}\n"],"mappings":";;AAIA,SAAgB,WACd,KACA,GAAG,MACwC;CAC3C,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,OAAO;EAAC;EAAQ;EAAW;EAAU,EAAE,CAAC;AAErE,GAAE,MAAM,GAAG,UAAU,QAAe;AAElC,MADoB,IACJ,SAAS,SAAS;GAIlC;AAEF,QAAO;;AAGT,SAAgB,QAAQ,GAAkC;AACxD,QAAO,IAAI,SAAS,SAAS,WAAW;AACtC,IAAE,GAAG,UAAU,SAAiB;AAC9B,WAAQ,KAAK;IACb;AACF,IAAE,GAAG,UAAU,QAAQ;AACrB,UAAO,IAAI;IACX;GACF"}
1
+ {"version":3,"file":"proc.js","names":["systemError"],"sources":["../../src/shared/proc.ts"],"sourcesContent":["import type { ChildProcess, ChildProcessByStdio } from \"node:child_process\";\nimport { spawn } from \"node:child_process\";\nimport type { Writable } from \"node:stream\";\n\nexport function spawnEmbed(\n cmd: string,\n ...args: string[]\n): ChildProcessByStdio<Writable, null, null> {\n const p = spawn(cmd, args, { stdio: [\"pipe\", \"inherit\", \"inherit\"] });\n\n p.stdin.on(\"error\", (err: Error) => {\n const systemError = err as NodeJS.ErrnoException;\n if (systemError.code === \"EPIPE\") {\n // ignore EPIPE error as it stands for broken command run.\n // The command will write normal problem description by itself.\n }\n });\n\n return p;\n}\n\nexport function waitFor(p: ChildProcess): Promise<number> {\n return new Promise((resolve, reject) => {\n p.on(\"close\", (code: number) => {\n resolve(code);\n });\n p.on(\"error\", (err) => {\n reject(err);\n });\n });\n}\n"],"mappings":";;AAIA,SAAgB,WACd,KACA,GAAG,MACwC;CAC3C,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,OAAO;EAAC;EAAQ;EAAW;CAAS,EAAE,CAAC;CAEpE,EAAE,MAAM,GAAG,UAAU,QAAe;EAElC,IAAIA,IAAY,SAAS,SAAS,CAGlC;CACF,CAAC;CAED,OAAO;AACT;AAEA,SAAgB,QAAQ,GAAkC;CACxD,OAAO,IAAI,SAAS,SAAS,WAAW;EACtC,EAAE,GAAG,UAAU,SAAiB;GAC9B,QAAQ,IAAI;EACd,CAAC;EACD,EAAE,GAAG,UAAU,QAAQ;GACrB,OAAO,GAAG;EACZ,CAAC;CACH,CAAC;AACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platforma-sdk/tengo-builder",
3
- "version": "4.0.10",
3
+ "version": "4.0.12",
4
4
  "description": "Pl Tengo Template Builder",
5
5
  "license": "UNLICENSED",
6
6
  "bin": {
@@ -16,18 +16,18 @@
16
16
  "@milaboratories/tengo-tester": "^1.6.4",
17
17
  "commander": "^15.0.0",
18
18
  "winston": "^3.17.0",
19
+ "@milaboratories/resolve-helper": "1.1.3",
19
20
  "@milaboratories/ts-helpers": "1.8.3",
20
- "@milaboratories/pl-model-backend": "1.4.8",
21
- "@milaboratories/resolve-helper": "1.1.3"
21
+ "@milaboratories/pl-model-backend": "1.4.10"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@types/node": "~24.5.2",
25
25
  "@vitest/coverage-istanbul": "^4.1.3",
26
26
  "typescript": "~5.9.3",
27
27
  "vitest": "^4.1.3",
28
- "@milaboratories/build-configs": "2.0.0",
29
- "@milaboratories/ts-builder": "1.5.2",
30
- "@milaboratories/ts-configs": "1.2.3"
28
+ "@milaboratories/ts-builder": "1.6.0",
29
+ "@milaboratories/ts-configs": "1.3.0",
30
+ "@milaboratories/build-configs": "2.0.0"
31
31
  },
32
32
  "engines": {
33
33
  "node": ">=22"