@intelligentgraphics/ig.gfx.packager 3.0.21 → 3.0.22

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 (26) hide show
  1. package/build/bin.mjs +1 -1
  2. package/build/{cli-91fabb36.mjs → cli-f6586dd5.mjs} +77 -93
  3. package/build/{cli-91fabb36.mjs.map → cli-f6586dd5.mjs.map} +1 -1
  4. package/build/{dependencies-7711a9db.mjs → dependencies-e2aa1797.mjs} +2 -2
  5. package/build/{dependencies-7711a9db.mjs.map → dependencies-e2aa1797.mjs.map} +1 -1
  6. package/build/{generateIndex-47c082d0.mjs → generateIndex-019c6946.mjs} +3 -3
  7. package/build/{generateIndex-47c082d0.mjs.map → generateIndex-019c6946.mjs.map} +1 -1
  8. package/build/{generateParameterType-10d124a6.mjs → generateParameterType-ae69726a.mjs} +4 -4
  9. package/build/{generateParameterType-10d124a6.mjs.map → generateParameterType-ae69726a.mjs.map} +1 -1
  10. package/build/{index-ca04836f.mjs → index-39c79102.mjs} +16 -18
  11. package/build/index-39c79102.mjs.map +1 -0
  12. package/build/{index-e6ead55c.mjs → index-3d1291e7.mjs} +10 -10
  13. package/build/index-3d1291e7.mjs.map +1 -0
  14. package/build/{postinstall-0ea76778.mjs → postinstall-3328545c.mjs} +3 -3
  15. package/build/{postinstall-0ea76778.mjs.map → postinstall-3328545c.mjs.map} +1 -1
  16. package/build/{publishNpm-aadd7dc2.mjs → publishNpm-532e17a0.mjs} +9 -5
  17. package/build/publishNpm-532e17a0.mjs.map +1 -0
  18. package/build/scripts-7ed8dff6.mjs.map +1 -1
  19. package/build/{versionFile-ad981e93.mjs → versionFile-644c7ff8.mjs} +6 -10
  20. package/build/{versionFile-ad981e93.mjs.map → versionFile-644c7ff8.mjs.map} +1 -1
  21. package/lib/lib.mjs +30 -36
  22. package/package.json +6 -6
  23. package/readme.md +6 -0
  24. package/build/index-ca04836f.mjs.map +0 -1
  25. package/build/index-e6ead55c.mjs.map +0 -1
  26. package/build/publishNpm-aadd7dc2.mjs.map +0 -1
@@ -3,7 +3,7 @@ import 'path';
3
3
  import 'fs';
4
4
  import 'resolve';
5
5
  import 'write-pkg';
6
- import { a as readPackageCreatorIndex, k as writePackageCreatorIndex } from './cli-91fabb36.mjs';
6
+ import { a as readPackageCreatorIndex, k as writePackageCreatorIndex } from './cli-f6586dd5.mjs';
7
7
  import { g as getPackageTypescriptFiles } from './scripts-7ed8dff6.mjs';
8
8
  import 'node:path';
9
9
  import 'node:fs';
@@ -22,7 +22,7 @@ import 'inquirer';
22
22
  * Extracts and returns script array for _Index.json from a src folder
23
23
  *
24
24
  * @param folderPath path to a src folder
