@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 +1 @@
1
- {"version":3,"file":"dependencies-1f665204.mjs","sources":["../../tools.core/build/publishedPackage.mjs","../../tools.core/build/dependencies.mjs"],"sourcesContent":["import * as path from 'path';\nimport * as fs from 'fs';\nimport resolve from 'resolve';\nimport { readNpmManifest } from './npmPackage.mjs';\nimport { PACKAGE_FILE, INDEX_FILE } from './package.mjs';\nimport { isErrorENOENT } from './error.mjs';\nimport { stripUtf8Bom } from './stripUtf8Bom.mjs';\n\n/**\n * Detects a published package from a path.\n *\n * Can return undefined if the package is not installed.\n *\n * @param {string} resolveBasePath\n * @param {string} name\n * @return {*} {(PublishedPackageLocation | undefined)}\n */ const detectPublishedPackageFromPath = (resolveBasePath, name)=>{\n try {\n const manifestPath = resolve.sync(name + \"/package.json\", {\n basedir: resolveBasePath\n });\n const dir = path.dirname(manifestPath);\n return {\n _kind: \"PublishedPackageLocation\",\n path: dir\n };\n } catch (err) {\n return undefined;\n }\n};\nconst readPublishedPackageNpmManifest = (location)=>{\n return readNpmManifest(location.path);\n};\nconst readPublishedPackageCreatorManifest = (location)=>{\n try {\n const packageJsonPath = path.join(location.path, PACKAGE_FILE);\n const packageJson = stripUtf8Bom(fs.readFileSync(packageJsonPath, {\n encoding: \"utf8\"\n }));\n return JSON.parse(packageJson);\n } catch (err) {\n if (isErrorENOENT(err)) {\n return undefined;\n }\n throw err;\n }\n};\nconst getPublishedPackageCreatorIndexPath = (location)=>path.join(location.path, INDEX_FILE);\nconst readPublishedPackageCreatorIndex = (location)=>{\n try {\n const packageJsonPath = path.join(location.path, INDEX_FILE);\n const packageJson = stripUtf8Bom(fs.readFileSync(packageJsonPath, {\n encoding: \"utf8\"\n }));\n const result = JSON.parse(packageJson);\n return result;\n } catch (err) {\n if (isErrorENOENT(err)) {\n return undefined;\n }\n throw err;\n }\n};\n\nexport { detectPublishedPackageFromPath, getPublishedPackageCreatorIndexPath, readPublishedPackageCreatorIndex, readPublishedPackageCreatorManifest, readPublishedPackageNpmManifest };\n//# sourceMappingURL=publishedPackage.mjs.map\n","import { readPublishedPackageNpmManifest, detectPublishedPackageFromPath } from './publishedPackage.mjs';\nimport { readWorkspaceNpmManifest } from './workspace.mjs';\n\n// /**\n// * Determines the implicit dependencies of a an actual data workspace package.\n// *\n// * An implicit dependency is a dependency that is installed for the workspace and has the same runtime environment (evaluator, interactor) as the package.\n// *\n// * @param {WorkspaceLocation} workspace\n// * @param {CreatorPackage} creatorPackage\n// * @returns {PublishedPackageLocation[]}\n// */\n// export const determinePackageImplicitDependencies = (\n// \tworkspace: WorkspaceLocation,\n// \tcreatorPackage: CreatorPackage,\n// ): PublishedPackageLocation[] => {\n// \tconst libraries = determineWorkspaceIGLibraries(workspace);\n// \tconst results: PublishedPackageLocation[] = [];\n// \tfor (const librarylocation of libraries) {\n// \t\tconst libraryManifest =\n// \t\t\treadPublishedPackageCreatorManifest(librarylocation);\n// \t\tif (\n// \t\t\tlibraryManifest !== undefined &&\n// \t\t\t(libraryManifest.Type === \"Mixed\" ||\n// \t\t\t\tlibraryManifest.RunTime === creatorPackage.RunTime)\n// \t\t) {\n// \t\t\tresults.push(librarylocation);\n// \t\t}\n// \t}\n// \treturn results;\n// };\n/**\n * Recursively determines all installed ig libraries for a workspace.\n *\n * @param {WorkspaceLocation} workspace\n * @returns {PublishedPackageLocation[]}\n */ const determineWorkspaceIGLibraries = (workspace)=>{\n const manifest = readWorkspaceNpmManifest(workspace);\n const libraries = collectIGLibraries(workspace, manifest);\n const results = new Map();\n for (const location of libraries){\n const manifest = readPublishedPackageNpmManifest(location);\n if (!results.has(manifest.name)) {\n results.set(manifest.name, location);\n }\n }\n return Array.from(results.values());\n};\nconst collectIGLibraries = (workspace, manifest)=>{\n if (!manifest.dependencies) {\n return [];\n }\n const runtimeDependencies = Object.getOwnPropertyNames(manifest.dependencies);\n const result = [];\n for (const runtimeDependency of runtimeDependencies){\n var _runtimeManifest_ig;\n const location = detectPublishedPackageFromPath(workspace.path, runtimeDependency);\n if (location === undefined) {\n continue;\n }\n const runtimeManifest = readPublishedPackageNpmManifest(location);\n // packages need to explicitly be marked as ig scriptingLibraries\n if ((_runtimeManifest_ig = runtimeManifest.ig) == null ? void 0 : _runtimeManifest_ig.scriptingLibrary) {\n result.push(location);\n result.push(...collectIGLibraries(workspace, runtimeManifest));\n }\n }\n return result;\n};\n\nexport { determineWorkspaceIGLibraries };\n//# sourceMappingURL=dependencies.mjs.map\n"],"names":["detectPublishedPackageFromPath","resolveBasePath","name","manifestPath","resolve","sync","basedir","dir","path","dirname","_kind","err","undefined","readPublishedPackageNpmManifest","location","readNpmManifest","readPublishedPackageCreatorManifest","packageJsonPath","join","PACKAGE_FILE","packageJson","stripUtf8Bom","fs","readFileSync","encoding","JSON","parse","isErrorENOENT","readPublishedPackageCreatorIndex","INDEX_FILE","result","determineWorkspaceIGLibraries","workspace","manifest","readWorkspaceNpmManifest","libraries","collectIGLibraries","results","Map","has","set","Array","from","values","dependencies","runtimeDependencies","Object","getOwnPropertyNames","runtimeDependency","_runtimeManifest_ig","runtimeManifest","ig","scriptingLibrary","push"],"mappings":"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"}
1
+ {"version":3,"file":"dependencies-a8a9faba.mjs","sources":["../../tools.core/build/publishedPackage.mjs","../../tools.core/build/dependencies.mjs"],"sourcesContent":["import * as path from 'path';\nimport * as fs from 'fs';\nimport resolve from 'resolve';\nimport { readNpmManifest } from './npmPackage.mjs';\nimport { PACKAGE_FILE, INDEX_FILE } from './package.mjs';\nimport { isErrorENOENT } from './error.mjs';\nimport { stripUtf8Bom } from './stripUtf8Bom.mjs';\n\n/**\n * Detects a published package from a path.\n *\n * Can return undefined if the package is not installed.\n *\n * @param {string} resolveBasePath\n * @param {string} name\n * @return {*} {(PublishedPackageLocation | undefined)}\n */ const detectPublishedPackageFromPath = (resolveBasePath, name)=>{\n try {\n const manifestPath = resolve.sync(name + \"/package.json\", {\n basedir: resolveBasePath\n });\n const dir = path.dirname(manifestPath);\n return {\n _kind: \"PublishedPackageLocation\",\n path: dir\n };\n } catch (err) {\n return undefined;\n }\n};\nconst readPublishedPackageNpmManifest = (location)=>{\n return readNpmManifest(location.path);\n};\nconst readPublishedPackageCreatorManifest = (location)=>{\n try {\n const packageJsonPath = path.join(location.path, PACKAGE_FILE);\n const packageJson = stripUtf8Bom(fs.readFileSync(packageJsonPath, {\n encoding: \"utf8\"\n }));\n return JSON.parse(packageJson);\n } catch (err) {\n if (isErrorENOENT(err)) {\n return undefined;\n }\n throw err;\n }\n};\nconst getPublishedPackageCreatorIndexPath = (location)=>path.join(location.path, INDEX_FILE);\nconst readPublishedPackageCreatorIndex = (location)=>{\n try {\n const packageJsonPath = path.join(location.path, INDEX_FILE);\n const packageJson = stripUtf8Bom(fs.readFileSync(packageJsonPath, {\n encoding: \"utf8\"\n }));\n const result = JSON.parse(packageJson);\n return result;\n } catch (err) {\n if (isErrorENOENT(err)) {\n return undefined;\n }\n throw err;\n }\n};\n\nexport { detectPublishedPackageFromPath, getPublishedPackageCreatorIndexPath, readPublishedPackageCreatorIndex, readPublishedPackageCreatorManifest, readPublishedPackageNpmManifest };\n//# sourceMappingURL=publishedPackage.mjs.map\n","import { readPublishedPackageNpmManifest, detectPublishedPackageFromPath } from './publishedPackage.mjs';\nimport { readWorkspaceNpmManifest } from './workspace.mjs';\n\n// /**\n// * Determines the implicit dependencies of a an actual data workspace package.\n// *\n// * An implicit dependency is a dependency that is installed for the workspace and has the same runtime environment (evaluator, interactor) as the package.\n// *\n// * @param {WorkspaceLocation} workspace\n// * @param {CreatorPackage} creatorPackage\n// * @returns {PublishedPackageLocation[]}\n// */\n// export const determinePackageImplicitDependencies = (\n// \tworkspace: WorkspaceLocation,\n// \tcreatorPackage: CreatorPackage,\n// ): PublishedPackageLocation[] => {\n// \tconst libraries = determineWorkspaceIGLibraries(workspace);\n// \tconst results: PublishedPackageLocation[] = [];\n// \tfor (const librarylocation of libraries) {\n// \t\tconst libraryManifest =\n// \t\t\treadPublishedPackageCreatorManifest(librarylocation);\n// \t\tif (\n// \t\t\tlibraryManifest !== undefined &&\n// \t\t\t(libraryManifest.Type === \"Mixed\" ||\n// \t\t\t\tlibraryManifest.RunTime === creatorPackage.RunTime)\n// \t\t) {\n// \t\t\tresults.push(librarylocation);\n// \t\t}\n// \t}\n// \treturn results;\n// };\n/**\n * Recursively determines all installed ig libraries for a workspace.\n *\n * @param {WorkspaceLocation} workspace\n * @returns {PublishedPackageLocation[]}\n */ const determineWorkspaceIGLibraries = (workspace)=>{\n const manifest = readWorkspaceNpmManifest(workspace);\n const libraries = collectIGLibraries(workspace, manifest);\n const results = new Map();\n for (const location of libraries){\n const manifest = readPublishedPackageNpmManifest(location);\n if (!results.has(manifest.name)) {\n results.set(manifest.name, location);\n }\n }\n return Array.from(results.values());\n};\nconst collectIGLibraries = (workspace, manifest)=>{\n if (!manifest.dependencies) {\n return [];\n }\n const runtimeDependencies = Object.getOwnPropertyNames(manifest.dependencies);\n const result = [];\n for (const runtimeDependency of runtimeDependencies){\n var _runtimeManifest_ig;\n const location = detectPublishedPackageFromPath(workspace.path, runtimeDependency);\n if (location === undefined) {\n continue;\n }\n const runtimeManifest = readPublishedPackageNpmManifest(location);\n // packages need to explicitly be marked as ig scriptingLibraries\n if ((_runtimeManifest_ig = runtimeManifest.ig) == null ? void 0 : _runtimeManifest_ig.scriptingLibrary) {\n result.push(location);\n result.push(...collectIGLibraries(workspace, runtimeManifest));\n }\n }\n return result;\n};\n\nexport { determineWorkspaceIGLibraries };\n//# sourceMappingURL=dependencies.mjs.map\n"],"names":["detectPublishedPackageFromPath","resolveBasePath","name","manifestPath","resolve","sync","basedir","dir","path","dirname","_kind","err","undefined","readPublishedPackageNpmManifest","location","readNpmManifest","readPublishedPackageCreatorManifest","packageJsonPath","join","PACKAGE_FILE","packageJson","stripUtf8Bom","fs","readFileSync","encoding","JSON","parse","isErrorENOENT","readPublishedPackageCreatorIndex","INDEX_FILE","result","determineWorkspaceIGLibraries","workspace","manifest","readWorkspaceNpmManifest","libraries","collectIGLibraries","results","Map","has","set","Array","from","values","dependencies","runtimeDependencies","Object","getOwnPropertyNames","runtimeDependency","_runtimeManifest_ig","runtimeManifest","ig","scriptingLibrary","push"],"mappings":"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"}
@@ -3,7 +3,7 @@ import 'path';
3
3
  import 'fs';
