@intelligentgraphics/ig.gfx.packager 3.0.16 → 3.0.18

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 (32) hide show
  1. package/build/bin.mjs +1 -1
  2. package/build/bin.mjs.map +1 -1
  3. package/build/{cli-1ce4d998.mjs → cli-696deaaa.mjs} +32 -32
  4. package/build/cli-696deaaa.mjs.map +1 -0
  5. package/build/{dependencies-030fd607.mjs → dependencies-c1d90884.mjs} +15 -15
  6. package/build/dependencies-c1d90884.mjs.map +1 -0
  7. package/build/{generateIndex-80e7628e.mjs → generateIndex-91a81ae2.mjs} +11 -11
  8. package/build/generateIndex-91a81ae2.mjs.map +1 -0
  9. package/build/{generateParameterType-523072c2.mjs → generateParameterType-f1ed96ce.mjs} +2 -2
  10. package/build/generateParameterType-f1ed96ce.mjs.map +1 -0
  11. package/build/{index-0012fcaa.mjs → index-a4cb5079.mjs} +10 -19
  12. package/build/index-a4cb5079.mjs.map +1 -0
  13. package/build/{index-48221d57.mjs → index-b76b4221.mjs} +340 -14
  14. package/build/index-b76b4221.mjs.map +1 -0
  15. package/build/{postinstall-79673f29.mjs → postinstall-ded4cb8d.mjs} +3 -3
  16. package/build/postinstall-ded4cb8d.mjs.map +1 -0
  17. package/build/{publishNpm-bfd4eb6a.mjs → publishNpm-12d5fcd3.mjs} +4 -4
  18. package/build/publishNpm-12d5fcd3.mjs.map +1 -0
  19. package/build/{versionFile-562e5692.mjs → versionFile-f2fd2610.mjs} +12 -12
  20. package/build/versionFile-f2fd2610.mjs.map +1 -0
  21. package/lib/lib.mjs +387 -70
  22. package/package.json +4 -3
  23. package/readme.md +8 -0
  24. package/build/cli-1ce4d998.mjs.map +0 -1
  25. package/build/dependencies-030fd607.mjs.map +0 -1
  26. package/build/generateIndex-80e7628e.mjs.map +0 -1
  27. package/build/generateParameterType-523072c2.mjs.map +0 -1
  28. package/build/index-0012fcaa.mjs.map +0 -1
  29. package/build/index-48221d57.mjs.map +0 -1
  30. package/build/postinstall-79673f29.mjs.map +0 -1
  31. package/build/publishNpm-bfd4eb6a.mjs.map +0 -1
  32. package/build/versionFile-562e5692.mjs.map +0 -1
@@ -4,7 +4,7 @@ import * as path from 'path';
4
4
  import * as os from 'os';
5
5
  import 'resolve';
6
6
  import 'write-pkg';
7
- import { a as readPackageCreatorIndex, r as readPackageCreatorManifest, l as getCreatorIndexParameterPrimaryJSType } from './cli-1ce4d998.mjs';
7
+ import { a as readPackageCreatorIndex, r as readPackageCreatorManifest, l as getCreatorIndexParameterPrimaryJSType } from './cli-696deaaa.mjs';
8
8
  import 'glob';
9
9
  import 'node:path';
10
10
  import 'node:fs';
@@ -72,4 +72,4 @@ const generateParameterType = ({ location , name })=>{
72
72
  };
73
73
 
74
74
  export { generateParameterType };