25
- */ function generateIndex({ location , ignore =[] , strictOptional =false }) {
25
+ */ function generateIndex({ location, ignore = [], strictOptional = false }) {
26
26
  const files = getPackageTypescriptFiles(location);
27
27
  const filtered = files.filter((path)=>{
28
28
  return !ignore.some((suffix)=>path.endsWith(suffix));
@@ -293,4 +293,4 @@ const detectScriptingClass = (node)=>{
293
293
  };
294
294
 
295
295
  export { generateIndex };
296
- //# sourceMappingURL=generateIndex-47c082d0.mjs.map
296
+ //# sourceMappingURL=generateIndex-019c6946.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateIndex-47c082d0.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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"}
1
+ {"version":3,"file":"generateIndex-019c6946.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 { a as readPackageCreatorIndex, r as readPackageCreatorManifest, l as getCreatorIndexParameterPrimaryJSType } from './cli-91fabb36.mjs';
7
+ import { a as readPackageCreatorIndex, r as readPackageCreatorManifest, l as getCreatorIndexParameterPrimaryJSType } from './cli-f6586dd5.mjs';
8
8
  import 'glob';
9
9
  import 'node:path';
10
10
  import 'node:fs';
@@ -18,7 +18,7 @@ import 'core-js/modules/es.typed-array.set.js';
18
18
  import 'util';
19
19
  import 'inquirer';
20
20
 
21
- const generateParameterType = ({ location , name })=>{
21
+ const generateParameterType = ({ location, name })=>{
22
22
  const index = readPackageCreatorIndex(location);
23
23
  const manifest = readPackageCreatorManifest(location);
24
24
  if (index === undefined) {
@@ -66,10 +66,10 @@ const generateParameterType = ({ location , name })=>{
66
66
  let interfaceDeclaration = ts.factory.createInterfaceDeclaration(undefined, interfaceName, undefined, undefined, members);
67
67
  interfaceDeclaration = ts.addSyntheticLeadingComment(interfaceDeclaration, ts.SyntaxKind.MultiLineCommentTrivia, `*\n * Parameters for the ${className} class\n `, true);
68
68
  const printer = ts.createPrinter();
69
- const content = printer.printNode(ts.EmitHint.Unspecified, interfaceDeclaration, ts.createSourceFile("index.ts", "", ts.ScriptTarget.Latest)).replace(/ /g, "\t");
69
+ const content = printer.printNode(ts.EmitHint.Unspecified, interfaceDeclaration, ts.createSourceFile("index.ts", "", ts.ScriptTarget.Latest)).replace(/ /g, " ");
70
70
  const outFile = path.join(location.scriptsDir, `${interfaceName}.txt`);
71
71
  fs.writeFileSync(outFile, `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.` + os.EOL + os.EOL + content);
72
72
  };
73
73
 
74
74
  export { generateParameterType };
75
- //# sourceMappingURL=generateParameterType-10d124a6.mjs.map
75
+ //# sourceMappingURL=generateParameterType-ae69726a.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateParameterType-10d124a6.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-ae69726a.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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"}
@@ -5,17 +5,16 @@ import { createWriteStream, createReadStream } from 'fs';
5
5
  import { pipeline } from 'stream/promises';
6
6
  import { exec } from 'child_process';
7
7
  import { promisify } from 'util';
8
- import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from './dependencies-7711a9db.mjs';
9
- import { P as PACKAGE_FILE, I as INDEX_FILE, p as parseCreatorPackageName, r as readPackageCreatorManifest, w as writePackageCreatorManifest, i as isErrorENOENT, a as readPackageCreatorIndex, b as readWorkspaceNpmManifest, g as getWorkspaceOutputPath, c as readPackageAnimationList, d as isErrorEACCES, e as isErrorEPERM, u as uploadPackageFromStream, f as getPackageReleasesDirectory, h as getExistingPackages, s as startSession, j as closeSession } from './cli-91fabb36.mjs';
10
- import { l as logPackageMessage, b as buildFolders } from './index-e6ead55c.mjs';
8
+ import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from './dependencies-e2aa1797.mjs';
9
+ import { P as PACKAGE_FILE, I as INDEX_FILE, p as parseCreatorPackageName, r as readPackageCreatorManifest, w as writePackageCreatorManifest, i as isErrorENOENT, a as readPackageCreatorIndex, b as readWorkspaceNpmManifest, g as getWorkspaceOutputPath, c as readPackageAnimationList, d as isErrorEACCES, e as isErrorEPERM, u as uploadPackageFromStream, f as getPackageReleasesDirectory, h as getExistingPackages, s as startSession, j as closeSession } from './cli-f6586dd5.mjs';
10
+ import { l as logPackageMessage, b as buildFolders } from './index-3d1291e7.mjs';
11
11
  import 'write-pkg';
12
12
  import 'glob';
13
13
  import 'node:path';
14
14
  import 'node:fs';
15
15
  import 'axios';
16
- import { g as getVersionFileHandler, p as parseVersionFromString, a as getVersionInformationFromGit, b as getWorkspaceBannerText, c as parseVersionFromNumericVersion, P as PackageVersion } from './versionFile-ad981e93.mjs';
16
+ import { g as getVersionFileHandler, p as parseVersionFromString, a as getVersionInformationFromGit, b as getWorkspaceBannerText, c as parseVersionFromNumericVersion, P as PackageVersion } from './versionFile-644c7ff8.mjs';
17
17
  import JSZip from 'jszip';
18
- import * as terser from 'terser';
19
18
  import 'resolve';
20
19
  import 'update-notifier';
21
20
  import 'yargs/yargs';
@@ -24,6 +23,7 @@ import 'assert';
24
23
  import 'events';
25
24
  import 'core-js/modules/es.typed-array.set.js';
26
25
  import 'inquirer';
26
+ import 'terser';
27
27
  import 'typescript';
28
28
  import './scripts-7ed8dff6.mjs';
29
29
  import 'typedoc';
@@ -44,7 +44,7 @@ const buildArchiveFromPublishedPackage = (location, manifest, creatorPackage)=>{
44
44
  if (fs.existsSync(source)) {
45
45
  const images = fs.readdirSync(source);
46
46
  for (const file of images){
47
- const { ext } = path.parse(file);
47
+ const { ext } = path.parse(file);
48
48
  switch(ext){
49
49
  case ".png":
50
50
  case ".jpeg":
@@ -68,10 +68,9 @@ const notRuntimeScripts = [
68
68
  "Context",
69
69
  "Evaluator"
70
70
  ];
71
- const buildArchiveFromPackage = async (packageLocation, data, binDir)=>{
72
- const { domain } = parseCreatorPackageName(data);
71
+ const buildArchiveFromPackage = async (packageLocation, data, binDir, minified = true)=>{
72
+ const { domain } = parseCreatorPackageName(data);
73
73
  const logStep = (step)=>logPackageMessage(data.Package, step);
74
- const libFilePath = path.join(binDir, `${data.Package}.min.js`);
75
74
  const scriptDirectories = [
76
75
  packageLocation.path,
77
76
  packageLocation.scriptsDir
@@ -98,6 +97,7 @@ const buildArchiveFromPackage = async (packageLocation, data, binDir)=>{
98
97
  }
99
98
  let libFile;
100
99
  try {
100
+ const libFilePath = minified ? path.join(binDir, `${data.Package}.min.js`) : path.join(binDir, `${data.Package}.js`);
101
101
  libFile = fs.readFileSync(libFilePath, {
102
102
  encoding: "utf8"
103
103
  });
@@ -116,10 +116,7 @@ const buildArchiveFromPackage = async (packageLocation, data, binDir)=>{
116
116
  library = `/* This file is part of the ${domain} Data Packages.
117
117
  * Copyright (C) ${date.getFullYear()} intelligentgraphics. All Rights Reserved. */`;
118
118
  }
119
- const minifyResult = await terser.minify(library, {
120
- ecma: 5
121
- });
122
- archive.file(`${data.Package}.js`, minifyResult.code);
119
+ archive.file(`${data.Package}.js`, library);
123
120
  archive.file(PACKAGE_FILE, JSON.stringify(data, null, 2));
124
121
  const creatorIndex = readPackageCreatorIndex(packageLocation);
125
122
  if (creatorIndex !== undefined) {
@@ -128,7 +125,7 @@ const buildArchiveFromPackage = async (packageLocation, data, binDir)=>{
128
125
  for (const directory of scriptDirectories){
129
126
  try {
130
127
  for (const file of fs.readdirSync(directory)){
131
- const { ext } = path.parse(file);
128
+ const { ext } = path.parse(file);
132
129
  switch(ext){
133
130
  case ".png":
134
131
  case ".jpeg":
@@ -150,10 +147,10 @@ const execAsync = promisify(exec);
150
147
  const releaseFolder = async (options)=>{
151
148
  const workspace = options.workspace;
152
149
  const location = options.directory;
153
- const { write: writeVersionFile , reset: resetVersionFile } = getVersionFileHandler(location);
150
+ const { write: writeVersionFile, reset: resetVersionFile } = getVersionFileHandler(location);
154
151
  const packageDescription = readPackageCreatorManifest(location);
155
152
  const fullPackageName = packageDescription.Package;
156
- const { domain , subdomain } = parseCreatorPackageName(packageDescription);
153
+ const { domain, subdomain } = parseCreatorPackageName(packageDescription);
157
154
  const publishDomain = options.domain ?? domain;
158
155
  const publishSubdomain = options.subdomain ?? subdomain;
159
156
  const sharedPackageJson = readWorkspaceNpmManifest(workspace);
@@ -261,7 +258,8 @@ const releaseFolder = async (options)=>{
261
258
  }
262
259
  }
263
260
  }
264
- const archive = await buildArchiveFromPackage(location, packageDescription, binDir);
261
+ logPackageMessage(packageDescription.Package, `Creating zip file`);
262
+ const archive = await buildArchiveFromPackage(location, packageDescription, binDir, options.minimize);
265
263
  try {
266
264
  const zipOutputStream = createWriteStream(zipFilePath);
267
265
  await pipeline(archive.generateNodeStream(), zipOutputStream);
@@ -464,4 +462,4 @@ const createSessionManager = async (params)=>{
464
462
  };
465
463
 
466
464
  export { releaseFolder };
467
- //# sourceMappingURL=index-ca04836f.mjs.map
465
+ //# sourceMappingURL=index-39c79102.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-39c79102.mjs","sources":["../src/commands/publish/zip.ts","../src/commands/publish/index.ts"],"sourcesContent":["import JSZip from \"jszip\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { isErrorENOENT } from \"../../lib/error\";\nimport { logPackageMessage } from \"../../lib/log\";\nimport {\n\tCreatorPackage,\n\treadPackageCreatorManifest,\n\twritePackageCreatorManifest,\n\treadPackageCreatorIndex,\n\tparseCreatorPackageName,\n\tPackageLocation,\n\tPackageNpmManifest,\n\tINDEX_FILE,\n\tPACKAGE_FILE,\n} from \"../../lib/package\";\nimport {\n\tPublishedPackageLocation,\n\treadPublishedPackageCreatorIndex,\n} from \"../../lib/publishedPackage\";\n\nexport const buildArchiveFromPublishedPackage = (\n\tlocation: PublishedPackageLocation,\n\tmanifest: PackageNpmManifest,\n\tcreatorPackage: CreatorPackage,\n) => {\n\tconst archive = new JSZip();\n\n\tarchive.file(PACKAGE_FILE, JSON.stringify(creatorPackage, null, 2));\n\n\tconst index = readPublishedPackageCreatorIndex(location);\n\n\tif (index !== undefined) {\n\t\tarchive.file(INDEX_FILE, JSON.stringify(index, null, 2));\n\t}\n\n\tarchive.file(\n\t\tmanifest.main,\n\t\tfs.createReadStream(path.join(location.path, manifest.main)),\n\t);\n\n\tif (creatorPackage.Package === \"IG.GFX.Standard\") {\n\t\tconst source = path.join(location.path, \"Images\");\n\n\t\tif (fs.existsSync(source)) {\n\t\t\tconst images = fs.readdirSync(source);\n\n\t\t\tfor (const file of images) {\n\t\t\t\tconst { ext } = path.parse(file);\n\n\t\t\t\tswitch (ext) {\n\t\t\t\t\tcase \".png\":\n\t\t\t\t\tcase \".jpeg\":\n\t\t\t\t\tcase \".jpg\":\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tarchive.file(\n\t\t\t\t\tfile,\n\t\t\t\t\tfs.createReadStream(path.join(source, file)),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn archive;\n};\n\nconst runtimeScripts: CreatorPackage[\"Type\"][] = [\n\t\"Interactor\",\n\t\"Core\",\n\t\"Mixed\",\n];\n\nconst notRuntimeScripts: CreatorPackage[\"Type\"][] = [\"Context\", \"Evaluator\"];\n\nexport const buildArchiveFromPackage = async (\n\tpackageLocation: PackageLocation,\n\tdata: CreatorPackage,\n\tbinDir: string,\n\tminified = true,\n) => {\n\tconst { domain } = parseCreatorPackageName(data);\n\n\tconst logStep = (step: string) => logPackageMessage(data.Package, step);\n\n\tconst scriptDirectories: string[] = [\n\t\tpackageLocation.path,\n\t\tpackageLocation.scriptsDir,\n\t];\n\n\tif (data.Package === \"IG.GFX.Standard\") {\n\t\tlogStep(`Including Images folder`);\n\t\tscriptDirectories.push(path.join(packageLocation.path, \"Images\"));\n\t}\n\n\tconst manifest = readPackageCreatorManifest(packageLocation);\n\n\tif (manifest !== undefined) {\n\t\tif (manifest.RunTime && notRuntimeScripts.includes(manifest.Type)) {\n\t\t\tlogStep(\"Setting script RunTime to false because of script type\");\n\t\t\twritePackageCreatorManifest(packageLocation, {\n\t\t\t\t...manifest,\n\t\t\t\tRunTime: false,\n\t\t\t});\n\t\t} else if (\n\t\t\t!manifest.RunTime &&\n\t\t\truntimeScripts.includes(manifest.Type)\n\t\t) {\n\t\t\tlogStep(\"Setting script RunTime to true because of script type\");\n\t\t\twritePackageCreatorManifest(packageLocation, {\n\t\t\t\t...manifest,\n\t\t\t\tRunTime: true,\n\t\t\t});\n\t\t}\n\t}\n\n\tlet libFile: string | undefined;\n\n\ttry {\n\t\tconst libFilePath = minified\n\t\t\t? path.join(binDir, `${data.Package}.min.js`)\n\t\t\t: path.join(binDir, `${data.Package}.js`);\n\n\t\tlibFile = fs.readFileSync(libFilePath, {\n\t\t\tencoding: \"utf8\",\n\t\t});\n\t} catch (err) {\n\t\tif (!isErrorENOENT(err)) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\n\tconst archive = new JSZip();\n\n\tlet library: string = \"\";\n\n\tif (libFile) {\n\t\tlibrary = libFile;\n\t}\n\n\tif (!library) {\n\t\tconst date = new Date(Date.now());\n\t\tlibrary = `/* This file is part of the ${domain} Data Packages.\n\t\t* Copyright (C) ${date.getFullYear()} intelligentgraphics. All Rights Reserved. */`;\n\t}\n\n\tarchive.file(`${data.Package}.js`, library);\n\tarchive.file(PACKAGE_FILE, JSON.stringify(data, null, 2));\n\n\tconst creatorIndex = readPackageCreatorIndex(packageLocation);\n\n\tif (creatorIndex !== undefined) {\n\t\tarchive.file(INDEX_FILE, JSON.stringify(creatorIndex, null, 2));\n\t}\n\n\tfor (const directory of scriptDirectories) {\n\t\ttry {\n\t\t\tfor (const file of fs.readdirSync(directory)) {\n\t\t\t\tconst { ext } = path.parse(file);\n\n\t\t\t\tswitch (ext) {\n\t\t\t\t\tcase \".png\":\n\t\t\t\t\tcase \".jpeg\":\n\t\t\t\t\tcase \".jpg\":\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tarchive.file(\n\t\t\t\t\tfile,\n\t\t\t\t\tfs.createReadStream(path.join(directory, file)),\n\t\t\t\t);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconsole.error(`Script directory \"${directory}\" does not exist`);\n\t\t}\n\t}\n\n\treturn archive;\n};\n","import * as path from \"path\";\nimport * as fs from \"fs/promises\";\nimport { createReadStream, createWriteStream } from \"fs\";\nimport { pipeline } from \"stream/promises\";\nimport { exec } from \"child_process\";\nimport { promisify } from \"util\";\n\nimport {\n\tAssetService,\n\tisErrorEACCES,\n\tisErrorEPERM,\n\twritePackageCreatorManifest,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nimport { logPackageMessage } from \"../../lib/log\";\nimport {\n\tCreatorPackage,\n\tgetPackageReleasesDirectory,\n\tPackageLocation,\n\tparseCreatorPackageName,\n\treadPackageAnimationList,\n\treadPackageCreatorManifest,\n} from \"../../lib/package\";\nimport {\n\tgetWorkspaceOutputPath,\n\treadWorkspaceNpmManifest,\n\tWorkspaceLocation,\n} from \"../../lib/workspace\";\nimport { getVersionInformationFromGit } from \"../../lib/git\";\nimport { getWorkspaceBannerText } from \"../../lib/banner\";\nimport {\n\tparseVersionFromNumericVersion,\n\tparseVersionFromString,\n} from \"../../lib/parseVersion\";\nimport { getVersionFileHandler } from \"../../lib/versionFile\";\nimport { isErrorENOENT } from \"../../lib/error\";\nimport { determineWorkspaceIGLibraries } from \"../../lib/dependencies\";\nimport {\n\treadPublishedPackageCreatorManifest,\n\treadPublishedPackageNpmManifest,\n} from \"../../lib/publishedPackage\";\nimport { Prompter, PrompterOption } from \"../../lib/prompter\";\nimport { PackageVersion } from \"../../lib/packageVersion\";\n\nimport { BuildFoldersOptions, buildFolders } from \"../build\";\nimport {\n\tbuildArchiveFromPackage,\n\tbuildArchiveFromPublishedPackage,\n} from \"./zip\";\n\nexport interface ReleaseFolderOptions\n\textends Omit<\n\t\tBuildFoldersOptions,\n\t\t\"skipPackagesWithoutTsFiles\" | \"banner\" | \"packages\"\n\t> {\n\tdirectory: PackageLocation;\n\tnoUpload: boolean;\n\tnewVersion: string;\n\tdomain?: string;\n\tsubdomain?: string;\n\taddress?: string;\n\tservice: string;\n\tauthentication?: AssetService.Authentication;\n\tpushOnly: boolean;\n\tbanner?: boolean;\n\tprompter: Prompter;\n\tskipDependencies?: boolean;\n}\n\nconst execAsync = promisify(exec);\n\nexport const releaseFolder = async (options: ReleaseFolderOptions) => {\n\tconst workspace = options.workspace;\n\tconst location = options.directory;\n\n\tconst { write: writeVersionFile, reset: resetVersionFile } =\n\t\tgetVersionFileHandler(location);\n\n\tconst packageDescription = readPackageCreatorManifest(location);\n\tconst fullPackageName = packageDescription.Package;\n\tconst { domain, subdomain } = parseCreatorPackageName(packageDescription);\n\n\tconst publishDomain = options.domain ?? domain;\n\tconst publishSubdomain = options.subdomain ?? subdomain;\n\n\tconst sharedPackageJson = readWorkspaceNpmManifest(workspace);\n\n\tlet newVersion: PackageVersion;\n\ttry {\n\t\tnewVersion = parseVersionFromString(options.newVersion);\n\t} catch (err) {\n\t\tthrow new Error(`Please enter a version in this format 1.0.0.100`);\n\t}\n\n\tpackageDescription.Version = newVersion.toVersionString({\n\t\tbuildNumber: true,\n\t});\n\twritePackageCreatorManifest(location, packageDescription);\n\n\tif (newVersion.buildNumber < 100) {\n\t\tnewVersion.preRelease = {\n\t\t\ttype: \"beta\",\n\t\t\tversion: newVersion.buildNumber,\n\t\t};\n\t} else if (newVersion.buildNumber > 100) {\n\t\tnewVersion.preRelease = {\n\t\t\ttype: \"patch\",\n\t\t\tversion: newVersion.buildNumber - 100,\n\t\t};\n\t}\n\n\tif (sharedPackageJson !== undefined) {\n\t\tlogPackageMessage(\n\t\t\tpackageDescription.Package,\n\t\t\t`Running npm install to make sure all dependencies are up to date`,\n\t\t);\n\t\tawait execAsync(`npm install`, {\n\t\t\tencoding: \"utf-8\",\n\t\t\tcwd: workspace.path,\n\t\t});\n\t}\n\n\tconst binDir = options.outDir ?? getWorkspaceOutputPath(workspace);\n\tawait fs.mkdir(binDir, { recursive: true });\n\n\tlet assetServerPackageDetails: AssetService.UploadPackageDetails;\n\n\tlet packageNameWithVersion: string;\n\n\t{\n\t\tconst versionWithoutPrelease = newVersion.clone();\n\t\tversionWithoutPrelease.preRelease = undefined;\n\t\tconst newVersionString = versionWithoutPrelease.toVersionString({\n\t\t\tbuildNumber: true,\n\t\t});\n\t\tpackageNameWithVersion = `${packageDescription.Package}_${newVersionString}`;\n\n\t\tassetServerPackageDetails = {\n\t\t\tname: packageDescription.Package,\n\t\t\tversion: newVersionString,\n\t\t};\n\t}\n\n\tlet zipFilePath = path.join(binDir, packageNameWithVersion + \".zip\");\n\tinterface Uploadable {\n\t\tgetStream: () => NodeJS.ReadableStream;\n\t}\n\n\tlet uploadable: Uploadable = {\n\t\tgetStream: () => createReadStream(zipFilePath),\n\t};\n\n\ttry {\n\t\tif (options.pushOnly) {\n\t\t\tconst zipFileExists = await fs.stat(zipFilePath).catch((err) => {\n\t\t\t\tif (isErrorENOENT(err)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn Promise.reject(err);\n\t\t\t});\n\n\t\t\tif (zipFileExists) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Expected a zip file to exist at path ${zipFilePath} since pushOnly is specified`,\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tconst gitVersionInformation = await getVersionInformationFromGit(\n\t\t\t\tworkspace,\n\t\t\t\tlocation,\n\t\t\t);\n\n\t\t\twriteVersionFile(fullPackageName, newVersion);\n\n\t\t\tconst bannerText =\n\t\t\t\tsharedPackageJson !== undefined\n\t\t\t\t\t? getWorkspaceBannerText(sharedPackageJson)\n\t\t\t\t\t: undefined;\n\n\t\t\tawait buildFolders({\n\t\t\t\t...options,\n\t\t\t\tpackages: [location],\n\t\t\t\tbanner: options.banner\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttext: bannerText,\n\t\t\t\t\t\t\tcommit: gitVersionInformation.commit,\n\t\t\t\t\t\t\tcommitDirty: gitVersionInformation.dirty,\n\t\t\t\t\t\t\tversion: newVersion.toVersionString({\n\t\t\t\t\t\t\t\tbuildNumber: true,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tdate: new Date(Date.now()),\n\t\t\t\t\t\t\t// gitVersionInformation.commitDate\n\t\t\t\t\t\t\t// \t? new Date(gitVersionInformation.commitDate)\n\t\t\t\t\t\t\t// \t: new Date(Date.now()),\n\t\t\t\t\t }\n\t\t\t\t\t: undefined,\n\t\t\t});\n\n\t\t\tnewVersion.preRelease = undefined;\n\n\t\t\ttry {\n\t\t\t\tawait fs.rm(zipFilePath);\n\t\t\t} catch (err) {\n\t\t\t\tif (!isErrorENOENT(err)) {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (readPackageAnimationList(location).length > 0) {\n\t\t\t\tconst workspaceManifest = readWorkspaceNpmManifest(workspace);\n\n\t\t\t\tif (\n\t\t\t\t\t!workspaceManifest.dependencies?.[\n\t\t\t\t\t\t\"@intelligentgraphics/3d.ig.gfx.standard\"\n\t\t\t\t\t]\n\t\t\t\t) {\n\t\t\t\t\tconst install = await options.prompter.confirm(\n\t\t\t\t\t\t`The IG.GFX.Standard package should be added as a dependency to provide the 'AnimationInteractor' used to display animations. Do you wish to add it now?`,\n\t\t\t\t\t);\n\n\t\t\t\t\tif (install) {\n\t\t\t\t\t\tawait execAsync(\n\t\t\t\t\t\t\t`npm install @intelligentgraphics/3d.ig.gfx.standard`,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tencoding: \"utf-8\",\n\t\t\t\t\t\t\t\tcwd: workspace.path,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tawait execAsync(`npm run postinstall`, {\n\t\t\t\t\t\t\tcwd: workspace.path,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlogPackageMessage(packageDescription.Package, `Creating zip file`);\n\n\t\t\tconst archive = await buildArchiveFromPackage(\n\t\t\t\tlocation,\n\t\t\t\tpackageDescription,\n\t\t\t\tbinDir,\n\t\t\t\toptions.minimize,\n\t\t\t);\n\n\t\t\ttry {\n\t\t\t\tconst zipOutputStream = createWriteStream(zipFilePath);\n\t\t\t\tawait pipeline(archive.generateNodeStream(), zipOutputStream);\n\t\t\t} catch (err) {\n\t\t\t\tif (isErrorEACCES(err) || isErrorEPERM(err)) {\n\t\t\t\t\tlogPackageMessage(\n\t\t\t\t\t\tpackageDescription.Package,\n\t\t\t\t\t\t`Could not create zip file in the bin directory because of a permissions error. Only using it in-memory`,\n\t\t\t\t\t);\n\t\t\t\t\tuploadable = {\n\t\t\t\t\t\tgetStream: () => archive.generateNodeStream(),\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!options.noUpload) {\n\t\t\tif (!options.authentication) {\n\t\t\t\tthrow new Error(`Expected authentication to be available`);\n\t\t\t}\n\n\t\t\tlogPackageMessage(\n\t\t\t\tpackageDescription.Package,\n\t\t\t\t`Opening connection to IG.Asset.Server`,\n\t\t\t);\n\n\t\t\tconst sessionManager = await createSessionManager({\n\t\t\t\turl: options.service,\n\t\t\t\taddress: options.address,\n\t\t\t\tdomain: publishDomain,\n\t\t\t\tsubDomain: publishSubdomain,\n\t\t\t\tauthentication: options.authentication,\n\t\t\t});\n\n\t\t\ttry {\n\t\t\t\tif (!options.skipDependencies) {\n\t\t\t\t\tawait ensureRequiredVersions(\n\t\t\t\t\t\tworkspace,\n\t\t\t\t\t\tpackageDescription,\n\t\t\t\t\t\tsessionManager,\n\t\t\t\t\t\toptions.prompter,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tlogPackageMessage(\n\t\t\t\t\tpackageDescription.Package,\n\t\t\t\t\t`Uploading package to ${publishDomain}.${publishSubdomain}`,\n\t\t\t\t);\n\n\t\t\t\tawait AssetService.uploadPackageFromStream(\n\t\t\t\t\tsessionManager.getTargetSession(),\n\t\t\t\t\tassetServerPackageDetails,\n\t\t\t\t\tuploadable.getStream(),\n\t\t\t\t);\n\t\t\t} finally {\n\t\t\t\tawait sessionManager.destroy().catch((err) => {\n\t\t\t\t\tlogPackageMessage(\n\t\t\t\t\t\tpackageDescription.Package,\n\t\t\t\t\t\t`Failed to close IG.Asset.Server session(s): ${err}`,\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\tresetVersionFile();\n\t\tthrow err;\n\t}\n\n\tif (newVersion.buildNumber >= 100 && !options.pushOnly) {\n\t\tlogPackageMessage(fullPackageName, \"Copying zip to releases folder\");\n\n\t\tconst zipFileName = `${packageNameWithVersion}.zip`;\n\t\tconst releasesPath = getPackageReleasesDirectory(location);\n\n\t\tawait fs.mkdir(releasesPath, { recursive: true });\n\t\tawait pipeline(\n\t\t\tuploadable.getStream(),\n\t\t\tcreateWriteStream(path.join(releasesPath, zipFileName)),\n\t\t);\n\t}\n};\n\nconst ensureRequiredVersions = async (\n\tworkspaceLocation: WorkspaceLocation,\n\tcreatorPackage: CreatorPackage,\n\tsessionManager: SessionManager,\n\tprompter: Prompter,\n) => {\n\tinterface UploadedPackage\n\t\textends Omit<AssetService.ExistingPackage, \"version\"> {\n\t\tversion: PackageVersion;\n\t}\n\n\tconst libraries = determineWorkspaceIGLibraries(workspaceLocation);\n\n\t// If there are no libraries, we don't need to check for required versions\n\tif (libraries.length === 0) {\n\t\treturn true;\n\t}\n\n\tconst targetSession = sessionManager.getTargetSession();\n\n\tconst rawUploadedPackages = await AssetService.getExistingPackages(\n\t\ttargetSession,\n\t);\n\n\tconst uploadedPackages = rawUploadedPackages.map(\n\t\t(entry): UploadedPackage => {\n\t\t\tlet version: PackageVersion;\n\n\t\t\ttry {\n\t\t\t\tversion = parseVersionFromNumericVersion(entry.numericVersion);\n\t\t\t} catch (err) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Encountered invalid format for version ${entry.numericVersion}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (version.buildNumber < 100) {\n\t\t\t\tversion.preRelease = {\n\t\t\t\t\ttype: \"beta\",\n\t\t\t\t\tversion: version.buildNumber,\n\t\t\t\t};\n\t\t\t} else if (version.buildNumber > 100) {\n\t\t\t\tversion.preRelease = {\n\t\t\t\t\ttype: \"patch\",\n\t\t\t\t\tversion: version.buildNumber - 100,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...entry,\n\t\t\t\tversion,\n\t\t\t};\n\t\t},\n\t);\n\n\tfor (const libraryLocation of libraries) {\n\t\tconst libraryManifest =\n\t\t\treadPublishedPackageNpmManifest(libraryLocation);\n\t\tconst libraryCreatorPackage =\n\t\t\treadPublishedPackageCreatorManifest(libraryLocation);\n\n\t\tif (\n\t\t\tlibraryCreatorPackage === undefined ||\n\t\t\tlibraryManifest.main === undefined ||\n\t\t\tlibraryCreatorPackage.Package === creatorPackage.Package\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst libraryVersion = PackageVersion.extractFromLine(\n\t\t\tlibraryManifest.version,\n\t\t);\n\n\t\tif (libraryVersion.preRelease) {\n\t\t\tlibraryVersion.buildNumber = libraryVersion.preRelease.version;\n\t\t\tlibraryVersion.preRelease = undefined;\n\t\t} else {\n\t\t\tlibraryVersion.buildNumber = 100;\n\t\t}\n\n\t\tlet uploadedPackageInBasics: UploadedPackage | undefined;\n\t\tlet uploadedPackageInTarget: UploadedPackage | undefined;\n\n\t\tfor (const uploadedPackage of uploadedPackages) {\n\t\t\tif (uploadedPackage.scope === libraryCreatorPackage.Package) {\n\t\t\t\tif (uploadedPackage.support) {\n\t\t\t\t\tuploadedPackageInBasics = uploadedPackage;\n\t\t\t\t} else {\n\t\t\t\t\tuploadedPackageInTarget = uploadedPackage;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst validInBasics =\n\t\t\tuploadedPackageInBasics !== undefined &&\n\t\t\t!uploadedPackageInBasics.version.isLesserThan(libraryVersion);\n\t\tconst validInTarget =\n\t\t\tuploadedPackageInTarget !== undefined &&\n\t\t\t!uploadedPackageInTarget.version.isLesserThan(libraryVersion);\n\n\t\tif (validInBasics || validInTarget) {\n\t\t\tif (\n\t\t\t\ttargetSession.subDomain !== \"Basics\" &&\n\t\t\t\tuploadedPackageInBasics !== undefined &&\n\t\t\t\tuploadedPackageInTarget !== undefined\n\t\t\t) {\n\t\t\t\tlogPackageMessage(\n\t\t\t\t\tcreatorPackage.Package,\n\t\t\t\t\t`Package ${libraryCreatorPackage.Package} is uploaded both for Basics and ${targetSession.subDomain}. The package within ${targetSession.subDomain} will be used.`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst possibleTargets: PrompterOption[] = [];\n\n\t\tif (uploadedPackageInBasics) {\n\t\t\tconst version = uploadedPackageInBasics.version.toVersionString({\n\t\t\t\tbuildNumber: true,\n\t\t\t});\n\n\t\t\tpossibleTargets.push({\n\t\t\t\tvalue: \"Basics\",\n\t\t\t\tname: `Basics (Current: ${version})`,\n\t\t\t});\n\t\t} else {\n\t\t\tpossibleTargets.push({\n\t\t\t\tvalue: \"Basics\",\n\t\t\t\tname: \"Basics (Current: None)\",\n\t\t\t});\n\t\t}\n\n\t\tif (targetSession.subDomain !== \"Basics\") {\n\t\t\tif (uploadedPackageInTarget) {\n\t\t\t\tconst version = uploadedPackageInTarget.version.toVersionString(\n\t\t\t\t\t{\n\t\t\t\t\t\tbuildNumber: true,\n\t\t\t\t\t},\n\t\t\t\t);\n\n\t\t\t\tpossibleTargets.push({\n\t\t\t\t\tvalue: targetSession.subDomain,\n\t\t\t\t\tname: `${targetSession.subDomain} (Current: ${version})`,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tpossibleTargets.push({\n\t\t\t\t\tvalue: targetSession.subDomain,\n\t\t\t\t\tname: `${targetSession.subDomain} (Current: None)`,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tconst libraryVersionString = libraryVersion.toVersionString({\n\t\t\tbuildNumber: true,\n\t\t});\n\n\t\tconst uploadTargetScope = await prompter.ask({\n\t\t\tmessage: `Version ${libraryVersionString} of dependency ${libraryCreatorPackage.Package} is required but not available. Please select a subdomain to upload the correct dependency version to`,\n\t\t\toptions: [\n\t\t\t\t...possibleTargets,\n\t\t\t\t{ name: \"Skip upload\", value: \"Skip\" },\n\t\t\t],\n\t\t\tdefault: possibleTargets[0].value,\n\t\t});\n\n\t\tif (uploadTargetScope === \"Skip\") {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst archive = buildArchiveFromPublishedPackage(\n\t\t\tlibraryLocation,\n\t\t\tlibraryManifest,\n\t\t\tlibraryCreatorPackage,\n\t\t);\n\n\t\tconst newVersionString = libraryVersion.toVersionString({\n\t\t\tbuildNumber: true,\n\t\t});\n\n\t\tconst session =\n\t\t\tuploadTargetScope === \"Basics\"\n\t\t\t\t? await sessionManager.getBasicsSession()\n\t\t\t\t: targetSession;\n\n\t\tlogPackageMessage(\n\t\t\tcreatorPackage.Package,\n\t\t\t`Uploading package ${libraryCreatorPackage.Package} with version ${newVersionString} to ${session.domain}.${session.subDomain}`,\n\t\t);\n\n\t\tawait AssetService.uploadPackageFromStream(\n\t\t\tsession,\n\t\t\t{\n\t\t\t\tname: libraryCreatorPackage.Package,\n\t\t\t\tversion: newVersionString,\n\t\t\t},\n\t\t\tarchive.generateNodeStream(),\n\t\t);\n\t}\n};\n\ninterface SessionManager {\n\tgetBasicsSession: () => Promise<AssetService.Session>;\n\tgetTargetSession: () => AssetService.Session;\n\tdestroy: () => Promise<void>;\n}\n\nconst createSessionManager = async (\n\tparams: AssetService.SessionStartParams,\n): Promise<SessionManager> => {\n\tconst targetSession = await AssetService.startSession(params);\n\tlet basicsSession: AssetService.Session | undefined;\n\n\treturn {\n\t\tgetBasicsSession: async () => {\n\t\t\tif (targetSession.subDomain === \"Basics\") {\n\t\t\t\treturn targetSession;\n\t\t\t}\n\n\t\t\tif (basicsSession === undefined) {\n\t\t\t\tbasicsSession = await AssetService.startSession({\n\t\t\t\t\t...params,\n\t\t\t\t\tsubDomain: \"Basics\",\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn basicsSession;\n\t\t},\n\n\t\tgetTargetSession: () => targetSession,\n\n\t\tdestroy: async () => {\n\t\t\tawait AssetService.closeSession(targetSession);\n\n\t\t\tif (basicsSession !== undefined) {\n\t\t\t\tawait AssetService.closeSession(basicsSession);\n\t\t\t}\n\t\t},\n\t};\n};\n"],"names":["buildArchiveFromPublishedPackage","location","manifest","creatorPackage","archive","JSZip","file","PACKAGE_FILE","JSON","stringify","index","readPublishedPackageCreatorIndex","undefined","INDEX_FILE","main","fs","createReadStream","path","join","Package","source","existsSync","images","readdirSync","ext","parse","runtimeScripts","notRuntimeScripts","buildArchiveFromPackage","packageLocation","data","binDir","minified","domain","parseCreatorPackageName","logStep","step","logPackageMessage","scriptDirectories","scriptsDir","push","readPackageCreatorManifest","RunTime","includes","Type","writePackageCreatorManifest","libFile","libFilePath","readFileSync","encoding","err","isErrorENOENT","library","date","Date","now","getFullYear","creatorIndex","readPackageCreatorIndex","directory","console","error","execAsync","promisify","exec","releaseFolder","options","workspace","write","writeVersionFile","reset","resetVersionFile","getVersionFileHandler","packageDescription","fullPackageName","subdomain","publishDomain","publishSubdomain","sharedPackageJson","readWorkspaceNpmManifest","newVersion","parseVersionFromString","Error","Version","toVersionString","buildNumber","preRelease","type","version","cwd","outDir","getWorkspaceOutputPath","mkdir","recursive","assetServerPackageDetails","packageNameWithVersion","versionWithoutPrelease","clone","newVersionString","name","zipFilePath","uploadable","getStream","pushOnly","zipFileExists","stat","catch","Promise","reject","gitVersionInformation","getVersionInformationFromGit","bannerText","getWorkspaceBannerText","buildFolders","packages","banner","text","commit","commitDirty","dirty","rm","readPackageAnimationList","length","workspaceManifest","dependencies","install","prompter","confirm","minimize","zipOutputStream","createWriteStream","pipeline","generateNodeStream","isErrorEACCES","isErrorEPERM","noUpload","authentication","sessionManager","createSessionManager","url","service","address","subDomain","skipDependencies","ensureRequiredVersions","AssetService","getTargetSession","destroy","zipFileName","releasesPath","getPackageReleasesDirectory","workspaceLocation","libraries","determineWorkspaceIGLibraries","targetSession","rawUploadedPackages","uploadedPackages","map","entry","parseVersionFromNumericVersion","numericVersion","libraryLocation","libraryManifest","readPublishedPackageNpmManifest","libraryCreatorPackage","readPublishedPackageCreatorManifest","libraryVersion","PackageVersion","extractFromLine","uploadedPackageInBasics","uploadedPackageInTarget","uploadedPackage","scope","support","validInBasics","isLesserThan","validInTarget","possibleTargets","value","libraryVersionString","uploadTargetScope","ask","message","default","session","getBasicsSession","params","basicsSession"],"mappings":"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"}
@@ -4,7 +4,7 @@ import * as terser from 'terser';
4
4
  import * as fs from 'fs';
5
5
  import 'resolve';
6
6
  import 'write-pkg';
7
- import { c as readPackageAnimationList, r as readPackageCreatorManifest, i as isErrorENOENT, q as readPackageNpmManifest } from './cli-91fabb36.mjs';
7
+ import { c as readPackageAnimationList, r as readPackageCreatorManifest, i as isErrorENOENT, q as readPackageNpmManifest } from './cli-f6586dd5.mjs';
8
8
  import glob from 'glob';
9
9
  import 'node:path';
10
10
  import 'node:fs';
@@ -24,7 +24,7 @@ const logPackageMessage = (name, step, index, total, maxNameLength = 15)=>{
24
24
  };
25
25
 
26
26
  const tryReadTsConfig = (location)=>{
27
- const { config } = ts.readConfigFile(path.join(location.scriptsDir, "tsconfig.json"), (path)=>{
27
+ const { config } = ts.readConfigFile(path.join(location.scriptsDir, "tsconfig.json"), (path)=>{
28
28
  try {
29
29
  return fs.readFileSync(path, "utf8");
30
30
  } catch {
@@ -50,6 +50,7 @@ const createTSCBuildParticipant = (location, outputDir)=>(env)=>{
50
50
  }
51
51
  try {
52
52
  env.onBuildStart();
53
+ env.log("Compiling typescript files");
53
54
  const compilerOptions = getCompilerOptions(location, outputDir);
54
55
  const host = ts.createCompilerHost(compilerOptions);
55
56
  host.getCurrentDirectory = ()=>location.scriptsDir;
@@ -103,7 +104,7 @@ const createTSCBuildParticipant = (location, outputDir)=>(env)=>{
103
104
  };
104
105
  };
105
106
  const createTSCWatchBuildParticipant = (location, outputDir)=>{
106
- return ({ onBuildStart , onBuildEnd })=>{
107
+ return ({ onBuildStart, onBuildEnd })=>{
107
108
  let state = {
108
109
  diagnostics: [],
109
110
  js: undefined,
@@ -208,7 +209,7 @@ const createErrorMessage = (diagnostic)=>{
208
209
  if (!diagnostic.file) {
209
210
  return `${ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n")}`;
210
211
  }
211
- const { line , character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
212
+ const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
212
213
  const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n");
213
214
  return `${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`;
214
215
  };
@@ -749,8 +750,7 @@ const createAnimationBuildParticipant = (location, manifest)=>{
749
750
  };
750
751
  };
751
752
  };
752
- const createAnimationWatchBuildParticipant = (location, manifest)=>{
753
- return (env)=>{
753
+ const createAnimationWatchBuildParticipant = (location, manifest)=>(env)=>{
754
754
  env.onBuildStart();
755
755
  bundleAnimations(location, manifest, env.log).then((result)=>{
756
756
  env.onBuildEnd({
@@ -790,7 +790,6 @@ const createAnimationWatchBuildParticipant = (location, manifest)=>{
790
790
  destroy: ()=>{}
791
791
  };
792
792
  };
793
- };
794
793
  const bundleAnimations = async (location, manifest, logStep)=>{
795
794
  const animations = new Map();
796
795
  for (const scriptFilePath of readPackageAnimationList(location)){
@@ -969,6 +968,7 @@ const writeBuildResult = async (buildResult, manifest, location, workspace, outp
969
968
  });
970
969
  }
971
970
  if (minimize) {
971
+ logStep("Minifying the output");
972
972
  const minifyResult = await terser.minify(js, {
973
973
  ecma: 5,
974
974
  sourceMap: {
@@ -1015,14 +1015,14 @@ const ensureTsConfig = async (location)=>{
1015
1015
  try {
1016
1016
  const content = JSON.parse(await fs$1.readFile(tsconfigPath, "utf8"));
1017
1017
  applyTsConfigOption(content);
1018
- await fs$1.writeFile(tsconfigPath, JSON.stringify(content, undefined, "\t"), "utf8");
1018
+ await fs$1.writeFile(tsconfigPath, JSON.stringify(content, undefined, " "), "utf8");
1019
1019
  } catch (err) {
1020
1020
  if (!isErrorENOENT(err)) {
1021
1021
  throw err;
1022
1022
  }
1023
1023
  const content = {};
1024
1024
  applyTsConfigOption(content);
1025
- await fs$1.writeFile(tsconfigPath, JSON.stringify(content, undefined, "\t"), "utf8");
1025
+ await fs$1.writeFile(tsconfigPath, JSON.stringify(content, undefined, " "), "utf8");
1026
1026
  }
1027
1027
  };
1028
1028
  const applyTsConfigOption = (data)=>{
@@ -1117,4 +1117,4 @@ var index = /*#__PURE__*/Object.freeze({
1117
1117
  });
1118
1118
 
1119
1119
  export { buildFolders as b, index as i, logPackageMessage as l };
1120
- //# sourceMappingURL=index-e6ead55c.mjs.map
1120
+ //# sourceMappingURL=index-3d1291e7.mjs.map