4
4
  import 'resolve';
5
5
  import 'write-pkg';
6
- import { h as getPackageTypescriptFiles, b as readPackageCreatorIndex, j as writePackageCreatorIndex } from './cli-381989cc.mjs';
6
+ import { h as getPackageTypescriptFiles, b as readPackageCreatorIndex, j as writePackageCreatorIndex } from './cli-2ce0c074.mjs';
7
7
  import 'node:path';
8
8
  import 'node:fs';
9
9
  import 'axios';
@@ -54,7 +54,7 @@ import 'inquirer';
54
54
  const existingIndexEntry = existingIndex.find((entry)=>entry.Name === name);
55
55
  const obj = {
56
56
  Name: name,
57
- Description: existingIndexEntry == null ? void 0 : existingIndexEntry.Description,
57
+ Description: (existingIndexEntry == null ? void 0 : existingIndexEntry.Description) ?? name,
58
58
  Type: scriptingClass.type === "evaluator" ? "Evaluator" : "Interactor",
59
59
  Parameters: []
60
60
  };
@@ -69,7 +69,7 @@ import 'inquirer';
69
69
  }
70
70
  }
71
71
  if (parametersType !== undefined) {
72
- obj.Parameters = genParameters(typeChecker.getPropertiesOfType(parametersType), strictOptional);
72
+ obj.Parameters = parseParametersList(typeChecker.getPropertiesOfType(parametersType), strictOptional);
73
73
  if (obj.Parameters.length === 0 && parametersType.getStringIndexType() !== undefined) {
74
74
  obj.Parameters = (existingIndexEntry == null ? void 0 : existingIndexEntry.Parameters) ?? [];
75
75
  }
@@ -86,7 +86,7 @@ import 'inquirer';
86
86
  function capitalizeFirstLetter(string) {
87
87
  return (string == null ? void 0 : string.charAt(0).toUpperCase()) + (string == null ? void 0 : string.slice(1));
88
88
  }
89
- function parseDefault(value, type) {
89
+ const parseDefault = (value, type)=>{
90
90
  const uType = capitalizeFirstLetter(type);
91
91
  if (value === "null") return null;
92
92
  switch(uType){
@@ -106,8 +106,38 @@ function parseDefault(value, type) {
106
106
  default:
107
107
  return value.replace(/^"/, "").replace(/"$/, "");
108
108
  }
109
- }
110
- function genParameters(properties, strictOptional) {
109
+ };
110
+ const parseTypeFromName = (name)=>{
111
+ const parts = name.split(".");
112
+ const identifier = parts[parts.length - 1];
113
+ switch(identifier){
114
+ case "LengthM":
115
+ case "ArcDEG":
116
+ case "Float":
117
+ case "Integer":
118
+ return identifier;
119
+ case "GeometryReference":
120
+ return "Geometry";
121
+ case "MaterialReference":
122
+ return "Material";
123
+ case "AnimationReference":
124
+ return "Animation";
125
+ case "InteractorReference":
126
+ return "Interactor";
127
+ case "EvaluatorReference":
128
+ return "Evaluator";
129
+ case "String":
130
+ case "string":
131
+ return "String";
132
+ case "number":
133
+ case "Number":
134
+ return "Float";
135
+ case "boolean":
136
+ case "Boolean":
137
+ return "Boolean";
138
+ }
139
+ };
140
+ const parseParametersList = (properties, strictOptional)=>{
111
141
  return properties.map((symbol, i)=>{
112
142
  var _symbol_getDeclarations;
113
143
  const parameter = {
@@ -147,6 +177,14 @@ function genParameters(properties, strictOptional) {
147
177
  }
148
178
  if (dict.creatorType) {
149
179
  parameter.Type = dict.creatorType;
180
+ } else {
181
+ const propertySignature = declaration;
182
+ if (propertySignature.type !== undefined) {
183
+ const parsedType = parseTypeFromName(propertySignature.type.getText());
184
+ if (parsedType !== undefined) {
185
+ parameter.Type = parsedType;
186
+ }
187
+ }
150
188
  }
151
189
  if (dict.default) {
152
190
  parameter.Default = parseDefault(dict.default, parameter.Type);
@@ -160,7 +198,7 @@ function genParameters(properties, strictOptional) {
160
198
  }
161
199
  return parameter;
162
200
  });
163
- }
201
+ };
164
202
  function getTagDict(tags) {
165
203
  const dict = {};
166
204
  for (const tag of tags){
@@ -253,5 +291,5 @@ const detectScriptingClass = (node)=>{
253
291
  }
254
292
  };
255
293
 
256
- export { generateIndex, isScriptingClassParameterDeclaration };
257
- //# sourceMappingURL=generateIndex-074f4aa1.mjs.map
294
+ export { generateIndex };
295
+ //# sourceMappingURL=generateIndex-d7e7000f.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateIndex-d7e7000f.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 ?? name,\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 = parseParametersList(\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\nconst 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\nconst parseTypeFromName = (\n\tname: string,\n): CreatorIndexParameterType | undefined => {\n\tconst parts = name.split(\".\");\n\tconst identifier = parts[parts.length - 1];\n\n\tswitch (identifier) {\n\t\tcase \"LengthM\":\n\t\tcase \"ArcDEG\":\n\t\tcase \"Float\":\n\t\tcase \"Integer\":\n\t\t\treturn identifier;\n\t\tcase \"GeometryReference\":\n\t\t\treturn \"Geometry\";\n\t\tcase \"MaterialReference\":\n\t\t\treturn \"Material\";\n\t\tcase \"AnimationReference\":\n\t\t\treturn \"Animation\";\n\t\tcase \"InteractorReference\":\n\t\t\treturn \"Interactor\";\n\t\tcase \"EvaluatorReference\":\n\t\t\treturn \"Evaluator\";\n\t\tcase \"String\":\n\t\tcase \"string\":\n\t\t\treturn \"String\";\n\t\tcase \"number\":\n\t\tcase \"Number\":\n\t\t\treturn \"Float\";\n\t\tcase \"boolean\":\n\t\tcase \"Boolean\":\n\t\t\treturn \"Boolean\";\n\t}\n};\n\nconst parseParametersList = (\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} else {\n\t\t\t\tconst propertySignature = declaration as ts.PropertySignature;\n\t\t\t\tif (propertySignature.type !== undefined) {\n\t\t\t\t\tconst parsedType = parseTypeFromName(\n\t\t\t\t\t\tpropertySignature.type.getText(),\n\t\t\t\t\t);\n\n\t\t\t\t\tif (parsedType !== undefined) {\n\t\t\t\t\t\tparameter.Type = parsedType;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\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\nconst 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","parseParametersList","getPropertiesOfType","getStringIndexType","push","sort","a","b","localeCompare","writePackageCreatorIndex","capitalizeFirstLetter","string","charAt","toUpperCase","slice","parseDefault","value","uType","parseFloat","parseInt","replace","parseTypeFromName","parts","split","identifier","properties","i","parameter","Default","DisplayIndex","declaration","getDeclarations","documentationComment","checkLinksSymbol","links","syntheticOrigin","creatorType","propertySignature","parsedType","getText","default","kind","SyntaxKind","PropertySignature","questionToken","Required","tags","tag","tagName","member","members","isMethodDeclaration","index","parameters","isScriptingClassParameterDeclaration","isConstructorDeclaration","memberNode","parameterIndex","Constructor","body","isModuleDeclaration","classes","child","isClassDeclaration","detectScriptingClass","isEvaluator","heritageClauses","clause","token","ExtendsKeyword","ImplementsKeyword","types","includes","isInteractor"],"mappings":"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"}
@@ -4,7 +4,7 @@ import * as path from 'path';
4
4
  import * as os from 'os';
5
5
  import 'resolve';
6
6
  import 'write-pkg';
7
- import { b as readPackageCreatorIndex, r as readPackageCreatorManifest, k as getCreatorIndexParameterPrimaryJSType } from './cli-381989cc.mjs';
7
+ import { b as readPackageCreatorIndex, r as readPackageCreatorManifest, k as getCreatorIndexParameterPrimaryJSType } from './cli-2ce0c074.mjs';
8
8
  import 'glob';
9
9
  import 'node:path';
10
10
  import 'node:fs';
@@ -72,4 +72,4 @@ const generateParameterType = ({ location , name })=>{
72
72
  };
73
73
 
74
74
  export { generateParameterType };
75
- //# sourceMappingURL=generateParameterType-4c9e95a5.mjs.map
75
+ //# sourceMappingURL=generateParameterType-24d37c5f.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateParameterType-4c9e95a5.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-24d37c5f.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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"}
@@ -3,7 +3,7 @@ import * as fs from 'fs';
3
3
  import * as terser from 'terser';
4
4
  import 'resolve';
5
5
  import 'write-pkg';
6
- import { h as getPackageTypescriptFiles, r as readPackageCreatorManifest, o as readPackageNpmManifest } from './cli-381989cc.mjs';
6
+ import { h as getPackageTypescriptFiles, r as readPackageCreatorManifest, o as readPackageNpmManifest } from './cli-2ce0c074.mjs';
7
7
  import 'node:path';
8
8
  import 'node:fs';
9
9
  import 'axios';
@@ -309,4 +309,4 @@ var index = /*#__PURE__*/Object.freeze({
309
309
  });
310
310
 
311
311
  export { buildFolders as b, index as i, logPackageMessage as l };
312
- //# sourceMappingURL=index-cc42a478.mjs.map
312
+ //# sourceMappingURL=index-2cdef238.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-cc42a478.mjs","sources":["../../tools.core/build/log.mjs","../src/commands/build/tsc.ts","../src/commands/build/docs.ts","../src/lib/toposort.ts","../src/commands/build/index.ts"],"sourcesContent":["const logPackageMessage = (name, step, index, total)=>{\n const numLength = total === undefined ? undefined : total.toString().length;\n const indexString = total === undefined || total < 2 ? \"\" : `${index.toString().padStart(numLength, \"0\")}/${total} `;\n const identifierString = `${indexString}${name.padEnd(15)}`;\n console.log(`${identifierString} >> ${step}`);\n};\n\nexport { logPackageMessage };\n//# sourceMappingURL=log.mjs.map\n","import ts from \"typescript\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { PackageLocation } from \"../../lib/package\";\n\nimport { FolderBuilder } from \".\";\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\n\nexport const tryReadTsConfig = (location: PackageLocation) => {\n\tconst { config } = ts.readConfigFile(\n\t\tpath.join(location.scriptsDir, \"tsconfig.json\"),\n\t\t(path) => {\n\t\t\ttry {\n\t\t\t\treturn fs.readFileSync(path, \"utf8\");\n\t\t\t} catch {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\t);\n\n\treturn config as {\n\t\tcompilerOptions: ts.CompilerOptions;\n\t};\n};\n\nexport const build: FolderBuilder = async (\n\tlocation: PackageLocation,\n\toutputDir: string,\n) => {\n\tconst config = tryReadTsConfig(location);\n\n\tconfig.compilerOptions.lib = [\"es5\", \"dom\"];\n\n\tconst result = ts.convertCompilerOptionsFromJson(\n\t\tconfig.compilerOptions,\n\t\tlocation.scriptsDir,\n\t);\n\n\tconst compilerOptions: ts.CompilerOptions = {\n\t\t...result.options,\n\t\tremoveComments: false,\n\t\tdeclaration: true,\n\t\tsourceMap: false,\n\t\t// We don't use tsc to actually emit the files, but we still need to set the correct\n\t\t// output directory so the compiler can rewrite the `reference path` directives.\n\t\toutFile: path.join(outputDir, \"out.js\"),\n\t\ttarget: ts.ScriptTarget.ES5,\n\t\tnoEmitOnError: true,\n\t};\n\n\tconst host = ts.createCompilerHost(compilerOptions);\n\thost.getCurrentDirectory = () => location.scriptsDir;\n\n\tlet js: string | undefined;\n\tlet definitions: string | undefined;\n\n\thost.writeFile = (fileName, data, writeByteOrderMark) => {\n\t\tif (fileName.endsWith(\".js\")) {\n\t\t\tjs = data;\n\t\t} else if (fileName.endsWith(\".d.ts\")) {\n\t\t\tdefinitions = data;\n\t\t}\n\t};\n\n\tconst files = getPackageTypescriptFiles(location);\n\n\tif (files.length === 0) {\n\t\tthrow new Error(\n\t\t\t`Expected typescript files to exist when building a package. Packages only consisting of animation jsons do not need to be built.`,\n\t\t);\n\t}\n\n\tconst programOptions: ts.CreateProgramOptions = {\n\t\trootNames: files,\n\t\toptions: compilerOptions,\n\t\thost,\n\t};\n\n\tconst program = ts.createProgram(programOptions);\n\tconst emitResult = program.emit();\n\tconst allDiagnostics = ts.getPreEmitDiagnostics(program);\n\n\tif (!emitResult.emitSkipped) {\n\t\tif (allDiagnostics.length > 0) {\n\t\t\tconsole.log(allDiagnostics.map(createErrorMessage).join(\"\\n\"));\n\t\t}\n\n\t\tif (js === undefined || definitions === undefined) {\n\t\t\tthrow new Error(`Unexpected: no js or definitions were created`);\n\t\t}\n\n\t\treturn { js, definitions };\n\t}\n\n\tconst error = allDiagnostics.map(createErrorMessage).join(\"\\n\");\n\n\tthrow new Error(error);\n};\n\nconst createErrorMessage = (diagnostic: ts.Diagnostic) => {\n\tif (!diagnostic.file) {\n\t\treturn `${ts.flattenDiagnosticMessageText(\n\t\t\tdiagnostic.messageText,\n\t\t\t\"\\n\",\n\t\t)}`;\n\t}\n\n\tconst { line, character } = diagnostic.file.getLineAndCharacterOfPosition(\n\t\tdiagnostic.start!,\n\t);\n\n\tconst message = ts.flattenDiagnosticMessageText(\n\t\tdiagnostic.messageText,\n\t\t\"\\n\",\n\t);\n\n\treturn `${diagnostic.file.fileName} (${line + 1},${\n\t\tcharacter + 1\n\t}): ${message}`;\n};\n","import typedoc from \"typedoc\";\nimport glob from \"glob\";\nimport ts from \"typescript\";\nimport * as path from \"path\";\nimport { PackageLocation } from \"../../lib/package\";\n\nexport const generateDocs = async (\n\tlocation: PackageLocation,\n\tdeclarationFile: string,\n\toutFolder: string,\n\tname: string,\n) => {\n\tconst app = new typedoc.Application();\n\n\tconst mediaDir = path.join(location.manifestDir, \"Media\");\n\n\tapp.bootstrap({\n\t\tentryPoints: [declarationFile],\n\t\tmedia: mediaDir,\n\t\tout: outFolder,\n\t\ttsconfig: path.join(location.scriptsDir, \"tsconfig.json\"),\n\t\tskipErrorChecking: true,\n\t});\n\n\tapp.options.setCompilerOptions(\n\t\t[declarationFile],\n\t\t{\n\t\t\ttarget: ts.ScriptTarget.ES5,\n\t\t},\n\t\tundefined,\n\t);\n\n\tapp.options.setValue(\"name\", name);\n\n\tconst [readmePath] = glob.sync(\"**/readme.md\", {\n\t\tabsolute: true,\n\t\tcwd: location.manifestDir,\n\t});\n\n\tif (readmePath) {\n\t\tapp.options.setValue(\"readme\", readmePath);\n\t}\n\n\tconst project = app.convert();\n\n\tif (project) {\n\t\tawait app.generateDocs(project, outFolder);\n\t}\n};\n","// Stolen from ig.tools.core\n\nexport const toposort = (packages: Record<string, string[]>) => {\n\tconst queue = Object.getOwnPropertyNames(packages);\n\tconst result: string[] = [];\n\n\tlet index = 0;\n\n\twhile (queue.length > 0) {\n\t\tif (index >= queue.length) {\n\t\t\tthrow new Error(\"Packages can not have cyclic dependencies\");\n\t\t}\n\n\t\tconst queueEntry = queue[index];\n\n\t\tconst dependencies = packages[queueEntry];\n\t\tconst dependencyQueued = dependencies.some((dependency) =>\n\t\t\tqueue.includes(dependency),\n\t\t);\n\n\t\tif (dependencyQueued) {\n\t\t\tindex++;\n\t\t\tcontinue;\n\t\t}\n\n\t\tqueue.splice(index, 1);\n\t\tindex = 0;\n\t\tresult.push(queueEntry);\n\t}\n\n\treturn result;\n};\n","import * as path from \"path\";\nimport * as fs from \"fs\";\nimport * as terser from \"terser\";\n\nimport { logPackageMessage } from \"../../lib/log\";\nimport { build as tscBuild } from \"./tsc\";\nimport { generateDocs } from \"./docs\";\nimport {\n\tPackageLocation,\n\treadPackageCreatorManifest,\n\treadPackageNpmManifest,\n} from \"../../lib/package\";\nimport { WorkspaceLocation } from \"../../lib/workspace\";\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\nimport { toposort } from \"../../lib/toposort\";\nimport { PackageJSON } from \"../../lib/packageJSON\";\n\nexport interface BannerOptions {\n\ttext: string | undefined;\n\tversion: string | undefined;\n\tcommit: string | undefined;\n\tcommitDirty: boolean | undefined;\n\tdate: Date | undefined;\n}\n\nexport interface BuildFoldersOptions {\n\tworkspace: WorkspaceLocation;\n\tpackages: PackageLocation[];\n\toutDir?: string;\n\tminimize: boolean;\n\tbanner?: BannerOptions;\n\tclean?: boolean;\n\tdocs?: boolean;\n\tskipPackagesWithoutTsFiles?: boolean;\n}\n\nexport interface BuildFolderOptions extends BuildFoldersOptions {\n\toutFile: string;\n}\n\nexport interface FolderBuilderResult {\n\tjs: string;\n\tdefinitions: string;\n}\n\nexport type FolderBuilder = (\n\tlocation: PackageLocation,\n\toutputDir: string,\n) => Promise<FolderBuilderResult>;\n\ntype FolderData = {\n\tlocation: PackageLocation;\n\tdata?: PackageJSON;\n};\n\nexport const buildFolders = async (options: BuildFoldersOptions) => {\n\tif (options.outDir !== undefined && options.clean) {\n\t\tfs.rmSync(options.outDir, { recursive: true });\n\t}\n\n\tconst workspace = options.workspace;\n\tconst folders = options.packages;\n\n\tlet sortedPackages = sortPackagesByBuildOrder(folders);\n\n\tif (options.skipPackagesWithoutTsFiles) {\n\t\tsortedPackages = sortedPackages.filter(\n\t\t\t(location) => getPackageTypescriptFiles(location).length > 0,\n\t\t);\n\t}\n\n\tlet index = 1;\n\n\tfor (const location of sortedPackages) {\n\t\tensureTsConfig(location);\n\n\t\tconst data = readPackageCreatorManifest(location);\n\n\t\tconst logStep = (step: string) =>\n\t\t\tlogPackageMessage(data.Package, step, index, folders.length);\n\n\t\tlogStep(\"Compiling typescript to javascript\");\n\n\t\tconst outputDirectory = options.outDir || location.scriptsDir;\n\t\tfs.mkdirSync(outputDirectory, { recursive: true });\n\n\t\tconst buildResult = await tscBuild(location, outputDirectory);\n\t\tconst banner = options.banner\n\t\t\t? createBannerComment(options.banner)\n\t\t\t: undefined;\n\n\t\tif (banner) {\n\t\t\tbuildResult.js = banner + \"\\n\" + buildResult.js;\n\t\t\tbuildResult.definitions = banner + \"\\n\" + buildResult.definitions;\n\t\t}\n\n\t\tfs.writeFileSync(\n\t\t\tpath.join(outputDirectory, `${data.Package}.js`),\n\t\t\tbuildResult.js,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\t\tfs.writeFileSync(\n\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\n\t\t\tbuildResult.definitions,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\n\t\tif (options.minimize) {\n\t\t\tconst minifyResult = await terser.minify(buildResult.js, {\n\t\t\t\tecma: 5,\n\t\t\t});\n\n\t\t\tconst minifiedPath = path.join(\n\t\t\t\toutputDirectory,\n\t\t\t\t`${data.Package}.min.js`,\n\t\t\t);\n\t\t\tfs.writeFileSync(minifiedPath, minifyResult.code!, {\n\t\t\t\tencoding: \"utf8\",\n\t\t\t});\n\t\t}\n\n\t\tif (location.path.includes(\"Basics\")) {\n\t\t\tfs.mkdirSync(path.join(workspace.path, \"lib\"), {\n\t\t\t\trecursive: true,\n\t\t\t});\n\n\t\t\tlogStep(\"Copying basics definition file to the lib folder\");\n\t\t\tfs.writeFileSync(\n\t\t\t\tpath.join(workspace.path, \"lib\", `${data.Package}.d.ts`),\n\t\t\t\tbuildResult.definitions,\n\t\t\t\t{ encoding: \"utf8\" },\n\t\t\t);\n\t\t}\n\n\t\tif (options.docs) {\n\t\t\tlogStep(\"Generating typedoc documentation\");\n\t\t\tawait generateDocs(\n\t\t\t\tlocation,\n\t\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\n\t\t\t\tpath.join(workspace.path, \"docs\", data.Package),\n\t\t\t\tdata.Package,\n\t\t\t);\n\t\t}\n\n\t\tindex++;\n\t}\n};\n\nconst ensureTsConfig = (location: PackageLocation) => {\n\tconst tsconfigPath = path.join(location.scriptsDir, \"tsconfig.json\");\n\n\tif (!fs.existsSync(tsconfigPath)) {\n\t\tconst content = {};\n\t\tapplyTsConfigOption(content);\n\n\t\tfs.writeFileSync(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t} else {\n\t\tconst content = JSON.parse(fs.readFileSync(tsconfigPath, \"utf8\"));\n\t\tapplyTsConfigOption(content);\n\t\tfs.writeFileSync(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t}\n};\n\nconst applyTsConfigOption = (data: {\n\tcompilerOptions?: { target?: string; lib?: string[] };\n}) => {\n\tdata.compilerOptions = data.compilerOptions ?? {};\n\tdata.compilerOptions.target = \"es5\";\n\tdata.compilerOptions.lib = [\"es5\", \"dom\"];\n};\n\nconst sortPackagesByBuildOrder = (\n\tfolders: PackageLocation[],\n): PackageLocation[] => {\n\tconst packages = Array.from(folders).reduce(\n\t\t(\n\t\t\tacc: Record<string, FolderData>,\n\t\t\tlocation,\n\t\t): Record<string, FolderData> => {\n\t\t\tconst data = readPackageNpmManifest(location);\n\n\t\t\tif (data !== undefined) {\n\t\t\t\tacc[data.name] = {\n\t\t\t\t\tdata,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tacc[location.path] = {\n\t\t\t\t\tdata: undefined,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst packageDependencies = Object.getOwnPropertyNames(packages).reduce(\n\t\t(acc, packageName) => {\n\t\t\tconst packageData = packages[packageName];\n\n\t\t\tif (packageData.data === undefined) {\n\t\t\t\tacc[packageName] = [];\n\t\t\t} else {\n\t\t\t\tacc[packageName] = Object.getOwnPropertyNames({\n\t\t\t\t\t...packageData.data.devDependencies,\n\t\t\t\t\t...packageData.data.dependencies,\n\t\t\t\t\t...packageData.data.peerDependencies,\n\t\t\t\t}).filter((packageName) => packages[packageName] !== undefined);\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst sortedPackages = toposort(packageDependencies);\n\tconst result: PackageLocation[] = [];\n\n\tfor (const packageName of sortedPackages) {\n\t\tconst location = packages[packageName].location;\n\n\t\tif (readPackageCreatorManifest(location).Package.endsWith(\".Basics\")) {\n\t\t\tresult.unshift(location);\n\t\t} else {\n\t\t\tresult.push(location);\n\t\t}\n\t}\n\n\treturn result;\n};\n\nconst createBannerComment = (banner: BannerOptions) => {\n\tconst bannerParts: string[] = [];\n\n\tif (banner.text) {\n\t\tbannerParts.push(\" * \" + banner.text);\n\t}\n\n\t{\n\t\tconst details: string[] = [];\n\n\t\tif (banner.version) {\n\t\t\tdetails.push(`Version: ${banner.version}`);\n\t\t}\n\t\tif (banner.commit) {\n\t\t\tif (banner.commitDirty) {\n\t\t\t\tdetails.push(`Commit: ${banner.commit} (dirty)`);\n\t\t\t} else {\n\t\t\t\tdetails.push(`Commit: ${banner.commit}`);\n\t\t\t}\n\t\t}\n\t\tif (banner.date) {\n\t\t\tdetails.push(`Date: ${banner.date.toISOString()}`);\n\t\t}\n\n\t\tconst detailsText = details.map((line) => ` * ${line}`).join(\"\\n\");\n\t\tif (detailsText) {\n\t\t\tbannerParts.push(detailsText);\n\t\t}\n\t}\n\n\tconst bannerText = bannerParts.join(\"\\n\\n\");\n\n\tif (bannerText) {\n\t\treturn `/*\n${bannerText}\n*\n* @preserve\t\t\t\n*/`;\n\t}\n\n\treturn undefined;\n};\n"],"names":["logPackageMessage","name","step","index","total","numLength","undefined","toString","length","indexString","padStart","identifierString","padEnd","console","log","tryReadTsConfig","location","config","ts","readConfigFile","path","join","scriptsDir","fs","readFileSync","build","outputDir","compilerOptions","lib","result","convertCompilerOptionsFromJson","options","removeComments","declaration","sourceMap","outFile","target","ScriptTarget","ES5","noEmitOnError","host","createCompilerHost","getCurrentDirectory","js","definitions","writeFile","fileName","data","writeByteOrderMark","endsWith","files","getPackageTypescriptFiles","Error","programOptions","rootNames","program","createProgram","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","emitSkipped","map","createErrorMessage","error","diagnostic","file","flattenDiagnosticMessageText","messageText","line","character","getLineAndCharacterOfPosition","start","message","generateDocs","declarationFile","outFolder","app","typedoc","Application","mediaDir","manifestDir","bootstrap","entryPoints","media","out","tsconfig","skipErrorChecking","setCompilerOptions","setValue","readmePath","glob","sync","absolute","cwd","project","convert","toposort","packages","queue","Object","getOwnPropertyNames","queueEntry","dependencies","dependencyQueued","some","dependency","includes","splice","push","buildFolders","outDir","clean","rmSync","recursive","workspace","folders","sortedPackages","sortPackagesByBuildOrder","skipPackagesWithoutTsFiles","filter","ensureTsConfig","readPackageCreatorManifest","logStep","Package","outputDirectory","mkdirSync","buildResult","tscBuild","banner","createBannerComment","writeFileSync","encoding","minimize","minifyResult","terser","minify","ecma","minifiedPath","code","docs","tsconfigPath","existsSync","content","applyTsConfigOption","JSON","stringify","parse","Array","from","reduce","acc","readPackageNpmManifest","packageDependencies","packageName","packageData","devDependencies","peerDependencies","unshift","bannerParts","text","details","version","commit","commitDirty","date","toISOString","detailsText","bannerText"],"mappings":"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"}
1
+ {"version":3,"file":"index-2cdef238.mjs","sources":["../../tools.core/build/log.mjs","../src/commands/build/tsc.ts","../src/commands/build/docs.ts","../src/lib/toposort.ts","../src/commands/build/index.ts"],"sourcesContent":["const logPackageMessage = (name, step, index, total)=>{\n const numLength = total === undefined ? undefined : total.toString().length;\n const indexString = total === undefined || total < 2 ? \"\" : `${index.toString().padStart(numLength, \"0\")}/${total} `;\n const identifierString = `${indexString}${name.padEnd(15)}`;\n console.log(`${identifierString} >> ${step}`);\n};\n\nexport { logPackageMessage };\n//# sourceMappingURL=log.mjs.map\n","import ts from \"typescript\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { PackageLocation } from \"../../lib/package\";\n\nimport { FolderBuilder } from \".\";\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\n\nexport const tryReadTsConfig = (location: PackageLocation) => {\n\tconst { config } = ts.readConfigFile(\n\t\tpath.join(location.scriptsDir, \"tsconfig.json\"),\n\t\t(path) => {\n\t\t\ttry {\n\t\t\t\treturn fs.readFileSync(path, \"utf8\");\n\t\t\t} catch {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\t);\n\n\treturn config as {\n\t\tcompilerOptions: ts.CompilerOptions;\n\t};\n};\n\nexport const build: FolderBuilder = async (\n\tlocation: PackageLocation,\n\toutputDir: string,\n) => {\n\tconst config = tryReadTsConfig(location);\n\n\tconfig.compilerOptions.lib = [\"es5\", \"dom\"];\n\n\tconst result = ts.convertCompilerOptionsFromJson(\n\t\tconfig.compilerOptions,\n\t\tlocation.scriptsDir,\n\t);\n\n\tconst compilerOptions: ts.CompilerOptions = {\n\t\t...result.options,\n\t\tremoveComments: false,\n\t\tdeclaration: true,\n\t\tsourceMap: false,\n\t\t// We don't use tsc to actually emit the files, but we still need to set the correct\n\t\t// output directory so the compiler can rewrite the `reference path` directives.\n\t\toutFile: path.join(outputDir, \"out.js\"),\n\t\ttarget: ts.ScriptTarget.ES5,\n\t\tnoEmitOnError: true,\n\t};\n\n\tconst host = ts.createCompilerHost(compilerOptions);\n\thost.getCurrentDirectory = () => location.scriptsDir;\n\n\tlet js: string | undefined;\n\tlet definitions: string | undefined;\n\n\thost.writeFile = (fileName, data, writeByteOrderMark) => {\n\t\tif (fileName.endsWith(\".js\")) {\n\t\t\tjs = data;\n\t\t} else if (fileName.endsWith(\".d.ts\")) {\n\t\t\tdefinitions = data;\n\t\t}\n\t};\n\n\tconst files = getPackageTypescriptFiles(location);\n\n\tif (files.length === 0) {\n\t\tthrow new Error(\n\t\t\t`Expected typescript files to exist when building a package. Packages only consisting of animation jsons do not need to be built.`,\n\t\t);\n\t}\n\n\tconst programOptions: ts.CreateProgramOptions = {\n\t\trootNames: files,\n\t\toptions: compilerOptions,\n\t\thost,\n\t};\n\n\tconst program = ts.createProgram(programOptions);\n\tconst emitResult = program.emit();\n\tconst allDiagnostics = ts.getPreEmitDiagnostics(program);\n\n\tif (!emitResult.emitSkipped) {\n\t\tif (allDiagnostics.length > 0) {\n\t\t\tconsole.log(allDiagnostics.map(createErrorMessage).join(\"\\n\"));\n\t\t}\n\n\t\tif (js === undefined || definitions === undefined) {\n\t\t\tthrow new Error(`Unexpected: no js or definitions were created`);\n\t\t}\n\n\t\treturn { js, definitions };\n\t}\n\n\tconst error = allDiagnostics.map(createErrorMessage).join(\"\\n\");\n\n\tthrow new Error(error);\n};\n\nconst createErrorMessage = (diagnostic: ts.Diagnostic) => {\n\tif (!diagnostic.file) {\n\t\treturn `${ts.flattenDiagnosticMessageText(\n\t\t\tdiagnostic.messageText,\n\t\t\t\"\\n\",\n\t\t)}`;\n\t}\n\n\tconst { line, character } = diagnostic.file.getLineAndCharacterOfPosition(\n\t\tdiagnostic.start!,\n\t);\n\n\tconst message = ts.flattenDiagnosticMessageText(\n\t\tdiagnostic.messageText,\n\t\t\"\\n\",\n\t);\n\n\treturn `${diagnostic.file.fileName} (${line + 1},${\n\t\tcharacter + 1\n\t}): ${message}`;\n};\n","import typedoc from \"typedoc\";\nimport glob from \"glob\";\nimport ts from \"typescript\";\nimport * as path from \"path\";\nimport { PackageLocation } from \"../../lib/package\";\n\nexport const generateDocs = async (\n\tlocation: PackageLocation,\n\tdeclarationFile: string,\n\toutFolder: string,\n\tname: string,\n) => {\n\tconst app = new typedoc.Application();\n\n\tconst mediaDir = path.join(location.manifestDir, \"Media\");\n\n\tapp.bootstrap({\n\t\tentryPoints: [declarationFile],\n\t\tmedia: mediaDir,\n\t\tout: outFolder,\n\t\ttsconfig: path.join(location.scriptsDir, \"tsconfig.json\"),\n\t\tskipErrorChecking: true,\n\t});\n\n\tapp.options.setCompilerOptions(\n\t\t[declarationFile],\n\t\t{\n\t\t\ttarget: ts.ScriptTarget.ES5,\n\t\t},\n\t\tundefined,\n\t);\n\n\tapp.options.setValue(\"name\", name);\n\n\tconst [readmePath] = glob.sync(\"**/readme.md\", {\n\t\tabsolute: true,\n\t\tcwd: location.manifestDir,\n\t});\n\n\tif (readmePath) {\n\t\tapp.options.setValue(\"readme\", readmePath);\n\t}\n\n\tconst project = app.convert();\n\n\tif (project) {\n\t\tawait app.generateDocs(project, outFolder);\n\t}\n};\n","// Stolen from ig.tools.core\n\nexport const toposort = (packages: Record<string, string[]>) => {\n\tconst queue = Object.getOwnPropertyNames(packages);\n\tconst result: string[] = [];\n\n\tlet index = 0;\n\n\twhile (queue.length > 0) {\n\t\tif (index >= queue.length) {\n\t\t\tthrow new Error(\"Packages can not have cyclic dependencies\");\n\t\t}\n\n\t\tconst queueEntry = queue[index];\n\n\t\tconst dependencies = packages[queueEntry];\n\t\tconst dependencyQueued = dependencies.some((dependency) =>\n\t\t\tqueue.includes(dependency),\n\t\t);\n\n\t\tif (dependencyQueued) {\n\t\t\tindex++;\n\t\t\tcontinue;\n\t\t}\n\n\t\tqueue.splice(index, 1);\n\t\tindex = 0;\n\t\tresult.push(queueEntry);\n\t}\n\n\treturn result;\n};\n","import * as path from \"path\";\nimport * as fs from \"fs\";\nimport * as terser from \"terser\";\n\nimport { logPackageMessage } from \"../../lib/log\";\nimport { build as tscBuild } from \"./tsc\";\nimport { generateDocs } from \"./docs\";\nimport {\n\tPackageLocation,\n\treadPackageCreatorManifest,\n\treadPackageNpmManifest,\n} from \"../../lib/package\";\nimport { WorkspaceLocation } from \"../../lib/workspace\";\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\nimport { toposort } from \"../../lib/toposort\";\nimport { PackageJSON } from \"../../lib/packageJSON\";\n\nexport interface BannerOptions {\n\ttext: string | undefined;\n\tversion: string | undefined;\n\tcommit: string | undefined;\n\tcommitDirty: boolean | undefined;\n\tdate: Date | undefined;\n}\n\nexport interface BuildFoldersOptions {\n\tworkspace: WorkspaceLocation;\n\tpackages: PackageLocation[];\n\toutDir?: string;\n\tminimize: boolean;\n\tbanner?: BannerOptions;\n\tclean?: boolean;\n\tdocs?: boolean;\n\tskipPackagesWithoutTsFiles?: boolean;\n}\n\nexport interface BuildFolderOptions extends BuildFoldersOptions {\n\toutFile: string;\n}\n\nexport interface FolderBuilderResult {\n\tjs: string;\n\tdefinitions: string;\n}\n\nexport type FolderBuilder = (\n\tlocation: PackageLocation,\n\toutputDir: string,\n) => Promise<FolderBuilderResult>;\n\ntype FolderData = {\n\tlocation: PackageLocation;\n\tdata?: PackageJSON;\n};\n\nexport const buildFolders = async (options: BuildFoldersOptions) => {\n\tif (options.outDir !== undefined && options.clean) {\n\t\tfs.rmSync(options.outDir, { recursive: true });\n\t}\n\n\tconst workspace = options.workspace;\n\tconst folders = options.packages;\n\n\tlet sortedPackages = sortPackagesByBuildOrder(folders);\n\n\tif (options.skipPackagesWithoutTsFiles) {\n\t\tsortedPackages = sortedPackages.filter(\n\t\t\t(location) => getPackageTypescriptFiles(location).length > 0,\n\t\t);\n\t}\n\n\tlet index = 1;\n\n\tfor (const location of sortedPackages) {\n\t\tensureTsConfig(location);\n\n\t\tconst data = readPackageCreatorManifest(location);\n\n\t\tconst logStep = (step: string) =>\n\t\t\tlogPackageMessage(data.Package, step, index, folders.length);\n\n\t\tlogStep(\"Compiling typescript to javascript\");\n\n\t\tconst outputDirectory = options.outDir || location.scriptsDir;\n\t\tfs.mkdirSync(outputDirectory, { recursive: true });\n\n\t\tconst buildResult = await tscBuild(location, outputDirectory);\n\t\tconst banner = options.banner\n\t\t\t? createBannerComment(options.banner)\n\t\t\t: undefined;\n\n\t\tif (banner) {\n\t\t\tbuildResult.js = banner + \"\\n\" + buildResult.js;\n\t\t\tbuildResult.definitions = banner + \"\\n\" + buildResult.definitions;\n\t\t}\n\n\t\tfs.writeFileSync(\n\t\t\tpath.join(outputDirectory, `${data.Package}.js`),\n\t\t\tbuildResult.js,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\t\tfs.writeFileSync(\n\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\n\t\t\tbuildResult.definitions,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\n\t\tif (options.minimize) {\n\t\t\tconst minifyResult = await terser.minify(buildResult.js, {\n\t\t\t\tecma: 5,\n\t\t\t});\n\n\t\t\tconst minifiedPath = path.join(\n\t\t\t\toutputDirectory,\n\t\t\t\t`${data.Package}.min.js`,\n\t\t\t);\n\t\t\tfs.writeFileSync(minifiedPath, minifyResult.code!, {\n\t\t\t\tencoding: \"utf8\",\n\t\t\t});\n\t\t}\n\n\t\tif (location.path.includes(\"Basics\")) {\n\t\t\tfs.mkdirSync(path.join(workspace.path, \"lib\"), {\n\t\t\t\trecursive: true,\n\t\t\t});\n\n\t\t\tlogStep(\"Copying basics definition file to the lib folder\");\n\t\t\tfs.writeFileSync(\n\t\t\t\tpath.join(workspace.path, \"lib\", `${data.Package}.d.ts`),\n\t\t\t\tbuildResult.definitions,\n\t\t\t\t{ encoding: \"utf8\" },\n\t\t\t);\n\t\t}\n\n\t\tif (options.docs) {\n\t\t\tlogStep(\"Generating typedoc documentation\");\n\t\t\tawait generateDocs(\n\t\t\t\tlocation,\n\t\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\n\t\t\t\tpath.join(workspace.path, \"docs\", data.Package),\n\t\t\t\tdata.Package,\n\t\t\t);\n\t\t}\n\n\t\tindex++;\n\t}\n};\n\nconst ensureTsConfig = (location: PackageLocation) => {\n\tconst tsconfigPath = path.join(location.scriptsDir, \"tsconfig.json\");\n\n\tif (!fs.existsSync(tsconfigPath)) {\n\t\tconst content = {};\n\t\tapplyTsConfigOption(content);\n\n\t\tfs.writeFileSync(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t} else {\n\t\tconst content = JSON.parse(fs.readFileSync(tsconfigPath, \"utf8\"));\n\t\tapplyTsConfigOption(content);\n\t\tfs.writeFileSync(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t}\n};\n\nconst applyTsConfigOption = (data: {\n\tcompilerOptions?: { target?: string; lib?: string[] };\n}) => {\n\tdata.compilerOptions = data.compilerOptions ?? {};\n\tdata.compilerOptions.target = \"es5\";\n\tdata.compilerOptions.lib = [\"es5\", \"dom\"];\n};\n\nconst sortPackagesByBuildOrder = (\n\tfolders: PackageLocation[],\n): PackageLocation[] => {\n\tconst packages = Array.from(folders).reduce(\n\t\t(\n\t\t\tacc: Record<string, FolderData>,\n\t\t\tlocation,\n\t\t): Record<string, FolderData> => {\n\t\t\tconst data = readPackageNpmManifest(location);\n\n\t\t\tif (data !== undefined) {\n\t\t\t\tacc[data.name] = {\n\t\t\t\t\tdata,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tacc[location.path] = {\n\t\t\t\t\tdata: undefined,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst packageDependencies = Object.getOwnPropertyNames(packages).reduce(\n\t\t(acc, packageName) => {\n\t\t\tconst packageData = packages[packageName];\n\n\t\t\tif (packageData.data === undefined) {\n\t\t\t\tacc[packageName] = [];\n\t\t\t} else {\n\t\t\t\tacc[packageName] = Object.getOwnPropertyNames({\n\t\t\t\t\t...packageData.data.devDependencies,\n\t\t\t\t\t...packageData.data.dependencies,\n\t\t\t\t\t...packageData.data.peerDependencies,\n\t\t\t\t}).filter((packageName) => packages[packageName] !== undefined);\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst sortedPackages = toposort(packageDependencies);\n\tconst result: PackageLocation[] = [];\n\n\tfor (const packageName of sortedPackages) {\n\t\tconst location = packages[packageName].location;\n\n\t\tif (readPackageCreatorManifest(location).Package.endsWith(\".Basics\")) {\n\t\t\tresult.unshift(location);\n\t\t} else {\n\t\t\tresult.push(location);\n\t\t}\n\t}\n\n\treturn result;\n};\n\nconst createBannerComment = (banner: BannerOptions) => {\n\tconst bannerParts: string[] = [];\n\n\tif (banner.text) {\n\t\tbannerParts.push(\" * \" + banner.text);\n\t}\n\n\t{\n\t\tconst details: string[] = [];\n\n\t\tif (banner.version) {\n\t\t\tdetails.push(`Version: ${banner.version}`);\n\t\t}\n\t\tif (banner.commit) {\n\t\t\tif (banner.commitDirty) {\n\t\t\t\tdetails.push(`Commit: ${banner.commit} (dirty)`);\n\t\t\t} else {\n\t\t\t\tdetails.push(`Commit: ${banner.commit}`);\n\t\t\t}\n\t\t}\n\t\tif (banner.date) {\n\t\t\tdetails.push(`Date: ${banner.date.toISOString()}`);\n\t\t}\n\n\t\tconst detailsText = details.map((line) => ` * ${line}`).join(\"\\n\");\n\t\tif (detailsText) {\n\t\t\tbannerParts.push(detailsText);\n\t\t}\n\t}\n\n\tconst bannerText = bannerParts.join(\"\\n\\n\");\n\n\tif (bannerText) {\n\t\treturn `/*\n${bannerText}\n*\n* @preserve\t\t\t\n*/`;\n\t}\n\n\treturn undefined;\n};\n"],"names":["logPackageMessage","name","step","index","total","numLength","undefined","toString","length","indexString","padStart","identifierString","padEnd","console","log","tryReadTsConfig","location","config","ts","readConfigFile","path","join","scriptsDir","fs","readFileSync","build","outputDir","compilerOptions","lib","result","convertCompilerOptionsFromJson","options","removeComments","declaration","sourceMap","outFile","target","ScriptTarget","ES5","noEmitOnError","host","createCompilerHost","getCurrentDirectory","js","definitions","writeFile","fileName","data","writeByteOrderMark","endsWith","files","getPackageTypescriptFiles","Error","programOptions","rootNames","program","createProgram","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","emitSkipped","map","createErrorMessage","error","diagnostic","file","flattenDiagnosticMessageText","messageText","line","character","getLineAndCharacterOfPosition","start","message","generateDocs","declarationFile","outFolder","app","typedoc","Application","mediaDir","manifestDir","bootstrap","entryPoints","media","out","tsconfig","skipErrorChecking","setCompilerOptions","setValue","readmePath","glob","sync","absolute","cwd","project","convert","toposort","packages","queue","Object","getOwnPropertyNames","queueEntry","dependencies","dependencyQueued","some","dependency","includes","splice","push","buildFolders","outDir","clean","rmSync","recursive","workspace","folders","sortedPackages","sortPackagesByBuildOrder","skipPackagesWithoutTsFiles","filter","ensureTsConfig","readPackageCreatorManifest","logStep","Package","outputDirectory","mkdirSync","buildResult","tscBuild","banner","createBannerComment","writeFileSync","encoding","minimize","minifyResult","terser","minify","ecma","minifiedPath","code","docs","tsconfigPath","existsSync","content","applyTsConfigOption","JSON","stringify","parse","Array","from","reduce","acc","readPackageNpmManifest","packageDependencies","packageName","packageData","devDependencies","peerDependencies","unshift","bannerParts","text","details","version","commit","commitDirty","date","toISOString","detailsText","bannerText"],"mappings":"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"}
@@ -2,15 +2,15 @@ import * as path from 'path';
2
2
  import * as fs from 'fs';
3
3
  import { pipeline } from 'stream/promises';
4
4
  import { execSync } from 'child_process';
5
- import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from './dependencies-1f665204.mjs';
6
- import { P as PACKAGE_FILE, I as INDEX_FILE, p as parseCreatorPackageName, g as getWorkspaceOutputPath, r as readPackageCreatorManifest, w as writePackageCreatorManifest, a as readPackageAnimationList, i as isErrorENOENT, b as readPackageCreatorIndex, c as readWorkspaceNpmManifest, u as uploadPackage, d as getPackageReleasesDirectory, e as getExistingPackages, s as startSession, f as closeSession } from './cli-381989cc.mjs';
7
- import { l as logPackageMessage, b as buildFolders } from './index-cc42a478.mjs';
5
+ import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from './dependencies-a8a9faba.mjs';
6
+ import { P as PACKAGE_FILE, I as INDEX_FILE, p as parseCreatorPackageName, g as getWorkspaceOutputPath, r as readPackageCreatorManifest, w as writePackageCreatorManifest, a as readPackageAnimationList, i as isErrorENOENT, b as readPackageCreatorIndex, c as readWorkspaceNpmManifest, u as uploadPackage, d as getPackageReleasesDirectory, e as getExistingPackages, s as startSession, f as closeSession } from './cli-2ce0c074.mjs';
7
+ import { l as logPackageMessage, b as buildFolders } from './index-2cdef238.mjs';
8
8
  import 'write-pkg';
9
9
  import 'glob';
10
10
  import 'node:path';
11
11
  import 'node:fs';
12
12
  import axios from 'axios';
13
- import { g as getVersionFileHandler, p as parseVersionFromString, a as getVersionInformationFromGit, b as getWorkspaceBannerText, c as parseVersionFromNumericVersion, P as PackageVersion } from './versionFile-aa8b6b7a.mjs';
13
+ import { g as getVersionFileHandler, p as parseVersionFromString, a as getVersionInformationFromGit, b as getWorkspaceBannerText, c as parseVersionFromNumericVersion, P as PackageVersion } from './versionFile-e8fdf88c.mjs';
14
14
  import Ajv from 'ajv';
15
15
  import JSZip from 'jszip';
16
16
  import * as terser from 'terser';
@@ -140,7 +140,7 @@ Packaging without a javascript file is only allowed when animation json files ar
140
140
  const scopeParts = scope.split(".");
141
141
  library += createNamespace(scopeParts);
142
142
  for (const [name, data] of animations){
143
- library += `${scope}.${name} = ` + data + ";";
143
+ library += `${scope}["${name}"] = ` + data + ";";
144
144
  logPackageMessage(manifest.Package, `Added animation ${scope}.${name}`);
145
145
  }
146
146
  }
@@ -276,7 +276,7 @@ const releaseFolder = async (options)=>{
276
276
  var _workspaceManifest_dependencies;
277
277
  const workspaceManifest = readWorkspaceNpmManifest(workspace);
278
278
  if (!((_workspaceManifest_dependencies = workspaceManifest.dependencies) == null ? void 0 : _workspaceManifest_dependencies["@intelligentgraphics/3d.ig.gfx.standard"])) {
279
- const install = await options.prompter.confirm(`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?`);
279
+ const install = await options.prompter.confirm(`Animation.json files expect the library 'IG.GFX.Standard' to be available, but it is not registered as a dependency. Do you want it to be added now?`);
280
280
  if (install) {
281
281
  execSync(`npm install @intelligentgraphics/3d.ig.gfx.standard`, {
282
282
  encoding: "utf-8",
@@ -492,4 +492,4 @@ const createSessionManager = async (params)=>{
492
492
  };
493
493
 
494
494
  export { releaseFolder };
495
- //# sourceMappingURL=index-06ac2c4c.mjs.map
495
+ //# sourceMappingURL=index-2fa7b516.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-2fa7b516.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 expect the library 'IG.GFX.Standard' to be available, but it is not registered as a dependency. Do you want it to be added 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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"}