@intelligentgraphics/ig.gfx.packager 3.0.21 → 3.1.0-alpha.1

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 (29) hide show
  1. package/build/bin.mjs +1 -1
  2. package/build/{cli-91fabb36.mjs → cli-fec9c069.mjs} +89 -115
  3. package/build/cli-fec9c069.mjs.map +1 -0
  4. package/build/{dependencies-7711a9db.mjs → dependencies-d870016d.mjs} +2 -2
  5. package/build/{dependencies-7711a9db.mjs.map → dependencies-d870016d.mjs.map} +1 -1
  6. package/build/{generateIndex-47c082d0.mjs → generateIndex-dd0b4563.mjs} +3 -3
  7. package/build/{generateIndex-47c082d0.mjs.map → generateIndex-dd0b4563.mjs.map} +1 -1
  8. package/build/{generateParameterType-10d124a6.mjs → generateParameterType-9a671e36.mjs} +4 -4
  9. package/build/{generateParameterType-10d124a6.mjs.map → generateParameterType-9a671e36.mjs.map} +1 -1
  10. package/build/{index-e6ead55c.mjs → index-0caf1a6e.mjs} +16 -11
  11. package/build/index-0caf1a6e.mjs.map +1 -0
  12. package/build/{index-ca04836f.mjs → index-7fa42d48.mjs} +19 -18
  13. package/build/index-7fa42d48.mjs.map +1 -0
  14. package/build/{postinstall-0ea76778.mjs → postinstall-81b6f0b0.mjs} +3 -3
  15. package/build/{postinstall-0ea76778.mjs.map → postinstall-81b6f0b0.mjs.map} +1 -1
  16. package/build/{publishNpm-aadd7dc2.mjs → publishNpm-c985bd6e.mjs} +9 -5
  17. package/build/publishNpm-c985bd6e.mjs.map +1 -0
  18. package/build/scripts-7ed8dff6.mjs.map +1 -1
  19. package/build/swc-9ed0f3ce.mjs +60 -0
  20. package/build/swc-9ed0f3ce.mjs.map +1 -0
  21. package/build/{versionFile-ad981e93.mjs → versionFile-cbfd3f4a.mjs} +6 -10
  22. package/build/{versionFile-ad981e93.mjs.map → versionFile-cbfd3f4a.mjs.map} +1 -1
  23. package/lib/lib.mjs +18 -2520
  24. package/package.json +8 -8
  25. package/readme.md +10 -0
  26. package/build/cli-91fabb36.mjs.map +0 -1
  27. package/build/index-ca04836f.mjs.map +0 -1
  28. package/build/index-e6ead55c.mjs.map +0 -1
  29. package/build/publishNpm-aadd7dc2.mjs.map +0 -1
@@ -4,7 +4,7 @@ import * as terser from 'terser';
4
4
  import * as fs from 'fs';
5
5
  import 'resolve';
6
6
  import 'write-pkg';
7
- import { c as readPackageAnimationList, r as readPackageCreatorManifest, i as isErrorENOENT, q as readPackageNpmManifest } from './cli-91fabb36.mjs';
7
+ import { c as readPackageAnimationList, r as readPackageCreatorManifest, i as isErrorENOENT, q as readPackageNpmManifest } from './cli-fec9c069.mjs';
8
8
  import glob from 'glob';
9
9
  import 'node:path';
10
10
  import 'node:fs';
@@ -24,7 +24,7 @@ const logPackageMessage = (name, step, index, total, maxNameLength = 15)=>{
24
24
  };
25
25
 