75
- //# sourceMappingURL=generateParameterType-523072c2.mjs.map
75
+ //# sourceMappingURL=generateParameterType-f1ed96ce.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateParameterType-f1ed96ce.mjs","sources":["../src/commands/generateParameterType.ts"],"sourcesContent":["import ts from \"typescript\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport * as os from \"os\";\n\nimport {\n\tPackageLocation,\n\tgetCreatorIndexParameterPrimaryJSType,\n\treadPackageCreatorIndex,\n\treadPackageCreatorManifest,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nexport interface GenerateParameterTypeOptions {\n\tlocation: PackageLocation;\n\tname: string;\n}\n\nexport const generateParameterType = ({\n\tlocation,\n\tname,\n}: GenerateParameterTypeOptions) => {\n\tconst index = readPackageCreatorIndex(location);\n\tconst manifest = readPackageCreatorManifest(location);\n\n\tif (index === undefined) {\n\t\tthrow new Error(`Could not find the _Index.json file`);\n\t}\n\n\tlet qualifiedName = name;\n\tlet className = name;\n\n\tconst scope = manifest.Scope ?? manifest.Package;\n\n\tif (name.startsWith(scope)) {\n\t\tclassName = name.slice(scope.length + 1);\n\t} else {\n\t\tqualifiedName = `${scope}.${name}`;\n\t}\n\n\tconst informations = index.find((item) => item.Name === qualifiedName);\n\n\tif (informations === undefined) {\n\t\tthrow new Error(`Could not find an index entry for ${name}`);\n\t}\n\n\tconst members: ts.TypeElement[] = [];\n\n\tif (informations.Parameters !== undefined) {\n\t\tconst sortedList = informations.Parameters.slice();\n\t\tsortedList.sort((a, b) => a.DisplayIndex - b.DisplayIndex);\n\n\t\tfor (const parameter of sortedList) {\n\t\t\tconst jsType = getCreatorIndexParameterPrimaryJSType(\n\t\t\t\tparameter.Type,\n\t\t\t);\n\n\t\t\tconst type =\n\t\t\t\tjsType === \"string\"\n\t\t\t\t\t? ts.factory.createTypeReferenceNode(\"string\")\n\t\t\t\t\t: ts.factory.createUnionTypeNode([\n\t\t\t\t\t\t\tts.factory.createTypeReferenceNode(jsType),\n\t\t\t\t\t\t\tts.factory.createTypeReferenceNode(\"string\"),\n\t\t\t\t\t ]);\n\n\t\t\tlet propertySignature = ts.factory.createPropertySignature(\n\t\t\t\tundefined,\n\t\t\t\tparameter.Name,\n\t\t\t\tparameter.Required\n\t\t\t\t\t? undefined\n\t\t\t\t\t: ts.factory.createToken(ts.SyntaxKind.QuestionToken),\n\t\t\t\ttype,\n\t\t\t);\n\n\t\t\tconst jsdocParts: string[] = [];\n\n\t\t\tif (parameter.Description !== undefined) {\n\t\t\t\tjsdocParts.push(parameter.Description, \"\");\n\t\t\t}\n\n\t\t\tjsdocParts.push(`@creatorType ${parameter.Type}`);\n\n\t\t\tif (jsType === \"string\") {\n\t\t\t\tjsdocParts.push(`@default \"${parameter.Default}\"`);\n\t\t\t} else {\n\t\t\t\tjsdocParts.push(`@default ${parameter.Default}`);\n\t\t\t}\n\n\t\t\tconst jsdocContent = jsdocParts\n\t\t\t\t.map((part) => `* ${part}`)\n\t\t\t\t.join(\"\\n \");\n\t\t\tpropertySignature = ts.addSyntheticLeadingComment(\n\t\t\t\tpropertySignature,\n\t\t\t\tts.SyntaxKind.MultiLineCommentTrivia,\n\t\t\t\t`*\\n ${jsdocContent}\\n `,\n\t\t\t\ttrue,\n\t\t\t);\n\n\t\t\tmembers.push(propertySignature);\n\t\t}\n\t}\n\n\tconst interfaceName = `${className}Params`;\n\n\tlet interfaceDeclaration = ts.factory.createInterfaceDeclaration(\n\t\tundefined,\n\t\tinterfaceName,\n\t\tundefined,\n\t\tundefined,\n\t\tmembers,\n\t);\n\n\tinterfaceDeclaration = ts.addSyntheticLeadingComment(\n\t\tinterfaceDeclaration,\n\t\tts.SyntaxKind.MultiLineCommentTrivia,\n\t\t`*\\n * Parameters for the ${className} class\\n `,\n\t\ttrue,\n\t);\n\n\tconst printer = ts.createPrinter();\n\tconst content = printer\n\t\t.printNode(\n\t\t\tts.EmitHint.Unspecified,\n\t\t\tinterfaceDeclaration,\n\t\t\tts.createSourceFile(\"index.ts\", \"\", ts.ScriptTarget.Latest),\n\t\t)\n\t\t.replace(/ /g, \"\\t\");\n\n\tconst outFile = path.join(location.scriptsDir, `${interfaceName}.txt`);\n\n\tfs.writeFileSync(\n\t\toutFile,\n\t\t`Generated parameters interface for ${className}. Insert the interface declaration next to the class and use it as the type for the parameters. Afterwards you can delete this file.` +\n\t\t\tos.EOL +\n\t\t\tos.EOL +\n\t\t\tcontent,\n\t);\n};\n"],"names":["generateParameterType","location","name","index","readPackageCreatorIndex","manifest","readPackageCreatorManifest","undefined","Error","qualifiedName","className","scope","Scope","Package","startsWith","slice","length","informations","find","item","Name","members","Parameters","sortedList","sort","a","b","DisplayIndex","parameter","jsType","getCreatorIndexParameterPrimaryJSType","Type","type","ts","factory","createTypeReferenceNode","createUnionTypeNode","propertySignature","createPropertySignature","Required","createToken","SyntaxKind","QuestionToken","jsdocParts","Description","push","Default","jsdocContent","map","part","join","addSyntheticLeadingComment","MultiLineCommentTrivia","interfaceName","interfaceDeclaration","createInterfaceDeclaration","printer","createPrinter","content","printNode","EmitHint","Unspecified","createSourceFile","ScriptTarget","Latest","replace","outFile","path","scriptsDir","fs","writeFileSync","os","EOL"],"mappings":";;;;;;;;;;;;;;;;;;;;AAiBO,MAAMA,wBAAwB,CAAC,EACrCC,WACAC,IAAAA,GAC8B,GAAK;AACnC,IAAA,MAAMC,QAAQC,uBAAwBH,CAAAA,QAAAA,CAAAA,CAAAA;AACtC,IAAA,MAAMI,WAAWC,0BAA2BL,CAAAA,QAAAA,CAAAA,CAAAA;AAE5C,IAAA,IAAIE,UAAUI,SAAW,EAAA;AACxB,QAAA,MAAM,IAAIC,KAAAA,CAAM,CAAC,mCAAmC,CAAC,CAAE,CAAA;KACvD;AAED,IAAA,IAAIC,aAAgBP,GAAAA,IAAAA,CAAAA;AACpB,IAAA,IAAIQ,SAAYR,GAAAA,IAAAA,CAAAA;AAEhB,IAAA,MAAMS,KAAQN,GAAAA,QAAAA,CAASO,KAAK,IAAIP,SAASQ,OAAO,CAAA;IAEhD,IAAIX,IAAAA,CAAKY,UAAU,CAACH,KAAQ,CAAA,EAAA;AAC3BD,QAAAA,SAAAA,GAAYR,IAAKa,CAAAA,KAAK,CAACJ,KAAAA,CAAMK,MAAM,GAAG,CAAA,CAAA,CAAA;KAChC,MAAA;AACNP,QAAAA,aAAAA,GAAgB,CAAC,EAAEE,KAAAA,CAAM,CAAC,EAAET,KAAK,CAAC,CAAA;KAClC;IAED,MAAMe,YAAAA,GAAed,MAAMe,IAAI,CAAC,CAACC,IAASA,GAAAA,IAAAA,CAAKC,IAAI,KAAKX,aAAAA,CAAAA,CAAAA;AAExD,IAAA,IAAIQ,iBAAiBV,SAAW,EAAA;AAC/B,QAAA,MAAM,IAAIC,KAAM,CAAA,CAAC,kCAAkC,EAAEN,IAAAA,CAAK,CAAC,CAAE,CAAA;KAC7D;AAED,IAAA,MAAMmB,UAA4B,EAAE,CAAA;IAEpC,IAAIJ,YAAAA,CAAaK,UAAU,KAAKf,SAAW,EAAA;AAC1C,QAAA,MAAMgB,UAAaN,GAAAA,YAAAA,CAAaK,UAAU,CAACP,KAAK,EAAA,CAAA;QAChDQ,UAAWC,CAAAA,IAAI,CAAC,CAACC,CAAAA,EAAGC,IAAMD,CAAEE,CAAAA,YAAY,GAAGD,CAAAA,CAAEC,YAAY,CAAA,CAAA;QAEzD,KAAK,MAAMC,aAAaL,UAAY,CAAA;YACnC,MAAMM,MAAAA,GAASC,qCACdF,CAAAA,SAAAA,CAAUG,IAAI,CAAA,CAAA;AAGf,YAAA,MAAMC,IACLH,GAAAA,MAAAA,KAAW,QACRI,GAAAA,EAAAA,CAAGC,OAAO,CAACC,uBAAuB,CAAC,QACnCF,CAAAA,GAAAA,EAAAA,CAAGC,OAAO,CAACE,mBAAmB,CAAC;gBAC/BH,EAAGC,CAAAA,OAAO,CAACC,uBAAuB,CAACN,MAAAA,CAAAA;gBACnCI,EAAGC,CAAAA,OAAO,CAACC,uBAAuB,CAAC,QAAA,CAAA;aAClC,CAAC,CAAA;YAEN,IAAIE,iBAAAA,GAAoBJ,EAAGC,CAAAA,OAAO,CAACI,uBAAuB,CACzD/B,SACAqB,EAAAA,SAAAA,CAAUR,IAAI,EACdQ,SAAUW,CAAAA,QAAQ,GACfhC,SACA0B,GAAAA,EAAAA,CAAGC,OAAO,CAACM,WAAW,CAACP,GAAGQ,UAAU,CAACC,aAAa,CAAC,EACtDV,IAAAA,CAAAA,CAAAA;AAGD,YAAA,MAAMW,aAAuB,EAAE,CAAA;YAE/B,IAAIf,SAAAA,CAAUgB,WAAW,KAAKrC,SAAW,EAAA;AACxCoC,gBAAAA,UAAAA,CAAWE,IAAI,CAACjB,SAAUgB,CAAAA,WAAW,EAAE,EAAA,CAAA,CAAA;aACvC;YAEDD,UAAWE,CAAAA,IAAI,CAAC,CAAC,aAAa,EAAEjB,SAAUG,CAAAA,IAAI,CAAC,CAAC,CAAA,CAAA;AAEhD,YAAA,IAAIF,WAAW,QAAU,EAAA;gBACxBc,UAAWE,CAAAA,IAAI,CAAC,CAAC,UAAU,EAAEjB,SAAUkB,CAAAA,OAAO,CAAC,CAAC,CAAC,CAAA,CAAA;aAC3C,MAAA;gBACNH,UAAWE,CAAAA,IAAI,CAAC,CAAC,SAAS,EAAEjB,SAAUkB,CAAAA,OAAO,CAAC,CAAC,CAAA,CAAA;aAC/C;AAED,YAAA,MAAMC,YAAeJ,GAAAA,UAAAA,CACnBK,GAAG,CAAC,CAACC,IAAAA,GAAS,CAAC,EAAE,EAAEA,IAAAA,CAAK,CAAC,CAAA,CACzBC,IAAI,CAAC,KAAA,CAAA,CAAA;AACPb,YAAAA,iBAAAA,GAAoBJ,GAAGkB,0BAA0B,CAChDd,iBACAJ,EAAAA,EAAAA,CAAGQ,UAAU,CAACW,sBAAsB,EACpC,CAAC,IAAI,EAAEL,YAAAA,CAAa,GAAG,CAAC,EACxB,IAAI,CAAA,CAAA;AAGL1B,YAAAA,OAAAA,CAAQwB,IAAI,CAACR,iBAAAA,CAAAA,CAAAA;AACd,SAAA;KACA;AAED,IAAA,MAAMgB,aAAgB,GAAA,CAAC,EAAE3C,SAAAA,CAAU,MAAM,CAAC,CAAA;IAE1C,IAAI4C,oBAAAA,GAAuBrB,GAAGC,OAAO,CAACqB,0BAA0B,CAC/DhD,SAAAA,EACA8C,aACA9C,EAAAA,SAAAA,EACAA,SACAc,EAAAA,OAAAA,CAAAA,CAAAA;AAGDiC,IAAAA,oBAAAA,GAAuBrB,GAAGkB,0BAA0B,CACnDG,oBACArB,EAAAA,EAAAA,CAAGQ,UAAU,CAACW,sBAAsB,EACpC,CAAC,yBAAyB,EAAE1C,SAAAA,CAAU,SAAS,CAAC,EAChD,IAAI,CAAA,CAAA;IAGL,MAAM8C,OAAAA,GAAUvB,GAAGwB,aAAa,EAAA,CAAA;IAChC,MAAMC,OAAAA,GAAUF,QACdG,SAAS,CACT1B,GAAG2B,QAAQ,CAACC,WAAW,EACvBP,oBACArB,EAAAA,EAAAA,CAAG6B,gBAAgB,CAAC,UAAA,EAAY,IAAI7B,EAAG8B,CAAAA,YAAY,CAACC,MAAM,CAAA,CAAA,CAE1DC,OAAO,CAAC,OAAS,EAAA,IAAA,CAAA,CAAA;IAEnB,MAAMC,OAAAA,GAAUC,IAAKjB,CAAAA,IAAI,CAACjD,QAAAA,CAASmE,UAAU,EAAE,CAAC,EAAEf,aAAc,CAAA,IAAI,CAAC,CAAA,CAAA;AAErEgB,IAAAA,EAAAA,CAAGC,aAAa,CACfJ,OACA,EAAA,CAAC,mCAAmC,EAAExD,SAAAA,CAAU,oIAAoI,CAAC,GACpL6D,EAAGC,CAAAA,GAAG,GACND,EAAAA,CAAGC,GAAG,GACNd,OAAAA,CAAAA,CAAAA;AAEH;;;;"}
@@ -5,15 +5,15 @@ 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-030fd607.mjs';
9
- import { P as PACKAGE_FILE, I as INDEX_FILE, p as parseCreatorPackageName, g as getWorkspaceOutputPath, r as readPackageCreatorManifest, w as writePackageCreatorManifest, i as isErrorENOENT, a as readPackageCreatorIndex, b as readWorkspaceNpmManifest, 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-1ce4d998.mjs';
10
- import { l as logPackageMessage, b as buildFolders } from './index-48221d57.mjs';
8
+ import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from './dependencies-c1d90884.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-696deaaa.mjs';
10
+ import { l as logPackageMessage, b as buildFolders } from './index-b76b4221.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-562e5692.mjs';
16
+ import { g as getVersionFileHandler, p as parseVersionFromString, a as getVersionInformationFromGit, b as getWorkspaceBannerText, c as parseVersionFromNumericVersion, P as PackageVersion } from './versionFile-f2fd2610.mjs';
17
17
  import JSZip from 'jszip';
18
18
  import * as terser from 'terser';
19
19
  import 'resolve';
@@ -49,10 +49,10 @@ const notRuntimeScripts = [
49
49
  "Context",
50
50
  "Evaluator"
51
51
  ];
52
- const buildArchiveFromPackage = async (workspaceLocation, packageLocation, data)=>{
52
+ const buildArchiveFromPackage = async (packageLocation, data, binDir)=>{
53
53
  const { domain , subdomain } = parseCreatorPackageName(data);
54
54
  const logStep = (step)=>logPackageMessage(data.Package, step);
55
- const libFilePath = path.join(getWorkspaceOutputPath(workspaceLocation), `${data.Package}.min.js`);
55
+ const libFilePath = path.join(binDir, `${data.Package}.min.js`);
56
56
  const scriptDirectories = [
57
57
  packageLocation.path,
58
58
  packageLocation.scriptsDir
@@ -94,7 +94,7 @@ const buildArchiveFromPackage = async (workspaceLocation, packageLocation, data)
94
94
  }
95
95
  if (!library) {
96
96
  const date = new Date(Date.now());
97
- library = `/* This file is part of the ${domain} Data Packages.
97
+ library = `/* This file is part of the ${domain} Data Packages.
98
98
  * Copyright (C) ${date.getFullYear()} intelligentgraphics. All Rights Reserved. */`;
99
99
  }
100
100
  const minifyResult = await terser.minify(library, {
@@ -166,7 +166,7 @@ const releaseFolder = async (options)=>{
166
166
  cwd: workspace.path
167
167
  });
168
168
  }
169
- const binDir = getWorkspaceOutputPath(workspace);
169
+ const binDir = options.outDir ?? getWorkspaceOutputPath(workspace);
170
170
  await fs$1.mkdir(binDir, {
171
171
  recursive: true
172
172
  });
@@ -242,7 +242,7 @@ const releaseFolder = async (options)=>{
242
242
  }
243
243
  }
244
244
  }
245
- const archive = await buildArchiveFromPackage(workspace, location, packageDescription);
245
+ const archive = await buildArchiveFromPackage(location, packageDescription, binDir);
246
246
  try {
247
247
  const zipOutputStream = createWriteStream(zipFilePath);
248
248
  await pipeline(archive.generateNodeStream(), zipOutputStream);
@@ -410,15 +410,6 @@ const ensureRequiredVersions = async (workspaceLocation, creatorPackage, session
410
410
  const newVersionString = libraryVersion.toVersionString({
411
411
  buildNumber: true
412
412
  });
413
- const packageNameWithVersion = `${libraryCreatorPackage.Package}_${newVersionString}`;
414
- const zipFilePath = path.join(getWorkspaceOutputPath(workspaceLocation), `${packageNameWithVersion}.zip`);
415
- try {
416
- await fs$1.rm(zipFilePath);
417
- } catch (err) {
418
- if (!isErrorENOENT(err)) {
419
- throw err;
420
- }
421
- }
422
413
  const session = uploadTargetScope === "Basics" ? await sessionManager.getBasicsSession() : targetSession;
423
414
  logPackageMessage(creatorPackage.Package, `Uploading package ${libraryCreatorPackage.Package} with version ${newVersionString} to ${session.domain}.${session.subDomain}`);
424
415
  await uploadPackageFromStream(session, {
@@ -454,4 +445,4 @@ const createSessionManager = async (params)=>{
454
445
  };
455
446
 
456
447
  export { releaseFolder };
457
- //# sourceMappingURL=index-0012fcaa.mjs.map
448
+ //# sourceMappingURL=index-a4cb5079.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-a4cb5079.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\";\nimport * as terser from \"terser\";\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\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) => {\n\tconst { domain, subdomain } = parseCreatorPackageName(data);\n\n\tconst logStep = (step: string) => logPackageMessage(data.Package, step);\n\n\tconst libFilePath = path.join(binDir, `${data.Package}.min.js`);\n\n\tconst scriptDirectories: string[] = [\n\t\tpackageLocation.path,\n\t\tpackageLocation.scriptsDir,\n\t];\n\n\tif (subdomain === \"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\tlibFile = fs.readFileSync(libFilePath, { encoding: \"utf8\" });\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\tconst minifyResult = await terser.minify(library, { ecma: 5 });\n\n\tarchive.file(`${data.Package}.js`, minifyResult.code!);\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\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\tconst archive = await buildArchiveFromPackage(\n\t\t\t\tlocation,\n\t\t\t\tpackageDescription,\n\t\t\t\tbinDir,\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","runtimeScripts","notRuntimeScripts","buildArchiveFromPackage","packageLocation","data","binDir","domain","subdomain","parseCreatorPackageName","logStep","step","logPackageMessage","Package","libFilePath","scriptDirectories","scriptsDir","push","readPackageCreatorManifest","RunTime","includes","Type","writePackageCreatorManifest","libFile","readFileSync","encoding","err","isErrorENOENT","library","date","Date","now","getFullYear","minifyResult","terser","minify","ecma","code","creatorIndex","readPackageCreatorIndex","directory","readdirSync","ext","parse","console","error","execAsync","promisify","exec","releaseFolder","options","workspace","write","writeVersionFile","reset","resetVersionFile","getVersionFileHandler","packageDescription","fullPackageName","publishDomain","publishSubdomain","sharedPackageJson","readWorkspaceNpmManifest","newVersion","parseVersionFromString","Error","Version","toVersionString","buildNumber","preRelease","type","version","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","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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"}
@@ -3,11 +3,11 @@ import * as fs from 'fs';
3
3
  import * as terser from 'terser';
4
4
  import 'resolve';
5
5
  import 'write-pkg';
6
- import { r as readPackageCreatorManifest, c as readPackageAnimationList, q as readPackageNpmManifest } from './cli-1ce4d998.mjs';
6
+ import { r as readPackageCreatorManifest, c as readPackageAnimationList, q as readPackageNpmManifest } from './cli-696deaaa.mjs';
7
7
  import { g as getPackageTypescriptFiles } from './scripts-7ed8dff6.mjs';
8
8
  import 'node:path';
9
9
  import 'node:fs';
10
- import axios from 'axios';
10
+ import 'axios';
11
11
  import ts from 'typescript';
12
12
  import typedoc from 'typedoc';
13
13
  import glob from 'glob';
@@ -149,16 +149,342 @@ const toposort = (packages)=>{
149
149
  return result;
150
150
  };
151
151
 
152
+ var animationSchema = {
153
+ $schema: "http://json-schema.org/draft-07/schema",
154
+ $id: "https://archive.intelligentgraphics.biz/schemas/gfx/animation.json",
155
+ $comment: "Version 2023-02-17, Source: ig.data.gfx/Specs/animation.json",
156
+ title: "Animation description format",
157
+ additionalProperties: false,
158
+ type: "object",
159
+ properties: {
160
+ $schema: {
161
+ type: "string"
162
+ },
163
+ Id: {
164
+ type: "string",
165
+ description: "Animation id, to be unique in the project scope. Needs to be a valid JavaScript identifier."
166
+ },
167
+ Animations: {
168
+ type: "array",
169
+ description: "Declaration of animation states for gfx objects",
170
+ items: {
171
+ type: "object",
172
+ additionalProperties: false,
173
+ properties: {
174
+ _: {
175
+ type: "string",
176
+ description: "Comment"
177
+ },
178
+ Path: {
179
+ $ref: "#/definitions/igxcPath"
180
+ },
181
+ States: {
182
+ type: "object",
183
+ additionalProperties: {
184
+ type: "object",
185
+ additionalProperties: false,
186
+ properties: {
187
+ Position: {
188
+ $ref: "#/definitions/vec3"
189
+ },
190
+ Rotation: {
191
+ $ref: "#/definitions/rotation"
192
+ },
193
+ Scaling: {
194
+ $ref: "#/definitions/vec3"
195
+ },
196
+ Visibility: {
197
+ type: "boolean"
198
+ },
199
+ Deformation: {
200
+ anyOf: [
201
+ {
202
+ type: "number"
203
+ },
204
+ {
205
+ type: "string"
206
+ }
207
+ ]
208
+ }
209
+ }
210
+ }
211
+ }
212
+ }
213
+ }
214
+ },
215
+ Kinematics: {
216
+ oneOf: [
217
+ {
218
+ $ref: "#/definitions/kinematicChain"
219
+ },
220
+ {
221
+ type: "array",
222
+ items: {
223
+ $ref: "#/definitions/kinematicChain"
224
+ }
225
+ }
226
+ ]
227
+ },
228
+ LinkedPoints: {
229
+ type: "object",
230
+ additionalProperties: {
231
+ type: "array",
232
+ items: {
233
+ type: "string"
234
+ }
235
+ }
236
+ },
237
+ _: {
238
+ type: "string",
239
+ description: "Comment"
240
+ }
241
+ },
242
+ definitions: {
243
+ vec3: {
244
+ type: "object",
245
+ additionalProperties: false,
246
+ properties: {
247
+ X: {
248
+ anyOf: [
249
+ {
250
+ type: "number"
251
+ },
252
+ {
253
+ type: "string"
254
+ }
255
+ ]
256
+ },
257
+ Y: {
258
+ anyOf: [
259
+ {
260
+ type: "number"
261
+ },
262
+ {
263
+ type: "string"
264
+ }
265
+ ]
266
+ },
267
+ Z: {
268
+ anyOf: [
269
+ {
270
+ type: "number"
271
+ },
272
+ {
273
+ type: "string"
274
+ }
275
+ ]
276
+ },
277
+ _: {
278
+ type: "string",
279
+ description: "Comment"
280
+ }
281
+ }
282
+ },
283
+ rotation: {
284
+ type: "object",
285
+ additionalProperties: false,
286
+ properties: {
287
+ Q: {
288
+ description: "If true, the rotation is considered to be a Quaternion. Otherwise, it's interpreted as Euler arcs and W will be ignored.",
289
+ type: "boolean"
290
+ },
291
+ X: {
292
+ anyOf: [
293
+ {
294
+ type: "number"
295
+ },
296
+ {
297
+ type: "string"
298
+ }
299
+ ]
300
+ },
301
+ Y: {
302
+ anyOf: [
303
+ {
304
+ type: "number"
305
+ },
306
+ {
307
+ type: "string"
308
+ }
309
+ ]
310
+ },
311
+ Z: {
312
+ anyOf: [
313
+ {
314
+ type: "number"
315
+ },
316
+ {
317
+ type: "string"
318
+ }
319
+ ]
320
+ },
321
+ W: {
322
+ anyOf: [
323
+ {
324
+ type: "number"
325
+ },
326
+ {
327
+ type: "string"
328
+ }
329
+ ]
330
+ },
331
+ _: {
332
+ type: "string",
333
+ description: "Comment"
334
+ }
335
+ }
336
+ },
337
+ igxcPath: {
338
+ type: "string",
339
+ description: "Relative path of the target object",
340
+ pattern: "^((o|e)\\d+(\\.(o|e)\\d+)*|\\.)$"
341
+ },
342
+ param: {
343
+ type: "string",
344
+ pattern: "^Param\\d+$"
345
+ },
346
+ kinematicChain: {
347
+ type: "object",
348
+ additionalProperties: false,
349
+ properties: {
350
+ GeometryBase: {
351
+ type: "string"
352
+ },
353
+ Joints: {
354
+ type: "array",
355
+ items: {
356
+ type: "object",
357
+ additionalProperties: false,
358
+ properties: {
359
+ Name: {
360
+ oneOf: [
361
+ {
362
+ $ref: "#/definitions/param"
363
+ },
364
+ {
365
+ type: "string"
366
+ }
367
+ ]
368
+ },
369
+ HeadX: {
370
+ oneOf: [
371
+ {
372
+ $ref: "#/definitions/param"
373
+ },
374
+ {
375
+ $ref: "#/definitions/igxcPath"
376
+ }
377
+ ]
378
+ },
379
+ HeadY: {
380
+ oneOf: [
381
+ {
382
+ $ref: "#/definitions/param"
383
+ },
384
+ {
385
+ $ref: "#/definitions/igxcPath"
386
+ }
387
+ ]
388
+ },
389
+ HeadZ: {
390
+ oneOf: [
391
+ {
392
+ $ref: "#/definitions/param"
393
+ },
394
+ {
395
+ $ref: "#/definitions/igxcPath"
396
+ }
397
+ ]
398
+ },
399
+ Tail: {
400
+ oneOf: [
401
+ {
402
+ $ref: "#/definitions/param"
403
+ },
404
+ {
405
+ $ref: "#/definitions/igxcPath"
406
+ }
407
+ ]
408
+ },
409
+ LimitLeft: {
410
+ type: "number"
411
+ },
412
+ LimitRight: {
413
+ type: "number"
414
+ },
415
+ LimitUp: {
416
+ type: "number"
417
+ },
418
+ LimitDown: {
419
+ type: "number"
420
+ },
421
+ FollowJointNode: {
422
+ $ref: "#/definitions/igxcPath"
423
+ },
424
+ _TargetNodeForFollow: {
425
+ type: "string"
426
+ }
427
+ }
428
+ }
429
+ },
430
+ Target: {
431
+ oneOf: [
432
+ {
433
+ $ref: "#/definitions/igxcPath"
434
+ },
435
+ {
436
+ $ref: "#/definitions/param"
437
+ },
438
+ {
439
+ type: "string",
440
+ enum: [
441
+ "subbase"
442
+ ]
443
+ }
444
+ ]
445
+ },
446
+ Parent: {
447
+ oneOf: [
448
+ {
449
+ $ref: "#/definitions/igxcPath"
450
+ },
451
+ {
452
+ type: "string",
453
+ enum: [
454
+ "root"
455
+ ]
456
+ }
457
+ ]
458
+ },
459
+ Tolerance: {
460
+ type: "number"
461
+ },
462
+ MaxIterations: {
463
+ type: "integer"
464
+ },
465
+ _: {
466
+ type: "string",
467
+ description: "Comment"
468
+ },
469
+ __: {
470
+ type: "string",
471
+ description: "Super Comment"
472
+ }
473
+ }
474
+ }
475
+ }
476
+ };
477
+
152
478
  let validateAnimationJson;
153
479
  const getAnimationJsonValidation = async ()=>{
154
480
  if (validateAnimationJson === undefined) {
155
- validateAnimationJson = await axios.get("https://archive.intelligentgraphics.biz/schemas/gfx/animation.json").then(({ data })=>new Ajv({
156
- coerceTypes: true,
157
- allErrors: true,
158
- removeAdditional: true,
159
- useDefaults: "empty",
160
- validateSchema: "log"
161
- }).compile(data));
481
+ validateAnimationJson = new Ajv({
482
+ coerceTypes: true,
483
+ allErrors: true,
484
+ removeAdditional: true,
485
+ useDefaults: "empty",
486
+ validateSchema: "log"
487
+ }).compile(animationSchema);
162
488
  }
163
489
  return validateAnimationJson;
164
490
  };
@@ -362,10 +688,10 @@ const createBannerComment = (banner)=>{
362
688
  }
363
689
  const bannerText = bannerParts.join("\n\n");
364
690
  if (bannerText) {
365
- return `/*
366
- ${bannerText}
367
- *
368
- * @preserve
691
+ return `/*
692
+ ${bannerText}
693
+ *
694
+ * @preserve
369
695
  */`;
370
696
  }
371
697
  return undefined;
@@ -377,4 +703,4 @@ var index = /*#__PURE__*/Object.freeze({
377
703
  });
378
704
 
379
705
  export { buildFolders as b, index as i, logPackageMessage as l };
380
- //# sourceMappingURL=index-48221d57.mjs.map
706
+ //# sourceMappingURL=index-b76b4221.mjs.map