@intelligentgraphics/ig.gfx.packager 3.1.0-alpha.2 → 3.1.0-alpha.3

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-CuiqZ39_.mjs → cli-DANmLXRa.mjs} +12 -7
  3. package/build/cli-DANmLXRa.mjs.map +1 -0
  4. package/build/{dependencies-BiYItaVS.mjs → dependencies-DusLuN7Y.mjs} +2 -2
  5. package/build/{dependencies-BiYItaVS.mjs.map → dependencies-DusLuN7Y.mjs.map} +1 -1
  6. package/build/{generateIndex-hg6jRXQv.mjs → generateIndex-DWjOe92Q.mjs} +3 -3
  7. package/build/{generateIndex-hg6jRXQv.mjs.map → generateIndex-DWjOe92Q.mjs.map} +1 -1
  8. package/build/{generateParameterType-CDjqLM4J.mjs → generateParameterType-BQ1F7eAV.mjs} +2 -2
  9. package/build/{generateParameterType-CDjqLM4J.mjs.map → generateParameterType-BQ1F7eAV.mjs.map} +1 -1
  10. package/build/{index-BoGrZubW.mjs → index-BEREgVJP.mjs} +6 -6
  11. package/build/{index-BoGrZubW.mjs.map → index-BEREgVJP.mjs.map} +1 -1
  12. package/build/{index-B2kXo6K7.mjs → index-CqUHGUfc.mjs} +18 -18
  13. package/build/index-CqUHGUfc.mjs.map +1 -0
  14. package/build/{postinstall-CbMUz2zy.mjs → postinstall-Da3ZBnje.mjs} +3 -3
  15. package/build/{postinstall-CbMUz2zy.mjs.map → postinstall-Da3ZBnje.mjs.map} +1 -1
  16. package/build/{publishNpm-CrnuTwss.mjs → publishNpm-B6bEiSNV.mjs} +5 -5
  17. package/build/{publishNpm-CrnuTwss.mjs.map → publishNpm-B6bEiSNV.mjs.map} +1 -1
  18. package/build/{rollup-UR3DADp8.mjs → rollup-BEli071h.mjs} +51 -28
  19. package/build/rollup-BEli071h.mjs.map +1 -0
  20. package/build/{scripts-Bfojy_uD.mjs → scripts-DI0Xj5Yb.mjs} +2 -2
  21. package/build/{scripts-Bfojy_uD.mjs.map → scripts-DI0Xj5Yb.mjs.map} +1 -1
  22. package/build/{versionFile-DSqOw-XB.mjs → versionFile-tyKtTvcM.mjs} +3 -3
  23. package/build/{versionFile-DSqOw-XB.mjs.map → versionFile-tyKtTvcM.mjs.map} +1 -1
  24. package/lib/lib.mjs +15 -15
  25. package/package.json +3 -2
  26. package/readme.md +5 -0
  27. package/build/cli-CuiqZ39_.mjs.map +0 -1
  28. package/build/index-B2kXo6K7.mjs.map +0 -1
  29. package/build/rollup-UR3DADp8.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"generateParameterType-CDjqLM4J.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":"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"}
1
+ {"version":3,"file":"generateParameterType-BQ1F7eAV.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":"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"}
@@ -7,15 +7,15 @@ import { exec } from 'child_process';
7
7
  import { promisify } from 'util';
8
8
  import 'resolve';
9
9
  import 'write-pkg';