26
26
  const tryReadTsConfig = (location)=>{
27
- const { config } = ts.readConfigFile(path.join(location.scriptsDir, "tsconfig.json"), (path)=>{
27
+ const { config } = ts.readConfigFile(path.join(location.scriptsDir, "tsconfig.json"), (path)=>{
28
28
  try {
29
29
  return fs.readFileSync(path, "utf8");
30
30
  } catch {
@@ -50,6 +50,7 @@ const createTSCBuildParticipant = (location, outputDir)=>(env)=>{
50
50
  }
51
51
  try {
52
52
  env.onBuildStart();
53
+ env.log("Compiling typescript files");
53
54
  const compilerOptions = getCompilerOptions(location, outputDir);
54
55
  const host = ts.createCompilerHost(compilerOptions);
55
56
  host.getCurrentDirectory = ()=>location.scriptsDir;
@@ -103,7 +104,7 @@ const createTSCBuildParticipant = (location, outputDir)=>(env)=>{
103
104
  };
104
105
  };
105
106
  const createTSCWatchBuildParticipant = (location, outputDir)=>{
106
- return ({ onBuildStart , onBuildEnd })=>{
107
+ return ({ onBuildStart, onBuildEnd })=>{
107
108
  let state = {
108
109
  diagnostics: [],
109
110
  js: undefined,
@@ -208,7 +209,7 @@ const createErrorMessage = (diagnostic)=>{
208
209
  if (!diagnostic.file) {
209
210
  return `${ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n")}`;
210
211
  }
211
- const { line , character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
212
+ const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
212
213
  const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n");
213
214
  return `${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`;
214
215
  };
@@ -749,8 +750,7 @@ const createAnimationBuildParticipant = (location, manifest)=>{
749
750
  };
750
751
  };
751
752
  };
752
- const createAnimationWatchBuildParticipant = (location, manifest)=>{
753
- return (env)=>{
753
+ const createAnimationWatchBuildParticipant = (location, manifest)=>(env)=>{
754
754
  env.onBuildStart();
755
755
  bundleAnimations(location, manifest, env.log).then((result)=>{
756
756
  env.onBuildEnd({
@@ -790,7 +790,6 @@ const createAnimationWatchBuildParticipant = (location, manifest)=>{
790
790
  destroy: ()=>{}
791
791
  };
792
792
  };
793
- };
794
793
  const bundleAnimations = async (location, manifest, logStep)=>{
795
794
  const animations = new Map();
796
795
  for (const scriptFilePath of readPackageAnimationList(location)){
@@ -880,7 +879,12 @@ const buildFolders = async (options)=>{
880
879
  if (options.banner) {
881
880
  manager.addParticipant("banner", createBannerCommentBuildParticipant(options.banner));
882
881
  }
883
- manager.addParticipant("tsc", createTSCBuildParticipant(location, outputDirectory));
882
+ if (options.experimentalSwc) {
883
+ const { createSWCBuildParticipant } = await import('./swc-9ed0f3ce.mjs');
884
+ manager.addParticipant("swc", createSWCBuildParticipant(location));
885
+ } else {
886
+ manager.addParticipant("tsc", createTSCBuildParticipant(location, outputDirectory));
887
+ }
884
888
  manager.addParticipant("animation", createAnimationBuildParticipant(location, data));
885
889
  await new Promise((resolve, reject)=>{
886
890
  manager.addListener("start", ()=>{
@@ -969,6 +973,7 @@ const writeBuildResult = async (buildResult, manifest, location, workspace, outp
969
973
  });
970
974
  }
971
975
  if (minimize) {
976
+ logStep("Minifying the output");
972
977
  const minifyResult = await terser.minify(js, {
973
978
  ecma: 5,
974
979
  sourceMap: {
@@ -1015,14 +1020,14 @@ const ensureTsConfig = async (location)=>{
1015
1020
  try {
1016
1021
  const content = JSON.parse(await fs$1.readFile(tsconfigPath, "utf8"));
1017
1022
  applyTsConfigOption(content);
1018
- await fs$1.writeFile(tsconfigPath, JSON.stringify(content, undefined, "\t"), "utf8");
1023
+ await fs$1.writeFile(tsconfigPath, JSON.stringify(content, undefined, " "), "utf8");
1019
1024
  } catch (err) {
1020
1025
  if (!isErrorENOENT(err)) {
1021
1026
  throw err;
1022
1027
  }
1023
1028
  const content = {};
1024
1029
  applyTsConfigOption(content);
1025
- await fs$1.writeFile(tsconfigPath, JSON.stringify(content, undefined, "\t"), "utf8");
1030
+ await fs$1.writeFile(tsconfigPath, JSON.stringify(content, undefined, " "), "utf8");
1026
1031
  }
1027
1032
  };
1028
1033
  const applyTsConfigOption = (data)=>{
@@ -1117,4 +1122,4 @@ var index = /*#__PURE__*/Object.freeze({
1117
1122
  });
1118
1123
 
1119
1124
  export { buildFolders as b, index as i, logPackageMessage as l };
1120
- //# sourceMappingURL=index-e6ead55c.mjs.map
1125
+ //# sourceMappingURL=index-0caf1a6e.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-0caf1a6e.mjs","sources":["../../tools.core/build/log.mjs","../src/commands/build/tsc.ts","../src/commands/build/docs.ts","../src/lib/toposort.ts","../src/commands/build/manager.ts","../src/commands/build/animation.schema.ts","../src/commands/build/animations.ts","../src/commands/build/index.ts"],"sourcesContent":["const logPackageMessage = (name, step, index, total, maxNameLength = 15)=>{\n const numLength = total === undefined ? undefined : total.toString().length;\n const indexString = total === undefined || total < 2 ? \"\" : `${index.toString().padStart(numLength, \"0\")}/${total} `;\n const identifierString = `${indexString}${name.padEnd(maxNameLength)}`;\n console.log(`${identifierString} >> ${step}`);\n};\n\nexport { logPackageMessage };\n//# sourceMappingURL=log.mjs.map\n","import ts from \"typescript\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { PackageLocation } from \"../../lib/package\";\n\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\nimport { BuildParticipant, BuilderEnvironment } from \"./types\";\n\nexport const tryReadTsConfig = (location: PackageLocation) => {\n\tconst { config } = ts.readConfigFile(\n\t\tpath.join(location.scriptsDir, \"tsconfig.json\"),\n\t\t(path) => {\n\t\t\ttry {\n\t\t\t\treturn fs.readFileSync(path, \"utf8\");\n\t\t\t} catch {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\t);\n\n\treturn config as {\n\t\tcompilerOptions: ts.CompilerOptions;\n\t};\n};\n\nexport const createTSCBuildParticipant =\n\t(location: PackageLocation, outputDir: string): BuildParticipant =>\n\t(env: BuilderEnvironment) => {\n\t\tconst files = getPackageTypescriptFiles(location);\n\n\t\tif (files.length === 0) {\n\t\t\tenv.onBuildStart();\n\t\t\tenv.onBuildEnd({\n\t\t\t\ttype: \"success\",\n\t\t\t\tartefacts: {\n\t\t\t\t\tjs: \"\",\n\t\t\t\t\tdefinitions: \"\",\n\t\t\t\t},\n\t\t\t});\n\n\t\t\treturn { destroy: () => {} };\n\t\t}\n\n\t\ttry {\n\t\t\tenv.onBuildStart();\n\n\t\t\tenv.log(\"Compiling typescript files\");\n\n\t\t\tconst compilerOptions = getCompilerOptions(location, outputDir);\n\n\t\t\tconst host = ts.createCompilerHost(compilerOptions);\n\t\t\thost.getCurrentDirectory = () => location.scriptsDir;\n\n\t\t\tlet js: string | undefined;\n\t\t\tlet definitions: string | undefined;\n\t\t\tlet sourceMap: string | undefined;\n\n\t\t\thost.writeFile = (fileName, data, writeByteOrderMark) => {\n\t\t\t\tif (fileName.endsWith(\".js\")) {\n\t\t\t\t\tjs = data;\n\t\t\t\t} else if (fileName.endsWith(\".d.ts\")) {\n\t\t\t\t\tdefinitions = data;\n\t\t\t\t} else if (fileName.endsWith(\".js.map\")) {\n\t\t\t\t\tsourceMap = data;\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst programOptions: ts.CreateProgramOptions = {\n\t\t\t\trootNames: files,\n\t\t\t\toptions: compilerOptions,\n\t\t\t\thost,\n\t\t\t};\n\n\t\t\tconst program = ts.createProgram(programOptions);\n\t\t\tconst emitResult = program.emit();\n\t\t\tconst allDiagnostics = ts.getPreEmitDiagnostics(program);\n\n\t\t\tif (!emitResult.emitSkipped) {\n\t\t\t\tif (allDiagnostics.length > 0) {\n\t\t\t\t\tconsole.log(\n\t\t\t\t\t\tallDiagnostics.map(createErrorMessage).join(\"\\n\"),\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (js === undefined || definitions === undefined) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Unexpected: no js or definitions were created`,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\ttype: \"success\",\n\t\t\t\t\tartefacts: {\n\t\t\t\t\t\tjs: js.replace(`//# sourceMappingURL=out.js.map`, \"\"),\n\t\t\t\t\t\tdefinitions,\n\t\t\t\t\t\tsourceMap,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst error = allDiagnostics.map(createErrorMessage).join(\"\\n\");\n\n\t\t\t\tthrow new Error(error);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tenv.onBuildEnd({\n\t\t\t\ttype: \"error\",\n\t\t\t\terror: err.message,\n\t\t\t});\n\t\t}\n\n\t\treturn {\n\t\t\tdestroy: () => {},\n\t\t};\n\t};\n\nexport const createTSCWatchBuildParticipant = (\n\tlocation: PackageLocation,\n\toutputDir: string,\n): BuildParticipant => {\n\treturn ({ onBuildStart, onBuildEnd }: BuilderEnvironment) => {\n\t\ttype State = {\n\t\t\tjs: string | undefined;\n\t\t\tdefinitions: string | undefined;\n\t\t\tdiagnostics: ts.Diagnostic[];\n\t\t\tsourceMap: string | undefined;\n\t\t};\n\n\t\tlet state: State = {\n\t\t\tdiagnostics: [],\n\t\t\tjs: undefined,\n\t\t\tdefinitions: undefined,\n\t\t\tsourceMap: undefined,\n\t\t};\n\n\t\tconst customSys: ts.System = {\n\t\t\t...ts.sys,\n\t\t\twriteFile: (fileName, data, writeByteOrderMark) => {\n\t\t\t\tif (fileName.endsWith(\".js\")) {\n\t\t\t\t\tstate.js = data;\n\t\t\t\t} else if (fileName.endsWith(\".d.ts\")) {\n\t\t\t\t\tstate.definitions = data;\n\t\t\t\t} else if (fileName.endsWith(\".js.map\")) {\n\t\t\t\t\tstate.sourceMap = data;\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\n\t\tconst reportDiagnostic = (diagnostic: ts.Diagnostic) => {\n\t\t\tswitch (diagnostic.code) {\n\t\t\t\t// file not found - https://github.com/microsoft/TypeScript/blob/93e6b9da0c4cb164ca90a5a1b07415e81e97f2b1/src/compiler/diagnosticMessages.json#L4640\n\t\t\t\t// probably deleted -> ignore\n\t\t\t\tcase 6053:\n\t\t\t\t\treturn;\n\n\t\t\t\t// no inputs were found - https://github.com/microsoft/TypeScript/blob/93e6b9da0c4cb164ca90a5a1b07415e81e97f2b1/src/compiler/diagnosticMessages.json#L6838\n\t\t\t\t// we don't care about this error. a user might have temporarily deleted the last ts file and will readd one later.\n\t\t\t\tcase 18003:\n\t\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tstate.diagnostics.push(diagnostic);\n\t\t};\n\n\t\tconst reportWatchStatusChanged = (diagnostic: ts.Diagnostic) => {\n\t\t\tswitch (diagnostic.code) {\n\t\t\t\t// regular watch mode - https://github.com/microsoft/TypeScript/blob/93e6b9da0c4cb164ca90a5a1b07415e81e97f2b1/src/compiler/diagnosticMessages.json#L4567\n\t\t\t\tcase 6031:\n\t\t\t\t// incremental watch mode - https://github.com/microsoft/TypeScript/blob/93e6b9da0c4cb164ca90a5a1b07415e81e97f2b1/src/compiler/diagnosticMessages.json#L4571\n\t\t\t\tcase 6032:\n\t\t\t\t\t// build start\n\t\t\t\t\tonBuildStart();\n\t\t\t\t\tbreak;\n\n\t\t\t\t// found one error - https://github.com/microsoft/TypeScript/blob/93e6b9da0c4cb164ca90a5a1b07415e81e97f2b1/src/compiler/diagnosticMessages.json#L5119\n\t\t\t\tcase 6193:\n\t\t\t\t// found n or 0 errors - https://github.com/microsoft/TypeScript/blob/93e6b9da0c4cb164ca90a5a1b07415e81e97f2b1/src/compiler/diagnosticMessages.json#L5123\n\t\t\t\tcase 6194:\n\t\t\t\t\t// build end\n\t\t\t\t\tconst emitState = state;\n\t\t\t\t\tstate = {\n\t\t\t\t\t\tdiagnostics: [],\n\t\t\t\t\t\tjs: undefined,\n\t\t\t\t\t\tdefinitions: undefined,\n\t\t\t\t\t\tsourceMap: undefined,\n\t\t\t\t\t};\n\n\t\t\t\t\tif (emitState.diagnostics.length > 0) {\n\t\t\t\t\t\tconst message = emitState.diagnostics\n\t\t\t\t\t\t\t.map(createErrorMessage)\n\t\t\t\t\t\t\t.join(\"\\n\");\n\n\t\t\t\t\t\tonBuildEnd({\n\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\terror: message,\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\temitState.js === undefined ||\n\t\t\t\t\t\temitState.definitions === undefined\n\t\t\t\t\t) {\n\t\t\t\t\t\tonBuildEnd({\n\t\t\t\t\t\t\ttype: \"success\",\n\t\t\t\t\t\t\tartefacts: {\n\t\t\t\t\t\t\t\tjs: \"\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tonBuildEnd({\n\t\t\t\t\t\ttype: \"success\",\n\t\t\t\t\t\tartefacts: {\n\t\t\t\t\t\t\tjs: emitState.js.replace(\n\t\t\t\t\t\t\t\t`//# sourceMappingURL=out.js.map`,\n\t\t\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tdefinitions: emitState.definitions,\n\t\t\t\t\t\t\tsourceMap: emitState.sourceMap,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t};\n\n\t\tconst host = ts.createWatchCompilerHost(\n\t\t\tpath.join(location.scriptsDir, \"tsconfig.json\"),\n\t\t\tgetCompilerOptions(location, outputDir),\n\t\t\tcustomSys,\n\t\t\tts.createSemanticDiagnosticsBuilderProgram,\n\t\t\treportDiagnostic,\n\t\t\treportWatchStatusChanged,\n\t\t);\n\n\t\tconst watchProgram = ts.createWatchProgram(host);\n\n\t\tconst files = getPackageTypescriptFiles(location);\n\n\t\tif (files.length === 0) {\n\t\t\tonBuildStart();\n\t\t\tonBuildEnd({\n\t\t\t\ttype: \"success\",\n\t\t\t\tartefacts: {\n\t\t\t\t\tjs: \"\",\n\t\t\t\t\tdefinitions: \"\",\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\n\t\treturn {\n\t\t\tdestroy: () => {\n\t\t\t\twatchProgram.close();\n\t\t\t},\n\t\t};\n\t};\n};\n\nconst createErrorMessage = (diagnostic: ts.Diagnostic) => {\n\tif (!diagnostic.file) {\n\t\treturn `${ts.flattenDiagnosticMessageText(\n\t\t\tdiagnostic.messageText,\n\t\t\t\"\\n\",\n\t\t)}`;\n\t}\n\n\tconst { line, character } = diagnostic.file.getLineAndCharacterOfPosition(\n\t\tdiagnostic.start!,\n\t);\n\n\tconst message = ts.flattenDiagnosticMessageText(\n\t\tdiagnostic.messageText,\n\t\t\"\\n\",\n\t);\n\n\treturn `${diagnostic.file.fileName} (${line + 1},${\n\t\tcharacter + 1\n\t}): ${message}`;\n};\n\nconst getCompilerOptions = (location: PackageLocation, outputDir: string) => {\n\tconst config = tryReadTsConfig(location);\n\n\tconfig.compilerOptions.lib = [\"es5\", \"dom\"];\n\n\tconst result = ts.convertCompilerOptionsFromJson(\n\t\tconfig.compilerOptions,\n\t\tlocation.scriptsDir,\n\t);\n\n\tconst compilerOptions: ts.CompilerOptions = {\n\t\t...result.options,\n\t\tremoveComments: false,\n\t\tdeclaration: true,\n\t\tsourceMap: true,\n\t\tinlineSources: false,\n\t\t// We don't use tsc to actually emit the files, but we still need to set the correct\n\t\t// output directory so the compiler can rewrite the `reference path` directives.\n\t\toutFile: path.join(outputDir, \"out.js\"),\n\t\ttarget: ts.ScriptTarget.ES5,\n\t\tnoEmitOnError: true,\n\t};\n\n\treturn compilerOptions;\n};\n","import typedoc from \"typedoc\";\nimport glob from \"glob\";\nimport ts from \"typescript\";\nimport * as path from \"path\";\nimport { PackageLocation } from \"../../lib/package\";\n\nexport const generateDocs = async (\n\tlocation: PackageLocation,\n\tdeclarationFile: string,\n\toutFolder: string,\n\tname: string,\n) => {\n\tconst app = new typedoc.Application();\n\n\tconst mediaDir = path.join(location.manifestDir, \"Media\");\n\n\tapp.bootstrap({\n\t\tentryPoints: [declarationFile],\n\t\tmedia: mediaDir,\n\t\tout: outFolder,\n\t\ttsconfig: path.join(location.scriptsDir, \"tsconfig.json\"),\n\t\tskipErrorChecking: true,\n\t});\n\n\tapp.options.setCompilerOptions(\n\t\t[declarationFile],\n\t\t{\n\t\t\ttarget: ts.ScriptTarget.ES5,\n\t\t},\n\t\tundefined,\n\t);\n\n\tapp.options.setValue(\"name\", name);\n\n\tconst [readmePath] = glob.sync(\"**/readme.md\", {\n\t\tabsolute: true,\n\t\tcwd: location.manifestDir,\n\t});\n\n\tif (readmePath) {\n\t\tapp.options.setValue(\"readme\", readmePath);\n\t}\n\n\tconst project = app.convert();\n\n\tif (project) {\n\t\tawait app.generateDocs(project, outFolder);\n\t}\n};\n","// Stolen from ig.tools.core\n\nexport const toposort = (packages: Record<string, string[]>) => {\n\tconst queue = Object.getOwnPropertyNames(packages);\n\tconst result: string[] = [];\n\n\tlet index = 0;\n\n\twhile (queue.length > 0) {\n\t\tif (index >= queue.length) {\n\t\t\tthrow new Error(\"Packages can not have cyclic dependencies\");\n\t\t}\n\n\t\tconst queueEntry = queue[index];\n\n\t\tconst dependencies = packages[queueEntry];\n\t\tconst dependencyQueued = dependencies.some((dependency) =>\n\t\t\tqueue.includes(dependency),\n\t\t);\n\n\t\tif (dependencyQueued) {\n\t\t\tindex++;\n\t\t\tcontinue;\n\t\t}\n\n\t\tqueue.splice(index, 1);\n\t\tindex = 0;\n\t\tresult.push(queueEntry);\n\t}\n\n\treturn result;\n};\n","import { CreatorPackage } from \"@intelligentgraphics/ig.gfx.tools.core\";\nimport {\n\tBuildArtefacts,\n\tBuildParticipant,\n\tBuildResult,\n\tBuildSuccessResult,\n} from \"./types\";\nimport EventEmitter from \"events\";\nimport { SourceMapConsumer, SourceMapGenerator } from \"source-map-js\";\nimport * as path from \"path\";\n\ntype State =\n\t| {\n\t\t\ttype: \"busy\";\n\t }\n\t| BuildResult;\n\nexport class BuildManager extends EventEmitter {\n\tprivate readonly participants = new Map<string, BuildParticipant>();\n\tprivate readonly states = new Map<string, State>();\n\n\tconstructor(\n\t\tprivate readonly manifest: CreatorPackage,\n\t\tprivate readonly writer: (result: BuildArtefacts) => Promise<void>,\n\t\tprivate readonly logStep: (message: string) => void,\n\t) {\n\t\tsuper();\n\t}\n\n\tpublic addParticipant(name: string, participant: BuildParticipant) {\n\t\tthis.participants.set(name, participant);\n\t}\n\n\tpublic run() {\n\t\tfor (const [name] of this.participants) {\n\t\t\tthis.states.set(name, { type: \"busy\" });\n\t\t}\n\n\t\tthis.emit(\"start\");\n\n\t\tfor (const [name, participant] of this.participants) {\n\t\t\tparticipant({\n\t\t\t\tonBuildStart: () => {\n\t\t\t\t\tlet alreadyBusy = false;\n\n\t\t\t\t\tfor (const [name, state] of this.states) {\n\t\t\t\t\t\tif (state.type === \"busy\") {\n\t\t\t\t\t\t\talreadyBusy = true;\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.states.set(name, { type: \"busy\" });\n\n\t\t\t\t\tif (!alreadyBusy) {\n\t\t\t\t\t\tthis.emit(\"start\");\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tonBuildEnd: (result) => {\n\t\t\t\t\tthis.states.set(name, result);\n\n\t\t\t\t\tthis.maybeEmit();\n\t\t\t\t},\n\t\t\t\tlog: this.logStep,\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate maybeEmit() {\n\t\tconst errors: string[] = [];\n\t\tconst results: BuildSuccessResult[] = [];\n\n\t\tfor (const [_, state] of this.states) {\n\t\t\tif (state.type === \"busy\") {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (state.type === \"success\") {\n\t\t\t\tresults.push(state);\n\t\t\t} else if (state.type === \"error\") {\n\t\t\t\terrors.push(state.error);\n\t\t\t}\n\t\t}\n\n\t\tif (errors.length > 0) {\n\t\t\tthis.emit(\"error\", errors.join(\"\\n\"));\n\t\t\treturn;\n\t\t}\n\n\t\tconst completeResult: BuildArtefacts = {\n\t\t\tjs: \"\",\n\t\t};\n\n\t\tconst sourceMapGenerator = new SourceMapGenerator();\n\n\t\tfor (const result of results) {\n\t\t\tif (result.artefacts.js) {\n\t\t\t\tif (completeResult.js) {\n\t\t\t\t\tcompleteResult.js += \"\\n\";\n\t\t\t\t}\n\n\t\t\t\tif (result.artefacts.sourceMap) {\n\t\t\t\t\tconst lines = completeResult.js.split(\"\\n\").length - 1;\n\t\t\t\t\tconst sourceMap = new SourceMapConsumer(\n\t\t\t\t\t\tJSON.parse(result.artefacts.sourceMap),\n\t\t\t\t\t);\n\n\t\t\t\t\tconst sources = new Set<string>();\n\t\t\t\t\tsourceMap.eachMapping((mapping) => {\n\t\t\t\t\t\tsourceMapGenerator.addMapping({\n\t\t\t\t\t\t\tgenerated: {\n\t\t\t\t\t\t\t\tline: lines + mapping.generatedLine,\n\t\t\t\t\t\t\t\tcolumn: mapping.generatedColumn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\toriginal: {\n\t\t\t\t\t\t\t\tline: mapping.originalLine,\n\t\t\t\t\t\t\t\tcolumn: mapping.originalColumn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsource: mapping.source,\n\t\t\t\t\t\t\tname: mapping.name,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tsources.add(mapping.source);\n\t\t\t\t\t});\n\n\t\t\t\t\tfor (const source of sources) {\n\t\t\t\t\t\tconst content = sourceMap.sourceContentFor(source);\n\n\t\t\t\t\t\tif (content !== null) {\n\t\t\t\t\t\t\tsourceMapGenerator.setSourceContent(\n\t\t\t\t\t\t\t\tsource,\n\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcompleteResult.js += result.artefacts.js;\n\t\t\t}\n\n\t\t\tif (result.artefacts.definitions) {\n\t\t\t\tif (completeResult.definitions) {\n\t\t\t\t\tcompleteResult.definitions += \"\\n\";\n\t\t\t\t} else {\n\t\t\t\t\tcompleteResult.definitions = \"\";\n\t\t\t\t}\n\n\t\t\t\tcompleteResult.definitions += result.artefacts.definitions;\n\t\t\t}\n\t\t}\n\n\t\tcompleteResult.sourceMap = sourceMapGenerator.toString();\n\n\t\tthis.writer(completeResult).then(() => {\n\t\t\tthis.emit(\"build\");\n\t\t});\n\t}\n}\n","export default {\n\t$schema: \"http://json-schema.org/draft-07/schema\",\n\t$id: \"https://archive.intelligentgraphics.biz/schemas/gfx/animation.json\",\n\t$comment: \"Version 2023-02-17, Source: ig.data.gfx/Specs/animation.json\",\n\ttitle: \"Animation description format\",\n\tadditionalProperties: false,\n\ttype: \"object\",\n\tproperties: {\n\t\t$schema: {\n\t\t\ttype: \"string\",\n\t\t},\n\t\tId: {\n\t\t\ttype: \"string\",\n\t\t\tdescription:\n\t\t\t\t\"Animation id, to be unique in the project scope. Needs to be a valid JavaScript identifier.\",\n\t\t},\n\t\tAnimations: {\n\t\t\ttype: \"array\",\n\t\t\tdescription: \"Declaration of animation states for gfx objects\",\n\t\t\titems: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tadditionalProperties: false,\n\t\t\t\tproperties: {\n\t\t\t\t\t_: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"Comment\",\n\t\t\t\t\t},\n\t\t\t\t\tPath: {\n\t\t\t\t\t\t$ref: \"#/definitions/igxcPath\",\n\t\t\t\t\t},\n\t\t\t\t\tStates: {\n\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\tadditionalProperties: {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tPosition: {\n\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/vec3\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tRotation: {\n\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/rotation\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tScaling: {\n\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/vec3\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tVisibility: {\n\t\t\t\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tDeformation: {\n\t\t\t\t\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tKinematics: {\n\t\t\toneOf: [\n\t\t\t\t{\n\t\t\t\t\t$ref: \"#/definitions/kinematicChain\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttype: \"array\",\n\t\t\t\t\titems: {\n\t\t\t\t\t\t$ref: \"#/definitions/kinematicChain\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tLinkedPoints: {\n\t\t\ttype: \"object\",\n\t\t\tadditionalProperties: {\n\t\t\t\ttype: \"array\",\n\t\t\t\titems: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t_: {\n\t\t\ttype: \"string\",\n\t\t\tdescription: \"Comment\",\n\t\t},\n\t},\n\tdefinitions: {\n\t\tvec3: {\n\t\t\ttype: \"object\",\n\t\t\tadditionalProperties: false,\n\t\t\tproperties: {\n\t\t\t\tX: {\n\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\tY: {\n\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\tZ: {\n\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t_: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Comment\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\trotation: {\n\t\t\ttype: \"object\",\n\t\t\tadditionalProperties: false,\n\t\t\tproperties: {\n\t\t\t\tQ: {\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t\"If true, the rotation is considered to be a Quaternion. Otherwise, it's interpreted as Euler arcs and W will be ignored.\",\n\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t},\n\t\t\t\tX: {\n\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\tY: {\n\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\tZ: {\n\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\tW: {\n\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t_: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Comment\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tigxcPath: {\n\t\t\ttype: \"string\",\n\t\t\tdescription: \"Relative path of the target object\",\n\t\t\tpattern: \"^((o|e)\\\\d+(\\\\.(o|e)\\\\d+)*|\\\\.)$\",\n\t\t},\n\t\tparam: {\n\t\t\ttype: \"string\",\n\t\t\tpattern: \"^Param\\\\d+$\",\n\t\t},\n\t\tkinematicChain: {\n\t\t\ttype: \"object\",\n\t\t\tadditionalProperties: false,\n\t\t\tproperties: {\n\t\t\t\tGeometryBase: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t},\n\t\t\t\tJoints: {\n\t\t\t\t\ttype: \"array\",\n\t\t\t\t\titems: {\n\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tName: {\n\t\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/param\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tHeadX: {\n\t\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/param\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/igxcPath\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tHeadY: {\n\t\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/param\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/igxcPath\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tHeadZ: {\n\t\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/param\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/igxcPath\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTail: {\n\t\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/param\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/igxcPath\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tLimitLeft: {\n\t\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tLimitRight: {\n\t\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tLimitUp: {\n\t\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tLimitDown: {\n\t\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tFollowJointNode: {\n\t\t\t\t\t\t\t\t$ref: \"#/definitions/igxcPath\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t_TargetNodeForFollow: {\n\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tTarget: {\n\t\t\t\t\toneOf: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$ref: \"#/definitions/igxcPath\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$ref: \"#/definitions/param\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\tenum: [\"subbase\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\tParent: {\n\t\t\t\t\toneOf: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$ref: \"#/definitions/igxcPath\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\tenum: [\"root\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\tTolerance: {\n\t\t\t\t\ttype: \"number\",\n\t\t\t\t},\n\t\t\t\tMaxIterations: {\n\t\t\t\t\ttype: \"integer\",\n\t\t\t\t},\n\t\t\t\t_: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Comment\",\n\t\t\t\t},\n\t\t\t\t__: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Super Comment\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n};\n","import * as path from \"path\";\nimport * as fs from \"fs/promises\";\n\nimport {\n\tPackageLocation,\n\tCreatorPackage,\n\treadPackageAnimationList,\n\tlogPackageMessage,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nimport { BuildParticipant, BuilderEnvironment } from \"./types\";\nimport Ajv, { ValidateFunction } from \"ajv\";\nimport animationSchema from \"./animation.schema\";\n\nexport const createAnimationBuildParticipant = (\n\tlocation: PackageLocation,\n\tmanifest: CreatorPackage,\n): BuildParticipant => {\n\treturn (env: BuilderEnvironment) => {\n\t\tenv.onBuildStart();\n\n\t\tbundleAnimations(location, manifest, env.log)\n\t\t\t.then((result) => {\n\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\ttype: \"success\",\n\t\t\t\t\tartefacts: {\n\t\t\t\t\t\tjs: result?.js ?? \"\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\ttype: \"error\",\n\t\t\t\t\terror: err.message,\n\t\t\t\t});\n\t\t\t});\n\n\t\treturn {\n\t\t\tdestroy: () => {},\n\t\t};\n\t};\n};\n\nexport const createAnimationWatchBuildParticipant =\n\t(location: PackageLocation, manifest: CreatorPackage): BuildParticipant =>\n\t(env) => {\n\t\tenv.onBuildStart();\n\n\t\tbundleAnimations(location, manifest, env.log)\n\t\t\t.then((result) => {\n\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\ttype: \"success\",\n\t\t\t\t\tartefacts: {\n\t\t\t\t\t\tjs: result?.js ?? \"\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\ttype: \"error\",\n\t\t\t\t\terror: err.message,\n\t\t\t\t});\n\t\t\t});\n\n\t\t(async () => {\n\t\t\tfor await (const event of fs.watch(location.scriptsDir)) {\n\t\t\t\tif (event.filename.endsWith(\".animation.json\")) {\n\t\t\t\t\tenv.onBuildStart();\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst result = await bundleAnimations(\n\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t\tmanifest,\n\t\t\t\t\t\t\tenv.log,\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\t\t\ttype: \"success\",\n\t\t\t\t\t\t\tartefacts: {\n\t\t\t\t\t\t\t\tjs: result?.js ?? \"\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\terror: err.message,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})();\n\n\t\treturn {\n\t\t\tdestroy: () => {},\n\t\t};\n\t};\n\nconst bundleAnimations = async (\n\tlocation: PackageLocation,\n\tmanifest: CreatorPackage,\n\tlogStep: (message: string) => void,\n) => {\n\tconst animations = new Map<string, string>();\n\n\tfor (const scriptFilePath of readPackageAnimationList(location)) {\n\t\tconst content = await fs.readFile(scriptFilePath, {\n\t\t\tencoding: \"utf8\",\n\t\t})!;\n\n\t\tlet data: { Id: string; $schema?: string };\n\n\t\ttry {\n\t\t\tdata = JSON.parse(content);\n\t\t} catch (err) {\n\t\t\tconst relativePath = path.relative(location.path, scriptFilePath);\n\n\t\t\tif (err instanceof SyntaxError) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Encountered invalid syntax in file \"${relativePath}\": ${String(\n\t\t\t\t\t\terr,\n\t\t\t\t\t)}`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tthrow new Error(\n\t\t\t\t`Encountered an unexpected error while parsing animation json file at path \"${relativePath}\"`,\n\t\t\t\t{\n\t\t\t\t\tcause: err,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\n\t\tif (!data.Id) {\n\t\t\tconst fileName = path.basename(scriptFilePath, \".animation.json\");\n\t\t\tdata.Id = fileName;\n\t\t}\n\n\t\t(await getAnimationJsonValidation())(data);\n\t\tdelete data.$schema;\n\t\tanimations.set(data.Id, JSON.stringify(data));\n\t}\n\n\tif (animations.size > 0) {\n\t\tconst scope = manifest.Scope ?? manifest.Package;\n\t\tconst scopeParts = scope.split(\".\");\n\n\t\tlet js = createNamespace(scopeParts);\n\n\t\tfor (const [name, content] of animations) {\n\t\t\tjs += `${scope}[\"${name}\"] = ` + content + \";\";\n\t\t\tlogStep(`Adding animation ${scope}.${name}`);\n\t\t}\n\n\t\treturn {\n\t\t\tjs,\n\t\t};\n\t}\n\n\treturn undefined;\n};\n\nconst createNamespace = (parts: string[]) => {\n\tlet code = `var ${parts[0]};`;\n\n\tfor (let index = 0; index < parts.length; index++) {\n\t\tconst path = parts.slice(0, index + 1).join(\".\");\n\n\t\tcode += `\\n(${path} = ${path} || {});`;\n\t}\n\n\treturn code;\n};\n\nlet validateAnimationJson: ValidateFunction | undefined;\n\nconst getAnimationJsonValidation = async () => {\n\tif (validateAnimationJson === undefined) {\n\t\tvalidateAnimationJson = new Ajv({\n\t\t\tcoerceTypes: true,\n\t\t\tallErrors: true,\n\t\t\tremoveAdditional: true,\n\t\t\tuseDefaults: \"empty\",\n\t\t\tvalidateSchema: \"log\",\n\t\t}).compile(animationSchema);\n\t}\n\n\treturn validateAnimationJson!;\n};\n","import * as path from \"path\";\nimport * as fs from \"fs/promises\";\nimport * as terser from \"terser\";\n\nimport { isErrorENOENT } from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nimport { logPackageMessage } from \"../../lib/log\";\nimport {\n\tcreateTSCBuildParticipant,\n\tcreateTSCWatchBuildParticipant,\n} from \"./tsc\";\nimport { generateDocs } from \"./docs\";\nimport {\n\tCreatorPackage,\n\tPackageLocation,\n\treadPackageCreatorManifest,\n\treadPackageNpmManifest,\n} from \"../../lib/package\";\nimport { WorkspaceLocation } from \"../../lib/workspace\";\nimport { toposort } from \"../../lib/toposort\";\nimport { PackageJSON } from \"../../lib/packageJSON\";\nimport { BuildArtefacts, BuildParticipant } from \"./types\";\nimport { BuildManager } from \"./manager\";\nimport {\n\tcreateAnimationBuildParticipant,\n\tcreateAnimationWatchBuildParticipant,\n} from \"./animations\";\n\nexport interface BannerOptions {\n\ttext: string | undefined;\n\tversion: string | undefined;\n\tcommit: string | undefined;\n\tcommitDirty: boolean | undefined;\n\tdate: Date | undefined;\n}\n\nexport interface BuildFoldersOptions {\n\tworkspace: WorkspaceLocation;\n\tpackages: PackageLocation[];\n\toutDir?: string;\n\tminimize: boolean;\n\tbanner?: BannerOptions;\n\tclean?: boolean;\n\tdocs?: boolean;\n\texperimentalSwc?: boolean;\n}\n\nexport interface BuildFolderOptions extends BuildFoldersOptions {\n\toutFile: string;\n}\n\nexport interface FolderBuilderResult {\n\tjs: string;\n\tdefinitions: string;\n}\n\nexport type FolderBuilder = (\n\tlocation: PackageLocation,\n\toutputDir: string,\n) => Promise<FolderBuilderResult>;\n\ntype FolderData = {\n\tlocation: PackageLocation;\n\tdata?: PackageJSON;\n};\n\nexport const buildFolders = async (options: BuildFoldersOptions) => {\n\tif (options.outDir !== undefined && options.clean) {\n\t\tawait fs.rm(options.outDir, { recursive: true });\n\t}\n\n\tconst workspace = options.workspace;\n\tconst folders = options.packages;\n\n\tlet sortedPackages = sortPackagesByBuildOrder(folders);\n\n\tlet index = 1;\n\n\tconst manifests = new Map(\n\t\tsortedPackages.map(\n\t\t\t(location) =>\n\t\t\t\t[location, readPackageCreatorManifest(location)] as const,\n\t\t),\n\t);\n\n\tconst maxNameLength = Array.from(\n\t\tmanifests.values(),\n\t\t(manifest) => manifest.Package.length,\n\t).reduce((acc, length) => Math.max(acc, length), 0);\n\n\tconst managers: BuildManager[] = [];\n\n\tfor (const location of sortedPackages) {\n\t\tawait ensureTsConfig(location);\n\n\t\tconst data = manifests.get(location)!;\n\n\t\tconst logStep = (step: string) =>\n\t\t\tlogPackageMessage(\n\t\t\t\tdata.Package,\n\t\t\t\tstep,\n\t\t\t\tindex,\n\t\t\t\tfolders.length,\n\t\t\t\tmaxNameLength,\n\t\t\t);\n\n\t\tconst outputDirectory = options.outDir || location.scriptsDir;\n\t\tawait fs.mkdir(outputDirectory, { recursive: true });\n\n\t\tconst manager = new BuildManager(\n\t\t\tdata,\n\t\t\t(result) =>\n\t\t\t\twriteBuildResult(\n\t\t\t\t\tresult,\n\t\t\t\t\tdata,\n\t\t\t\t\tlocation,\n\t\t\t\t\tworkspace,\n\t\t\t\t\toutputDirectory,\n\t\t\t\t\toptions.minimize,\n\t\t\t\t\tlogStep,\n\t\t\t\t),\n\t\t\tlogStep,\n\t\t);\n\n\t\tif (options.banner) {\n\t\t\tmanager.addParticipant(\n\t\t\t\t\"banner\",\n\t\t\t\tcreateBannerCommentBuildParticipant(options.banner),\n\t\t\t);\n\t\t}\n\n\t\tif (options.experimentalSwc) {\n\t\t\tconst { createSWCBuildParticipant } = await import(\"./swc\");\n\n\t\t\tmanager.addParticipant(\"swc\", createSWCBuildParticipant(location));\n\t\t} else {\n\t\t\tmanager.addParticipant(\n\t\t\t\t\"tsc\",\n\t\t\t\tcreateTSCBuildParticipant(location, outputDirectory),\n\t\t\t);\n\t\t}\n\n\t\tmanager.addParticipant(\n\t\t\t\"animation\",\n\t\t\tcreateAnimationBuildParticipant(location, data),\n\t\t);\n\n\t\tawait new Promise<void>((resolve, reject) => {\n\t\t\tmanager.addListener(\"start\", () => {\n\t\t\t\tlogStep(`Build started`);\n\t\t\t});\n\t\t\tmanager.addListener(\"error\", (error: string) => {\n\t\t\t\treject(new Error(error));\n\t\t\t});\n\t\t\tmanager.addListener(\"build\", () => {\n\t\t\t\tlogStep(`Build complete`);\n\t\t\t\tresolve();\n\t\t\t});\n\t\t\tmanager.run();\n\t\t});\n\n\t\tmanagers.push(manager);\n\n\t\tif (options.docs) {\n\t\t\tlogStep(\"Generating typedoc documentation\");\n\t\t\tawait generateDocs(\n\t\t\t\tlocation,\n\t\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\n\t\t\t\tpath.join(workspace.path, \"docs\", data.Package),\n\t\t\t\tdata.Package,\n\t\t\t);\n\t\t}\n\n\t\tindex++;\n\t}\n};\n\nexport const buildFoldersWatch = async (options: BuildFoldersOptions) => {\n\tif (options.outDir !== undefined && options.clean) {\n\t\tawait fs.rm(options.outDir, { recursive: true });\n\t}\n\n\tconst workspace = options.workspace;\n\tconst folders = options.packages;\n\n\tlet sortedPackages = sortPackagesByBuildOrder(folders);\n\n\tlet index = 1;\n\n\tconst manifests = new Map(\n\t\tsortedPackages.map(\n\t\t\t(location) =>\n\t\t\t\t[location, readPackageCreatorManifest(location)] as const,\n\t\t),\n\t);\n\n\tconst maxNameLength = Array.from(\n\t\tmanifests.values(),\n\t\t(manifest) => manifest.Package.length,\n\t).reduce((acc, length) => Math.max(acc, length), 0);\n\n\tconst managers: BuildManager[] = [];\n\n\tfor (const location of sortedPackages) {\n\t\tawait ensureTsConfig(location);\n\n\t\tconst data = manifests.get(location)!;\n\t\tconst currentIndex = index;\n\n\t\tconst logStep = (step: string) =>\n\t\t\tlogPackageMessage(\n\t\t\t\tdata.Package,\n\t\t\t\tstep,\n\t\t\t\tcurrentIndex,\n\t\t\t\tfolders.length,\n\t\t\t\tmaxNameLength,\n\t\t\t);\n\n\t\tconst outputDirectory = options.outDir || location.scriptsDir;\n\t\tawait fs.mkdir(outputDirectory, { recursive: true });\n\n\t\tconst manager = new BuildManager(\n\t\t\tdata,\n\t\t\t(result) =>\n\t\t\t\twriteBuildResult(\n\t\t\t\t\tresult,\n\t\t\t\t\tdata,\n\t\t\t\t\tlocation,\n\t\t\t\t\tworkspace,\n\t\t\t\t\toutputDirectory,\n\t\t\t\t\toptions.minimize,\n\t\t\t\t\tlogStep,\n\t\t\t\t),\n\t\t\tlogStep,\n\t\t);\n\n\t\tif (options.banner) {\n\t\t\tmanager.addParticipant(\n\t\t\t\t\"banner\",\n\t\t\t\tcreateBannerCommentBuildParticipant(options.banner),\n\t\t\t);\n\t\t}\n\n\t\tmanager.addParticipant(\n\t\t\t\"tsc\",\n\t\t\tcreateTSCWatchBuildParticipant(location, outputDirectory),\n\t\t);\n\n\t\tmanager.addParticipant(\n\t\t\t\"animation\",\n\t\t\tcreateAnimationWatchBuildParticipant(location, data),\n\t\t);\n\n\t\tawait new Promise<void>((resolve, reject) => {\n\t\t\tmanager.addListener(\"start\", () => {\n\t\t\t\tlogStep(`Build started`);\n\t\t\t});\n\t\t\tmanager.addListener(\"error\", (error: string) => {\n\t\t\t\tlogStep(`Build failed: ${error}`);\n\t\t\t\tresolve();\n\t\t\t});\n\t\t\tmanager.addListener(\"build\", () => {\n\t\t\t\tlogStep(`Build complete`);\n\t\t\t\tresolve();\n\t\t\t});\n\t\t\tmanager.run();\n\t\t});\n\n\t\tmanagers.push(manager);\n\n\t\tindex++;\n\t}\n\n\tawait new Promise(() => {});\n};\n\nconst writeBuildResult = async (\n\tbuildResult: BuildArtefacts,\n\tmanifest: CreatorPackage,\n\tlocation: PackageLocation,\n\tworkspace: WorkspaceLocation,\n\toutputDirectory: string,\n\tminimize: boolean,\n\tlogStep: (step: string) => void,\n) => {\n\tlet js = buildResult.js;\n\n\tif (buildResult.sourceMap) {\n\t\tjs += `\\n//# sourceMappingURL=${manifest.Package}.js.map`;\n\t}\n\n\tawait fs.writeFile(\n\t\tpath.join(outputDirectory, `${manifest.Package}.js`),\n\t\tjs,\n\t\t{ encoding: \"utf8\" },\n\t);\n\tif (buildResult.definitions !== undefined) {\n\t\tawait fs.writeFile(\n\t\t\tpath.join(outputDirectory, `${manifest.Package}.d.ts`),\n\t\t\tbuildResult.definitions,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\t}\n\tif (buildResult.sourceMap !== undefined) {\n\t\tawait fs.writeFile(\n\t\t\tpath.join(outputDirectory, `${manifest.Package}.js.map`),\n\t\t\tbuildResult.sourceMap,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\t}\n\n\tif (minimize) {\n\t\tlogStep(\"Minifying the output\");\n\n\t\tconst minifyResult = await terser.minify(js, {\n\t\t\tecma: 5,\n\t\t\tsourceMap: {\n\t\t\t\tcontent: buildResult.sourceMap,\n\t\t\t\tincludeSources: false,\n\t\t\t},\n\t\t});\n\n\t\tconst minifiedPath = path.join(\n\t\t\toutputDirectory,\n\t\t\t`${manifest.Package}.min.js`,\n\t\t);\n\t\tawait fs.writeFile(minifiedPath, minifyResult.code!, {\n\t\t\tencoding: \"utf8\",\n\t\t});\n\t\tif (minifyResult.map !== undefined) {\n\t\t\tawait fs.writeFile(\n\t\t\t\tminifiedPath + \".map\",\n\t\t\t\ttypeof minifyResult.map === \"string\"\n\t\t\t\t\t? minifyResult.map\n\t\t\t\t\t: JSON.stringify(minifyResult.map),\n\t\t\t\t{ encoding: \"utf8\" },\n\t\t\t);\n\t\t}\n\t}\n\n\tif (\n\t\tlocation.path.includes(\"Basics\") &&\n\t\tbuildResult.definitions !== undefined\n\t) {\n\t\tawait fs.mkdir(path.join(workspace.path, \"lib\"), {\n\t\t\trecursive: true,\n\t\t});\n\n\t\tlogStep(\"Copying basics definition file to the lib folder\");\n\t\tawait fs.writeFile(\n\t\t\tpath.join(workspace.path, \"lib\", `${manifest.Package}.d.ts`),\n\t\t\tbuildResult.definitions,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\t}\n};\n\nconst createBannerCommentBuildParticipant =\n\t(options: BannerOptions): BuildParticipant =>\n\t(env) => {\n\t\tenv.onBuildStart();\n\n\t\tconst banner = createBannerComment(options);\n\n\t\tenv.onBuildEnd({\n\t\t\ttype: \"success\",\n\t\t\tartefacts: {\n\t\t\t\tjs: banner ?? \"\",\n\t\t\t\tdefinitions: banner ?? \"\",\n\t\t\t},\n\t\t});\n\n\t\treturn {\n\t\t\tdestroy: () => {},\n\t\t};\n\t};\n\nconst ensureTsConfig = async (location: PackageLocation) => {\n\tconst tsconfigPath = path.join(location.scriptsDir, \"tsconfig.json\");\n\n\ttry {\n\t\tconst content = JSON.parse(await fs.readFile(tsconfigPath, \"utf8\"));\n\t\tapplyTsConfigOption(content);\n\t\tawait fs.writeFile(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t} catch (err) {\n\t\tif (!isErrorENOENT(err)) {\n\t\t\tthrow err;\n\t\t}\n\n\t\tconst content = {};\n\t\tapplyTsConfigOption(content);\n\n\t\tawait fs.writeFile(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t}\n};\n\nconst applyTsConfigOption = (data: {\n\tcompilerOptions?: { target?: string; lib?: string[] };\n}) => {\n\tdata.compilerOptions = data.compilerOptions ?? {};\n\tdata.compilerOptions.target = \"es5\";\n\tdata.compilerOptions.lib = [\"es5\", \"dom\"];\n};\n\nconst sortPackagesByBuildOrder = (\n\tfolders: PackageLocation[],\n): PackageLocation[] => {\n\tconst packages = Array.from(folders).reduce(\n\t\t(\n\t\t\tacc: Record<string, FolderData>,\n\t\t\tlocation,\n\t\t): Record<string, FolderData> => {\n\t\t\tconst data = readPackageNpmManifest(location);\n\n\t\t\tif (data !== undefined) {\n\t\t\t\tacc[data.name] = {\n\t\t\t\t\tdata,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tacc[location.path] = {\n\t\t\t\t\tdata: undefined,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst packageDependencies = Object.getOwnPropertyNames(packages).reduce(\n\t\t(acc, packageName) => {\n\t\t\tconst packageData = packages[packageName];\n\n\t\t\tif (packageData.data === undefined) {\n\t\t\t\tacc[packageName] = [];\n\t\t\t} else {\n\t\t\t\tacc[packageName] = Object.getOwnPropertyNames({\n\t\t\t\t\t...packageData.data.devDependencies,\n\t\t\t\t\t...packageData.data.dependencies,\n\t\t\t\t\t...packageData.data.peerDependencies,\n\t\t\t\t}).filter((packageName) => packages[packageName] !== undefined);\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst sortedPackages = toposort(packageDependencies);\n\tconst result: PackageLocation[] = [];\n\n\tfor (const packageName of sortedPackages) {\n\t\tconst location = packages[packageName].location;\n\n\t\tif (readPackageCreatorManifest(location).Package.endsWith(\".Basics\")) {\n\t\t\tresult.unshift(location);\n\t\t} else {\n\t\t\tresult.push(location);\n\t\t}\n\t}\n\n\treturn result;\n};\n\nconst createBannerComment = (banner: BannerOptions) => {\n\tconst bannerParts: string[] = [];\n\n\tif (banner.text) {\n\t\tbannerParts.push(\" * \" + banner.text);\n\t}\n\n\t{\n\t\tconst details: string[] = [];\n\n\t\tif (banner.version) {\n\t\t\tdetails.push(`Version: ${banner.version}`);\n\t\t}\n\t\tif (banner.commit) {\n\t\t\tif (banner.commitDirty) {\n\t\t\t\tdetails.push(`Commit: ${banner.commit} (dirty)`);\n\t\t\t} else {\n\t\t\t\tdetails.push(`Commit: ${banner.commit}`);\n\t\t\t}\n\t\t}\n\t\tif (banner.date) {\n\t\t\tdetails.push(`Date: ${banner.date.toISOString()}`);\n\t\t}\n\n\t\tconst detailsText = details.map((line) => ` * ${line}`).join(\"\\n\");\n\t\tif (detailsText) {\n\t\t\tbannerParts.push(detailsText);\n\t\t}\n\t}\n\n\tconst bannerText = bannerParts.join(\"\\n\\n\");\n\n\tif (bannerText) {\n\t\treturn `/*\n${bannerText}\n*\n* @preserve\t\t\t\n*/`;\n\t}\n\n\treturn undefined;\n};\n"],"names":["logPackageMessage","name","step","index","total","maxNameLength","numLength","undefined","toString","length","indexString","padStart","identifierString","padEnd","console","log","tryReadTsConfig","location","config","ts","readConfigFile","path","join","scriptsDir","fs","readFileSync","createTSCBuildParticipant","outputDir","env","files","getPackageTypescriptFiles","onBuildStart","onBuildEnd","type","artefacts","js","definitions","destroy","compilerOptions","getCompilerOptions","host","createCompilerHost","getCurrentDirectory","sourceMap","writeFile","fileName","data","writeByteOrderMark","endsWith","programOptions","rootNames","options","program","createProgram","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","emitSkipped","map","createErrorMessage","Error","replace","error","err","message","createTSCWatchBuildParticipant","state","diagnostics","customSys","sys","reportDiagnostic","diagnostic","code","push","reportWatchStatusChanged","emitState","createWatchCompilerHost","createSemanticDiagnosticsBuilderProgram","watchProgram","createWatchProgram","close","file","flattenDiagnosticMessageText","messageText","line","character","getLineAndCharacterOfPosition","start","lib","result","convertCompilerOptionsFromJson","removeComments","declaration","inlineSources","outFile","target","ScriptTarget","ES5","noEmitOnError","generateDocs","declarationFile","outFolder","app","typedoc","Application","mediaDir","manifestDir","bootstrap","entryPoints","media","out","tsconfig","skipErrorChecking","setCompilerOptions","setValue","readmePath","glob","sync","absolute","cwd","project","convert","toposort","packages","queue","Object","getOwnPropertyNames","queueEntry","dependencies","dependencyQueued","some","dependency","includes","splice","BuildManager","EventEmitter","constructor","manifest","writer","logStep","participants","Map","states","addParticipant","participant","set","run","alreadyBusy","maybeEmit","errors","results","_","completeResult","sourceMapGenerator","SourceMapGenerator","lines","split","SourceMapConsumer","JSON","parse","sources","Set","eachMapping","mapping","addMapping","generated","generatedLine","column","generatedColumn","original","originalLine","originalColumn","source","add","content","sourceContentFor","setSourceContent","then","$schema","$id","$comment","title","additionalProperties","properties","Id","description","Animations","items","Path","$ref","States","Position","Rotation","Scaling","Visibility","Deformation","anyOf","Kinematics","oneOf","LinkedPoints","vec3","X","Y","Z","rotation","Q","W","igxcPath","pattern","param","kinematicChain","GeometryBase","Joints","Name","HeadX","HeadY","HeadZ","Tail","LimitLeft","LimitRight","LimitUp","LimitDown","FollowJointNode","_TargetNodeForFollow","Target","enum","Parent","Tolerance","MaxIterations","__","createAnimationBuildParticipant","bundleAnimations","catch","createAnimationWatchBuildParticipant","event","watch","filename","animations","scriptFilePath","readPackageAnimationList","readFile","encoding","relativePath","relative","SyntaxError","String","cause","basename","getAnimationJsonValidation","stringify","size","scope","Scope","Package","scopeParts","createNamespace","parts","slice","validateAnimationJson","Ajv","coerceTypes","allErrors","removeAdditional","useDefaults","validateSchema","compile","animationSchema","buildFolders","outDir","clean","rm","recursive","workspace","folders","sortedPackages","sortPackagesByBuildOrder","manifests","readPackageCreatorManifest","Array","from","values","reduce","acc","Math","max","ensureTsConfig","get","outputDirectory","mkdir","manager","writeBuildResult","minimize","banner","createBannerCommentBuildParticipant","experimentalSwc","createSWCBuildParticipant","Promise","resolve","reject","addListener","docs","buildFoldersWatch","currentIndex","buildResult","minifyResult","terser","minify","ecma","includeSources","minifiedPath","createBannerComment","tsconfigPath","applyTsConfigOption","isErrorENOENT","readPackageNpmManifest","packageDependencies","packageName","packageData","devDependencies","peerDependencies","filter","unshift","bannerParts","text","details","version","commit","commitDirty","date","toISOString","detailsText","bannerText"],"mappings":"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"}
@@ -5,17 +5,16 @@ import { createWriteStream, createReadStream } from 'fs';
5
5
  import { pipeline } from 'stream/promises';
6
6
  import { exec } from 'child_process';
7
7
  import { promisify } from 'util';
8
- import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from './dependencies-7711a9db.mjs';
9
- import { P as PACKAGE_FILE, I as INDEX_FILE, p as parseCreatorPackageName, r as readPackageCreatorManifest, w as writePackageCreatorManifest, i as isErrorENOENT, a as readPackageCreatorIndex, b as readWorkspaceNpmManifest, g as getWorkspaceOutputPath, c as readPackageAnimationList, d as isErrorEACCES, e as isErrorEPERM, u as uploadPackageFromStream, f as getPackageReleasesDirectory, h as getExistingPackages, s as startSession, j as closeSession } from './cli-91fabb36.mjs';
10
- import { l as logPackageMessage, b as buildFolders } from './index-e6ead55c.mjs';
8
+ import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from './dependencies-d870016d.mjs';
9
+ import { P as PACKAGE_FILE, I as INDEX_FILE, p as parseCreatorPackageName, r as readPackageCreatorManifest, w as writePackageCreatorManifest, i as isErrorENOENT, a as readPackageCreatorIndex, b as readWorkspaceNpmManifest, g as getWorkspaceOutputPath, c as readPackageAnimationList, d as isErrorEACCES, e as isErrorEPERM, u as uploadPackageFromStream, f as getPackageReleasesDirectory, h as getExistingPackages, s as startSession, j as closeSession } from './cli-fec9c069.mjs';
10
+ import { l as logPackageMessage, b as buildFolders } from './index-0caf1a6e.mjs';
11
11
  import 'write-pkg';
12
12
  import 'glob';
13
13
  import 'node:path';
14
14
  import 'node:fs';
15
15
  import 'axios';
16
- import { g as getVersionFileHandler, p as parseVersionFromString, a as getVersionInformationFromGit, b as getWorkspaceBannerText, c as parseVersionFromNumericVersion, P as PackageVersion } from './versionFile-ad981e93.mjs';
16
+ import { g as getVersionFileHandler, p as parseVersionFromString, a as getVersionInformationFromGit, b as getWorkspaceBannerText, c as parseVersionFromNumericVersion, P as PackageVersion } from './versionFile-cbfd3f4a.mjs';
17
17
  import JSZip from 'jszip';
18
- import * as terser from 'terser';
19
18
  import 'resolve';
20
19
  import 'update-notifier';
21
20
  import 'yargs/yargs';
@@ -24,6 +23,7 @@ import 'assert';
24
23
  import 'events';
25
24
  import 'core-js/modules/es.typed-array.set.js';
26
25
  import 'inquirer';
26
+ import 'terser';
27
27
  import 'typescript';
28
28
  import './scripts-7ed8dff6.mjs';
29
29
  import 'typedoc';
@@ -44,7 +44,7 @@ const buildArchiveFromPublishedPackage = (location, manifest, creatorPackage)=>{
44
44
  if (fs.existsSync(source)) {
45
45
  const images = fs.readdirSync(source);
46
46
  for (const file of images){
47
- const { ext } = path.parse(file);
47
+ const { ext } = path.parse(file);
48
48
  switch(ext){
49
49
  case ".png":
50
50
  case ".jpeg":
@@ -68,10 +68,9 @@ const notRuntimeScripts = [
68
68
  "Context",
69
69
  "Evaluator"
70
70
  ];
71
- const buildArchiveFromPackage = async (packageLocation, data, binDir)=>{
72
- const { domain } = parseCreatorPackageName(data);
71
+ const buildArchiveFromPackage = async (packageLocation, data, binDir, minified = true)=>{
72
+ const { domain } = parseCreatorPackageName(data);
73
73
  const logStep = (step)=>logPackageMessage(data.Package, step);
74
- const libFilePath = path.join(binDir, `${data.Package}.min.js`);
75
74
  const scriptDirectories = [
76
75
  packageLocation.path,
77
76
  packageLocation.scriptsDir
@@ -98,6 +97,7 @@ const buildArchiveFromPackage = async (packageLocation, data, binDir)=>{
98
97
  }
99
98
  let libFile;
100
99
  try {
100
+ const libFilePath = minified ? path.join(binDir, `${data.Package}.min.js`) : path.join(binDir, `${data.Package}.js`);
101
101
  libFile = fs.readFileSync(libFilePath, {
102
102
  encoding: "utf8"
103
103
  });
@@ -116,10 +116,7 @@ const buildArchiveFromPackage = async (packageLocation, data, binDir)=>{
116
116
  library = `/* This file is part of the ${domain} Data Packages.
117
117
  * Copyright (C) ${date.getFullYear()} intelligentgraphics. All Rights Reserved. */`;
118
118
  }
119
- const minifyResult = await terser.minify(library, {
120
- ecma: 5
121
- });
122
- archive.file(`${data.Package}.js`, minifyResult.code);
119
+ archive.file(`${data.Package}.js`, library);
123
120
  archive.file(PACKAGE_FILE, JSON.stringify(data, null, 2));
124
121
  const creatorIndex = readPackageCreatorIndex(packageLocation);
125
122
  if (creatorIndex !== undefined) {
@@ -128,7 +125,7 @@ const buildArchiveFromPackage = async (packageLocation, data, binDir)=>{
128
125
  for (const directory of scriptDirectories){
129
126
  try {
130
127
  for (const file of fs.readdirSync(directory)){
131
- const { ext } = path.parse(file);
128
+ const { ext } = path.parse(file);
132
129
  switch(ext){
133
130
  case ".png":
134
131
  case ".jpeg":
@@ -150,10 +147,10 @@ const execAsync = promisify(exec);
150
147
  const releaseFolder = async (options)=>{
151
148
  const workspace = options.workspace;
152
149
  const location = options.directory;
153
- const { write: writeVersionFile , reset: resetVersionFile } = getVersionFileHandler(location);
150
+ const { write: writeVersionFile, reset: resetVersionFile } = getVersionFileHandler(location);
154
151
  const packageDescription = readPackageCreatorManifest(location);
155
152
  const fullPackageName = packageDescription.Package;
156
- const { domain , subdomain } = parseCreatorPackageName(packageDescription);
153
+ const { domain, subdomain } = parseCreatorPackageName(packageDescription);
157
154
  const publishDomain = options.domain ?? domain;
158
155
  const publishSubdomain = options.subdomain ?? subdomain;
159
156
  const sharedPackageJson = readWorkspaceNpmManifest(workspace);
@@ -173,6 +170,9 @@ const releaseFolder = async (options)=>{
173
170
  version: newVersion.buildNumber
174
171
  };
175
172
  } else if (newVersion.buildNumber > 100) {
173
+ if (options.experimentalSwc) {
174
+ throw new Error(`Experimental SWC is not allowed for release versions`);
175
+ }
176
176
  newVersion.preRelease = {
177
177
  type: "patch",
178
178
  version: newVersion.buildNumber - 100
@@ -261,7 +261,8 @@ const releaseFolder = async (options)=>{
261
261
  }
262
262
  }
263
263
  }
264
- const archive = await buildArchiveFromPackage(location, packageDescription, binDir);
264
+ logPackageMessage(packageDescription.Package, `Creating zip file`);
265
+ const archive = await buildArchiveFromPackage(location, packageDescription, binDir, options.minimize);
265
266
  try {
266
267
  const zipOutputStream = createWriteStream(zipFilePath);
267
268
  await pipeline(archive.generateNodeStream(), zipOutputStream);
@@ -464,4 +465,4 @@ const createSessionManager = async (params)=>{
464
465
  };
465
466
 
466
467
  export { releaseFolder };
467
- //# sourceMappingURL=index-ca04836f.mjs.map
468
+ //# sourceMappingURL=index-7fa42d48.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-7fa42d48.mjs","sources":["../src/commands/publish/zip.ts","../src/commands/publish/index.ts"],"sourcesContent":["import JSZip from \"jszip\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { isErrorENOENT } from \"../../lib/error\";\nimport { logPackageMessage } from \"../../lib/log\";\nimport {\n\tCreatorPackage,\n\treadPackageCreatorManifest,\n\twritePackageCreatorManifest,\n\treadPackageCreatorIndex,\n\tparseCreatorPackageName,\n\tPackageLocation,\n\tPackageNpmManifest,\n\tINDEX_FILE,\n\tPACKAGE_FILE,\n} from \"../../lib/package\";\nimport {\n\tPublishedPackageLocation,\n\treadPublishedPackageCreatorIndex,\n} from \"../../lib/publishedPackage\";\n\nexport const buildArchiveFromPublishedPackage = (\n\tlocation: PublishedPackageLocation,\n\tmanifest: PackageNpmManifest,\n\tcreatorPackage: CreatorPackage,\n) => {\n\tconst archive = new JSZip();\n\n\tarchive.file(PACKAGE_FILE, JSON.stringify(creatorPackage, null, 2));\n\n\tconst index = readPublishedPackageCreatorIndex(location);\n\n\tif (index !== undefined) {\n\t\tarchive.file(INDEX_FILE, JSON.stringify(index, null, 2));\n\t}\n\n\tarchive.file(\n\t\tmanifest.main,\n\t\tfs.createReadStream(path.join(location.path, manifest.main)),\n\t);\n\n\tif (creatorPackage.Package === \"IG.GFX.Standard\") {\n\t\tconst source = path.join(location.path, \"Images\");\n\n\t\tif (fs.existsSync(source)) {\n\t\t\tconst images = fs.readdirSync(source);\n\n\t\t\tfor (const file of images) {\n\t\t\t\tconst { ext } = path.parse(file);\n\n\t\t\t\tswitch (ext) {\n\t\t\t\t\tcase \".png\":\n\t\t\t\t\tcase \".jpeg\":\n\t\t\t\t\tcase \".jpg\":\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tarchive.file(\n\t\t\t\t\tfile,\n\t\t\t\t\tfs.createReadStream(path.join(source, file)),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn archive;\n};\n\nconst runtimeScripts: CreatorPackage[\"Type\"][] = [\n\t\"Interactor\",\n\t\"Core\",\n\t\"Mixed\",\n];\n\nconst notRuntimeScripts: CreatorPackage[\"Type\"][] = [\"Context\", \"Evaluator\"];\n\nexport const buildArchiveFromPackage = async (\n\tpackageLocation: PackageLocation,\n\tdata: CreatorPackage,\n\tbinDir: string,\n\tminified = true,\n) => {\n\tconst { domain } = parseCreatorPackageName(data);\n\n\tconst logStep = (step: string) => logPackageMessage(data.Package, step);\n\n\tconst scriptDirectories: string[] = [\n\t\tpackageLocation.path,\n\t\tpackageLocation.scriptsDir,\n\t];\n\n\tif (data.Package === \"IG.GFX.Standard\") {\n\t\tlogStep(`Including Images folder`);\n\t\tscriptDirectories.push(path.join(packageLocation.path, \"Images\"));\n\t}\n\n\tconst manifest = readPackageCreatorManifest(packageLocation);\n\n\tif (manifest !== undefined) {\n\t\tif (manifest.RunTime && notRuntimeScripts.includes(manifest.Type)) {\n\t\t\tlogStep(\"Setting script RunTime to false because of script type\");\n\t\t\twritePackageCreatorManifest(packageLocation, {\n\t\t\t\t...manifest,\n\t\t\t\tRunTime: false,\n\t\t\t});\n\t\t} else if (\n\t\t\t!manifest.RunTime &&\n\t\t\truntimeScripts.includes(manifest.Type)\n\t\t) {\n\t\t\tlogStep(\"Setting script RunTime to true because of script type\");\n\t\t\twritePackageCreatorManifest(packageLocation, {\n\t\t\t\t...manifest,\n\t\t\t\tRunTime: true,\n\t\t\t});\n\t\t}\n\t}\n\n\tlet libFile: string | undefined;\n\n\ttry {\n\t\tconst libFilePath = minified\n\t\t\t? path.join(binDir, `${data.Package}.min.js`)\n\t\t\t: path.join(binDir, `${data.Package}.js`);\n\n\t\tlibFile = fs.readFileSync(libFilePath, {\n\t\t\tencoding: \"utf8\",\n\t\t});\n\t} catch (err) {\n\t\tif (!isErrorENOENT(err)) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\n\tconst archive = new JSZip();\n\n\tlet library: string = \"\";\n\n\tif (libFile) {\n\t\tlibrary = libFile;\n\t}\n\n\tif (!library) {\n\t\tconst date = new Date(Date.now());\n\t\tlibrary = `/* This file is part of the ${domain} Data Packages.\n\t\t* Copyright (C) ${date.getFullYear()} intelligentgraphics. All Rights Reserved. */`;\n\t}\n\n\tarchive.file(`${data.Package}.js`, library);\n\tarchive.file(PACKAGE_FILE, JSON.stringify(data, null, 2));\n\n\tconst creatorIndex = readPackageCreatorIndex(packageLocation);\n\n\tif (creatorIndex !== undefined) {\n\t\tarchive.file(INDEX_FILE, JSON.stringify(creatorIndex, null, 2));\n\t}\n\n\tfor (const directory of scriptDirectories) {\n\t\ttry {\n\t\t\tfor (const file of fs.readdirSync(directory)) {\n\t\t\t\tconst { ext } = path.parse(file);\n\n\t\t\t\tswitch (ext) {\n\t\t\t\t\tcase \".png\":\n\t\t\t\t\tcase \".jpeg\":\n\t\t\t\t\tcase \".jpg\":\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tarchive.file(\n\t\t\t\t\tfile,\n\t\t\t\t\tfs.createReadStream(path.join(directory, file)),\n\t\t\t\t);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconsole.error(`Script directory \"${directory}\" does not exist`);\n\t\t}\n\t}\n\n\treturn archive;\n};\n","import * as path from \"path\";\nimport * as fs from \"fs/promises\";\nimport { createReadStream, createWriteStream } from \"fs\";\nimport { pipeline } from \"stream/promises\";\nimport { exec } from \"child_process\";\nimport { promisify } from \"util\";\n\nimport {\n\tAssetService,\n\tisErrorEACCES,\n\tisErrorEPERM,\n\twritePackageCreatorManifest,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nimport { logPackageMessage } from \"../../lib/log\";\nimport {\n\tCreatorPackage,\n\tgetPackageReleasesDirectory,\n\tPackageLocation,\n\tparseCreatorPackageName,\n\treadPackageAnimationList,\n\treadPackageCreatorManifest,\n} from \"../../lib/package\";\nimport {\n\tgetWorkspaceOutputPath,\n\treadWorkspaceNpmManifest,\n\tWorkspaceLocation,\n} from \"../../lib/workspace\";\nimport { getVersionInformationFromGit } from \"../../lib/git\";\nimport { getWorkspaceBannerText } from \"../../lib/banner\";\nimport {\n\tparseVersionFromNumericVersion,\n\tparseVersionFromString,\n} from \"../../lib/parseVersion\";\nimport { getVersionFileHandler } from \"../../lib/versionFile\";\nimport { isErrorENOENT } from \"../../lib/error\";\nimport { determineWorkspaceIGLibraries } from \"../../lib/dependencies\";\nimport {\n\treadPublishedPackageCreatorManifest,\n\treadPublishedPackageNpmManifest,\n} from \"../../lib/publishedPackage\";\nimport { Prompter, PrompterOption } from \"../../lib/prompter\";\nimport { PackageVersion } from \"../../lib/packageVersion\";\n\nimport { BuildFoldersOptions, buildFolders } from \"../build\";\nimport {\n\tbuildArchiveFromPackage,\n\tbuildArchiveFromPublishedPackage,\n} from \"./zip\";\n\nexport interface ReleaseFolderOptions\n\textends Omit<\n\t\tBuildFoldersOptions,\n\t\t\"skipPackagesWithoutTsFiles\" | \"banner\" | \"packages\"\n\t> {\n\tdirectory: PackageLocation;\n\tnoUpload: boolean;\n\tnewVersion: string;\n\tdomain?: string;\n\tsubdomain?: string;\n\taddress?: string;\n\tservice: string;\n\tauthentication?: AssetService.Authentication;\n\tpushOnly: boolean;\n\tbanner?: boolean;\n\tprompter: Prompter;\n\tskipDependencies?: boolean;\n}\n\nconst execAsync = promisify(exec);\n\nexport const releaseFolder = async (options: ReleaseFolderOptions) => {\n\tconst workspace = options.workspace;\n\tconst location = options.directory;\n\n\tconst { write: writeVersionFile, reset: resetVersionFile } =\n\t\tgetVersionFileHandler(location);\n\n\tconst packageDescription = readPackageCreatorManifest(location);\n\tconst fullPackageName = packageDescription.Package;\n\tconst { domain, subdomain } = parseCreatorPackageName(packageDescription);\n\n\tconst publishDomain = options.domain ?? domain;\n\tconst publishSubdomain = options.subdomain ?? subdomain;\n\n\tconst sharedPackageJson = readWorkspaceNpmManifest(workspace);\n\n\tlet newVersion: PackageVersion;\n\ttry {\n\t\tnewVersion = parseVersionFromString(options.newVersion);\n\t} catch (err) {\n\t\tthrow new Error(`Please enter a version in this format 1.0.0.100`);\n\t}\n\n\tpackageDescription.Version = newVersion.toVersionString({\n\t\tbuildNumber: true,\n\t});\n\twritePackageCreatorManifest(location, packageDescription);\n\n\tif (newVersion.buildNumber < 100) {\n\t\tnewVersion.preRelease = {\n\t\t\ttype: \"beta\",\n\t\t\tversion: newVersion.buildNumber,\n\t\t};\n\t} else if (newVersion.buildNumber > 100) {\n\t\tif (options.experimentalSwc) {\n\t\t\tthrow new Error(\n\t\t\t\t`Experimental SWC is not allowed for release versions`,\n\t\t\t);\n\t\t}\n\n\t\tnewVersion.preRelease = {\n\t\t\ttype: \"patch\",\n\t\t\tversion: newVersion.buildNumber - 100,\n\t\t};\n\t}\n\n\tif (sharedPackageJson !== undefined) {\n\t\tlogPackageMessage(\n\t\t\tpackageDescription.Package,\n\t\t\t`Running npm install to make sure all dependencies are up to date`,\n\t\t);\n\t\tawait execAsync(`npm install`, {\n\t\t\tencoding: \"utf-8\",\n\t\t\tcwd: workspace.path,\n\t\t});\n\t}\n\n\tconst binDir = options.outDir ?? getWorkspaceOutputPath(workspace);\n\tawait fs.mkdir(binDir, { recursive: true });\n\n\tlet assetServerPackageDetails: AssetService.UploadPackageDetails;\n\n\tlet packageNameWithVersion: string;\n\n\t{\n\t\tconst versionWithoutPrelease = newVersion.clone();\n\t\tversionWithoutPrelease.preRelease = undefined;\n\t\tconst newVersionString = versionWithoutPrelease.toVersionString({\n\t\t\tbuildNumber: true,\n\t\t});\n\t\tpackageNameWithVersion = `${packageDescription.Package}_${newVersionString}`;\n\n\t\tassetServerPackageDetails = {\n\t\t\tname: packageDescription.Package,\n\t\t\tversion: newVersionString,\n\t\t};\n\t}\n\n\tlet zipFilePath = path.join(binDir, packageNameWithVersion + \".zip\");\n\tinterface Uploadable {\n\t\tgetStream: () => NodeJS.ReadableStream;\n\t}\n\n\tlet uploadable: Uploadable = {\n\t\tgetStream: () => createReadStream(zipFilePath),\n\t};\n\n\ttry {\n\t\tif (options.pushOnly) {\n\t\t\tconst zipFileExists = await fs.stat(zipFilePath).catch((err) => {\n\t\t\t\tif (isErrorENOENT(err)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn Promise.reject(err);\n\t\t\t});\n\n\t\t\tif (zipFileExists) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Expected a zip file to exist at path ${zipFilePath} since pushOnly is specified`,\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tconst gitVersionInformation = await getVersionInformationFromGit(\n\t\t\t\tworkspace,\n\t\t\t\tlocation,\n\t\t\t);\n\n\t\t\twriteVersionFile(fullPackageName, newVersion);\n\n\t\t\tconst bannerText =\n\t\t\t\tsharedPackageJson !== undefined\n\t\t\t\t\t? getWorkspaceBannerText(sharedPackageJson)\n\t\t\t\t\t: undefined;\n\n\t\t\tawait buildFolders({\n\t\t\t\t...options,\n\t\t\t\tpackages: [location],\n\t\t\t\tbanner: options.banner\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttext: bannerText,\n\t\t\t\t\t\t\tcommit: gitVersionInformation.commit,\n\t\t\t\t\t\t\tcommitDirty: gitVersionInformation.dirty,\n\t\t\t\t\t\t\tversion: newVersion.toVersionString({\n\t\t\t\t\t\t\t\tbuildNumber: true,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tdate: new Date(Date.now()),\n\t\t\t\t\t\t\t// gitVersionInformation.commitDate\n\t\t\t\t\t\t\t// \t? new Date(gitVersionInformation.commitDate)\n\t\t\t\t\t\t\t// \t: new Date(Date.now()),\n\t\t\t\t\t }\n\t\t\t\t\t: undefined,\n\t\t\t});\n\n\t\t\tnewVersion.preRelease = undefined;\n\n\t\t\ttry {\n\t\t\t\tawait fs.rm(zipFilePath);\n\t\t\t} catch (err) {\n\t\t\t\tif (!isErrorENOENT(err)) {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (readPackageAnimationList(location).length > 0) {\n\t\t\t\tconst workspaceManifest = readWorkspaceNpmManifest(workspace);\n\n\t\t\t\tif (\n\t\t\t\t\t!workspaceManifest.dependencies?.[\n\t\t\t\t\t\t\"@intelligentgraphics/3d.ig.gfx.standard\"\n\t\t\t\t\t]\n\t\t\t\t) {\n\t\t\t\t\tconst install = await options.prompter.confirm(\n\t\t\t\t\t\t`The IG.GFX.Standard package should be added as a dependency to provide the 'AnimationInteractor' used to display animations. Do you wish to add it now?`,\n\t\t\t\t\t);\n\n\t\t\t\t\tif (install) {\n\t\t\t\t\t\tawait execAsync(\n\t\t\t\t\t\t\t`npm install @intelligentgraphics/3d.ig.gfx.standard`,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tencoding: \"utf-8\",\n\t\t\t\t\t\t\t\tcwd: workspace.path,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tawait execAsync(`npm run postinstall`, {\n\t\t\t\t\t\t\tcwd: workspace.path,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlogPackageMessage(packageDescription.Package, `Creating zip file`);\n\n\t\t\tconst archive = await buildArchiveFromPackage(\n\t\t\t\tlocation,\n\t\t\t\tpackageDescription,\n\t\t\t\tbinDir,\n\t\t\t\toptions.minimize,\n\t\t\t);\n\n\t\t\ttry {\n\t\t\t\tconst zipOutputStream = createWriteStream(zipFilePath);\n\t\t\t\tawait pipeline(archive.generateNodeStream(), zipOutputStream);\n\t\t\t} catch (err) {\n\t\t\t\tif (isErrorEACCES(err) || isErrorEPERM(err)) {\n\t\t\t\t\tlogPackageMessage(\n\t\t\t\t\t\tpackageDescription.Package,\n\t\t\t\t\t\t`Could not create zip file in the bin directory because of a permissions error. Only using it in-memory`,\n\t\t\t\t\t);\n\t\t\t\t\tuploadable = {\n\t\t\t\t\t\tgetStream: () => archive.generateNodeStream(),\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!options.noUpload) {\n\t\t\tif (!options.authentication) {\n\t\t\t\tthrow new Error(`Expected authentication to be available`);\n\t\t\t}\n\n\t\t\tlogPackageMessage(\n\t\t\t\tpackageDescription.Package,\n\t\t\t\t`Opening connection to IG.Asset.Server`,\n\t\t\t);\n\n\t\t\tconst sessionManager = await createSessionManager({\n\t\t\t\turl: options.service,\n\t\t\t\taddress: options.address,\n\t\t\t\tdomain: publishDomain,\n\t\t\t\tsubDomain: publishSubdomain,\n\t\t\t\tauthentication: options.authentication,\n\t\t\t});\n\n\t\t\ttry {\n\t\t\t\tif (!options.skipDependencies) {\n\t\t\t\t\tawait ensureRequiredVersions(\n\t\t\t\t\t\tworkspace,\n\t\t\t\t\t\tpackageDescription,\n\t\t\t\t\t\tsessionManager,\n\t\t\t\t\t\toptions.prompter,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tlogPackageMessage(\n\t\t\t\t\tpackageDescription.Package,\n\t\t\t\t\t`Uploading package to ${publishDomain}.${publishSubdomain}`,\n\t\t\t\t);\n\n\t\t\t\tawait AssetService.uploadPackageFromStream(\n\t\t\t\t\tsessionManager.getTargetSession(),\n\t\t\t\t\tassetServerPackageDetails,\n\t\t\t\t\tuploadable.getStream(),\n\t\t\t\t);\n\t\t\t} finally {\n\t\t\t\tawait sessionManager.destroy().catch((err) => {\n\t\t\t\t\tlogPackageMessage(\n\t\t\t\t\t\tpackageDescription.Package,\n\t\t\t\t\t\t`Failed to close IG.Asset.Server session(s): ${err}`,\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\tresetVersionFile();\n\t\tthrow err;\n\t}\n\n\tif (newVersion.buildNumber >= 100 && !options.pushOnly) {\n\t\tlogPackageMessage(fullPackageName, \"Copying zip to releases folder\");\n\n\t\tconst zipFileName = `${packageNameWithVersion}.zip`;\n\t\tconst releasesPath = getPackageReleasesDirectory(location);\n\n\t\tawait fs.mkdir(releasesPath, { recursive: true });\n\t\tawait pipeline(\n\t\t\tuploadable.getStream(),\n\t\t\tcreateWriteStream(path.join(releasesPath, zipFileName)),\n\t\t);\n\t}\n};\n\nconst ensureRequiredVersions = async (\n\tworkspaceLocation: WorkspaceLocation,\n\tcreatorPackage: CreatorPackage,\n\tsessionManager: SessionManager,\n\tprompter: Prompter,\n) => {\n\tinterface UploadedPackage\n\t\textends Omit<AssetService.ExistingPackage, \"version\"> {\n\t\tversion: PackageVersion;\n\t}\n\n\tconst libraries = determineWorkspaceIGLibraries(workspaceLocation);\n\n\t// If there are no libraries, we don't need to check for required versions\n\tif (libraries.length === 0) {\n\t\treturn true;\n\t}\n\n\tconst targetSession = sessionManager.getTargetSession();\n\n\tconst rawUploadedPackages = await AssetService.getExistingPackages(\n\t\ttargetSession,\n\t);\n\n\tconst uploadedPackages = rawUploadedPackages.map(\n\t\t(entry): UploadedPackage => {\n\t\t\tlet version: PackageVersion;\n\n\t\t\ttry {\n\t\t\t\tversion = parseVersionFromNumericVersion(entry.numericVersion);\n\t\t\t} catch (err) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Encountered invalid format for version ${entry.numericVersion}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (version.buildNumber < 100) {\n\t\t\t\tversion.preRelease = {\n\t\t\t\t\ttype: \"beta\",\n\t\t\t\t\tversion: version.buildNumber,\n\t\t\t\t};\n\t\t\t} else if (version.buildNumber > 100) {\n\t\t\t\tversion.preRelease = {\n\t\t\t\t\ttype: \"patch\",\n\t\t\t\t\tversion: version.buildNumber - 100,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...entry,\n\t\t\t\tversion,\n\t\t\t};\n\t\t},\n\t);\n\n\tfor (const libraryLocation of libraries) {\n\t\tconst libraryManifest =\n\t\t\treadPublishedPackageNpmManifest(libraryLocation);\n\t\tconst libraryCreatorPackage =\n\t\t\treadPublishedPackageCreatorManifest(libraryLocation);\n\n\t\tif (\n\t\t\tlibraryCreatorPackage === undefined ||\n\t\t\tlibraryManifest.main === undefined ||\n\t\t\tlibraryCreatorPackage.Package === creatorPackage.Package\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst libraryVersion = PackageVersion.extractFromLine(\n\t\t\tlibraryManifest.version,\n\t\t);\n\n\t\tif (libraryVersion.preRelease) {\n\t\t\tlibraryVersion.buildNumber = libraryVersion.preRelease.version;\n\t\t\tlibraryVersion.preRelease = undefined;\n\t\t} else {\n\t\t\tlibraryVersion.buildNumber = 100;\n\t\t}\n\n\t\tlet uploadedPackageInBasics: UploadedPackage | undefined;\n\t\tlet uploadedPackageInTarget: UploadedPackage | undefined;\n\n\t\tfor (const uploadedPackage of uploadedPackages) {\n\t\t\tif (uploadedPackage.scope === libraryCreatorPackage.Package) {\n\t\t\t\tif (uploadedPackage.support) {\n\t\t\t\t\tuploadedPackageInBasics = uploadedPackage;\n\t\t\t\t} else {\n\t\t\t\t\tuploadedPackageInTarget = uploadedPackage;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst validInBasics =\n\t\t\tuploadedPackageInBasics !== undefined &&\n\t\t\t!uploadedPackageInBasics.version.isLesserThan(libraryVersion);\n\t\tconst validInTarget =\n\t\t\tuploadedPackageInTarget !== undefined &&\n\t\t\t!uploadedPackageInTarget.version.isLesserThan(libraryVersion);\n\n\t\tif (validInBasics || validInTarget) {\n\t\t\tif (\n\t\t\t\ttargetSession.subDomain !== \"Basics\" &&\n\t\t\t\tuploadedPackageInBasics !== undefined &&\n\t\t\t\tuploadedPackageInTarget !== undefined\n\t\t\t) {\n\t\t\t\tlogPackageMessage(\n\t\t\t\t\tcreatorPackage.Package,\n\t\t\t\t\t`Package ${libraryCreatorPackage.Package} is uploaded both for Basics and ${targetSession.subDomain}. The package within ${targetSession.subDomain} will be used.`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst possibleTargets: PrompterOption[] = [];\n\n\t\tif (uploadedPackageInBasics) {\n\t\t\tconst version = uploadedPackageInBasics.version.toVersionString({\n\t\t\t\tbuildNumber: true,\n\t\t\t});\n\n\t\t\tpossibleTargets.push({\n\t\t\t\tvalue: \"Basics\",\n\t\t\t\tname: `Basics (Current: ${version})`,\n\t\t\t});\n\t\t} else {\n\t\t\tpossibleTargets.push({\n\t\t\t\tvalue: \"Basics\",\n\t\t\t\tname: \"Basics (Current: None)\",\n\t\t\t});\n\t\t}\n\n\t\tif (targetSession.subDomain !== \"Basics\") {\n\t\t\tif (uploadedPackageInTarget) {\n\t\t\t\tconst version = uploadedPackageInTarget.version.toVersionString(\n\t\t\t\t\t{\n\t\t\t\t\t\tbuildNumber: true,\n\t\t\t\t\t},\n\t\t\t\t);\n\n\t\t\t\tpossibleTargets.push({\n\t\t\t\t\tvalue: targetSession.subDomain,\n\t\t\t\t\tname: `${targetSession.subDomain} (Current: ${version})`,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tpossibleTargets.push({\n\t\t\t\t\tvalue: targetSession.subDomain,\n\t\t\t\t\tname: `${targetSession.subDomain} (Current: None)`,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tconst libraryVersionString = libraryVersion.toVersionString({\n\t\t\tbuildNumber: true,\n\t\t});\n\n\t\tconst uploadTargetScope = await prompter.ask({\n\t\t\tmessage: `Version ${libraryVersionString} of dependency ${libraryCreatorPackage.Package} is required but not available. Please select a subdomain to upload the correct dependency version to`,\n\t\t\toptions: [\n\t\t\t\t...possibleTargets,\n\t\t\t\t{ name: \"Skip upload\", value: \"Skip\" },\n\t\t\t],\n\t\t\tdefault: possibleTargets[0].value,\n\t\t});\n\n\t\tif (uploadTargetScope === \"Skip\") {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst archive = buildArchiveFromPublishedPackage(\n\t\t\tlibraryLocation,\n\t\t\tlibraryManifest,\n\t\t\tlibraryCreatorPackage,\n\t\t);\n\n\t\tconst newVersionString = libraryVersion.toVersionString({\n\t\t\tbuildNumber: true,\n\t\t});\n\n\t\tconst session =\n\t\t\tuploadTargetScope === \"Basics\"\n\t\t\t\t? await sessionManager.getBasicsSession()\n\t\t\t\t: targetSession;\n\n\t\tlogPackageMessage(\n\t\t\tcreatorPackage.Package,\n\t\t\t`Uploading package ${libraryCreatorPackage.Package} with version ${newVersionString} to ${session.domain}.${session.subDomain}`,\n\t\t);\n\n\t\tawait AssetService.uploadPackageFromStream(\n\t\t\tsession,\n\t\t\t{\n\t\t\t\tname: libraryCreatorPackage.Package,\n\t\t\t\tversion: newVersionString,\n\t\t\t},\n\t\t\tarchive.generateNodeStream(),\n\t\t);\n\t}\n};\n\ninterface SessionManager {\n\tgetBasicsSession: () => Promise<AssetService.Session>;\n\tgetTargetSession: () => AssetService.Session;\n\tdestroy: () => Promise<void>;\n}\n\nconst createSessionManager = async (\n\tparams: AssetService.SessionStartParams,\n): Promise<SessionManager> => {\n\tconst targetSession = await AssetService.startSession(params);\n\tlet basicsSession: AssetService.Session | undefined;\n\n\treturn {\n\t\tgetBasicsSession: async () => {\n\t\t\tif (targetSession.subDomain === \"Basics\") {\n\t\t\t\treturn targetSession;\n\t\t\t}\n\n\t\t\tif (basicsSession === undefined) {\n\t\t\t\tbasicsSession = await AssetService.startSession({\n\t\t\t\t\t...params,\n\t\t\t\t\tsubDomain: \"Basics\",\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn basicsSession;\n\t\t},\n\n\t\tgetTargetSession: () => targetSession,\n\n\t\tdestroy: async () => {\n\t\t\tawait AssetService.closeSession(targetSession);\n\n\t\t\tif (basicsSession !== undefined) {\n\t\t\t\tawait AssetService.closeSession(basicsSession);\n\t\t\t}\n\t\t},\n\t};\n};\n"],"names":["buildArchiveFromPublishedPackage","location","manifest","creatorPackage","archive","JSZip","file","PACKAGE_FILE","JSON","stringify","index","readPublishedPackageCreatorIndex","undefined","INDEX_FILE","main","fs","createReadStream","path","join","Package","source","existsSync","images","readdirSync","ext","parse","runtimeScripts","notRuntimeScripts","buildArchiveFromPackage","packageLocation","data","binDir","minified","domain","parseCreatorPackageName","logStep","step","logPackageMessage","scriptDirectories","scriptsDir","push","readPackageCreatorManifest","RunTime","includes","Type","writePackageCreatorManifest","libFile","libFilePath","readFileSync","encoding","err","isErrorENOENT","library","date","Date","now","getFullYear","creatorIndex","readPackageCreatorIndex","directory","console","error","execAsync","promisify","exec","releaseFolder","options","workspace","write","writeVersionFile","reset","resetVersionFile","getVersionFileHandler","packageDescription","fullPackageName","subdomain","publishDomain","publishSubdomain","sharedPackageJson","readWorkspaceNpmManifest","newVersion","parseVersionFromString","Error","Version","toVersionString","buildNumber","preRelease","type","version","experimentalSwc","cwd","outDir","getWorkspaceOutputPath","mkdir","recursive","assetServerPackageDetails","packageNameWithVersion","versionWithoutPrelease","clone","newVersionString","name","zipFilePath","uploadable","getStream","pushOnly","zipFileExists","stat","catch","Promise","reject","gitVersionInformation","getVersionInformationFromGit","bannerText","getWorkspaceBannerText","buildFolders","packages","banner","text","commit","commitDirty","dirty","rm","readPackageAnimationList","length","workspaceManifest","dependencies","install","prompter","confirm","minimize","zipOutputStream","createWriteStream","pipeline","generateNodeStream","isErrorEACCES","isErrorEPERM","noUpload","authentication","sessionManager","createSessionManager","url","service","address","subDomain","skipDependencies","ensureRequiredVersions","AssetService","getTargetSession","destroy","zipFileName","releasesPath","getPackageReleasesDirectory","workspaceLocation","libraries","determineWorkspaceIGLibraries","targetSession","rawUploadedPackages","uploadedPackages","map","entry","parseVersionFromNumericVersion","numericVersion","libraryLocation","libraryManifest","readPublishedPackageNpmManifest","libraryCreatorPackage","readPublishedPackageCreatorManifest","libraryVersion","PackageVersion","extractFromLine","uploadedPackageInBasics","uploadedPackageInTarget","uploadedPackage","scope","support","validInBasics","isLesserThan","validInTarget","possibleTargets","value","libraryVersionString","uploadTargetScope","ask","message","default","session","getBasicsSession","params","basicsSession"],"mappings":"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"}
@@ -2,9 +2,9 @@ import * as path from 'path';
2
2
  import * as fs from 'fs';
3
3
  import glob from 'glob';
4
4
  import * as os from 'os';
5
- import { d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest } from './dependencies-7711a9db.mjs';
5
+ import { d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest } from './dependencies-d870016d.mjs';
6
6
  import 'write-pkg';
7
- import { b as readWorkspaceNpmManifest, m as getWorkspaceLibPath } from './cli-91fabb36.mjs';
7
+ import { b as readWorkspaceNpmManifest, m as getWorkspaceLibPath } from './cli-fec9c069.mjs';
8
8
  import 'node:path';
9
9
  import 'node:fs';
10
10
  import 'axios';
@@ -64,4 +64,4 @@ const executePostInstall = (workspace)=>{
64
64
  };
65
65
 
66
66
  export { executePostInstall };
67
- //# sourceMappingURL=postinstall-0ea76778.mjs.map
67
+ //# sourceMappingURL=postinstall-81b6f0b0.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"postinstall-0ea76778.mjs","sources":["../src/commands/postinstall.ts"],"sourcesContent":["import * as path from \"path\";\nimport * as fs from \"fs\";\nimport glob from \"glob\";\nimport * as os from \"os\";\n\nimport {\n\tgetWorkspaceLibPath,\n\treadWorkspaceNpmManifest,\n\tWorkspaceLocation,\n} from \"../lib/workspace\";\nimport { readPublishedPackageNpmManifest } from \"../lib/publishedPackage\";\nimport { determineWorkspaceIGLibraries } from \"../lib/dependencies\";\n\nconst DEFINITION_FILE_HINT =\n\t\"// This file is automatically managed by the ig.gfx.packager.\";\n\nexport const executePostInstall = (workspace: WorkspaceLocation) => {\n\tconst manifest = readWorkspaceNpmManifest(workspace);\n\n\tconst libPath = getWorkspaceLibPath(workspace);\n\n\tfs.mkdirSync(libPath, { recursive: true });\n\n\tconst existingDefinitions = glob.sync(\"**/*.d.ts\", {\n\t\tcwd: libPath,\n\t\tabsolute: true,\n\t});\n\n\t// delete all existing definition files that are managed by the packager.\n\t// we'll recreate all needed definitions in the next step.\n\tfor (const existingDefinitionPath of existingDefinitions) {\n\t\tconst content = fs.readFileSync(existingDefinitionPath, {\n\t\t\tencoding: \"utf-8\",\n\t\t});\n\n\t\tif (content.startsWith(DEFINITION_FILE_HINT)) {\n\t\t\tfs.rmSync(existingDefinitionPath);\n\t\t}\n\t}\n\n\tconst libraryLocations = determineWorkspaceIGLibraries(workspace);\n\n\tfor (const location of libraryLocations) {\n\t\tconst manifest = readPublishedPackageNpmManifest(location);\n\n\t\tfor (const existingDefinitionPath of existingDefinitions) {\n\t\t\tconst basename = path.basename(existingDefinitionPath);\n\n\t\t\tif (basename === manifest.types) {\n\t\t\t\tfs.rmSync(existingDefinitionPath, { force: true });\n\t\t\t}\n\t\t}\n\n\t\t// add a hint to the top of the file so we know it's managed by the packager.\n\n\t\tconst content = [\n\t\t\tDEFINITION_FILE_HINT,\n\t\t\t`// This is a reference to version ${manifest.version}.`,\n\t\t\t`// Run \"npm install\" to install the types if they are missing or not up to date.`,\n\t\t\t`/// <reference types=\"${manifest.name}\" />`,\n\t\t].join(os.EOL);\n\n\t\tfs.writeFileSync(\n\t\t\tpath.join(getWorkspaceLibPath(workspace), manifest.types),\n\t\t\tcontent,\n\t\t\t{\n\t\t\t\tencoding: \"utf8\",\n\t\t\t},\n\t\t);\n\t}\n};\n"],"names":["DEFINITION_FILE_HINT","executePostInstall","workspace","readWorkspaceNpmManifest","libPath","getWorkspaceLibPath","fs","mkdirSync","recursive","existingDefinitions","glob","sync","cwd","absolute","existingDefinitionPath","content","readFileSync","encoding","startsWith","rmSync","libraryLocations","determineWorkspaceIGLibraries","location","manifest","readPublishedPackageNpmManifest","basename","path","types","force","version","name","join","os","EOL","writeFileSync"],"mappings":";;;;;;;;;;;;;;;;;;;;AAaA,MAAMA,oBACL,GAAA,+DAAA,CAAA;AAEM,MAAMC,kBAAqB,GAAA,CAACC,SAAiC,GAAA;AACnE,IAAiBC,wBAAyBD,CAAAA,SAAAA,EAAAA;AAE1C,IAAA,MAAME,UAAUC,mBAAoBH,CAAAA,SAAAA,CAAAA,CAAAA;IAEpCI,EAAGC,CAAAA,SAAS,CAACH,OAAS,EAAA;AAAEI,QAAAA,SAAAA,EAAW,IAAI;AAAC,KAAA,CAAA,CAAA;AAExC,IAAA,MAAMC,mBAAsBC,GAAAA,IAAAA,CAAKC,IAAI,CAAC,WAAa,EAAA;QAClDC,GAAKR,EAAAA,OAAAA;AACLS,QAAAA,QAAAA,EAAU,IAAI;AACf,KAAA,CAAA,CAAA;;;IAIA,KAAK,MAAMC,0BAA0BL,mBAAqB,CAAA;AACzD,QAAA,MAAMM,OAAUT,GAAAA,EAAAA,CAAGU,YAAY,CAACF,sBAAwB,EAAA;YACvDG,QAAU,EAAA,OAAA;AACX,SAAA,CAAA,CAAA;QAEA,IAAIF,OAAAA,CAAQG,UAAU,CAAClB,oBAAuB,CAAA,EAAA;AAC7CM,YAAAA,EAAAA,CAAGa,MAAM,CAACL,sBAAAA,CAAAA,CAAAA;SACV;AACF,KAAA;AAEA,IAAA,MAAMM,mBAAmBC,6BAA8BnB,CAAAA,SAAAA,CAAAA,CAAAA;IAEvD,KAAK,MAAMoB,YAAYF,gBAAkB,CAAA;AACxC,QAAA,MAAMG,WAAWC,+BAAgCF,CAAAA,QAAAA,CAAAA,CAAAA;QAEjD,KAAK,MAAMR,0BAA0BL,mBAAqB,CAAA;YACzD,MAAMgB,QAAAA,GAAWC,IAAKD,CAAAA,QAAQ,CAACX,sBAAAA,CAAAA,CAAAA;YAE/B,IAAIW,QAAAA,KAAaF,QAASI,CAAAA,KAAK,EAAE;gBAChCrB,EAAGa,CAAAA,MAAM,CAACL,sBAAwB,EAAA;AAAEc,oBAAAA,KAAAA,EAAO,IAAI;AAAC,iBAAA,CAAA,CAAA;aAChD;AACF,SAAA;;AAIA,QAAA,MAAMb,OAAU,GAAA;AACff,YAAAA,oBAAAA;AACA,YAAA,CAAC,kCAAkC,EAAEuB,QAAAA,CAASM,OAAO,CAAC,CAAC,CAAC;AACxD,YAAA,CAAC,gFAAgF,CAAC;AAClF,YAAA,CAAC,sBAAsB,EAAEN,QAAAA,CAASO,IAAI,CAAC,IAAI,CAAC;SAC5C,CAACC,IAAI,CAACC,EAAAA,CAAGC,GAAG,CAAA,CAAA;QAEb3B,EAAG4B,CAAAA,aAAa,CACfR,IAAAA,CAAKK,IAAI,CAAC1B,oBAAoBH,SAAYqB,CAAAA,EAAAA,QAAAA,CAASI,KAAK,CAAA,EACxDZ,OACA,EAAA;YACCE,QAAU,EAAA,MAAA;AACX,SAAA,CAAA,CAAA;AAEF,KAAA;AACD;;;;"}
1
+ {"version":3,"file":"postinstall-81b6f0b0.mjs","sources":["../src/commands/postinstall.ts"],"sourcesContent":["import * as path from \"path\";\nimport * as fs from \"fs\";\nimport glob from \"glob\";\nimport * as os from \"os\";\n\nimport {\n\tgetWorkspaceLibPath,\n\treadWorkspaceNpmManifest,\n\tWorkspaceLocation,\n} from \"../lib/workspace\";\nimport { readPublishedPackageNpmManifest } from \"../lib/publishedPackage\";\nimport { determineWorkspaceIGLibraries } from \"../lib/dependencies\";\n\nconst DEFINITION_FILE_HINT =\n\t\"// This file is automatically managed by the ig.gfx.packager.\";\n\nexport const executePostInstall = (workspace: WorkspaceLocation) => {\n\tconst manifest = readWorkspaceNpmManifest(workspace);\n\n\tconst libPath = getWorkspaceLibPath(workspace);\n\n\tfs.mkdirSync(libPath, { recursive: true });\n\n\tconst existingDefinitions = glob.sync(\"**/*.d.ts\", {\n\t\tcwd: libPath,\n\t\tabsolute: true,\n\t});\n\n\t// delete all existing definition files that are managed by the packager.\n\t// we'll recreate all needed definitions in the next step.\n\tfor (const existingDefinitionPath of existingDefinitions) {\n\t\tconst content = fs.readFileSync(existingDefinitionPath, {\n\t\t\tencoding: \"utf-8\",\n\t\t});\n\n\t\tif (content.startsWith(DEFINITION_FILE_HINT)) {\n\t\t\tfs.rmSync(existingDefinitionPath);\n\t\t}\n\t}\n\n\tconst libraryLocations = determineWorkspaceIGLibraries(workspace);\n\n\tfor (const location of libraryLocations) {\n\t\tconst manifest = readPublishedPackageNpmManifest(location);\n\n\t\tfor (const existingDefinitionPath of existingDefinitions) {\n\t\t\tconst basename = path.basename(existingDefinitionPath);\n\n\t\t\tif (basename === manifest.types) {\n\t\t\t\tfs.rmSync(existingDefinitionPath, { force: true });\n\t\t\t}\n\t\t}\n\n\t\t// add a hint to the top of the file so we know it's managed by the packager.\n\n\t\tconst content = [\n\t\t\tDEFINITION_FILE_HINT,\n\t\t\t`// This is a reference to version ${manifest.version}.`,\n\t\t\t`// Run \"npm install\" to install the types if they are missing or not up to date.`,\n\t\t\t`/// <reference types=\"${manifest.name}\" />`,\n\t\t].join(os.EOL);\n\n\t\tfs.writeFileSync(\n\t\t\tpath.join(getWorkspaceLibPath(workspace), manifest.types),\n\t\t\tcontent,\n\t\t\t{\n\t\t\t\tencoding: \"utf8\",\n\t\t\t},\n\t\t);\n\t}\n};\n"],"names":["DEFINITION_FILE_HINT","executePostInstall","workspace","readWorkspaceNpmManifest","libPath","getWorkspaceLibPath","fs","mkdirSync","recursive","existingDefinitions","glob","sync","cwd","absolute","existingDefinitionPath","content","readFileSync","encoding","startsWith","rmSync","libraryLocations","determineWorkspaceIGLibraries","location","manifest","readPublishedPackageNpmManifest","basename","path","types","force","version","name","join","os","EOL","writeFileSync"],"mappings":";;;;;;;;;;;;;;;;;;;;AAaA,MAAMA,oBACL,GAAA,+DAAA,CAAA;AAEM,MAAMC,qBAAqB,CAACC,SAAAA,GAAAA;AAClC,IAAiBC,wBAAyBD,CAAAA,SAAAA,EAAAA;AAE1C,IAAA,MAAME,UAAUC,mBAAoBH,CAAAA,SAAAA,CAAAA,CAAAA;IAEpCI,EAAGC,CAAAA,SAAS,CAACH,OAAS,EAAA;QAAEI,SAAW,EAAA,IAAA;AAAK,KAAA,CAAA,CAAA;AAExC,IAAA,MAAMC,mBAAsBC,GAAAA,IAAAA,CAAKC,IAAI,CAAC,WAAa,EAAA;QAClDC,GAAKR,EAAAA,OAAAA;QACLS,QAAU,EAAA,IAAA;AACX,KAAA,CAAA,CAAA;;;IAIA,KAAK,MAAMC,0BAA0BL,mBAAqB,CAAA;AACzD,QAAA,MAAMM,OAAUT,GAAAA,EAAAA,CAAGU,YAAY,CAACF,sBAAwB,EAAA;YACvDG,QAAU,EAAA,OAAA;AACX,SAAA,CAAA,CAAA;QAEA,IAAIF,OAAAA,CAAQG,UAAU,CAAClB,oBAAuB,CAAA,EAAA;AAC7CM,YAAAA,EAAAA,CAAGa,MAAM,CAACL,sBAAAA,CAAAA,CAAAA;AACX,SAAA;AACD,KAAA;AAEA,IAAA,MAAMM,mBAAmBC,6BAA8BnB,CAAAA,SAAAA,CAAAA,CAAAA;IAEvD,KAAK,MAAMoB,YAAYF,gBAAkB,CAAA;AACxC,QAAA,MAAMG,WAAWC,+BAAgCF,CAAAA,QAAAA,CAAAA,CAAAA;QAEjD,KAAK,MAAMR,0BAA0BL,mBAAqB,CAAA;YACzD,MAAMgB,QAAAA,GAAWC,IAAKD,CAAAA,QAAQ,CAACX,sBAAAA,CAAAA,CAAAA;YAE/B,IAAIW,QAAAA,KAAaF,QAASI,CAAAA,KAAK,EAAE;gBAChCrB,EAAGa,CAAAA,MAAM,CAACL,sBAAwB,EAAA;oBAAEc,KAAO,EAAA,IAAA;AAAK,iBAAA,CAAA,CAAA;AACjD,aAAA;AACD,SAAA;;AAIA,QAAA,MAAMb,OAAU,GAAA;AACff,YAAAA,oBAAAA;AACA,YAAA,CAAC,kCAAkC,EAAEuB,QAAAA,CAASM,OAAO,CAAC,CAAC,CAAC;AACxD,YAAA,CAAC,gFAAgF,CAAC;AAClF,YAAA,CAAC,sBAAsB,EAAEN,QAAAA,CAASO,IAAI,CAAC,IAAI,CAAC;SAC5C,CAACC,IAAI,CAACC,EAAAA,CAAGC,GAAG,CAAA,CAAA;QAEb3B,EAAG4B,CAAAA,aAAa,CACfR,IAAAA,CAAKK,IAAI,CAAC1B,oBAAoBH,SAAYqB,CAAAA,EAAAA,QAAAA,CAASI,KAAK,CAAA,EACxDZ,OACA,EAAA;YACCE,QAAU,EAAA,MAAA;AACX,SAAA,CAAA,CAAA;AAEF,KAAA;AACD;;;;"}
@@ -3,13 +3,13 @@ import * as fs from 'fs';
3
3
  import { execSync } from 'child_process';
4
4
  import 'resolve';
5
5
  import 'write-pkg';
6
- import { b as readWorkspaceNpmManifest, g as getWorkspaceOutputPath, r as readPackageCreatorManifest, q as readPackageNpmManifest, t as writePackageNpmManifest, P as PACKAGE_FILE, a as readPackageCreatorIndex, I as INDEX_FILE, v as iterateWorkspacePackages } from './cli-91fabb36.mjs';
7
- import { b as buildFolders, l as logPackageMessage } from './index-e6ead55c.mjs';
6
+ import { b as readWorkspaceNpmManifest, g as getWorkspaceOutputPath, r as readPackageCreatorManifest, q as readPackageNpmManifest, t as writePackageNpmManifest, w as writePackageCreatorManifest, P as PACKAGE_FILE, a as readPackageCreatorIndex, I as INDEX_FILE, v as iterateWorkspacePackages } from './cli-fec9c069.mjs';
7
+ import { b as buildFolders, l as logPackageMessage } from './index-0caf1a6e.mjs';
8
8
  import 'glob';
9
9
  import 'node:path';
10
10
  import 'node:fs';
11
11
  import 'axios';
12
- import { p as parseVersionFromString, g as getVersionFileHandler, a as getVersionInformationFromGit, b as getWorkspaceBannerText } from './versionFile-ad981e93.mjs';
12
+ import { p as parseVersionFromString, g as getVersionFileHandler, a as getVersionInformationFromGit, b as getWorkspaceBannerText } from './versionFile-cbfd3f4a.mjs';
13
13
  import 'update-notifier';
14
14
  import 'yargs/yargs';
15
15
  import 'url';
@@ -27,7 +27,7 @@ import 'source-map-js';
27
27
  import 'ajv';
28
28
  import 'simple-git';
29
29
 
30
- const publishToNpm = async ({ workspace , location , version: providedVersion , dryRun })=>{
30
+ const publishToNpm = async ({ workspace, location, version: providedVersion, dryRun })=>{
31
31
  let newVersion;
32
32
  try {
33
33
  newVersion = parseVersionFromString(providedVersion);
@@ -76,6 +76,10 @@ const publishToNpm = async ({ workspace , location , version: providedVersion ,
76
76
  recursive: true
77
77
  });
78
78
  writePackageNpmManifest(location, packageJson);
79
+ creatorPackage.Version = newVersion.toVersionString({
80
+ buildNumber: true
81
+ });
82
+ writePackageCreatorManifest(location, creatorPackage);
79
83
  getVersionFileHandler(location).write(creatorPackage.Package, newVersion);
80
84
  const gitVersionInformation = await getVersionInformationFromGit(workspace, location);
81
85
  const bannerText = getWorkspaceBannerText(workspaceManifest);
@@ -162,4 +166,4 @@ const copyImagesDirectory = (source, target)=>{
162
166
  };
163
167
 
164
168
  export { publishToNpm };
165
- //# sourceMappingURL=publishNpm-aadd7dc2.mjs.map
169
+ //# sourceMappingURL=publishNpm-c985bd6e.mjs.map