@intelligentgraphics/ig.gfx.packager 3.0.11 → 3.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/build/bin.mjs +1 -1
  2. package/build/{cli-381989cc.mjs → cli-2ce0c074.mjs} +7 -7
  3. package/build/{cli-381989cc.mjs.map → cli-2ce0c074.mjs.map} +1 -1
  4. package/build/{dependencies-1f665204.mjs → dependencies-a8a9faba.mjs} +2 -2
  5. package/build/{dependencies-1f665204.mjs.map → dependencies-a8a9faba.mjs.map} +1 -1
  6. package/build/{generateIndex-074f4aa1.mjs → generateIndex-d7e7000f.mjs} +47 -9
  7. package/build/generateIndex-d7e7000f.mjs.map +1 -0
  8. package/build/{generateParameterType-4c9e95a5.mjs → generateParameterType-24d37c5f.mjs} +2 -2
  9. package/build/{generateParameterType-4c9e95a5.mjs.map → generateParameterType-24d37c5f.mjs.map} +1 -1
  10. package/build/{index-cc42a478.mjs → index-2cdef238.mjs} +2 -2
  11. package/build/{index-cc42a478.mjs.map → index-2cdef238.mjs.map} +1 -1
  12. package/build/{index-06ac2c4c.mjs → index-2fa7b516.mjs} +7 -7
  13. package/build/index-2fa7b516.mjs.map +1 -0
  14. package/build/{postinstall-c38d9b55.mjs → postinstall-0ffa4499.mjs} +3 -3
  15. package/build/{postinstall-c38d9b55.mjs.map → postinstall-0ffa4499.mjs.map} +1 -1
  16. package/build/{publishNpm-8ec1b871.mjs → publishNpm-2b3321c5.mjs} +4 -4
  17. package/build/{publishNpm-8ec1b871.mjs.map → publishNpm-2b3321c5.mjs.map} +1 -1
  18. package/build/{versionFile-aa8b6b7a.mjs → versionFile-e8fdf88c.mjs} +2 -2
  19. package/build/{versionFile-aa8b6b7a.mjs.map → versionFile-e8fdf88c.mjs.map} +1 -1
  20. package/lib/lib.mjs +281 -3
  21. package/package.json +3 -3
  22. package/readme.md +6 -0
  23. package/build/generateIndex-074f4aa1.mjs.map +0 -1
  24. package/build/index-06ac2c4c.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateIndex-074f4aa1.mjs","sources":["../src/commands/generateIndex.ts"],"sourcesContent":["import ts from \"typescript\";\n\nimport {\n\tPackageLocation,\n\twritePackageCreatorIndex,\n\treadPackageCreatorIndex,\n} from \"../lib/package\";\nimport { getPackageTypescriptFiles } from \"../lib/scripts\";\nimport {\n\tCreatorIndexEntry,\n\tCreatorIndexParameter,\n\tCreatorIndexParameterType,\n} from \"../lib/package\";\n\nexport interface GenerateIndexOptions {\n\tignore?: string[];\n\tlocation: PackageLocation;\n\n\t/**\n\t * Marks non optional parameter object properties as required in the generated index\n\t *\n\t * @type {boolean}\n\t */\n\tstrictOptional?: boolean;\n}\n\n/**\n * Extracts and returns script array for _Index.json from a src folder\n *\n * @param folderPath path to a src folder\n */\nexport function generateIndex({\n\tlocation,\n\tignore = [],\n\tstrictOptional = false,\n}: GenerateIndexOptions) {\n\tconst files = getPackageTypescriptFiles(location);\n\tconst filtered = files.filter((path) => {\n\t\treturn !ignore.some((suffix) => path.endsWith(suffix));\n\t});\n\tconst arr: CreatorIndexEntry[] = [];\n\n\tconst existingIndex = readPackageCreatorIndex(location) ?? [];\n\n\tconst program = ts.createProgram(filtered, { allowJs: true });\n\tconst typeChecker = program.getTypeChecker();\n\tfiltered.forEach((file) => {\n\t\t// Create a Program to represent the project, then pull out the\n\t\t// source file to parse its AST.\n\t\tconst sourceFile = program.getSourceFile(file);\n\n\t\t// Loop through the root AST nodes of the file\n\t\tts.forEachChild(sourceFile!, (node) => {\n\t\t\tfor (const scriptingClass of findScriptingClasses(node)) {\n\t\t\t\tif (scriptingClass.node.name === undefined) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Expected ${scriptingClass.type} class to have a name`,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst name = typeChecker.getFullyQualifiedName(\n\t\t\t\t\ttypeChecker.getSymbolAtLocation(scriptingClass.node.name)!,\n\t\t\t\t);\n\n\t\t\t\tif (name.length > 45) {\n\t\t\t\t\tthrow new Error(`Package name length >45 '${name}'`);\n\t\t\t\t}\n\n\t\t\t\tconst parameterDeclaration =\n\t\t\t\t\tgetScriptingClassParameterdeclaration(scriptingClass);\n\n\t\t\t\tconst parametersType =\n\t\t\t\t\tparameterDeclaration === undefined\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: typeChecker.getTypeAtLocation(parameterDeclaration);\n\n\t\t\t\tif (parametersType === undefined) {\n\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t`Failed to find parameters type declaration for ${scriptingClass.type} ${name}. Skipping parameter list generation`,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst existingIndexEntry = existingIndex.find(\n\t\t\t\t\t(entry) => entry.Name === name,\n\t\t\t\t);\n\n\t\t\t\tconst obj: CreatorIndexEntry = {\n\t\t\t\t\tName: name,\n\t\t\t\t\tDescription: existingIndexEntry?.Description,\n\t\t\t\t\tType:\n\t\t\t\t\t\tscriptingClass.type === \"evaluator\"\n\t\t\t\t\t\t\t? \"Evaluator\"\n\t\t\t\t\t\t\t: \"Interactor\",\n\t\t\t\t\tParameters: [],\n\t\t\t\t};\n\n\t\t\t\tconst rawDocTags = ts.getJSDocTags(scriptingClass.node);\n\n\t\t\t\tconst dict = getTagDict(rawDocTags);\n\t\t\t\tif (dict.summary) {\n\t\t\t\t\tobj.Description = dict.summary;\n\t\t\t\t} else {\n\t\t\t\t\tconst comment = typeChecker\n\t\t\t\t\t\t.getTypeAtLocation(scriptingClass.node)\n\t\t\t\t\t\t.symbol.getDocumentationComment(typeChecker)\n\t\t\t\t\t\t.map((comment) => comment.text)\n\t\t\t\t\t\t.join(\" \");\n\n\t\t\t\t\tif (comment) {\n\t\t\t\t\t\tobj.Description = comment;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (parametersType !== undefined) {\n\t\t\t\t\tobj.Parameters = genParameters(\n\t\t\t\t\t\ttypeChecker.getPropertiesOfType(parametersType),\n\t\t\t\t\t\tstrictOptional,\n\t\t\t\t\t);\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tobj.Parameters.length === 0 &&\n\t\t\t\t\t\tparametersType.getStringIndexType() !== undefined\n\t\t\t\t\t) {\n\t\t\t\t\t\tobj.Parameters = existingIndexEntry?.Parameters ?? [];\n\t\t\t\t\t}\n\t\t\t\t} else if (existingIndexEntry !== undefined) {\n\t\t\t\t\tobj.Parameters = existingIndexEntry.Parameters;\n\t\t\t\t}\n\n\t\t\t\tarr.push(obj);\n\t\t\t}\n\t\t});\n\t});\n\n\tarr.sort((a, b) => a.Name.localeCompare(b.Name));\n\n\twritePackageCreatorIndex(location, arr);\n}\n\nfunction capitalizeFirstLetter(string: string) {\n\treturn string?.charAt(0).toUpperCase() + string?.slice(1);\n}\n\nfunction parseDefault(value: string, type: string) {\n\tconst uType: CreatorIndexParameterType = capitalizeFirstLetter(\n\t\ttype,\n\t) as CreatorIndexParameterType;\n\tif (value === \"null\") return null;\n\tswitch (uType) {\n\t\tcase \"LengthM\":\n\t\tcase \"ArcDEG\":\n\t\tcase \"Float\":\n\t\t\treturn parseFloat(value);\n\t\tcase \"Integer\":\n\t\tcase \"Int\":\n\t\t\treturn parseInt(value);\n\t\tcase \"Boolean\":\n\t\tcase \"Bool\":\n\t\t\treturn value === \"true\";\n\t\tcase \"Material\":\n\t\tcase \"String\":\n\t\tcase \"Geometry\":\n\t\tdefault:\n\t\t\treturn value.replace(/^\"/, \"\").replace(/\"$/, \"\");\n\t}\n}\n\nfunction genParameters(\n\tproperties: ts.Symbol[],\n\tstrictOptional: boolean,\n): CreatorIndexParameter[] {\n\treturn properties.map((symbol, i) => {\n\t\tconst parameter: CreatorIndexParameter = {\n\t\t\tName: symbol.name,\n\t\t\tDescription: undefined,\n\t\t\tType: \"String\",\n\t\t\tDefault: undefined,\n\t\t\tDisplayIndex: i + 1,\n\t\t};\n\n\t\tif (parameter.Name.length > 45) {\n\t\t\tthrow new Error(`Parameter name length >45 '${parameter.Name}'`);\n\t\t}\n\n\t\tlet declaration: ts.Declaration | undefined =\n\t\t\tsymbol.getDeclarations()?.[0];\n\t\tlet documentationComment = symbol.getDocumentationComment(undefined);\n\n\t\tlet checkLinksSymbol: ts.Symbol | undefined = symbol;\n\n\t\twhile (checkLinksSymbol !== undefined && declaration === undefined) {\n\t\t\tconst links = (\n\t\t\t\tcheckLinksSymbol as {\n\t\t\t\t\tlinks?: {\n\t\t\t\t\t\tmappedType?: ts.Type;\n\t\t\t\t\t\tsyntheticOrigin?: ts.Symbol;\n\t\t\t\t\t};\n\t\t\t\t} & ts.Symbol\n\t\t\t).links;\n\n\t\t\tif (links?.syntheticOrigin) {\n\t\t\t\tdeclaration = links.syntheticOrigin.getDeclarations()?.[0];\n\n\t\t\t\tif (documentationComment.length === 0) {\n\t\t\t\t\tdocumentationComment =\n\t\t\t\t\t\tlinks.syntheticOrigin.getDocumentationComment(\n\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tcheckLinksSymbol = links.syntheticOrigin;\n\t\t\t}\n\t\t}\n\n\t\tif (declaration !== undefined) {\n\t\t\tconst rawDocTags = ts.getJSDocTags(declaration);\n\n\t\t\tconst dict = getTagDict(rawDocTags);\n\n\t\t\tif (dict.summary) {\n\t\t\t\tparameter.Description = dict.summary;\n\t\t\t} else {\n\t\t\t\tconst comment = documentationComment\n\t\t\t\t\t.map((comment) => comment.text)\n\t\t\t\t\t.join(\" \");\n\n\t\t\t\tif (comment) {\n\t\t\t\t\tparameter.Description = comment;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (dict.creatorType) {\n\t\t\t\tparameter.Type = dict.creatorType as CreatorIndexParameterType;\n\t\t\t}\n\t\t\tif (dict.default) {\n\t\t\t\tparameter.Default = parseDefault(dict.default, parameter.Type);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tstrictOptional &&\n\t\t\t\tdeclaration.kind === ts.SyntaxKind.PropertySignature\n\t\t\t) {\n\t\t\t\tconst propertySignature = declaration as ts.PropertySignature;\n\t\t\t\tif (propertySignature.questionToken === undefined) {\n\t\t\t\t\tparameter.Required = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn parameter;\n\t});\n}\n\ninterface IDocTags {\n\tdefault?: string;\n\tcreatorType?: string;\n\tsummary?: string;\n}\n\nfunction getTagDict(tags: readonly ts.JSDocTag[]): IDocTags {\n\tconst dict: IDocTags = {};\n\n\tfor (const tag of tags) {\n\t\tdict[tag.tagName.text] = tag.comment;\n\t}\n\n\treturn dict;\n}\n\nconst getScriptingClassParameterdeclaration = (\n\tscriptingClass: ScriptingClass,\n) => {\n\tfor (const member of scriptingClass.node.members) {\n\t\tif (ts.isMethodDeclaration(member)) {\n\t\t\tfor (let index = 0; index < member.parameters.length; index++) {\n\t\t\t\tconst parameter = member.parameters[index];\n\t\t\t\tif (\n\t\t\t\t\tisScriptingClassParameterDeclaration(\n\t\t\t\t\t\tscriptingClass,\n\t\t\t\t\t\tmember,\n\t\t\t\t\t\tindex,\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn parameter;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (ts.isConstructorDeclaration(member)) {\n\t\t\tfor (let index = 0; index < member.parameters.length; index++) {\n\t\t\t\tconst parameter = member.parameters[index];\n\t\t\t\tif (\n\t\t\t\t\tisScriptingClassParameterDeclaration(\n\t\t\t\t\t\tscriptingClass,\n\t\t\t\t\t\tmember,\n\t\t\t\t\t\tindex,\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn parameter;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const isScriptingClassParameterDeclaration = (\n\tscriptingClass: ScriptingClass,\n\tmemberNode: ts.ClassElement,\n\tparameterIndex: number,\n) => {\n\tif (scriptingClass.type === \"evaluator\") {\n\t\treturn memberNode?.name?.getText() == \"Create\" && parameterIndex === 2;\n\t}\n\tif (scriptingClass.type === \"interactor\") {\n\t\treturn (\n\t\t\tmemberNode.kind === ts.SyntaxKind.Constructor &&\n\t\t\tparameterIndex === 0\n\t\t);\n\t}\n\treturn false;\n};\n\ninterface ScriptingClass {\n\tnode: ts.ClassDeclaration;\n\ttype: \"interactor\" | \"evaluator\";\n}\n\n/**\n * Finds interactors and evaluators within a script file\n *\n * @param {ts.Node} node\n * @return {*}\n */\nconst findScriptingClasses = (node: ts.Node) => {\n\tlet body: ts.NamespaceBody | ts.JSDocNamespaceBody | undefined;\n\n\tif (ts.isModuleDeclaration(node)) {\n\t\tbody = node.body;\n\t}\n\tif (body !== undefined && ts.isModuleDeclaration(body)) {\n\t\tbody = body.body;\n\t}\n\n\tconst classes: ScriptingClass[] = [];\n\n\tif (body !== undefined) {\n\t\tts.forEachChild(body, (child) => {\n\t\t\tif (!ts.isClassDeclaration(child)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst scriptingClass = detectScriptingClass(child);\n\n\t\t\tif (scriptingClass !== undefined) {\n\t\t\t\tclasses.push(scriptingClass);\n\t\t\t}\n\t\t});\n\t}\n\n\treturn classes;\n};\n\nconst detectScriptingClass = (\n\tnode: ts.ClassDeclaration,\n): ScriptingClass | undefined => {\n\tconst isEvaluator = node.heritageClauses?.some((clause) => {\n\t\tif (\n\t\t\tclause.token !== ts.SyntaxKind.ExtendsKeyword &&\n\t\t\tclause.token !== ts.SyntaxKind.ImplementsKeyword\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn clause.types.some((type) =>\n\t\t\ttype.getText().includes(\"Evaluator\"),\n\t\t);\n\t});\n\n\tif (isEvaluator) {\n\t\treturn {\n\t\t\tnode,\n\t\t\ttype: \"evaluator\",\n\t\t};\n\t}\n\n\tconst isInteractor = node.heritageClauses?.some((clause) => {\n\t\tif (clause.token !== ts.SyntaxKind.ExtendsKeyword) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn clause.types.some((type) =>\n\t\t\ttype.getText().includes(\"Interactor\"),\n\t\t);\n\t});\n\n\tif (isInteractor) {\n\t\treturn {\n\t\t\tnode,\n\t\t\ttype: \"interactor\",\n\t\t};\n\t}\n};\n"],"names":["generateIndex","location","ignore","strictOptional","files","getPackageTypescriptFiles","filtered","filter","path","some","suffix","endsWith","arr","existingIndex","readPackageCreatorIndex","program","ts","createProgram","allowJs","typeChecker","getTypeChecker","forEach","file","sourceFile","getSourceFile","forEachChild","node","scriptingClass","findScriptingClasses","name","undefined","Error","type","getFullyQualifiedName","getSymbolAtLocation","length","parameterDeclaration","getScriptingClassParameterdeclaration","parametersType","getTypeAtLocation","console","log","existingIndexEntry","find","entry","Name","obj","Description","Type","Parameters","rawDocTags","getJSDocTags","dict","getTagDict","summary","comment","symbol","getDocumentationComment","map","text","join","genParameters","getPropertiesOfType","getStringIndexType","push","sort","a","b","localeCompare","writePackageCreatorIndex","capitalizeFirstLetter","string","charAt","toUpperCase","slice","parseDefault","value","uType","parseFloat","parseInt","replace","properties","i","parameter","Default","DisplayIndex","declaration","getDeclarations","documentationComment","checkLinksSymbol","links","syntheticOrigin","creatorType","default","kind","SyntaxKind","PropertySignature","propertySignature","questionToken","Required","tags","tag","tagName","member","members","isMethodDeclaration","index","parameters","isScriptingClassParameterDeclaration","isConstructorDeclaration","memberNode","parameterIndex","getText","Constructor","body","isModuleDeclaration","classes","child","isClassDeclaration","detectScriptingClass","isEvaluator","heritageClauses","clause","token","ExtendsKeyword","ImplementsKeyword","types","includes","isInteractor"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-06ac2c4c.mjs","sources":["../src/commands/publish/zip.ts","../src/commands/publish/index.ts"],"sourcesContent":["import Ajv, { ValidateFunction } from \"ajv\";\nimport axios from \"axios\";\nimport 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\treadPackageAnimationList,\n\treadPackageCreatorIndex,\n\tparseCreatorPackageName,\n\tPackageLocation,\n\tPackageNpmManifest,\n\tINDEX_FILE,\n\tPACKAGE_FILE,\n} from \"../../lib/package\";\nimport { getWorkspaceOutputPath, WorkspaceLocation } from \"../../lib/workspace\";\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\nlet validateSchema: ValidateFunction | undefined;\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\tworkspaceLocation: WorkspaceLocation,\n\tpackageLocation: PackageLocation,\n\tdata: CreatorPackage,\n) => {\n\tconst { domain, subdomain } = parseCreatorPackageName(data);\n\n\tconst logStep = (step: string) => logPackageMessage(data.Package, step);\n\n\tif (validateSchema === undefined) {\n\t\tvalidateSchema = await axios\n\t\t\t.get(\n\t\t\t\t\"https://archive.intelligentgraphics.biz/schemas/gfx/animation.json\",\n\t\t\t)\n\t\t\t.then(({ data }) =>\n\t\t\t\tnew Ajv({\n\t\t\t\t\tcoerceTypes: true,\n\t\t\t\t\tallErrors: true,\n\t\t\t\t\tremoveAdditional: true,\n\t\t\t\t\tuseDefaults: \"empty\",\n\t\t\t\t\tvalidateSchema: \"log\",\n\t\t\t\t}).compile(data),\n\t\t\t);\n\t}\n\n\tconst libFilePath = path.join(\n\t\tgetWorkspaceOutputPath(workspaceLocation),\n\t\t`${data.Package}.min.js`,\n\t);\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\t// if (index === undefined) {\n\t// \tthrow new Error(\n\t// \t\t`Could not find an \"${INDEX_FILE}\" file in \"${primaryScriptDir}\"`,\n\t// \t);\n\t// }\n\n\tconst animations = new Map<string, string>();\n\n\tfor (const scriptFilePath of readPackageAnimationList(packageLocation)) {\n\t\tconst content = fs.readFileSync(scriptFilePath, { encoding: \"utf8\" })!;\n\n\t\tlet data: { Id: string };\n\n\t\ttry {\n\t\t\tdata = JSON.parse(content);\n\t\t} catch (err) {\n\t\t\tconst relativePath = path.relative(\n\t\t\t\tworkspaceLocation.path,\n\t\t\t\tscriptFilePath,\n\t\t\t);\n\n\t\t\tif (err instanceof SyntaxError) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Encountered invalid syntax in file \"${relativePath}\": ${String(\n\t\t\t\t\t\terr,\n\t\t\t\t\t)}`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tthrow new Error(\n\t\t\t\t`Encountered an unexpected error while parsing animation json file at path \"${relativePath}\"`,\n\t\t\t\t{\n\t\t\t\t\tcause: err,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\n\t\tvalidateSchema!(data);\n\n\t\tanimations.set(data.Id, JSON.stringify(data));\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\tif (libFile === undefined) {\n\t\tif (animations.size === 0) {\n\t\t\tthrow new Error(`Could not find a javascript file at \"${libFilePath}\".\nPackaging without a javascript file is only allowed when animation json files are available`);\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\tif (animations.size > 0) {\n\t\tconst scope = data.Scope ?? data.Package;\n\t\tconst scopeParts = scope.split(\".\");\n\n\t\tlibrary += createNamespace(scopeParts);\n\n\t\tfor (const [name, data] of animations) {\n\t\t\tlibrary += `${scope}.${name} = ` + data + \";\";\n\t\t\tlogPackageMessage(\n\t\t\t\tmanifest.Package,\n\t\t\t\t`Added animation ${scope}.${name}`,\n\t\t\t);\n\t\t}\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\nconst createNamespace = (parts: string[]) => {\n\tlet code = `var ${parts[0]};`;\n\n\tfor (let index = 0; index < parts.length; index++) {\n\t\tconst path = parts.slice(0, index + 1).join(\".\");\n\n\t\tcode += `\\n(${path} = ${path} || {});`;\n\t}\n\n\treturn code;\n};\n","import * as path from \"path\";\nimport * as fs from \"fs\";\nimport { pipeline } from \"stream/promises\";\nimport { execSync } from \"child_process\";\n\nimport {\n\tAssetService,\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\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\texecSync(`npm install`, { encoding: \"utf-8\", cwd: workspace.path });\n\t}\n\n\tconst binDir = getWorkspaceOutputPath(workspace);\n\tfs.mkdirSync(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\tconst zipFilePath = path.join(binDir, packageNameWithVersion + \".zip\");\n\n\ttry {\n\t\tif (options.pushOnly) {\n\t\t\tif (!fs.existsSync(zipFilePath)) {\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\tskipPackagesWithoutTsFiles: true,\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\tfs.rmSync(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`Animation.json files require the library 'IG.GFX.Standard' to be available, but it is not registered as a dependency. Do you want to install it now?`,\n\t\t\t\t\t);\n\n\t\t\t\t\tif (install) {\n\t\t\t\t\t\texecSync(\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\tstdio: \"inherit\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\texecSync(`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\tworkspace,\n\t\t\t\tlocation,\n\t\t\t\tpackageDescription,\n\t\t\t);\n\n\t\t\tconst zipOutputStream = fs.createWriteStream(zipFilePath);\n\t\t\tawait pipeline(archive.generateNodeStream(), zipOutputStream);\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.uploadPackage(\n\t\t\t\t\tsessionManager.getTargetSession(),\n\t\t\t\t\tassetServerPackageDetails,\n\t\t\t\t\tzipFilePath,\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\tfs.mkdirSync(releasesPath, { recursive: true });\n\t\tfs.copyFileSync(zipFilePath, path.join(releasesPath, zipFileName));\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\t\tconst packageNameWithVersion = `${libraryCreatorPackage.Package}_${newVersionString}`;\n\n\t\tconst zipFilePath = path.join(\n\t\t\tgetWorkspaceOutputPath(workspaceLocation),\n\t\t\t`${packageNameWithVersion}.zip`,\n\t\t);\n\n\t\ttry {\n\t\t\tfs.rmSync(zipFilePath);\n\t\t} catch (err) {\n\t\t\tif (!isErrorENOENT(err)) {\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t}\n\n\t\tconst zipOutputStream = fs.createWriteStream(zipFilePath);\n\t\tawait pipeline(archive.generateNodeStream(), zipOutputStream);\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.uploadPackage(\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\tzipFilePath,\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","validateSchema","runtimeScripts","notRuntimeScripts","buildArchiveFromPackage","workspaceLocation","packageLocation","data","domain","subdomain","parseCreatorPackageName","logStep","step","logPackageMessage","Package","axios","get","then","Ajv","coerceTypes","allErrors","removeAdditional","useDefaults","compile","libFilePath","getWorkspaceOutputPath","scriptDirectories","scriptsDir","push","readPackageCreatorManifest","RunTime","includes","Type","writePackageCreatorManifest","animations","Map","scriptFilePath","readPackageAnimationList","content","readFileSync","encoding","parse","err","relativePath","relative","SyntaxError","Error","String","cause","set","Id","libFile","isErrorENOENT","size","library","date","Date","now","getFullYear","scope","Scope","scopeParts","split","createNamespace","name","minifyResult","terser","minify","ecma","code","creatorIndex","readPackageCreatorIndex","directory","readdirSync","ext","console","error","parts","length","slice","releaseFolder","options","workspace","write","writeVersionFile","reset","resetVersionFile","getVersionFileHandler","packageDescription","fullPackageName","publishDomain","publishSubdomain","sharedPackageJson","readWorkspaceNpmManifest","newVersion","parseVersionFromString","Version","toVersionString","buildNumber","preRelease","type","version","execSync","cwd","binDir","mkdirSync","recursive","assetServerPackageDetails","packageNameWithVersion","versionWithoutPrelease","clone","newVersionString","zipFilePath","pushOnly","existsSync","gitVersionInformation","getVersionInformationFromGit","bannerText","getWorkspaceBannerText","buildFolders","packages","skipPackagesWithoutTsFiles","banner","text","commit","commitDirty","dirty","rmSync","workspaceManifest","dependencies","install","prompter","confirm","stdio","zipOutputStream","createWriteStream","pipeline","generateNodeStream","noUpload","authentication","sessionManager","createSessionManager","url","service","address","subDomain","skipDependencies","ensureRequiredVersions","AssetService","getTargetSession","destroy","catch","zipFileName","releasesPath","getPackageReleasesDirectory","copyFileSync","libraries","determineWorkspaceIGLibraries","targetSession","rawUploadedPackages","uploadedPackages","map","entry","parseVersionFromNumericVersion","numericVersion","libraryLocation","libraryManifest","readPublishedPackageNpmManifest","libraryCreatorPackage","readPublishedPackageCreatorManifest","libraryVersion","PackageVersion","extractFromLine","uploadedPackageInBasics","uploadedPackageInTarget","uploadedPackage","support","validInBasics","isLesserThan","validInTarget","possibleTargets","value","libraryVersionString","uploadTargetScope","ask","message","default","session","getBasicsSession","params","basicsSession"],"mappings":"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"}