10
- import { p as parseCreatorPackageName, r as readPackageCreatorManifest, w as writePackageCreatorManifest, i as isErrorENOENT, P as PACKAGE_FILE, a as readPackageCreatorIndex, I as INDEX_FILE, s as startSession, c as closeSession, g as getExistingPackages, u as uploadPackageFromBuffer, b as readWorkspaceNpmManifest, d as getWorkspaceOutputPath, e as readPackageAnimationList, f as isErrorEACCES, h as isErrorEPERM, j as getPackageReleasesDirectory } from './cli-CuiqZ39_.mjs';
11
- import { P as PackageVersion, c as createPackageScopedReporter, a as consoleReporter, b as buildFolders } from './index-B2kXo6K7.mjs';
10
+ import { p as parseCreatorPackageName, r as readPackageCreatorManifest, w as writePackageCreatorManifest, i as isErrorENOENT, P as PACKAGE_FILE, a as readPackageCreatorIndex, I as INDEX_FILE, s as startSession, c as closeSession, g as getExistingPackages, u as uploadPackageFromBuffer, b as readWorkspaceNpmManifest, d as getWorkspaceOutputPath, e as readPackageAnimationList, f as isErrorEACCES, h as isErrorEPERM, j as getPackageReleasesDirectory } from './cli-DANmLXRa.mjs';
11
+ import { P as PackageVersion, c as createPackageScopedReporter, a as consoleReporter, b as buildFolders } from './index-CqUHGUfc.mjs';
12
12
  import 'glob';
13
13
  import 'node:path';
14
14
  import 'node:fs';
15
15
  import 'axios';
16
- import { p as parseVersionFromNumericVersion, g as getVersionFileHandler, a as parseVersionFromString, b as getVersionInformationFromGit, c as getWorkspaceBannerText } from './versionFile-DSqOw-XB.mjs';
16
+ import { p as parseVersionFromNumericVersion, g as getVersionFileHandler, a as parseVersionFromString, b as getVersionInformationFromGit, c as getWorkspaceBannerText } from './versionFile-tyKtTvcM.mjs';
17
17
  import JSZip from 'jszip';
18
- import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from './dependencies-BiYItaVS.mjs';
18
+ import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from './dependencies-DusLuN7Y.mjs';
19
19
  import { buffer } from 'node:stream/consumers';
20
20
  import 'update-notifier';
21
21
  import 'yargs/yargs';
@@ -26,7 +26,7 @@ import 'inquirer';
26
26
  import 'terser';
27
27
  import 'os';
28
28
  import 'typescript';
29
- import './scripts-Bfojy_uD.mjs';
29
+ import './scripts-DI0Xj5Yb.mjs';
30
30
  import 'typedoc';
31
31
  import 'source-map-js';
32
32
  import 'ajv';
@@ -478,4 +478,4 @@ const releaseFolder = async (options)=>{
478
478
  };
479
479
 
480
480
  export { releaseFolder };
481
- //# sourceMappingURL=index-BoGrZubW.mjs.map
481
+ //# sourceMappingURL=index-BEREgVJP.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-BoGrZubW.mjs","sources":["../src/commands/publish/zip.ts","../src/lib/assetServiceSessionManager.ts","../src/lib/dependencySync.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 {\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\";\nimport { Reporter } from \"@intelligentgraphics/ig.gfx.tools.core\";\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\treporter: Reporter,\n\tpackageLocation: PackageLocation,\n\tdata: CreatorPackage,\n\tbinDir: string,\n\tminified = true,\n) => {\n\tconst { domain } = parseCreatorPackageName(data);\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\treporter.log(`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\treporter.log(\n\t\t\t\t\"Setting script RunTime to false because of script type\",\n\t\t\t);\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\treporter.log(\n\t\t\t\t\"Setting script RunTime to true because of script type\",\n\t\t\t);\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\treporter.error(`Script directory \"${directory}\" does not exist`);\n\t\t}\n\t}\n\n\treturn archive;\n};\n","import { AssetService } from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nexport interface AssetServiceSessionManager {\n\tgetBasicsSession: () => Promise<AssetService.Session>;\n\tgetTargetSession: () => AssetService.Session;\n\tdestroy: () => Promise<void>;\n}\n\nexport const createAssetServiceSessionManager = async (\n\tparams: AssetService.SessionStartParams,\n): Promise<AssetServiceSessionManager> => {\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","import {\n\tWorkspaceLocation,\n\tCreatorPackage,\n\tAssetService,\n\tdetermineWorkspaceIGLibraries,\n\treadPublishedPackageNpmManifest,\n\treadPublishedPackageCreatorManifest,\n\tReporter,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\nimport { buildArchiveFromPublishedPackage } from \"../commands/publish/zip\";\nimport { AssetServiceSessionManager } from \"./assetServiceSessionManager\";\nimport { PackageVersion } from \"./packageVersion\";\nimport { parseVersionFromNumericVersion } from \"./parseVersion\";\nimport { Prompter, PrompterOption } from \"./prompter\";\nimport { Readable } from \"node:stream\";\n\nexport const synchronizeDependencies = async (\n\tworkspaceLocation: WorkspaceLocation,\n\tcreatorPackage: CreatorPackage | undefined,\n\tsessionManager: AssetServiceSessionManager,\n\tprompter: Prompter,\n\treporter: Reporter,\n\tlogUpToDate: boolean = false,\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\treporter.log(\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\n\t\t\tif (logUpToDate) {\n\t\t\t\treporter.log(\n\t\t\t\t\t`Package ${\n\t\t\t\t\t\tlibraryCreatorPackage.Package\n\t\t\t\t\t} is already uploaded with the required version ${libraryVersion.toVersionString(\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\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\treporter.log(\n\t\t\t`Uploading package ${libraryCreatorPackage.Package} with version ${newVersionString} to ${session.domain}.${session.subDomain}`,\n\t\t);\n\n\t\tawait AssetService.uploadPackageFromBuffer(\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\tawait archive.generateAsync({ type: \"nodebuffer\" }),\n\t\t);\n\t}\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\tconsoleReporter,\n\tcreatePackageScopedReporter,\n\tisErrorEACCES,\n\tisErrorEPERM,\n\tReporter,\n\twritePackageCreatorManifest,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nimport {\n\tgetPackageReleasesDirectory,\n\tPackageLocation,\n\tparseCreatorPackageName,\n\treadPackageAnimationList,\n\treadPackageCreatorManifest,\n} from \"../../lib/package\";\nimport {\n\tgetWorkspaceOutputPath,\n\treadWorkspaceNpmManifest,\n} from \"../../lib/workspace\";\nimport { getVersionInformationFromGit } from \"../../lib/git\";\nimport { getWorkspaceBannerText } from \"../../lib/banner\";\nimport { parseVersionFromString } from \"../../lib/parseVersion\";\nimport { getVersionFileHandler } from \"../../lib/versionFile\";\nimport { isErrorENOENT } from \"../../lib/error\";\nimport { Prompter } from \"../../lib/prompter\";\nimport { PackageVersion } from \"../../lib/packageVersion\";\nimport { BuildFoldersOptions, buildFolders } from \"../build\";\nimport { buildArchiveFromPackage } from \"./zip\";\nimport { createAssetServiceSessionManager } from \"../../lib/assetServiceSessionManager\";\nimport { synchronizeDependencies } from \"../../lib/dependencySync\";\nimport { buffer } from \"node:stream/consumers\";\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\treporter?: Reporter;\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 versionFile = getVersionFileHandler(location);\n\n\tconst packageDescription = readPackageCreatorManifest(location);\n\tconst fullPackageName = packageDescription.Package;\n\n\tconst reporter =\n\t\toptions.reporter ??\n\t\tcreatePackageScopedReporter(\n\t\t\tconsoleReporter,\n\t\t\tpackageDescription.Package,\n\t\t);\n\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\t// if (sharedPackageJson !== undefined) {\n\t// \treporter.log(\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\tif (versionFile.exists) {\n\t\t\t\tversionFile.write(fullPackageName, newVersion);\n\t\t\t}\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\tpreparedReporter: reporter,\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\treporter.log(`Creating zip file`);\n\n\t\t\tconst archive = await buildArchiveFromPackage(\n\t\t\t\treporter,\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\treporter.log(\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\treporter.log(`Opening connection to IG.Asset.Server`);\n\n\t\t\tconst sessionManager = await createAssetServiceSessionManager({\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\ttry {\n\t\t\t\t\t\tawait synchronizeDependencies(\n\t\t\t\t\t\t\tworkspace,\n\t\t\t\t\t\t\tpackageDescription,\n\t\t\t\t\t\t\tsessionManager,\n\t\t\t\t\t\t\toptions.prompter,\n\t\t\t\t\t\t\treporter,\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\treporter.error(\n\t\t\t\t\t\t\t`Failed to synchronize dependencies for ${packageDescription.Package}`,\n\t\t\t\t\t\t\terr,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treporter.log(\n\t\t\t\t\t`Uploading package to ${publishDomain}.${publishSubdomain}`,\n\t\t\t\t);\n\n\t\t\t\tawait AssetService.uploadPackageFromBuffer(\n\t\t\t\t\tsessionManager.getTargetSession(),\n\t\t\t\t\tassetServerPackageDetails,\n\t\t\t\t\tawait buffer(uploadable.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\treporter.error(\n\t\t\t\t\t\t`Failed to close IG.Asset.Server session(s)`,\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}\n\t} catch (err) {\n\t\tversionFile.reset();\n\t\tthrow err;\n\t}\n\n\tif (newVersion.buildNumber >= 100 && !options.pushOnly) {\n\t\treporter.error(\"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"],"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","reporter","packageLocation","data","binDir","minified","domain","parseCreatorPackageName","scriptDirectories","scriptsDir","log","push","readPackageCreatorManifest","RunTime","includes","Type","writePackageCreatorManifest","libFile","libFilePath","readFileSync","encoding","err","isErrorENOENT","library","date","Date","now","getFullYear","creatorIndex","readPackageCreatorIndex","directory","error","createAssetServiceSessionManager","params","targetSession","AssetService","basicsSession","getBasicsSession","subDomain","getTargetSession","destroy","synchronizeDependencies","workspaceLocation","sessionManager","prompter","logUpToDate","libraries","determineWorkspaceIGLibraries","length","rawUploadedPackages","uploadedPackages","map","entry","version","parseVersionFromNumericVersion","numericVersion","Error","buildNumber","preRelease","type","libraryLocation","libraryManifest","readPublishedPackageNpmManifest","libraryCreatorPackage","readPublishedPackageCreatorManifest","libraryVersion","PackageVersion","extractFromLine","uploadedPackageInBasics","uploadedPackageInTarget","uploadedPackage","scope","support","validInBasics","isLesserThan","validInTarget","toVersionString","possibleTargets","value","name","libraryVersionString","uploadTargetScope","ask","message","options","default","newVersionString","session","generateAsync","execAsync","promisify","exec","releaseFolder","workspace","versionFile","getVersionFileHandler","packageDescription","fullPackageName","createPackageScopedReporter","consoleReporter","subdomain","publishDomain","publishSubdomain","sharedPackageJson","readWorkspaceNpmManifest","newVersion","parseVersionFromString","Version","outDir","getWorkspaceOutputPath","mkdir","recursive","assetServerPackageDetails","packageNameWithVersion","versionWithoutPrelease","clone","zipFilePath","uploadable","getStream","pushOnly","zipFileExists","stat","catch","Promise","reject","gitVersionInformation","getVersionInformationFromGit","exists","write","bannerText","getWorkspaceBannerText","buildFolders","packages","banner","text","commit","commitDirty","dirty","preparedReporter","rm","readPackageAnimationList","workspaceManifest","dependencies","install","confirm","cwd","minimize","zipOutputStream","createWriteStream","pipeline","generateNodeStream","isErrorEACCES","isErrorEPERM","noUpload","authentication","url","service","address","skipDependencies","buffer","reset","zipFileName","releasesPath","getPackageReleasesDirectory"],"mappings":"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"}
1
+ {"version":3,"file":"index-BEREgVJP.mjs","sources":["../src/commands/publish/zip.ts","../src/lib/assetServiceSessionManager.ts","../src/lib/dependencySync.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 {\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\";\nimport { Reporter } from \"@intelligentgraphics/ig.gfx.tools.core\";\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\treporter: Reporter,\n\tpackageLocation: PackageLocation,\n\tdata: CreatorPackage,\n\tbinDir: string,\n\tminified = true,\n) => {\n\tconst { domain } = parseCreatorPackageName(data);\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\treporter.log(`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\treporter.log(\n\t\t\t\t\"Setting script RunTime to false because of script type\",\n\t\t\t);\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\treporter.log(\n\t\t\t\t\"Setting script RunTime to true because of script type\",\n\t\t\t);\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\treporter.error(`Script directory \"${directory}\" does not exist`);\n\t\t}\n\t}\n\n\treturn archive;\n};\n","import { AssetService } from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nexport interface AssetServiceSessionManager {\n\tgetBasicsSession: () => Promise<AssetService.Session>;\n\tgetTargetSession: () => AssetService.Session;\n\tdestroy: () => Promise<void>;\n}\n\nexport const createAssetServiceSessionManager = async (\n\tparams: AssetService.SessionStartParams,\n): Promise<AssetServiceSessionManager> => {\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","import {\n\tWorkspaceLocation,\n\tCreatorPackage,\n\tAssetService,\n\tdetermineWorkspaceIGLibraries,\n\treadPublishedPackageNpmManifest,\n\treadPublishedPackageCreatorManifest,\n\tReporter,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\nimport { buildArchiveFromPublishedPackage } from \"../commands/publish/zip\";\nimport { AssetServiceSessionManager } from \"./assetServiceSessionManager\";\nimport { PackageVersion } from \"./packageVersion\";\nimport { parseVersionFromNumericVersion } from \"./parseVersion\";\nimport { Prompter, PrompterOption } from \"./prompter\";\nimport { Readable } from \"node:stream\";\n\nexport const synchronizeDependencies = async (\n\tworkspaceLocation: WorkspaceLocation,\n\tcreatorPackage: CreatorPackage | undefined,\n\tsessionManager: AssetServiceSessionManager,\n\tprompter: Prompter,\n\treporter: Reporter,\n\tlogUpToDate: boolean = false,\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\treporter.log(\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\n\t\t\tif (logUpToDate) {\n\t\t\t\treporter.log(\n\t\t\t\t\t`Package ${\n\t\t\t\t\t\tlibraryCreatorPackage.Package\n\t\t\t\t\t} is already uploaded with the required version ${libraryVersion.toVersionString(\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\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\treporter.log(\n\t\t\t`Uploading package ${libraryCreatorPackage.Package} with version ${newVersionString} to ${session.domain}.${session.subDomain}`,\n\t\t);\n\n\t\tawait AssetService.uploadPackageFromBuffer(\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\tawait archive.generateAsync({ type: \"nodebuffer\" }),\n\t\t);\n\t}\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\tconsoleReporter,\n\tcreatePackageScopedReporter,\n\tisErrorEACCES,\n\tisErrorEPERM,\n\tReporter,\n\twritePackageCreatorManifest,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nimport {\n\tgetPackageReleasesDirectory,\n\tPackageLocation,\n\tparseCreatorPackageName,\n\treadPackageAnimationList,\n\treadPackageCreatorManifest,\n} from \"../../lib/package\";\nimport {\n\tgetWorkspaceOutputPath,\n\treadWorkspaceNpmManifest,\n} from \"../../lib/workspace\";\nimport { getVersionInformationFromGit } from \"../../lib/git\";\nimport { getWorkspaceBannerText } from \"../../lib/banner\";\nimport { parseVersionFromString } from \"../../lib/parseVersion\";\nimport { getVersionFileHandler } from \"../../lib/versionFile\";\nimport { isErrorENOENT } from \"../../lib/error\";\nimport { Prompter } from \"../../lib/prompter\";\nimport { PackageVersion } from \"../../lib/packageVersion\";\nimport { BuildFoldersOptions, buildFolders } from \"../build\";\nimport { buildArchiveFromPackage } from \"./zip\";\nimport { createAssetServiceSessionManager } from \"../../lib/assetServiceSessionManager\";\nimport { synchronizeDependencies } from \"../../lib/dependencySync\";\nimport { buffer } from \"node:stream/consumers\";\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\treporter?: Reporter;\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 versionFile = getVersionFileHandler(location);\n\n\tconst packageDescription = readPackageCreatorManifest(location);\n\tconst fullPackageName = packageDescription.Package;\n\n\tconst reporter =\n\t\toptions.reporter ??\n\t\tcreatePackageScopedReporter(\n\t\t\tconsoleReporter,\n\t\t\tpackageDescription.Package,\n\t\t);\n\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\t// if (sharedPackageJson !== undefined) {\n\t// \treporter.log(\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\tif (versionFile.exists) {\n\t\t\t\tversionFile.write(fullPackageName, newVersion);\n\t\t\t}\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\tpreparedReporter: reporter,\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\treporter.log(`Creating zip file`);\n\n\t\t\tconst archive = await buildArchiveFromPackage(\n\t\t\t\treporter,\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\treporter.log(\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\treporter.log(`Opening connection to IG.Asset.Server`);\n\n\t\t\tconst sessionManager = await createAssetServiceSessionManager({\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\ttry {\n\t\t\t\t\t\tawait synchronizeDependencies(\n\t\t\t\t\t\t\tworkspace,\n\t\t\t\t\t\t\tpackageDescription,\n\t\t\t\t\t\t\tsessionManager,\n\t\t\t\t\t\t\toptions.prompter,\n\t\t\t\t\t\t\treporter,\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\treporter.error(\n\t\t\t\t\t\t\t`Failed to synchronize dependencies for ${packageDescription.Package}`,\n\t\t\t\t\t\t\terr,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treporter.log(\n\t\t\t\t\t`Uploading package to ${publishDomain}.${publishSubdomain}`,\n\t\t\t\t);\n\n\t\t\t\tawait AssetService.uploadPackageFromBuffer(\n\t\t\t\t\tsessionManager.getTargetSession(),\n\t\t\t\t\tassetServerPackageDetails,\n\t\t\t\t\tawait buffer(uploadable.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\treporter.error(\n\t\t\t\t\t\t`Failed to close IG.Asset.Server session(s)`,\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}\n\t} catch (err) {\n\t\tversionFile.reset();\n\t\tthrow err;\n\t}\n\n\tif (newVersion.buildNumber >= 100 && !options.pushOnly) {\n\t\treporter.error(\"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"],"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","reporter","packageLocation","data","binDir","minified","domain","parseCreatorPackageName","scriptDirectories","scriptsDir","log","push","readPackageCreatorManifest","RunTime","includes","Type","writePackageCreatorManifest","libFile","libFilePath","readFileSync","encoding","err","isErrorENOENT","library","date","Date","now","getFullYear","creatorIndex","readPackageCreatorIndex","directory","error","createAssetServiceSessionManager","params","targetSession","AssetService","basicsSession","getBasicsSession","subDomain","getTargetSession","destroy","synchronizeDependencies","workspaceLocation","sessionManager","prompter","logUpToDate","libraries","determineWorkspaceIGLibraries","length","rawUploadedPackages","uploadedPackages","map","entry","version","parseVersionFromNumericVersion","numericVersion","Error","buildNumber","preRelease","type","libraryLocation","libraryManifest","readPublishedPackageNpmManifest","libraryCreatorPackage","readPublishedPackageCreatorManifest","libraryVersion","PackageVersion","extractFromLine","uploadedPackageInBasics","uploadedPackageInTarget","uploadedPackage","scope","support","validInBasics","isLesserThan","validInTarget","toVersionString","possibleTargets","value","name","libraryVersionString","uploadTargetScope","ask","message","options","default","newVersionString","session","generateAsync","execAsync","promisify","exec","releaseFolder","workspace","versionFile","getVersionFileHandler","packageDescription","fullPackageName","createPackageScopedReporter","consoleReporter","subdomain","publishDomain","publishSubdomain","sharedPackageJson","readWorkspaceNpmManifest","newVersion","parseVersionFromString","Version","outDir","getWorkspaceOutputPath","mkdir","recursive","assetServerPackageDetails","packageNameWithVersion","versionWithoutPrelease","clone","zipFilePath","uploadable","getStream","pushOnly","zipFileExists","stat","catch","Promise","reject","gitVersionInformation","getVersionInformationFromGit","exists","write","bannerText","getWorkspaceBannerText","buildFolders","packages","banner","text","commit","commitDirty","dirty","preparedReporter","rm","readPackageAnimationList","workspaceManifest","dependencies","install","confirm","cwd","minimize","zipOutputStream","createWriteStream","pipeline","generateNodeStream","isErrorEACCES","isErrorEPERM","noUpload","authentication","url","service","address","skipDependencies","buffer","reset","zipFileName","releasesPath","getPackageReleasesDirectory"],"mappings":"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"}
@@ -6,8 +6,8 @@ import ts from 'typescript';
6
6
  import * as fs from 'fs';
7
7
  import 'resolve';
8
8
  import 'write-pkg';
9
- import { e as readPackageAnimationList, r as readPackageCreatorManifest, q as readPackageNpmManifest, i as isErrorENOENT } from './cli-CuiqZ39_.mjs';
10
- import { g as getPackageTypescriptFiles, i as isScriptPackageModules } from './scripts-Bfojy_uD.mjs';
9
+ import { e as readPackageAnimationList, r as readPackageCreatorManifest, q as readPackageNpmManifest, i as isErrorENOENT } from './cli-DANmLXRa.mjs';
10
+ import { g as getPackageTypescriptFiles, i as isScriptPackageModules } from './scripts-DI0Xj5Yb.mjs';
11
11
  import 'node:path';
12
12
  import 'node:fs';
13
13
  import 'axios';
@@ -49,12 +49,12 @@ const tryReadTsConfig = (location)=>{
49
49
  });
50
50
  return config;
51
51
  };
52
- const createTSCBuildParticipant = (location, outputDir)=>(env)=>{
52
+ const createTSCBuildParticipant = (location, outputDir, skipDeclarations)=>(env)=>{
53
53
  const files = getPackageTypescriptFiles(location);
54
54
  try {
55
55
  env.onBuildStart();
56
56
  env.log("Compiling typescript files");
57
- const compilerOptions = getCompilerOptions(location, outputDir);
57
+ const compilerOptions = getCompilerOptions(location, outputDir, skipDeclarations);
58
58
  const host = ts.createCompilerHost(compilerOptions);
59
59
  host.getCurrentDirectory = ()=>location.scriptsDir;
60
60
  let js;
@@ -106,7 +106,7 @@ const createTSCBuildParticipant = (location, outputDir)=>(env)=>{
106
106
  destroy: ()=>{}
107
107
  };
108
108
  };
109
- const createTSCWatchBuildParticipant = (location, outputDir)=>{
109
+ const createTSCWatchBuildParticipant = (location, outputDir, skipDeclarations)=>{
110
110
  return ({ onBuildStart, onBuildEnd })=>{
111
111
  let state = {
112
112
  diagnostics: [],
@@ -164,7 +164,7 @@ const createTSCWatchBuildParticipant = (location, outputDir)=>{
164
164
  const message = ts.formatDiagnostics(emitState.diagnostics, formattingHost);
165
165
  onBuildEnd({
166
166
  type: "error",
167
- error: message
167
+ error: new Error(message)
168
168
  });
169
169
  return;
170
170
  }
@@ -188,7 +188,7 @@ const createTSCWatchBuildParticipant = (location, outputDir)=>{
188
188
  break;
189
189
  }
190
190
  };
191
- const host = ts.createWatchCompilerHost(path.join(location.scriptsDir, "tsconfig.json"), getCompilerOptions(location, outputDir), customSys, ts.createSemanticDiagnosticsBuilderProgram, registerDiagnostic, reportWatchStatusChanged);
191
+ const host = ts.createWatchCompilerHost(path.join(location.scriptsDir, "tsconfig.json"), getCompilerOptions(location, outputDir, skipDeclarations), customSys, ts.createSemanticDiagnosticsBuilderProgram, registerDiagnostic, reportWatchStatusChanged);
192
192
  const formattingHost = {
193
193
  getCanonicalFileName: (path)=>path,
194
194
  getCurrentDirectory: host.getCurrentDirectory,
@@ -202,7 +202,7 @@ const createTSCWatchBuildParticipant = (location, outputDir)=>{
202
202
  };
203
203
  };
204
204
  };
205
- const getCompilerOptions = (location, outputDir)=>{
205
+ const getCompilerOptions = (location, outputDir, skipDeclarations)=>{
206
206
  const config = tryReadTsConfig(location);
207
207
  config.compilerOptions.lib = [
208
208
  "es5",
@@ -212,7 +212,7 @@ const getCompilerOptions = (location, outputDir)=>{
212
212
  const compilerOptions = {
213
213
  ...result.options,
214
214
  removeComments: false,
215
- declaration: true,
215
+ declaration: !skipDeclarations,
216
216
  sourceMap: true,
217
217
  inlineSources: false,
218
218
  // We don't use tsc to actually emit the files, but we still need to set the correct
@@ -331,7 +331,7 @@ class BuildManager extends require$$2 {
331
331
  }
332
332
  }
333
333
  if (errors.length > 0) {
334
- this.emit("error", errors.join("\n"));
334
+ this.emit("error", errors.length === 1 ? errors[0] : new AggregateError(errors));
335
335
  return;
336
336
  }
337
337
  const completeResult = {
@@ -1052,10 +1052,10 @@ async function buildFolders(options) {
1052
1052
  }
1053
1053
  if (typescriptFiles.length > 0) {
1054
1054
  if (isScriptPackageModules(tsConfig.options)) {
1055
- const { createRollupBuildParticipant } = await import('./rollup-UR3DADp8.mjs');
1056
- manager.addParticipant("rollup", createRollupBuildParticipant(location, data, outputDirectory));
1055
+ const { createRollupBuildParticipant } = await import('./rollup-BEli071h.mjs');
1056
+ manager.addParticipant("rollup", createRollupBuildParticipant(location, data, outputDirectory, options.skipDeclarations ?? false));
1057
1057
  } else {
1058
- manager.addParticipant("tsc", createTSCBuildParticipant(location, outputDirectory));
1058
+ manager.addParticipant("tsc", createTSCBuildParticipant(location, outputDirectory, options.skipDeclarations ?? false));
1059
1059
  }
1060
1060
  }
1061
1061
  manager.addParticipant("animation", createAnimationBuildParticipant(location, data));
@@ -1064,7 +1064,7 @@ async function buildFolders(options) {
1064
1064
  reporter.log(`Build started`);
1065
1065
  });
1066
1066
  manager.addListener("error", (error)=>{
1067
- reject(new Error(error));
1067
+ reject(error);
1068
1068
  });
1069
1069
  manager.addListener("build", ()=>{
1070
1070
  reporter.log(`Build complete`);
@@ -1113,10 +1113,10 @@ async function buildFoldersWatch(options) {
1113
1113
  }
1114
1114
  if (typescriptFiles.length > 0) {
1115
1115
  if (isScriptPackageModules(tsConfig.options)) {
1116
- const { createRollupWatchBuildParticipant } = await import('./rollup-UR3DADp8.mjs');
1117
- manager.addParticipant("rollup", createRollupWatchBuildParticipant(location, data, outputDirectory));
1116
+ const { createRollupWatchBuildParticipant } = await import('./rollup-BEli071h.mjs');
1117
+ manager.addParticipant("rollup", createRollupWatchBuildParticipant(location, data, outputDirectory, options.skipDeclarations ?? false));
1118
1118
  } else {
1119
- manager.addParticipant("tsc", createTSCWatchBuildParticipant(location, outputDirectory));
1119
+ manager.addParticipant("tsc", createTSCWatchBuildParticipant(location, outputDirectory, options.skipDeclarations ?? false));
1120
1120
  }
1121
1121
  }
1122
1122
  manager.addParticipant("animation", createAnimationWatchBuildParticipant(location, data));
@@ -1346,4 +1346,4 @@ var index = /*#__PURE__*/Object.freeze({
1346
1346
  });
1347
1347
 
1348
1348
  export { PackageVersion as P, consoleReporter as a, buildFolders as b, createPackageScopedReporter as c, index as i };
1349
- //# sourceMappingURL=index-B2kXo6K7.mjs.map
1349
+ //# sourceMappingURL=index-CqUHGUfc.mjs.map