@intelligentgraphics/ig.gfx.packager 3.0.15-test.3 → 3.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/build/bin.mjs +1 -1
  2. package/build/bin.mjs.map +1 -1
  3. package/build/{cli-98d3f2ca.mjs → cli-1ce4d998.mjs} +31 -39
  4. package/build/cli-1ce4d998.mjs.map +1 -0
  5. package/build/{dependencies-77f20953.mjs → dependencies-030fd607.mjs} +15 -15
  6. package/build/dependencies-030fd607.mjs.map +1 -0
  7. package/build/{generateIndex-40150d38.mjs → generateIndex-80e7628e.mjs} +11 -11
  8. package/build/generateIndex-80e7628e.mjs.map +1 -0
  9. package/build/{generateParameterType-0019e4e3.mjs → generateParameterType-523072c2.mjs} +2 -2
  10. package/build/generateParameterType-523072c2.mjs.map +1 -0
  11. package/build/{index-78058bc6.mjs → index-0012fcaa.mjs} +15 -22
  12. package/build/index-0012fcaa.mjs.map +1 -0
  13. package/build/{index-489c6fd3.mjs → index-48221d57.mjs} +6 -6
  14. package/build/index-48221d57.mjs.map +1 -0
  15. package/build/{postinstall-7a2744e1.mjs → postinstall-79673f29.mjs} +3 -3
  16. package/build/postinstall-79673f29.mjs.map +1 -0
  17. package/build/{publishNpm-f50e8981.mjs → publishNpm-bfd4eb6a.mjs} +8 -7
  18. package/build/publishNpm-bfd4eb6a.mjs.map +1 -0
  19. package/build/{versionFile-41c93b67.mjs → versionFile-562e5692.mjs} +12 -12
  20. package/build/versionFile-562e5692.mjs.map +1 -0
  21. package/lib/lib.mjs +59 -74
  22. package/package.json +3 -3
  23. package/readme.md +12 -0
  24. package/build/cli-98d3f2ca.mjs.map +0 -1
  25. package/build/dependencies-77f20953.mjs.map +0 -1
  26. package/build/generateIndex-40150d38.mjs.map +0 -1
  27. package/build/generateParameterType-0019e4e3.mjs.map +0 -1
  28. package/build/index-489c6fd3.mjs.map +0 -1
  29. package/build/index-78058bc6.mjs.map +0 -1
  30. package/build/postinstall-7a2744e1.mjs.map +0 -1
  31. package/build/publishNpm-f50e8981.mjs.map +0 -1
  32. package/build/versionFile-41c93b67.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateIndex-80e7628e.mjs","sources":["../src/commands/generateIndex.ts"],"sourcesContent":["import ts from \"typescript\";\r\n\r\nimport {\r\n\tPackageLocation,\r\n\twritePackageCreatorIndex,\r\n\treadPackageCreatorIndex,\r\n} from \"../lib/package\";\r\nimport { getPackageTypescriptFiles } from \"../lib/scripts\";\r\nimport {\r\n\tCreatorIndexEntry,\r\n\tCreatorIndexParameter,\r\n\tCreatorIndexParameterType,\r\n} from \"../lib/package\";\r\n\r\nexport interface GenerateIndexOptions {\r\n\tignore?: string[];\r\n\tlocation: PackageLocation;\r\n\r\n\t/**\r\n\t * Marks non optional parameter object properties as required in the generated index\r\n\t *\r\n\t * @type {boolean}\r\n\t */\r\n\tstrictOptional?: boolean;\r\n}\r\n\r\n/**\r\n * Extracts and returns script array for _Index.json from a src folder\r\n *\r\n * @param folderPath path to a src folder\r\n */\r\nexport function generateIndex({\r\n\tlocation,\r\n\tignore = [],\r\n\tstrictOptional = false,\r\n}: GenerateIndexOptions) {\r\n\tconst files = getPackageTypescriptFiles(location);\r\n\tconst filtered = files.filter((path) => {\r\n\t\treturn !ignore.some((suffix) => path.endsWith(suffix));\r\n\t});\r\n\tconst arr: CreatorIndexEntry[] = [];\r\n\r\n\tconst existingIndex = readPackageCreatorIndex(location) ?? [];\r\n\r\n\tconst program = ts.createProgram(filtered, { allowJs: true });\r\n\tconst typeChecker = program.getTypeChecker();\r\n\tfiltered.forEach((file) => {\r\n\t\t// Create a Program to represent the project, then pull out the\r\n\t\t// source file to parse its AST.\r\n\t\tconst sourceFile = program.getSourceFile(file);\r\n\r\n\t\t// Loop through the root AST nodes of the file\r\n\t\tts.forEachChild(sourceFile!, (node) => {\r\n\t\t\tfor (const scriptingClass of findScriptingClasses(node)) {\r\n\t\t\t\tif (scriptingClass.node.name === undefined) {\r\n\t\t\t\t\tthrow new Error(\r\n\t\t\t\t\t\t`Expected ${scriptingClass.type} class to have a name`,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst name = typeChecker.getFullyQualifiedName(\r\n\t\t\t\t\ttypeChecker.getSymbolAtLocation(scriptingClass.node.name)!,\r\n\t\t\t\t);\r\n\r\n\t\t\t\tif (name.length > 45) {\r\n\t\t\t\t\tthrow new Error(`Package name length >45 '${name}'`);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst parameterDeclaration =\r\n\t\t\t\t\tgetScriptingClassParameterdeclaration(scriptingClass);\r\n\r\n\t\t\t\tconst parametersType =\r\n\t\t\t\t\tparameterDeclaration === undefined\r\n\t\t\t\t\t\t? undefined\r\n\t\t\t\t\t\t: typeChecker.getTypeAtLocation(parameterDeclaration);\r\n\r\n\t\t\t\tif (parametersType === undefined) {\r\n\t\t\t\t\tconsole.log(\r\n\t\t\t\t\t\t`Failed to find parameters type declaration for ${scriptingClass.type} ${name}. Skipping parameter list generation`,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst existingIndexEntry = existingIndex.find(\r\n\t\t\t\t\t(entry) => entry.Name === name,\r\n\t\t\t\t);\r\n\r\n\t\t\t\tconst obj: CreatorIndexEntry = {\r\n\t\t\t\t\tName: name,\r\n\t\t\t\t\tDescription: existingIndexEntry?.Description ?? name,\r\n\t\t\t\t\tType:\r\n\t\t\t\t\t\tscriptingClass.type === \"evaluator\"\r\n\t\t\t\t\t\t\t? \"Evaluator\"\r\n\t\t\t\t\t\t\t: \"Interactor\",\r\n\t\t\t\t\tParameters: [],\r\n\t\t\t\t};\r\n\r\n\t\t\t\tconst rawDocTags = ts.getJSDocTags(scriptingClass.node);\r\n\r\n\t\t\t\tconst dict = getTagDict(rawDocTags);\r\n\t\t\t\tif (dict.summary) {\r\n\t\t\t\t\tobj.Description = dict.summary;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconst comment = typeChecker\r\n\t\t\t\t\t\t.getTypeAtLocation(scriptingClass.node)\r\n\t\t\t\t\t\t.symbol.getDocumentationComment(typeChecker)\r\n\t\t\t\t\t\t.map((comment) => comment.text)\r\n\t\t\t\t\t\t.join(\" \");\r\n\r\n\t\t\t\t\tif (comment) {\r\n\t\t\t\t\t\tobj.Description = comment;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (parametersType !== undefined) {\r\n\t\t\t\t\tobj.Parameters = parseParametersList(\r\n\t\t\t\t\t\ttypeChecker.getPropertiesOfType(parametersType),\r\n\t\t\t\t\t\tstrictOptional,\r\n\t\t\t\t\t);\r\n\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tobj.Parameters.length === 0 &&\r\n\t\t\t\t\t\tparametersType.getStringIndexType() !== undefined\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tobj.Parameters = existingIndexEntry?.Parameters ?? [];\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (existingIndexEntry !== undefined) {\r\n\t\t\t\t\tobj.Parameters = existingIndexEntry.Parameters;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tarr.push(obj);\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\tarr.sort((a, b) => a.Name.localeCompare(b.Name));\r\n\r\n\twritePackageCreatorIndex(location, arr);\r\n}\r\n\r\nfunction capitalizeFirstLetter(string: string) {\r\n\treturn string?.charAt(0).toUpperCase() + string?.slice(1);\r\n}\r\n\r\nconst parseDefault = (value: string, type: string) => {\r\n\tconst uType: CreatorIndexParameterType = capitalizeFirstLetter(\r\n\t\ttype,\r\n\t) as CreatorIndexParameterType;\r\n\tif (value === \"null\") return null;\r\n\tswitch (uType) {\r\n\t\tcase \"LengthM\":\r\n\t\tcase \"ArcDEG\":\r\n\t\tcase \"Float\":\r\n\t\t\treturn parseFloat(value);\r\n\t\tcase \"Integer\":\r\n\t\tcase \"Int\":\r\n\t\t\treturn parseInt(value);\r\n\t\tcase \"Boolean\":\r\n\t\tcase \"Bool\":\r\n\t\t\treturn value === \"true\";\r\n\t\tcase \"Material\":\r\n\t\tcase \"String\":\r\n\t\tcase \"Geometry\":\r\n\t\tdefault:\r\n\t\t\treturn value.replace(/^\"/, \"\").replace(/\"$/, \"\");\r\n\t}\r\n};\r\n\r\nconst parseTypeFromName = (\r\n\tname: string,\r\n): CreatorIndexParameterType | undefined => {\r\n\tconst parts = name.split(\".\");\r\n\tconst identifier = parts[parts.length - 1];\r\n\r\n\tswitch (identifier) {\r\n\t\tcase \"LengthM\":\r\n\t\tcase \"ArcDEG\":\r\n\t\tcase \"Float\":\r\n\t\tcase \"Integer\":\r\n\t\t\treturn identifier;\r\n\t\tcase \"GeometryReference\":\r\n\t\t\treturn \"Geometry\";\r\n\t\tcase \"MaterialReference\":\r\n\t\t\treturn \"Material\";\r\n\t\tcase \"AnimationReference\":\r\n\t\t\treturn \"Animation\";\r\n\t\tcase \"InteractorReference\":\r\n\t\t\treturn \"Interactor\";\r\n\t\tcase \"EvaluatorReference\":\r\n\t\t\treturn \"Evaluator\";\r\n\t\tcase \"String\":\r\n\t\tcase \"string\":\r\n\t\t\treturn \"String\";\r\n\t\tcase \"number\":\r\n\t\tcase \"Number\":\r\n\t\t\treturn \"Float\";\r\n\t\tcase \"boolean\":\r\n\t\tcase \"Boolean\":\r\n\t\t\treturn \"Boolean\";\r\n\t}\r\n};\r\n\r\nconst parseParametersList = (\r\n\tproperties: ts.Symbol[],\r\n\tstrictOptional: boolean,\r\n): CreatorIndexParameter[] => {\r\n\treturn properties.map((symbol, i) => {\r\n\t\tconst parameter: CreatorIndexParameter = {\r\n\t\t\tName: symbol.name,\r\n\t\t\tDescription: undefined,\r\n\t\t\tType: \"String\",\r\n\t\t\tDefault: undefined,\r\n\t\t\tDisplayIndex: i + 1,\r\n\t\t};\r\n\r\n\t\tif (parameter.Name.length > 45) {\r\n\t\t\tthrow new Error(`Parameter name length >45 '${parameter.Name}'`);\r\n\t\t}\r\n\r\n\t\tlet declaration: ts.Declaration | undefined =\r\n\t\t\tsymbol.getDeclarations()?.[0];\r\n\t\tlet documentationComment = symbol.getDocumentationComment(undefined);\r\n\r\n\t\tlet checkLinksSymbol: ts.Symbol | undefined = symbol;\r\n\r\n\t\twhile (checkLinksSymbol !== undefined && declaration === undefined) {\r\n\t\t\tconst links = (\r\n\t\t\t\tcheckLinksSymbol as {\r\n\t\t\t\t\tlinks?: {\r\n\t\t\t\t\t\tmappedType?: ts.Type;\r\n\t\t\t\t\t\tsyntheticOrigin?: ts.Symbol;\r\n\t\t\t\t\t};\r\n\t\t\t\t} & ts.Symbol\r\n\t\t\t).links;\r\n\r\n\t\t\tif (links?.syntheticOrigin) {\r\n\t\t\t\tdeclaration = links.syntheticOrigin.getDeclarations()?.[0];\r\n\r\n\t\t\t\tif (documentationComment.length === 0) {\r\n\t\t\t\t\tdocumentationComment =\r\n\t\t\t\t\t\tlinks.syntheticOrigin.getDocumentationComment(\r\n\t\t\t\t\t\t\tundefined,\r\n\t\t\t\t\t\t);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tcheckLinksSymbol = links.syntheticOrigin;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (declaration !== undefined) {\r\n\t\t\tconst rawDocTags = ts.getJSDocTags(declaration);\r\n\r\n\t\t\tconst dict = getTagDict(rawDocTags);\r\n\r\n\t\t\tif (dict.summary) {\r\n\t\t\t\tparameter.Description = dict.summary;\r\n\t\t\t} else {\r\n\t\t\t\tconst comment = documentationComment\r\n\t\t\t\t\t.map((comment) => comment.text)\r\n\t\t\t\t\t.join(\" \");\r\n\r\n\t\t\t\tif (comment) {\r\n\t\t\t\t\tparameter.Description = comment;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (dict.creatorType) {\r\n\t\t\t\tparameter.Type = dict.creatorType as CreatorIndexParameterType;\r\n\t\t\t} else {\r\n\t\t\t\tconst propertySignature = declaration as ts.PropertySignature;\r\n\t\t\t\tif (propertySignature.type !== undefined) {\r\n\t\t\t\t\tconst parsedType = parseTypeFromName(\r\n\t\t\t\t\t\tpropertySignature.type.getText(),\r\n\t\t\t\t\t);\r\n\r\n\t\t\t\t\tif (parsedType !== undefined) {\r\n\t\t\t\t\t\tparameter.Type = parsedType;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (dict.default) {\r\n\t\t\t\tparameter.Default = parseDefault(dict.default, parameter.Type);\r\n\t\t\t}\r\n\r\n\t\t\tif (\r\n\t\t\t\tstrictOptional &&\r\n\t\t\t\tdeclaration.kind === ts.SyntaxKind.PropertySignature\r\n\t\t\t) {\r\n\t\t\t\tconst propertySignature = declaration as ts.PropertySignature;\r\n\t\t\t\tif (propertySignature.questionToken === undefined) {\r\n\t\t\t\t\tparameter.Required = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn parameter;\r\n\t});\r\n};\r\n\r\ninterface IDocTags {\r\n\tdefault?: string;\r\n\tcreatorType?: string;\r\n\tsummary?: string;\r\n}\r\n\r\nfunction getTagDict(tags: readonly ts.JSDocTag[]): IDocTags {\r\n\tconst dict: IDocTags = {};\r\n\r\n\tfor (const tag of tags) {\r\n\t\tdict[tag.tagName.text] = tag.comment;\r\n\t}\r\n\r\n\treturn dict;\r\n}\r\n\r\nconst getScriptingClassParameterdeclaration = (\r\n\tscriptingClass: ScriptingClass,\r\n) => {\r\n\tfor (const member of scriptingClass.node.members) {\r\n\t\tif (ts.isMethodDeclaration(member)) {\r\n\t\t\tfor (let index = 0; index < member.parameters.length; index++) {\r\n\t\t\t\tconst parameter = member.parameters[index];\r\n\t\t\t\tif (\r\n\t\t\t\t\tisScriptingClassParameterDeclaration(\r\n\t\t\t\t\t\tscriptingClass,\r\n\t\t\t\t\t\tmember,\r\n\t\t\t\t\t\tindex,\r\n\t\t\t\t\t)\r\n\t\t\t\t) {\r\n\t\t\t\t\treturn parameter;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (ts.isConstructorDeclaration(member)) {\r\n\t\t\tfor (let index = 0; index < member.parameters.length; index++) {\r\n\t\t\t\tconst parameter = member.parameters[index];\r\n\t\t\t\tif (\r\n\t\t\t\t\tisScriptingClassParameterDeclaration(\r\n\t\t\t\t\t\tscriptingClass,\r\n\t\t\t\t\t\tmember,\r\n\t\t\t\t\t\tindex,\r\n\t\t\t\t\t)\r\n\t\t\t\t) {\r\n\t\t\t\t\treturn parameter;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\r\n\r\nconst isScriptingClassParameterDeclaration = (\r\n\tscriptingClass: ScriptingClass,\r\n\tmemberNode: ts.ClassElement,\r\n\tparameterIndex: number,\r\n) => {\r\n\tif (scriptingClass.type === \"evaluator\") {\r\n\t\treturn memberNode?.name?.getText() == \"Create\" && parameterIndex === 2;\r\n\t}\r\n\tif (scriptingClass.type === \"interactor\") {\r\n\t\treturn (\r\n\t\t\tmemberNode.kind === ts.SyntaxKind.Constructor &&\r\n\t\t\tparameterIndex === 0\r\n\t\t);\r\n\t}\r\n\treturn false;\r\n};\r\n\r\ninterface ScriptingClass {\r\n\tnode: ts.ClassDeclaration;\r\n\ttype: \"interactor\" | \"evaluator\";\r\n}\r\n\r\n/**\r\n * Finds interactors and evaluators within a script file\r\n *\r\n * @param {ts.Node} node\r\n * @return {*}\r\n */\r\nconst findScriptingClasses = (node: ts.Node) => {\r\n\tlet body: ts.NamespaceBody | ts.JSDocNamespaceBody | undefined;\r\n\r\n\tif (ts.isModuleDeclaration(node)) {\r\n\t\tbody = node.body;\r\n\t}\r\n\tif (body !== undefined && ts.isModuleDeclaration(body)) {\r\n\t\tbody = body.body;\r\n\t}\r\n\r\n\tconst classes: ScriptingClass[] = [];\r\n\r\n\tif (body !== undefined) {\r\n\t\tts.forEachChild(body, (child) => {\r\n\t\t\tif (!ts.isClassDeclaration(child)) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tconst scriptingClass = detectScriptingClass(child);\r\n\r\n\t\t\tif (scriptingClass !== undefined) {\r\n\t\t\t\tclasses.push(scriptingClass);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\treturn classes;\r\n};\r\n\r\nconst detectScriptingClass = (\r\n\tnode: ts.ClassDeclaration,\r\n): ScriptingClass | undefined => {\r\n\tconst isEvaluator = node.heritageClauses?.some((clause) => {\r\n\t\tif (\r\n\t\t\tclause.token !== ts.SyntaxKind.ExtendsKeyword &&\r\n\t\t\tclause.token !== ts.SyntaxKind.ImplementsKeyword\r\n\t\t) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn clause.types.some((type) =>\r\n\t\t\ttype.getText().includes(\"Evaluator\"),\r\n\t\t);\r\n\t});\r\n\r\n\tif (isEvaluator) {\r\n\t\treturn {\r\n\t\t\tnode,\r\n\t\t\ttype: \"evaluator\",\r\n\t\t};\r\n\t}\r\n\r\n\tconst isInteractor = node.heritageClauses?.some((clause) => {\r\n\t\tif (clause.token !== ts.SyntaxKind.ExtendsKeyword) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn clause.types.some((type) =>\r\n\t\t\ttype.getText().includes(\"Interactor\"),\r\n\t\t);\r\n\t});\r\n\r\n\tif (isInteractor) {\r\n\t\treturn {\r\n\t\t\tnode,\r\n\t\t\ttype: \"interactor\",\r\n\t\t};\r\n\t}\r\n};\r\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-98d3f2ca.mjs';
7
+ import { a as readPackageCreatorIndex, r as readPackageCreatorManifest, l as getCreatorIndexParameterPrimaryJSType } from './cli-1ce4d998.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-0019e4e3.mjs.map
75
+ //# sourceMappingURL=generateParameterType-523072c2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateParameterType-523072c2.mjs","sources":["../src/commands/generateParameterType.ts"],"sourcesContent":["import ts from \"typescript\";\r\nimport * as fs from \"fs\";\r\nimport * as path from \"path\";\r\nimport * as os from \"os\";\r\n\r\nimport {\r\n\tPackageLocation,\r\n\tgetCreatorIndexParameterPrimaryJSType,\r\n\treadPackageCreatorIndex,\r\n\treadPackageCreatorManifest,\r\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\r\n\r\nexport interface GenerateParameterTypeOptions {\r\n\tlocation: PackageLocation;\r\n\tname: string;\r\n}\r\n\r\nexport const generateParameterType = ({\r\n\tlocation,\r\n\tname,\r\n}: GenerateParameterTypeOptions) => {\r\n\tconst index = readPackageCreatorIndex(location);\r\n\tconst manifest = readPackageCreatorManifest(location);\r\n\r\n\tif (index === undefined) {\r\n\t\tthrow new Error(`Could not find the _Index.json file`);\r\n\t}\r\n\r\n\tlet qualifiedName = name;\r\n\tlet className = name;\r\n\r\n\tconst scope = manifest.Scope ?? manifest.Package;\r\n\r\n\tif (name.startsWith(scope)) {\r\n\t\tclassName = name.slice(scope.length + 1);\r\n\t} else {\r\n\t\tqualifiedName = `${scope}.${name}`;\r\n\t}\r\n\r\n\tconst informations = index.find((item) => item.Name === qualifiedName);\r\n\r\n\tif (informations === undefined) {\r\n\t\tthrow new Error(`Could not find an index entry for ${name}`);\r\n\t}\r\n\r\n\tconst members: ts.TypeElement[] = [];\r\n\r\n\tif (informations.Parameters !== undefined) {\r\n\t\tconst sortedList = informations.Parameters.slice();\r\n\t\tsortedList.sort((a, b) => a.DisplayIndex - b.DisplayIndex);\r\n\r\n\t\tfor (const parameter of sortedList) {\r\n\t\t\tconst jsType = getCreatorIndexParameterPrimaryJSType(\r\n\t\t\t\tparameter.Type,\r\n\t\t\t);\r\n\r\n\t\t\tconst type =\r\n\t\t\t\tjsType === \"string\"\r\n\t\t\t\t\t? ts.factory.createTypeReferenceNode(\"string\")\r\n\t\t\t\t\t: ts.factory.createUnionTypeNode([\r\n\t\t\t\t\t\t\tts.factory.createTypeReferenceNode(jsType),\r\n\t\t\t\t\t\t\tts.factory.createTypeReferenceNode(\"string\"),\r\n\t\t\t\t\t ]);\r\n\r\n\t\t\tlet propertySignature = ts.factory.createPropertySignature(\r\n\t\t\t\tundefined,\r\n\t\t\t\tparameter.Name,\r\n\t\t\t\tparameter.Required\r\n\t\t\t\t\t? undefined\r\n\t\t\t\t\t: ts.factory.createToken(ts.SyntaxKind.QuestionToken),\r\n\t\t\t\ttype,\r\n\t\t\t);\r\n\r\n\t\t\tconst jsdocParts: string[] = [];\r\n\r\n\t\t\tif (parameter.Description !== undefined) {\r\n\t\t\t\tjsdocParts.push(parameter.Description, \"\");\r\n\t\t\t}\r\n\r\n\t\t\tjsdocParts.push(`@creatorType ${parameter.Type}`);\r\n\r\n\t\t\tif (jsType === \"string\") {\r\n\t\t\t\tjsdocParts.push(`@default \"${parameter.Default}\"`);\r\n\t\t\t} else {\r\n\t\t\t\tjsdocParts.push(`@default ${parameter.Default}`);\r\n\t\t\t}\r\n\r\n\t\t\tconst jsdocContent = jsdocParts\r\n\t\t\t\t.map((part) => `* ${part}`)\r\n\t\t\t\t.join(\"\\n \");\r\n\t\t\tpropertySignature = ts.addSyntheticLeadingComment(\r\n\t\t\t\tpropertySignature,\r\n\t\t\t\tts.SyntaxKind.MultiLineCommentTrivia,\r\n\t\t\t\t`*\\n ${jsdocContent}\\n `,\r\n\t\t\t\ttrue,\r\n\t\t\t);\r\n\r\n\t\t\tmembers.push(propertySignature);\r\n\t\t}\r\n\t}\r\n\r\n\tconst interfaceName = `${className}Params`;\r\n\r\n\tlet interfaceDeclaration = ts.factory.createInterfaceDeclaration(\r\n\t\tundefined,\r\n\t\tinterfaceName,\r\n\t\tundefined,\r\n\t\tundefined,\r\n\t\tmembers,\r\n\t);\r\n\r\n\tinterfaceDeclaration = ts.addSyntheticLeadingComment(\r\n\t\tinterfaceDeclaration,\r\n\t\tts.SyntaxKind.MultiLineCommentTrivia,\r\n\t\t`*\\n * Parameters for the ${className} class\\n `,\r\n\t\ttrue,\r\n\t);\r\n\r\n\tconst printer = ts.createPrinter();\r\n\tconst content = printer\r\n\t\t.printNode(\r\n\t\t\tts.EmitHint.Unspecified,\r\n\t\t\tinterfaceDeclaration,\r\n\t\t\tts.createSourceFile(\"index.ts\", \"\", ts.ScriptTarget.Latest),\r\n\t\t)\r\n\t\t.replace(/ /g, \"\\t\");\r\n\r\n\tconst outFile = path.join(location.scriptsDir, `${interfaceName}.txt`);\r\n\r\n\tfs.writeFileSync(\r\n\t\toutFile,\r\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.` +\r\n\t\t\tos.EOL +\r\n\t\t\tos.EOL +\r\n\t\t\tcontent,\r\n\t);\r\n};\r\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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"}
@@ -4,16 +4,16 @@ import * as fs from 'fs';
4
4
  import { createWriteStream, createReadStream } from 'fs';
5
5
  import { pipeline } from 'stream/promises';
6
6
  import { exec } from 'child_process';
7
- import { promisify, inspect } from 'util';
8
- import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from './dependencies-77f20953.mjs';
9
- import { P as PACKAGE_FILE, I as INDEX_FILE, p as parseCreatorPackageName, g as getWorkspaceOutputPath, r as readPackageCreatorManifest, w as writePackageCreatorManifest, i as isErrorENOENT, a as readPackageCreatorIndex, b as readWorkspaceNpmManifest, c as readPackageAnimationList, d as isErrorEACCES, e as isErrorEPERM, u as uploadPackageFromStream, f as getPackageReleasesDirectory, h as getExistingPackages, s as startSession, j as closeSession } from './cli-98d3f2ca.mjs';
10
- import { l as logPackageMessage, b as buildFolders } from './index-489c6fd3.mjs';
7
+ import { promisify } from 'util';
8
+ import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from './dependencies-030fd607.mjs';
9
+ import { P as PACKAGE_FILE, I as INDEX_FILE, p as parseCreatorPackageName, g as getWorkspaceOutputPath, r as readPackageCreatorManifest, w as writePackageCreatorManifest, i as isErrorENOENT, a as readPackageCreatorIndex, b as readWorkspaceNpmManifest, c as readPackageAnimationList, d as isErrorEACCES, e as isErrorEPERM, u as uploadPackageFromStream, f as getPackageReleasesDirectory, h as getExistingPackages, s as startSession, j as closeSession } from './cli-1ce4d998.mjs';
10
+ import { l as logPackageMessage, b as buildFolders } from './index-48221d57.mjs';
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-41c93b67.mjs';
16
+ import { g as getVersionFileHandler, p as parseVersionFromString, a as getVersionInformationFromGit, b as getWorkspaceBannerText, c as parseVersionFromNumericVersion, P as PackageVersion } from './versionFile-562e5692.mjs';
17
17
  import JSZip from 'jszip';
18
18
  import * as terser from 'terser';
19
19
  import 'resolve';
@@ -94,7 +94,7 @@ const buildArchiveFromPackage = async (workspaceLocation, packageLocation, data)
94
94
  }
95
95
  if (!library) {
96
96
  const date = new Date(Date.now());
97
- library = `/* This file is part of the ${domain} Data Packages.
97
+ library = `/* This file is part of the ${domain} Data Packages.
98
98
  * Copyright (C) ${date.getFullYear()} intelligentgraphics. All Rights Reserved. */`;
99
99
  }
100
100
  const minifyResult = await terser.minify(library, {
@@ -185,11 +185,10 @@ const releaseFolder = async (options)=>{
185
185
  };
186
186
  }
187
187
  let zipFilePath = path.join(binDir, packageNameWithVersion + ".zip");
188
+ let uploadable = {
189
+ getStream: ()=>createReadStream(zipFilePath)
190
+ };
188
191
  try {
189
- let uploadTarget = {
190
- type: "path",
191
- path: zipFilePath
192
- };
193
192
  if (options.pushOnly) {
194
193
  const zipFileExists = await fs$1.stat(zipFilePath).catch((err)=>{
195
194
  if (isErrorENOENT(err)) {
@@ -248,16 +247,10 @@ const releaseFolder = async (options)=>{
248
247
  const zipOutputStream = createWriteStream(zipFilePath);
249
248
  await pipeline(archive.generateNodeStream(), zipOutputStream);
250
249
  } catch (err) {
251
- console.log("error", inspect(err, {
252
- depth: 10,
253
- colors: true,
254
- showHidden: true
255
- }));
256
250
  if (isErrorEACCES(err) || isErrorEPERM(err)) {
257
- console.log(`Could not create zip file in the bin directory because of a permissions error. Uploading it from memory`);
258
- uploadTarget = {
259
- type: "stream",
260
- stream: archive.generateNodeStream()
251
+ logPackageMessage(packageDescription.Package, `Could not create zip file in the bin directory because of a permissions error. Only using it in-memory`);
252
+ uploadable = {
253
+ getStream: ()=>archive.generateNodeStream()
261
254
  };
262
255
  } else {
263
256
  throw err;
@@ -281,7 +274,7 @@ const releaseFolder = async (options)=>{
281
274
  await ensureRequiredVersions(workspace, packageDescription, sessionManager, options.prompter);
282
275
  }
283
276
  logPackageMessage(packageDescription.Package, `Uploading package to ${publishDomain}.${publishSubdomain}`);
284
- await uploadPackageFromStream(sessionManager.getTargetSession(), assetServerPackageDetails, uploadTarget.type === "path" ? createReadStream(uploadTarget.path) : uploadTarget.stream);
277
+ await uploadPackageFromStream(sessionManager.getTargetSession(), assetServerPackageDetails, uploadable.getStream());
285
278
  } finally{
286
279
  await sessionManager.destroy().catch((err)=>{
287
280
  logPackageMessage(packageDescription.Package, `Failed to close IG.Asset.Server session(s): ${err}`);
@@ -299,7 +292,7 @@ const releaseFolder = async (options)=>{
299
292
  await fs$1.mkdir(releasesPath, {
300
293
  recursive: true
301
294
  });
302
- await fs$1.copyFile(zipFilePath, path.join(releasesPath, zipFileName));
295
+ await pipeline(uploadable.getStream(), createWriteStream(path.join(releasesPath, zipFileName)));
303
296
  }
304
297
  };
305
298
  const ensureRequiredVersions = async (workspaceLocation, creatorPackage, sessionManager, prompter)=>{
@@ -461,4 +454,4 @@ const createSessionManager = async (params)=>{
461
454
  };
462
455
 
463
456
  export { releaseFolder };
464
- //# sourceMappingURL=index-78058bc6.mjs.map
457
+ //# sourceMappingURL=index-0012fcaa.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-0012fcaa.mjs","sources":["../src/commands/publish/zip.ts","../src/commands/publish/index.ts"],"sourcesContent":["import JSZip from \"jszip\";\r\nimport * as path from \"path\";\r\nimport * as fs from \"fs\";\r\nimport * as terser from \"terser\";\r\n\r\nimport { isErrorENOENT } from \"../../lib/error\";\r\nimport { logPackageMessage } from \"../../lib/log\";\r\nimport {\r\n\tCreatorPackage,\r\n\treadPackageCreatorManifest,\r\n\twritePackageCreatorManifest,\r\n\treadPackageCreatorIndex,\r\n\tparseCreatorPackageName,\r\n\tPackageLocation,\r\n\tPackageNpmManifest,\r\n\tINDEX_FILE,\r\n\tPACKAGE_FILE,\r\n} from \"../../lib/package\";\r\nimport { getWorkspaceOutputPath, WorkspaceLocation } from \"../../lib/workspace\";\r\nimport {\r\n\tPublishedPackageLocation,\r\n\treadPublishedPackageCreatorIndex,\r\n} from \"../../lib/publishedPackage\";\r\n\r\nexport const buildArchiveFromPublishedPackage = (\r\n\tlocation: PublishedPackageLocation,\r\n\tmanifest: PackageNpmManifest,\r\n\tcreatorPackage: CreatorPackage,\r\n) => {\r\n\tconst archive = new JSZip();\r\n\r\n\tarchive.file(PACKAGE_FILE, JSON.stringify(creatorPackage, null, 2));\r\n\r\n\tconst index = readPublishedPackageCreatorIndex(location);\r\n\r\n\tif (index !== undefined) {\r\n\t\tarchive.file(INDEX_FILE, JSON.stringify(index, null, 2));\r\n\t}\r\n\r\n\tarchive.file(\r\n\t\tmanifest.main,\r\n\t\tfs.createReadStream(path.join(location.path, manifest.main)),\r\n\t);\r\n\r\n\treturn archive;\r\n};\r\n\r\nconst runtimeScripts: CreatorPackage[\"Type\"][] = [\r\n\t\"Interactor\",\r\n\t\"Core\",\r\n\t\"Mixed\",\r\n];\r\n\r\nconst notRuntimeScripts: CreatorPackage[\"Type\"][] = [\"Context\", \"Evaluator\"];\r\n\r\nexport const buildArchiveFromPackage = async (\r\n\tworkspaceLocation: WorkspaceLocation,\r\n\tpackageLocation: PackageLocation,\r\n\tdata: CreatorPackage,\r\n) => {\r\n\tconst { domain, subdomain } = parseCreatorPackageName(data);\r\n\r\n\tconst logStep = (step: string) => logPackageMessage(data.Package, step);\r\n\r\n\tconst libFilePath = path.join(\r\n\t\tgetWorkspaceOutputPath(workspaceLocation),\r\n\t\t`${data.Package}.min.js`,\r\n\t);\r\n\r\n\tconst scriptDirectories: string[] = [\r\n\t\tpackageLocation.path,\r\n\t\tpackageLocation.scriptsDir,\r\n\t];\r\n\r\n\tif (subdomain === \"GFX.Standard\") {\r\n\t\tlogStep(`Including Images folder`);\r\n\t\tscriptDirectories.push(path.join(packageLocation.path, \"Images\"));\r\n\t}\r\n\r\n\tconst manifest = readPackageCreatorManifest(packageLocation);\r\n\r\n\tif (manifest !== undefined) {\r\n\t\tif (manifest.RunTime && notRuntimeScripts.includes(manifest.Type)) {\r\n\t\t\tlogStep(\"Setting script RunTime to false because of script type\");\r\n\t\t\twritePackageCreatorManifest(packageLocation, {\r\n\t\t\t\t...manifest,\r\n\t\t\t\tRunTime: false,\r\n\t\t\t});\r\n\t\t} else if (\r\n\t\t\t!manifest.RunTime &&\r\n\t\t\truntimeScripts.includes(manifest.Type)\r\n\t\t) {\r\n\t\t\tlogStep(\"Setting script RunTime to true because of script type\");\r\n\t\t\twritePackageCreatorManifest(packageLocation, {\r\n\t\t\t\t...manifest,\r\n\t\t\t\tRunTime: true,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tlet libFile: string | undefined;\r\n\r\n\ttry {\r\n\t\tlibFile = fs.readFileSync(libFilePath, { encoding: \"utf8\" });\r\n\t} catch (err) {\r\n\t\tif (!isErrorENOENT(err)) {\r\n\t\t\tthrow err;\r\n\t\t}\r\n\t}\r\n\r\n\tconst archive = new JSZip();\r\n\r\n\tlet library: string = \"\";\r\n\r\n\tif (libFile) {\r\n\t\tlibrary = libFile;\r\n\t}\r\n\r\n\tif (!library) {\r\n\t\tconst date = new Date(Date.now());\r\n\t\tlibrary = `/* This file is part of the ${domain} Data Packages.\r\n\t\t* Copyright (C) ${date.getFullYear()} intelligentgraphics. All Rights Reserved. */`;\r\n\t}\r\n\r\n\tconst minifyResult = await terser.minify(library, { ecma: 5 });\r\n\r\n\tarchive.file(`${data.Package}.js`, minifyResult.code!);\r\n\tarchive.file(PACKAGE_FILE, JSON.stringify(data, null, 2));\r\n\r\n\tconst creatorIndex = readPackageCreatorIndex(packageLocation);\r\n\r\n\tif (creatorIndex !== undefined) {\r\n\t\tarchive.file(INDEX_FILE, JSON.stringify(creatorIndex, null, 2));\r\n\t}\r\n\r\n\tfor (const directory of scriptDirectories) {\r\n\t\ttry {\r\n\t\t\tfor (const file of fs.readdirSync(directory)) {\r\n\t\t\t\tconst { ext } = path.parse(file);\r\n\r\n\t\t\t\tswitch (ext) {\r\n\t\t\t\t\tcase \".png\":\r\n\t\t\t\t\tcase \".jpeg\":\r\n\t\t\t\t\tcase \".jpg\":\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tarchive.file(\r\n\t\t\t\t\tfile,\r\n\t\t\t\t\tfs.createReadStream(path.join(directory, file)),\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tconsole.error(`Script directory \"${directory}\" does not exist`);\r\n\t\t}\r\n\t}\r\n\r\n\treturn archive;\r\n};\r\n","import * as path from \"path\";\r\nimport * as fs from \"fs/promises\";\r\nimport { createReadStream, createWriteStream } from \"fs\";\r\nimport { pipeline } from \"stream/promises\";\r\nimport { exec } from \"child_process\";\r\nimport { promisify } from \"util\";\r\n\r\nimport {\r\n\tAssetService,\r\n\tisErrorEACCES,\r\n\tisErrorEPERM,\r\n\twritePackageCreatorManifest,\r\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\r\n\r\nimport { logPackageMessage } from \"../../lib/log\";\r\nimport {\r\n\tCreatorPackage,\r\n\tgetPackageReleasesDirectory,\r\n\tPackageLocation,\r\n\tparseCreatorPackageName,\r\n\treadPackageAnimationList,\r\n\treadPackageCreatorManifest,\r\n} from \"../../lib/package\";\r\nimport {\r\n\tgetWorkspaceOutputPath,\r\n\treadWorkspaceNpmManifest,\r\n\tWorkspaceLocation,\r\n} from \"../../lib/workspace\";\r\nimport { getVersionInformationFromGit } from \"../../lib/git\";\r\nimport { getWorkspaceBannerText } from \"../../lib/banner\";\r\nimport {\r\n\tparseVersionFromNumericVersion,\r\n\tparseVersionFromString,\r\n} from \"../../lib/parseVersion\";\r\nimport { getVersionFileHandler } from \"../../lib/versionFile\";\r\nimport { isErrorENOENT } from \"../../lib/error\";\r\nimport { determineWorkspaceIGLibraries } from \"../../lib/dependencies\";\r\nimport {\r\n\treadPublishedPackageCreatorManifest,\r\n\treadPublishedPackageNpmManifest,\r\n} from \"../../lib/publishedPackage\";\r\nimport { Prompter, PrompterOption } from \"../../lib/prompter\";\r\nimport { PackageVersion } from \"../../lib/packageVersion\";\r\n\r\nimport { BuildFoldersOptions, buildFolders } from \"../build\";\r\nimport {\r\n\tbuildArchiveFromPackage,\r\n\tbuildArchiveFromPublishedPackage,\r\n} from \"./zip\";\r\n\r\nexport interface ReleaseFolderOptions\r\n\textends Omit<\r\n\t\tBuildFoldersOptions,\r\n\t\t\"skipPackagesWithoutTsFiles\" | \"banner\" | \"packages\"\r\n\t> {\r\n\tdirectory: PackageLocation;\r\n\tnoUpload: boolean;\r\n\tnewVersion: string;\r\n\tdomain?: string;\r\n\tsubdomain?: string;\r\n\taddress?: string;\r\n\tservice: string;\r\n\tauthentication?: AssetService.Authentication;\r\n\tpushOnly: boolean;\r\n\tbanner?: boolean;\r\n\tprompter: Prompter;\r\n\tskipDependencies?: boolean;\r\n}\r\n\r\nconst execAsync = promisify(exec);\r\n\r\nexport const releaseFolder = async (options: ReleaseFolderOptions) => {\r\n\tconst workspace = options.workspace;\r\n\tconst location = options.directory;\r\n\r\n\tconst { write: writeVersionFile, reset: resetVersionFile } =\r\n\t\tgetVersionFileHandler(location);\r\n\r\n\tconst packageDescription = readPackageCreatorManifest(location);\r\n\tconst fullPackageName = packageDescription.Package;\r\n\tconst { domain, subdomain } = parseCreatorPackageName(packageDescription);\r\n\r\n\tconst publishDomain = options.domain ?? domain;\r\n\tconst publishSubdomain = options.subdomain ?? subdomain;\r\n\r\n\tconst sharedPackageJson = readWorkspaceNpmManifest(workspace);\r\n\r\n\tlet newVersion: PackageVersion;\r\n\ttry {\r\n\t\tnewVersion = parseVersionFromString(options.newVersion);\r\n\t} catch (err) {\r\n\t\tthrow new Error(`Please enter a version in this format 1.0.0.100`);\r\n\t}\r\n\r\n\tpackageDescription.Version = newVersion.toVersionString({\r\n\t\tbuildNumber: true,\r\n\t});\r\n\twritePackageCreatorManifest(location, packageDescription);\r\n\r\n\tif (newVersion.buildNumber < 100) {\r\n\t\tnewVersion.preRelease = {\r\n\t\t\ttype: \"beta\",\r\n\t\t\tversion: newVersion.buildNumber,\r\n\t\t};\r\n\t} else if (newVersion.buildNumber > 100) {\r\n\t\tnewVersion.preRelease = {\r\n\t\t\ttype: \"patch\",\r\n\t\t\tversion: newVersion.buildNumber - 100,\r\n\t\t};\r\n\t}\r\n\r\n\tif (sharedPackageJson !== undefined) {\r\n\t\tlogPackageMessage(\r\n\t\t\tpackageDescription.Package,\r\n\t\t\t`Running npm install to make sure all dependencies are up to date`,\r\n\t\t);\r\n\t\tawait execAsync(`npm install`, {\r\n\t\t\tencoding: \"utf-8\",\r\n\t\t\tcwd: workspace.path,\r\n\t\t});\r\n\t}\r\n\r\n\tconst binDir = getWorkspaceOutputPath(workspace);\r\n\tawait fs.mkdir(binDir, { recursive: true });\r\n\r\n\tlet assetServerPackageDetails: AssetService.UploadPackageDetails;\r\n\r\n\tlet packageNameWithVersion: string;\r\n\r\n\t{\r\n\t\tconst versionWithoutPrelease = newVersion.clone();\r\n\t\tversionWithoutPrelease.preRelease = undefined;\r\n\t\tconst newVersionString = versionWithoutPrelease.toVersionString({\r\n\t\t\tbuildNumber: true,\r\n\t\t});\r\n\t\tpackageNameWithVersion = `${packageDescription.Package}_${newVersionString}`;\r\n\r\n\t\tassetServerPackageDetails = {\r\n\t\t\tname: packageDescription.Package,\r\n\t\t\tversion: newVersionString,\r\n\t\t};\r\n\t}\r\n\r\n\tlet zipFilePath = path.join(binDir, packageNameWithVersion + \".zip\");\r\n\tinterface Uploadable {\r\n\t\tgetStream: () => NodeJS.ReadableStream;\r\n\t}\r\n\r\n\tlet uploadable: Uploadable = {\r\n\t\tgetStream: () => createReadStream(zipFilePath),\r\n\t};\r\n\r\n\ttry {\r\n\t\tif (options.pushOnly) {\r\n\t\t\tconst zipFileExists = await fs.stat(zipFilePath).catch((err) => {\r\n\t\t\t\tif (isErrorENOENT(err)) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\treturn Promise.reject(err);\r\n\t\t\t});\r\n\r\n\t\t\tif (zipFileExists) {\r\n\t\t\t\tthrow new Error(\r\n\t\t\t\t\t`Expected a zip file to exist at path ${zipFilePath} since pushOnly is specified`,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tconst gitVersionInformation = await getVersionInformationFromGit(\r\n\t\t\t\tworkspace,\r\n\t\t\t\tlocation,\r\n\t\t\t);\r\n\r\n\t\t\twriteVersionFile(fullPackageName, newVersion);\r\n\r\n\t\t\tconst bannerText =\r\n\t\t\t\tsharedPackageJson !== undefined\r\n\t\t\t\t\t? getWorkspaceBannerText(sharedPackageJson)\r\n\t\t\t\t\t: undefined;\r\n\r\n\t\t\tawait buildFolders({\r\n\t\t\t\t...options,\r\n\t\t\t\tpackages: [location],\r\n\t\t\t\tbanner: options.banner\r\n\t\t\t\t\t? {\r\n\t\t\t\t\t\t\ttext: bannerText,\r\n\t\t\t\t\t\t\tcommit: gitVersionInformation.commit,\r\n\t\t\t\t\t\t\tcommitDirty: gitVersionInformation.dirty,\r\n\t\t\t\t\t\t\tversion: newVersion.toVersionString({\r\n\t\t\t\t\t\t\t\tbuildNumber: true,\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\tdate: new Date(Date.now()),\r\n\t\t\t\t\t\t\t// gitVersionInformation.commitDate\r\n\t\t\t\t\t\t\t// \t? new Date(gitVersionInformation.commitDate)\r\n\t\t\t\t\t\t\t// \t: new Date(Date.now()),\r\n\t\t\t\t\t }\r\n\t\t\t\t\t: undefined,\r\n\t\t\t});\r\n\r\n\t\t\tnewVersion.preRelease = undefined;\r\n\r\n\t\t\ttry {\r\n\t\t\t\tawait fs.rm(zipFilePath);\r\n\t\t\t} catch (err) {\r\n\t\t\t\tif (!isErrorENOENT(err)) {\r\n\t\t\t\t\tthrow err;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (readPackageAnimationList(location).length > 0) {\r\n\t\t\t\tconst workspaceManifest = readWorkspaceNpmManifest(workspace);\r\n\r\n\t\t\t\tif (\r\n\t\t\t\t\t!workspaceManifest.dependencies?.[\r\n\t\t\t\t\t\t\"@intelligentgraphics/3d.ig.gfx.standard\"\r\n\t\t\t\t\t]\r\n\t\t\t\t) {\r\n\t\t\t\t\tconst install = await options.prompter.confirm(\r\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?`,\r\n\t\t\t\t\t);\r\n\r\n\t\t\t\t\tif (install) {\r\n\t\t\t\t\t\tawait execAsync(\r\n\t\t\t\t\t\t\t`npm install @intelligentgraphics/3d.ig.gfx.standard`,\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tencoding: \"utf-8\",\r\n\t\t\t\t\t\t\t\tcwd: workspace.path,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\tawait execAsync(`npm run postinstall`, {\r\n\t\t\t\t\t\t\tcwd: workspace.path,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tconst archive = await buildArchiveFromPackage(\r\n\t\t\t\tworkspace,\r\n\t\t\t\tlocation,\r\n\t\t\t\tpackageDescription,\r\n\t\t\t);\r\n\r\n\t\t\ttry {\r\n\t\t\t\tconst zipOutputStream = createWriteStream(zipFilePath);\r\n\t\t\t\tawait pipeline(archive.generateNodeStream(), zipOutputStream);\r\n\t\t\t} catch (err) {\r\n\t\t\t\tif (isErrorEACCES(err) || isErrorEPERM(err)) {\r\n\t\t\t\t\tlogPackageMessage(\r\n\t\t\t\t\t\tpackageDescription.Package,\r\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`,\r\n\t\t\t\t\t);\r\n\t\t\t\t\tuploadable = {\r\n\t\t\t\t\t\tgetStream: () => archive.generateNodeStream(),\r\n\t\t\t\t\t};\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthrow err;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!options.noUpload) {\r\n\t\t\tif (!options.authentication) {\r\n\t\t\t\tthrow new Error(`Expected authentication to be available`);\r\n\t\t\t}\r\n\r\n\t\t\tlogPackageMessage(\r\n\t\t\t\tpackageDescription.Package,\r\n\t\t\t\t`Opening connection to IG.Asset.Server`,\r\n\t\t\t);\r\n\r\n\t\t\tconst sessionManager = await createSessionManager({\r\n\t\t\t\turl: options.service,\r\n\t\t\t\taddress: options.address,\r\n\t\t\t\tdomain: publishDomain,\r\n\t\t\t\tsubDomain: publishSubdomain,\r\n\t\t\t\tauthentication: options.authentication,\r\n\t\t\t});\r\n\r\n\t\t\ttry {\r\n\t\t\t\tif (!options.skipDependencies) {\r\n\t\t\t\t\tawait ensureRequiredVersions(\r\n\t\t\t\t\t\tworkspace,\r\n\t\t\t\t\t\tpackageDescription,\r\n\t\t\t\t\t\tsessionManager,\r\n\t\t\t\t\t\toptions.prompter,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlogPackageMessage(\r\n\t\t\t\t\tpackageDescription.Package,\r\n\t\t\t\t\t`Uploading package to ${publishDomain}.${publishSubdomain}`,\r\n\t\t\t\t);\r\n\r\n\t\t\t\tawait AssetService.uploadPackageFromStream(\r\n\t\t\t\t\tsessionManager.getTargetSession(),\r\n\t\t\t\t\tassetServerPackageDetails,\r\n\t\t\t\t\tuploadable.getStream(),\r\n\t\t\t\t);\r\n\t\t\t} finally {\r\n\t\t\t\tawait sessionManager.destroy().catch((err) => {\r\n\t\t\t\t\tlogPackageMessage(\r\n\t\t\t\t\t\tpackageDescription.Package,\r\n\t\t\t\t\t\t`Failed to close IG.Asset.Server session(s): ${err}`,\r\n\t\t\t\t\t);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t} catch (err) {\r\n\t\tresetVersionFile();\r\n\t\tthrow err;\r\n\t}\r\n\r\n\tif (newVersion.buildNumber >= 100 && !options.pushOnly) {\r\n\t\tlogPackageMessage(fullPackageName, \"Copying zip to releases folder\");\r\n\r\n\t\tconst zipFileName = `${packageNameWithVersion}.zip`;\r\n\t\tconst releasesPath = getPackageReleasesDirectory(location);\r\n\r\n\t\tawait fs.mkdir(releasesPath, { recursive: true });\r\n\t\tawait pipeline(\r\n\t\t\tuploadable.getStream(),\r\n\t\t\tcreateWriteStream(path.join(releasesPath, zipFileName)),\r\n\t\t);\r\n\t}\r\n};\r\n\r\nconst ensureRequiredVersions = async (\r\n\tworkspaceLocation: WorkspaceLocation,\r\n\tcreatorPackage: CreatorPackage,\r\n\tsessionManager: SessionManager,\r\n\tprompter: Prompter,\r\n) => {\r\n\tinterface UploadedPackage\r\n\t\textends Omit<AssetService.ExistingPackage, \"version\"> {\r\n\t\tversion: PackageVersion;\r\n\t}\r\n\r\n\tconst libraries = determineWorkspaceIGLibraries(workspaceLocation);\r\n\r\n\t// If there are no libraries, we don't need to check for required versions\r\n\tif (libraries.length === 0) {\r\n\t\treturn true;\r\n\t}\r\n\r\n\tconst targetSession = sessionManager.getTargetSession();\r\n\r\n\tconst rawUploadedPackages = await AssetService.getExistingPackages(\r\n\t\ttargetSession,\r\n\t);\r\n\r\n\tconst uploadedPackages = rawUploadedPackages.map(\r\n\t\t(entry): UploadedPackage => {\r\n\t\t\tlet version: PackageVersion;\r\n\r\n\t\t\ttry {\r\n\t\t\t\tversion = parseVersionFromNumericVersion(entry.numericVersion);\r\n\t\t\t} catch (err) {\r\n\t\t\t\tthrow new Error(\r\n\t\t\t\t\t`Encountered invalid format for version ${entry.numericVersion}`,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tif (version.buildNumber < 100) {\r\n\t\t\t\tversion.preRelease = {\r\n\t\t\t\t\ttype: \"beta\",\r\n\t\t\t\t\tversion: version.buildNumber,\r\n\t\t\t\t};\r\n\t\t\t} else if (version.buildNumber > 100) {\r\n\t\t\t\tversion.preRelease = {\r\n\t\t\t\t\ttype: \"patch\",\r\n\t\t\t\t\tversion: version.buildNumber - 100,\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...entry,\r\n\t\t\t\tversion,\r\n\t\t\t};\r\n\t\t},\r\n\t);\r\n\r\n\tfor (const libraryLocation of libraries) {\r\n\t\tconst libraryManifest =\r\n\t\t\treadPublishedPackageNpmManifest(libraryLocation);\r\n\t\tconst libraryCreatorPackage =\r\n\t\t\treadPublishedPackageCreatorManifest(libraryLocation);\r\n\r\n\t\tif (\r\n\t\t\tlibraryCreatorPackage === undefined ||\r\n\t\t\tlibraryManifest.main === undefined ||\r\n\t\t\tlibraryCreatorPackage.Package === creatorPackage.Package\r\n\t\t) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tconst libraryVersion = PackageVersion.extractFromLine(\r\n\t\t\tlibraryManifest.version,\r\n\t\t);\r\n\r\n\t\tif (libraryVersion.preRelease) {\r\n\t\t\tlibraryVersion.buildNumber = libraryVersion.preRelease.version;\r\n\t\t\tlibraryVersion.preRelease = undefined;\r\n\t\t} else {\r\n\t\t\tlibraryVersion.buildNumber = 100;\r\n\t\t}\r\n\r\n\t\tlet uploadedPackageInBasics: UploadedPackage | undefined;\r\n\t\tlet uploadedPackageInTarget: UploadedPackage | undefined;\r\n\r\n\t\tfor (const uploadedPackage of uploadedPackages) {\r\n\t\t\tif (uploadedPackage.scope === libraryCreatorPackage.Package) {\r\n\t\t\t\tif (uploadedPackage.support) {\r\n\t\t\t\t\tuploadedPackageInBasics = uploadedPackage;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tuploadedPackageInTarget = uploadedPackage;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst validInBasics =\r\n\t\t\tuploadedPackageInBasics !== undefined &&\r\n\t\t\t!uploadedPackageInBasics.version.isLesserThan(libraryVersion);\r\n\t\tconst validInTarget =\r\n\t\t\tuploadedPackageInTarget !== undefined &&\r\n\t\t\t!uploadedPackageInTarget.version.isLesserThan(libraryVersion);\r\n\r\n\t\tif (validInBasics || validInTarget) {\r\n\t\t\tif (\r\n\t\t\t\ttargetSession.subDomain !== \"Basics\" &&\r\n\t\t\t\tuploadedPackageInBasics !== undefined &&\r\n\t\t\t\tuploadedPackageInTarget !== undefined\r\n\t\t\t) {\r\n\t\t\t\tlogPackageMessage(\r\n\t\t\t\t\tcreatorPackage.Package,\r\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.`,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tconst possibleTargets: PrompterOption[] = [];\r\n\r\n\t\tif (uploadedPackageInBasics) {\r\n\t\t\tconst version = uploadedPackageInBasics.version.toVersionString({\r\n\t\t\t\tbuildNumber: true,\r\n\t\t\t});\r\n\r\n\t\t\tpossibleTargets.push({\r\n\t\t\t\tvalue: \"Basics\",\r\n\t\t\t\tname: `Basics (Current: ${version})`,\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tpossibleTargets.push({\r\n\t\t\t\tvalue: \"Basics\",\r\n\t\t\t\tname: \"Basics (Current: None)\",\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (targetSession.subDomain !== \"Basics\") {\r\n\t\t\tif (uploadedPackageInTarget) {\r\n\t\t\t\tconst version = uploadedPackageInTarget.version.toVersionString(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tbuildNumber: true,\r\n\t\t\t\t\t},\r\n\t\t\t\t);\r\n\r\n\t\t\t\tpossibleTargets.push({\r\n\t\t\t\t\tvalue: targetSession.subDomain,\r\n\t\t\t\t\tname: `${targetSession.subDomain} (Current: ${version})`,\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tpossibleTargets.push({\r\n\t\t\t\t\tvalue: targetSession.subDomain,\r\n\t\t\t\t\tname: `${targetSession.subDomain} (Current: None)`,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst libraryVersionString = libraryVersion.toVersionString({\r\n\t\t\tbuildNumber: true,\r\n\t\t});\r\n\r\n\t\tconst uploadTargetScope = await prompter.ask({\r\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`,\r\n\t\t\toptions: [\r\n\t\t\t\t...possibleTargets,\r\n\t\t\t\t{ name: \"Skip upload\", value: \"Skip\" },\r\n\t\t\t],\r\n\t\t\tdefault: possibleTargets[0].value,\r\n\t\t});\r\n\r\n\t\tif (uploadTargetScope === \"Skip\") {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tconst archive = buildArchiveFromPublishedPackage(\r\n\t\t\tlibraryLocation,\r\n\t\t\tlibraryManifest,\r\n\t\t\tlibraryCreatorPackage,\r\n\t\t);\r\n\r\n\t\tconst newVersionString = libraryVersion.toVersionString({\r\n\t\t\tbuildNumber: true,\r\n\t\t});\r\n\t\tconst packageNameWithVersion = `${libraryCreatorPackage.Package}_${newVersionString}`;\r\n\r\n\t\tconst zipFilePath = path.join(\r\n\t\t\tgetWorkspaceOutputPath(workspaceLocation),\r\n\t\t\t`${packageNameWithVersion}.zip`,\r\n\t\t);\r\n\r\n\t\ttry {\r\n\t\t\tawait fs.rm(zipFilePath);\r\n\t\t} catch (err) {\r\n\t\t\tif (!isErrorENOENT(err)) {\r\n\t\t\t\tthrow err;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst session =\r\n\t\t\tuploadTargetScope === \"Basics\"\r\n\t\t\t\t? await sessionManager.getBasicsSession()\r\n\t\t\t\t: targetSession;\r\n\r\n\t\tlogPackageMessage(\r\n\t\t\tcreatorPackage.Package,\r\n\t\t\t`Uploading package ${libraryCreatorPackage.Package} with version ${newVersionString} to ${session.domain}.${session.subDomain}`,\r\n\t\t);\r\n\r\n\t\tawait AssetService.uploadPackageFromStream(\r\n\t\t\tsession,\r\n\t\t\t{\r\n\t\t\t\tname: libraryCreatorPackage.Package,\r\n\t\t\t\tversion: newVersionString,\r\n\t\t\t},\r\n\t\t\tarchive.generateNodeStream(),\r\n\t\t);\r\n\t}\r\n};\r\n\r\ninterface SessionManager {\r\n\tgetBasicsSession: () => Promise<AssetService.Session>;\r\n\tgetTargetSession: () => AssetService.Session;\r\n\tdestroy: () => Promise<void>;\r\n}\r\n\r\nconst createSessionManager = async (\r\n\tparams: AssetService.SessionStartParams,\r\n): Promise<SessionManager> => {\r\n\tconst targetSession = await AssetService.startSession(params);\r\n\tlet basicsSession: AssetService.Session | undefined;\r\n\r\n\treturn {\r\n\t\tgetBasicsSession: async () => {\r\n\t\t\tif (targetSession.subDomain === \"Basics\") {\r\n\t\t\t\treturn targetSession;\r\n\t\t\t}\r\n\r\n\t\t\tif (basicsSession === undefined) {\r\n\t\t\t\tbasicsSession = await AssetService.startSession({\r\n\t\t\t\t\t...params,\r\n\t\t\t\t\tsubDomain: \"Basics\",\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\treturn basicsSession;\r\n\t\t},\r\n\r\n\t\tgetTargetSession: () => targetSession,\r\n\r\n\t\tdestroy: async () => {\r\n\t\t\tawait AssetService.closeSession(targetSession);\r\n\r\n\t\t\tif (basicsSession !== undefined) {\r\n\t\t\t\tawait AssetService.closeSession(basicsSession);\r\n\t\t\t}\r\n\t\t},\r\n\t};\r\n};\r\n"],"names":["buildArchiveFromPublishedPackage","location","manifest","creatorPackage","archive","JSZip","file","PACKAGE_FILE","JSON","stringify","index","readPublishedPackageCreatorIndex","undefined","INDEX_FILE","main","fs","createReadStream","path","join","runtimeScripts","notRuntimeScripts","buildArchiveFromPackage","workspaceLocation","packageLocation","data","domain","subdomain","parseCreatorPackageName","logStep","step","logPackageMessage","Package","libFilePath","getWorkspaceOutputPath","scriptDirectories","scriptsDir","push","readPackageCreatorManifest","RunTime","includes","Type","writePackageCreatorManifest","libFile","readFileSync","encoding","err","isErrorENOENT","library","date","Date","now","getFullYear","minifyResult","terser","minify","ecma","code","creatorIndex","readPackageCreatorIndex","directory","readdirSync","ext","parse","console","error","execAsync","promisify","exec","releaseFolder","options","workspace","write","writeVersionFile","reset","resetVersionFile","getVersionFileHandler","packageDescription","fullPackageName","publishDomain","publishSubdomain","sharedPackageJson","readWorkspaceNpmManifest","newVersion","parseVersionFromString","Error","Version","toVersionString","buildNumber","preRelease","type","version","cwd","binDir","mkdir","recursive","assetServerPackageDetails","packageNameWithVersion","versionWithoutPrelease","clone","newVersionString","name","zipFilePath","uploadable","getStream","pushOnly","zipFileExists","stat","catch","Promise","reject","gitVersionInformation","getVersionInformationFromGit","bannerText","getWorkspaceBannerText","buildFolders","packages","banner","text","commit","commitDirty","dirty","rm","readPackageAnimationList","length","workspaceManifest","dependencies","install","prompter","confirm","zipOutputStream","createWriteStream","pipeline","generateNodeStream","isErrorEACCES","isErrorEPERM","noUpload","authentication","sessionManager","createSessionManager","url","service","address","subDomain","skipDependencies","ensureRequiredVersions","AssetService","getTargetSession","destroy","zipFileName","releasesPath","getPackageReleasesDirectory","libraries","determineWorkspaceIGLibraries","targetSession","rawUploadedPackages","uploadedPackages","map","entry","parseVersionFromNumericVersion","numericVersion","libraryLocation","libraryManifest","readPublishedPackageNpmManifest","libraryCreatorPackage","readPublishedPackageCreatorManifest","libraryVersion","PackageVersion","extractFromLine","uploadedPackageInBasics","uploadedPackageInTarget","uploadedPackage","scope","support","validInBasics","isLesserThan","validInTarget","possibleTargets","value","libraryVersionString","uploadTargetScope","ask","message","default","session","getBasicsSession","params","basicsSession"],"mappings":"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"}
@@ -3,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 { r as readPackageCreatorManifest, c as readPackageAnimationList, q as readPackageNpmManifest } from './cli-98d3f2ca.mjs';
6
+ import { r as readPackageCreatorManifest, c as readPackageAnimationList, q as readPackageNpmManifest } from './cli-1ce4d998.mjs';
7
7
  import { g as getPackageTypescriptFiles } from './scripts-7ed8dff6.mjs';
8
8
  import 'node:path';
9
9
  import 'node:fs';
@@ -362,10 +362,10 @@ const createBannerComment = (banner)=>{
362
362
  }
363
363
  const bannerText = bannerParts.join("\n\n");
364
364
  if (bannerText) {
365
- return `/*
366
- ${bannerText}
367
- *
368
- * @preserve
365
+ return `/*
366
+ ${bannerText}
367
+ *
368
+ * @preserve
369
369
  */`;
370
370
  }
371
371
  return undefined;
@@ -377,4 +377,4 @@ var index = /*#__PURE__*/Object.freeze({
377
377
  });
378
378
 
379
379
  export { buildFolders as b, index as i, logPackageMessage as l };
380
- //# sourceMappingURL=index-489c6fd3.mjs.map
380
+ //# sourceMappingURL=index-48221d57.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-48221d57.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\";\r\nimport * as path from \"path\";\r\nimport * as fs from \"fs\";\r\n\r\nimport { PackageLocation } from \"../../lib/package\";\r\n\r\nimport { FolderBuilder } from \".\";\r\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\r\n\r\nexport const tryReadTsConfig = (location: PackageLocation) => {\r\n\tconst { config } = ts.readConfigFile(\r\n\t\tpath.join(location.scriptsDir, \"tsconfig.json\"),\r\n\t\t(path) => {\r\n\t\t\ttry {\r\n\t\t\t\treturn fs.readFileSync(path, \"utf8\");\r\n\t\t\t} catch {\r\n\t\t\t\treturn undefined;\r\n\t\t\t}\r\n\t\t},\r\n\t);\r\n\r\n\treturn config as {\r\n\t\tcompilerOptions: ts.CompilerOptions;\r\n\t};\r\n};\r\n\r\nexport const build: FolderBuilder = async (\r\n\tlocation: PackageLocation,\r\n\toutputDir: string,\r\n) => {\r\n\tconst config = tryReadTsConfig(location);\r\n\r\n\tconfig.compilerOptions.lib = [\"es5\", \"dom\"];\r\n\r\n\tconst result = ts.convertCompilerOptionsFromJson(\r\n\t\tconfig.compilerOptions,\r\n\t\tlocation.scriptsDir,\r\n\t);\r\n\r\n\tconst compilerOptions: ts.CompilerOptions = {\r\n\t\t...result.options,\r\n\t\tremoveComments: false,\r\n\t\tdeclaration: true,\r\n\t\tsourceMap: false,\r\n\t\t// We don't use tsc to actually emit the files, but we still need to set the correct\r\n\t\t// output directory so the compiler can rewrite the `reference path` directives.\r\n\t\toutFile: path.join(outputDir, \"out.js\"),\r\n\t\ttarget: ts.ScriptTarget.ES5,\r\n\t\tnoEmitOnError: true,\r\n\t};\r\n\r\n\tconst host = ts.createCompilerHost(compilerOptions);\r\n\thost.getCurrentDirectory = () => location.scriptsDir;\r\n\r\n\tlet js: string | undefined;\r\n\tlet definitions: string | undefined;\r\n\r\n\thost.writeFile = (fileName, data, writeByteOrderMark) => {\r\n\t\tif (fileName.endsWith(\".js\")) {\r\n\t\t\tjs = data;\r\n\t\t} else if (fileName.endsWith(\".d.ts\")) {\r\n\t\t\tdefinitions = data;\r\n\t\t}\r\n\t};\r\n\r\n\tconst files = getPackageTypescriptFiles(location);\r\n\r\n\tif (files.length === 0) {\r\n\t\tthrow new Error(\r\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.`,\r\n\t\t);\r\n\t}\r\n\r\n\tconst programOptions: ts.CreateProgramOptions = {\r\n\t\trootNames: files,\r\n\t\toptions: compilerOptions,\r\n\t\thost,\r\n\t};\r\n\r\n\tconst program = ts.createProgram(programOptions);\r\n\tconst emitResult = program.emit();\r\n\tconst allDiagnostics = ts.getPreEmitDiagnostics(program);\r\n\r\n\tif (!emitResult.emitSkipped) {\r\n\t\tif (allDiagnostics.length > 0) {\r\n\t\t\tconsole.log(allDiagnostics.map(createErrorMessage).join(\"\\n\"));\r\n\t\t}\r\n\r\n\t\tif (js === undefined || definitions === undefined) {\r\n\t\t\tthrow new Error(`Unexpected: no js or definitions were created`);\r\n\t\t}\r\n\r\n\t\treturn { js, definitions };\r\n\t}\r\n\r\n\tconst error = allDiagnostics.map(createErrorMessage).join(\"\\n\");\r\n\r\n\tthrow new Error(error);\r\n};\r\n\r\nconst createErrorMessage = (diagnostic: ts.Diagnostic) => {\r\n\tif (!diagnostic.file) {\r\n\t\treturn `${ts.flattenDiagnosticMessageText(\r\n\t\t\tdiagnostic.messageText,\r\n\t\t\t\"\\n\",\r\n\t\t)}`;\r\n\t}\r\n\r\n\tconst { line, character } = diagnostic.file.getLineAndCharacterOfPosition(\r\n\t\tdiagnostic.start!,\r\n\t);\r\n\r\n\tconst message = ts.flattenDiagnosticMessageText(\r\n\t\tdiagnostic.messageText,\r\n\t\t\"\\n\",\r\n\t);\r\n\r\n\treturn `${diagnostic.file.fileName} (${line + 1},${\r\n\t\tcharacter + 1\r\n\t}): ${message}`;\r\n};\r\n","import typedoc from \"typedoc\";\r\nimport glob from \"glob\";\r\nimport ts from \"typescript\";\r\nimport * as path from \"path\";\r\nimport { PackageLocation } from \"../../lib/package\";\r\n\r\nexport const generateDocs = async (\r\n\tlocation: PackageLocation,\r\n\tdeclarationFile: string,\r\n\toutFolder: string,\r\n\tname: string,\r\n) => {\r\n\tconst app = new typedoc.Application();\r\n\r\n\tconst mediaDir = path.join(location.manifestDir, \"Media\");\r\n\r\n\tapp.bootstrap({\r\n\t\tentryPoints: [declarationFile],\r\n\t\tmedia: mediaDir,\r\n\t\tout: outFolder,\r\n\t\ttsconfig: path.join(location.scriptsDir, \"tsconfig.json\"),\r\n\t\tskipErrorChecking: true,\r\n\t});\r\n\r\n\tapp.options.setCompilerOptions(\r\n\t\t[declarationFile],\r\n\t\t{\r\n\t\t\ttarget: ts.ScriptTarget.ES5,\r\n\t\t},\r\n\t\tundefined,\r\n\t);\r\n\r\n\tapp.options.setValue(\"name\", name);\r\n\r\n\tconst [readmePath] = glob.sync(\"**/readme.md\", {\r\n\t\tabsolute: true,\r\n\t\tcwd: location.manifestDir,\r\n\t});\r\n\r\n\tif (readmePath) {\r\n\t\tapp.options.setValue(\"readme\", readmePath);\r\n\t}\r\n\r\n\tconst project = app.convert();\r\n\r\n\tif (project) {\r\n\t\tawait app.generateDocs(project, outFolder);\r\n\t}\r\n};\r\n","// Stolen from ig.tools.core\r\n\r\nexport const toposort = (packages: Record<string, string[]>) => {\r\n\tconst queue = Object.getOwnPropertyNames(packages);\r\n\tconst result: string[] = [];\r\n\r\n\tlet index = 0;\r\n\r\n\twhile (queue.length > 0) {\r\n\t\tif (index >= queue.length) {\r\n\t\t\tthrow new Error(\"Packages can not have cyclic dependencies\");\r\n\t\t}\r\n\r\n\t\tconst queueEntry = queue[index];\r\n\r\n\t\tconst dependencies = packages[queueEntry];\r\n\t\tconst dependencyQueued = dependencies.some((dependency) =>\r\n\t\t\tqueue.includes(dependency),\r\n\t\t);\r\n\r\n\t\tif (dependencyQueued) {\r\n\t\t\tindex++;\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tqueue.splice(index, 1);\r\n\t\tindex = 0;\r\n\t\tresult.push(queueEntry);\r\n\t}\r\n\r\n\treturn result;\r\n};\r\n","import * as path from \"path\";\r\nimport * as fs from \"fs\";\r\nimport * as terser from \"terser\";\r\n\r\nimport { logPackageMessage } from \"../../lib/log\";\r\nimport { build as tscBuild } from \"./tsc\";\r\nimport { generateDocs } from \"./docs\";\r\nimport {\r\n\tPackageLocation,\r\n\treadPackageAnimationList,\r\n\treadPackageCreatorManifest,\r\n\treadPackageNpmManifest,\r\n} from \"../../lib/package\";\r\nimport { WorkspaceLocation } from \"../../lib/workspace\";\r\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\r\nimport { toposort } from \"../../lib/toposort\";\r\nimport { PackageJSON } from \"../../lib/packageJSON\";\r\nimport Ajv, { ValidateFunction } from \"ajv\";\r\nimport axios from \"axios\";\r\n\r\nexport interface BannerOptions {\r\n\ttext: string | undefined;\r\n\tversion: string | undefined;\r\n\tcommit: string | undefined;\r\n\tcommitDirty: boolean | undefined;\r\n\tdate: Date | undefined;\r\n}\r\n\r\nexport interface BuildFoldersOptions {\r\n\tworkspace: WorkspaceLocation;\r\n\tpackages: PackageLocation[];\r\n\toutDir?: string;\r\n\tminimize: boolean;\r\n\tbanner?: BannerOptions;\r\n\tclean?: boolean;\r\n\tdocs?: boolean;\r\n}\r\n\r\nexport interface BuildFolderOptions extends BuildFoldersOptions {\r\n\toutFile: string;\r\n}\r\n\r\nexport interface FolderBuilderResult {\r\n\tjs: string;\r\n\tdefinitions: string;\r\n}\r\n\r\nexport type FolderBuilder = (\r\n\tlocation: PackageLocation,\r\n\toutputDir: string,\r\n) => Promise<FolderBuilderResult>;\r\n\r\ntype FolderData = {\r\n\tlocation: PackageLocation;\r\n\tdata?: PackageJSON;\r\n};\r\n\r\nlet validateAnimationJson: ValidateFunction | undefined;\r\n\r\nconst getAnimationJsonValidation = async () => {\r\n\tif (validateAnimationJson === undefined) {\r\n\t\tvalidateAnimationJson = await axios\r\n\t\t\t.get(\r\n\t\t\t\t\"https://archive.intelligentgraphics.biz/schemas/gfx/animation.json\",\r\n\t\t\t)\r\n\t\t\t.then(({ data }) =>\r\n\t\t\t\tnew Ajv({\r\n\t\t\t\t\tcoerceTypes: true,\r\n\t\t\t\t\tallErrors: true,\r\n\t\t\t\t\tremoveAdditional: true,\r\n\t\t\t\t\tuseDefaults: \"empty\",\r\n\t\t\t\t\tvalidateSchema: \"log\",\r\n\t\t\t\t}).compile(data),\r\n\t\t\t);\r\n\t}\r\n\r\n\treturn validateAnimationJson!;\r\n};\r\n\r\nexport const buildFolders = async (options: BuildFoldersOptions) => {\r\n\tif (options.outDir !== undefined && options.clean) {\r\n\t\tfs.rmSync(options.outDir, { recursive: true });\r\n\t}\r\n\r\n\tconst workspace = options.workspace;\r\n\tconst folders = options.packages;\r\n\r\n\tlet sortedPackages = sortPackagesByBuildOrder(folders);\r\n\r\n\tlet index = 1;\r\n\r\n\tfor (const location of sortedPackages) {\r\n\t\tconst hasTypescript = getPackageTypescriptFiles(location).length > 0;\r\n\r\n\t\tensureTsConfig(location);\r\n\r\n\t\tconst data = readPackageCreatorManifest(location);\r\n\r\n\t\tconst logStep = (step: string) =>\r\n\t\t\tlogPackageMessage(data.Package, step, index, folders.length);\r\n\r\n\t\tconst outputDirectory = options.outDir || location.scriptsDir;\r\n\t\tfs.mkdirSync(outputDirectory, { recursive: true });\r\n\r\n\t\tlet buildResult: {\r\n\t\t\tjs: string;\r\n\t\t\tdefinitions?: string;\r\n\t\t};\r\n\r\n\t\tif (hasTypescript) {\r\n\t\t\tlogStep(\"Compiling typescript to javascript\");\r\n\t\t\tbuildResult = await tscBuild(location, outputDirectory);\r\n\t\t} else {\r\n\t\t\tbuildResult = {\r\n\t\t\t\tjs: \"\",\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tconst banner = options.banner\r\n\t\t\t? createBannerComment(options.banner)\r\n\t\t\t: undefined;\r\n\r\n\t\tif (banner) {\r\n\t\t\tbuildResult.js = banner + \"\\n\" + buildResult.js;\r\n\t\t\tif (buildResult.definitions !== undefined) {\r\n\t\t\t\tbuildResult.definitions =\r\n\t\t\t\t\tbanner + \"\\n\" + buildResult.definitions;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst animations = new Map<string, string>();\r\n\r\n\t\tfor (const scriptFilePath of readPackageAnimationList(location)) {\r\n\t\t\tconst content = fs.readFileSync(scriptFilePath, {\r\n\t\t\t\tencoding: \"utf8\",\r\n\t\t\t})!;\r\n\r\n\t\t\tlet data: { Id: string; $schema?: string };\r\n\r\n\t\t\ttry {\r\n\t\t\t\tdata = JSON.parse(content);\r\n\t\t\t} catch (err) {\r\n\t\t\t\tconst relativePath = path.relative(\r\n\t\t\t\t\toptions.workspace.path,\r\n\t\t\t\t\tscriptFilePath,\r\n\t\t\t\t);\r\n\r\n\t\t\t\tif (err instanceof SyntaxError) {\r\n\t\t\t\t\tthrow new Error(\r\n\t\t\t\t\t\t`Encountered invalid syntax in file \"${relativePath}\": ${String(\r\n\t\t\t\t\t\t\terr,\r\n\t\t\t\t\t\t)}`,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tthrow new Error(\r\n\t\t\t\t\t`Encountered an unexpected error while parsing animation json file at path \"${relativePath}\"`,\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcause: err,\r\n\t\t\t\t\t},\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tif (!data.Id) {\r\n\t\t\t\tconst fileName = path.basename(\r\n\t\t\t\t\tscriptFilePath,\r\n\t\t\t\t\t\".animation.json\",\r\n\t\t\t\t);\r\n\t\t\t\tdata.Id = fileName;\r\n\t\t\t}\r\n\r\n\t\t\t(await getAnimationJsonValidation())(data);\r\n\t\t\tdelete data.$schema;\r\n\t\t\tanimations.set(data.Id, JSON.stringify(data));\r\n\t\t}\r\n\r\n\t\tif (animations.size > 0) {\r\n\t\t\tconst scope = data.Scope ?? data.Package;\r\n\t\t\tconst scopeParts = scope.split(\".\");\r\n\r\n\t\t\tbuildResult.js += createNamespace(scopeParts);\r\n\r\n\t\t\tfor (const [name, content] of animations) {\r\n\t\t\t\tbuildResult.js += `${scope}[\"${name}\"] = ` + content + \";\";\r\n\t\t\t\tlogPackageMessage(\r\n\t\t\t\t\tdata.Package,\r\n\t\t\t\t\t`Adding animation ${scope}.${name}`,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t} else if (!hasTypescript) {\r\n\t\t\tthrow new Error(\r\n\t\t\t\t`Expected package to have a least one ts file or one animation.json file`,\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tfs.writeFileSync(\r\n\t\t\tpath.join(outputDirectory, `${data.Package}.js`),\r\n\t\t\tbuildResult.js,\r\n\t\t\t{ encoding: \"utf8\" },\r\n\t\t);\r\n\t\tif (buildResult.definitions !== undefined) {\r\n\t\t\tfs.writeFileSync(\r\n\t\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\r\n\t\t\t\tbuildResult.definitions,\r\n\t\t\t\t{ encoding: \"utf8\" },\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (options.minimize) {\r\n\t\t\tconst minifyResult = await terser.minify(buildResult.js, {\r\n\t\t\t\tecma: 5,\r\n\t\t\t});\r\n\r\n\t\t\tconst minifiedPath = path.join(\r\n\t\t\t\toutputDirectory,\r\n\t\t\t\t`${data.Package}.min.js`,\r\n\t\t\t);\r\n\t\t\tfs.writeFileSync(minifiedPath, minifyResult.code!, {\r\n\t\t\t\tencoding: \"utf8\",\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\tlocation.path.includes(\"Basics\") &&\r\n\t\t\tbuildResult.definitions !== undefined\r\n\t\t) {\r\n\t\t\tfs.mkdirSync(path.join(workspace.path, \"lib\"), {\r\n\t\t\t\trecursive: true,\r\n\t\t\t});\r\n\r\n\t\t\tlogStep(\"Copying basics definition file to the lib folder\");\r\n\t\t\tfs.writeFileSync(\r\n\t\t\t\tpath.join(workspace.path, \"lib\", `${data.Package}.d.ts`),\r\n\t\t\t\tbuildResult.definitions,\r\n\t\t\t\t{ encoding: \"utf8\" },\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (options.docs) {\r\n\t\t\tlogStep(\"Generating typedoc documentation\");\r\n\t\t\tawait generateDocs(\r\n\t\t\t\tlocation,\r\n\t\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\r\n\t\t\t\tpath.join(workspace.path, \"docs\", data.Package),\r\n\t\t\t\tdata.Package,\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tindex++;\r\n\t}\r\n};\r\n\r\nconst createNamespace = (parts: string[]) => {\r\n\tlet code = `var ${parts[0]};`;\r\n\r\n\tfor (let index = 0; index < parts.length; index++) {\r\n\t\tconst path = parts.slice(0, index + 1).join(\".\");\r\n\r\n\t\tcode += `\\n(${path} = ${path} || {});`;\r\n\t}\r\n\r\n\treturn code;\r\n};\r\n\r\nconst ensureTsConfig = (location: PackageLocation) => {\r\n\tconst tsconfigPath = path.join(location.scriptsDir, \"tsconfig.json\");\r\n\r\n\tif (!fs.existsSync(tsconfigPath)) {\r\n\t\tconst content = {};\r\n\t\tapplyTsConfigOption(content);\r\n\r\n\t\tfs.writeFileSync(\r\n\t\t\ttsconfigPath,\r\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\r\n\t\t\t\"utf8\",\r\n\t\t);\r\n\t} else {\r\n\t\tconst content = JSON.parse(fs.readFileSync(tsconfigPath, \"utf8\"));\r\n\t\tapplyTsConfigOption(content);\r\n\t\tfs.writeFileSync(\r\n\t\t\ttsconfigPath,\r\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\r\n\t\t\t\"utf8\",\r\n\t\t);\r\n\t}\r\n};\r\n\r\nconst applyTsConfigOption = (data: {\r\n\tcompilerOptions?: { target?: string; lib?: string[] };\r\n}) => {\r\n\tdata.compilerOptions = data.compilerOptions ?? {};\r\n\tdata.compilerOptions.target = \"es5\";\r\n\tdata.compilerOptions.lib = [\"es5\", \"dom\"];\r\n};\r\n\r\nconst sortPackagesByBuildOrder = (\r\n\tfolders: PackageLocation[],\r\n): PackageLocation[] => {\r\n\tconst packages = Array.from(folders).reduce(\r\n\t\t(\r\n\t\t\tacc: Record<string, FolderData>,\r\n\t\t\tlocation,\r\n\t\t): Record<string, FolderData> => {\r\n\t\t\tconst data = readPackageNpmManifest(location);\r\n\r\n\t\t\tif (data !== undefined) {\r\n\t\t\t\tacc[data.name] = {\r\n\t\t\t\t\tdata,\r\n\t\t\t\t\tlocation,\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\tacc[location.path] = {\r\n\t\t\t\t\tdata: undefined,\r\n\t\t\t\t\tlocation,\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\treturn acc;\r\n\t\t},\r\n\t\t{},\r\n\t);\r\n\r\n\tconst packageDependencies = Object.getOwnPropertyNames(packages).reduce(\r\n\t\t(acc, packageName) => {\r\n\t\t\tconst packageData = packages[packageName];\r\n\r\n\t\t\tif (packageData.data === undefined) {\r\n\t\t\t\tacc[packageName] = [];\r\n\t\t\t} else {\r\n\t\t\t\tacc[packageName] = Object.getOwnPropertyNames({\r\n\t\t\t\t\t...packageData.data.devDependencies,\r\n\t\t\t\t\t...packageData.data.dependencies,\r\n\t\t\t\t\t...packageData.data.peerDependencies,\r\n\t\t\t\t}).filter((packageName) => packages[packageName] !== undefined);\r\n\t\t\t}\r\n\r\n\t\t\treturn acc;\r\n\t\t},\r\n\t\t{},\r\n\t);\r\n\r\n\tconst sortedPackages = toposort(packageDependencies);\r\n\tconst result: PackageLocation[] = [];\r\n\r\n\tfor (const packageName of sortedPackages) {\r\n\t\tconst location = packages[packageName].location;\r\n\r\n\t\tif (readPackageCreatorManifest(location).Package.endsWith(\".Basics\")) {\r\n\t\t\tresult.unshift(location);\r\n\t\t} else {\r\n\t\t\tresult.push(location);\r\n\t\t}\r\n\t}\r\n\r\n\treturn result;\r\n};\r\n\r\nconst createBannerComment = (banner: BannerOptions) => {\r\n\tconst bannerParts: string[] = [];\r\n\r\n\tif (banner.text) {\r\n\t\tbannerParts.push(\" * \" + banner.text);\r\n\t}\r\n\r\n\t{\r\n\t\tconst details: string[] = [];\r\n\r\n\t\tif (banner.version) {\r\n\t\t\tdetails.push(`Version: ${banner.version}`);\r\n\t\t}\r\n\t\tif (banner.commit) {\r\n\t\t\tif (banner.commitDirty) {\r\n\t\t\t\tdetails.push(`Commit: ${banner.commit} (dirty)`);\r\n\t\t\t} else {\r\n\t\t\t\tdetails.push(`Commit: ${banner.commit}`);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (banner.date) {\r\n\t\t\tdetails.push(`Date: ${banner.date.toISOString()}`);\r\n\t\t}\r\n\r\n\t\tconst detailsText = details.map((line) => ` * ${line}`).join(\"\\n\");\r\n\t\tif (detailsText) {\r\n\t\t\tbannerParts.push(detailsText);\r\n\t\t}\r\n\t}\r\n\r\n\tconst bannerText = bannerParts.join(\"\\n\\n\");\r\n\r\n\tif (bannerText) {\r\n\t\treturn `/*\r\n${bannerText}\r\n*\r\n* @preserve\t\t\t\r\n*/`;\r\n\t}\r\n\r\n\treturn undefined;\r\n};\r\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","validateAnimationJson","getAnimationJsonValidation","axios","get","then","Ajv","coerceTypes","allErrors","removeAdditional","useDefaults","validateSchema","compile","buildFolders","outDir","clean","rmSync","recursive","workspace","folders","sortedPackages","sortPackagesByBuildOrder","hasTypescript","ensureTsConfig","readPackageCreatorManifest","logStep","Package","outputDirectory","mkdirSync","buildResult","tscBuild","banner","createBannerComment","animations","Map","scriptFilePath","readPackageAnimationList","content","encoding","JSON","parse","err","relativePath","relative","SyntaxError","String","cause","Id","basename","$schema","set","stringify","size","scope","Scope","scopeParts","split","createNamespace","writeFileSync","minimize","minifyResult","terser","minify","ecma","minifiedPath","code","docs","parts","slice","tsconfigPath","existsSync","applyTsConfigOption","Array","from","reduce","acc","readPackageNpmManifest","packageDependencies","packageName","packageData","devDependencies","peerDependencies","filter","unshift","bannerParts","text","details","version","commit","commitDirty","date","toISOString","detailsText","bannerText"],"mappings":";;;;;;;;;;;;;;;AAAA,MAAMA,iBAAoB,GAAA,CAACC,IAAMC,EAAAA,IAAAA,EAAMC,OAAOC,KAAQ,GAAA;AAClD,IAAA,MAAMC,YAAYD,KAAUE,KAAAA,SAAAA,GAAYA,YAAYF,KAAMG,CAAAA,QAAQ,GAAGC,MAAM,CAAA;AAC3E,IAAA,MAAMC,cAAcL,KAAUE,KAAAA,SAAAA,IAAaF,QAAQ,CAAI,GAAA,EAAA,GAAK,CAAC,EAAED,KAAAA,CAAMI,QAAQ,EAAGG,CAAAA,QAAQ,CAACL,SAAW,EAAA,GAAA,CAAA,CAAK,CAAC,EAAED,KAAAA,CAAM,CAAC,CAAC,CAAA;IACpH,MAAMO,gBAAAA,GAAmB,CAAC,EAAEF,WAAAA,CAAY,EAAER,IAAKW,CAAAA,MAAM,CAAC,EAAA,CAAA,CAAI,CAAC,CAAA;IAC3DC,OAAQC,CAAAA,GAAG,CAAC,CAAC,EAAEH,iBAAiB,IAAI,EAAET,KAAK,CAAC,CAAA,CAAA;AAChD;;ACIO,MAAMa,eAAkB,GAAA,CAACC,QAA8B,GAAA;AAC7D,IAAA,MAAM,EAAEC,MAAAA,GAAQ,GAAGC,GAAGC,cAAc,CACnCC,IAAKC,CAAAA,IAAI,CAACL,QAASM,CAAAA,UAAU,EAAE,eAAA,CAAA,EAC/B,CAACF,IAAS,GAAA;QACT,IAAI;YACH,OAAOG,EAAAA,CAAGC,YAAY,CAACJ,IAAM,EAAA,MAAA,CAAA,CAAA;AAC9B,SAAA,CAAE,OAAM;YACP,OAAOd,SAAAA,CAAAA;AACR,SAAA;AACD,KAAA,CAAA,CAAA;IAGD,OAAOW,MAAAA,CAAAA;AAGR,CAAE,CAAA;AAEK,MAAMQ,KAAAA,GAAuB,OACnCT,QAAAA,EACAU,SACI,GAAA;AACJ,IAAA,MAAMT,SAASF,eAAgBC,CAAAA,QAAAA,CAAAA,CAAAA;IAE/BC,MAAOU,CAAAA,eAAe,CAACC,GAAG,GAAG;AAAC,QAAA,KAAA;AAAO,QAAA,KAAA;AAAM,KAAA,CAAA;IAE3C,MAAMC,MAAAA,GAASX,GAAGY,8BAA8B,CAC/Cb,OAAOU,eAAe,EACtBX,SAASM,UAAU,CAAA,CAAA;AAGpB,IAAA,MAAMK,eAAsC,GAAA;AAC3C,QAAA,GAAGE,OAAOE,OAAO;AACjBC,QAAAA,cAAAA,EAAgB,KAAK;AACrBC,QAAAA,WAAAA,EAAa,IAAI;AACjBC,QAAAA,SAAAA,EAAW,KAAK;;;QAGhBC,OAASf,EAAAA,IAAAA,CAAKC,IAAI,CAACK,SAAW,EAAA,QAAA,CAAA;QAC9BU,MAAQlB,EAAAA,EAAAA,CAAGmB,YAAY,CAACC,GAAG;AAC3BC,QAAAA,aAAAA,EAAe,IAAI;AACpB,KAAA,CAAA;IAEA,MAAMC,IAAAA,GAAOtB,EAAGuB,CAAAA,kBAAkB,CAACd,eAAAA,CAAAA,CAAAA;AACnCa,IAAAA,IAAAA,CAAKE,mBAAmB,GAAG,IAAM1B,QAAAA,CAASM,UAAU,CAAA;IAEpD,IAAIqB,EAAAA,CAAAA;IACJ,IAAIC,WAAAA,CAAAA;AAEJJ,IAAAA,IAAAA,CAAKK,SAAS,GAAG,CAACC,QAAAA,EAAUC,MAAMC,kBAAuB,GAAA;QACxD,IAAIF,QAAAA,CAASG,QAAQ,CAAC,KAAQ,CAAA,EAAA;YAC7BN,EAAKI,GAAAA,IAAAA,CAAAA;AACN,SAAA,MAAO,IAAID,QAAAA,CAASG,QAAQ,CAAC,OAAU,CAAA,EAAA;YACtCL,WAAcG,GAAAA,IAAAA,CAAAA;SACd;AACF,KAAA,CAAA;AAEA,IAAA,MAAMG,QAAQC,yBAA0BnC,CAAAA,QAAAA,CAAAA,CAAAA;IAExC,IAAIkC,KAAAA,CAAM1C,MAAM,KAAK,CAAG,EAAA;AACvB,QAAA,MAAM,IAAI4C,KAAAA,CACT,CAAC,gIAAgI,CAAC,CACjI,CAAA;KACF;AAED,IAAA,MAAMC,cAA0C,GAAA;QAC/CC,SAAWJ,EAAAA,KAAAA;QACXnB,OAASJ,EAAAA,eAAAA;AACTa,QAAAA,IAAAA;AACD,KAAA,CAAA;IAEA,MAAMe,OAAAA,GAAUrC,EAAGsC,CAAAA,aAAa,CAACH,cAAAA,CAAAA,CAAAA;IACjC,MAAMI,UAAAA,GAAaF,QAAQG,IAAI,EAAA,CAAA;IAC/B,MAAMC,cAAAA,GAAiBzC,EAAG0C,CAAAA,qBAAqB,CAACL,OAAAA,CAAAA,CAAAA;IAEhD,IAAI,CAACE,UAAWI,CAAAA,WAAW,EAAE;QAC5B,IAAIF,cAAAA,CAAenD,MAAM,GAAG,CAAG,EAAA;AAC9BK,YAAAA,OAAAA,CAAQC,GAAG,CAAC6C,cAAAA,CAAeG,GAAG,CAACC,kBAAAA,CAAAA,CAAoB1C,IAAI,CAAC,IAAA,CAAA,CAAA,CAAA;SACxD;QAED,IAAIsB,EAAAA,KAAOrC,SAAasC,IAAAA,WAAAA,KAAgBtC,SAAW,EAAA;AAClD,YAAA,MAAM,IAAI8C,KAAAA,CAAM,CAAC,6CAA6C,CAAC,CAAE,CAAA;SACjE;QAED,OAAO;AAAET,YAAAA,EAAAA;AAAIC,YAAAA,WAAAA;AAAY,SAAA,CAAA;KACzB;AAED,IAAA,MAAMoB,QAAQL,cAAeG,CAAAA,GAAG,CAACC,kBAAAA,CAAAA,CAAoB1C,IAAI,CAAC,IAAA,CAAA,CAAA;IAE1D,MAAM,IAAI+B,MAAMY,KAAO,CAAA,CAAA;AACxB,CAAE,CAAA;AAEF,MAAMD,kBAAAA,GAAqB,CAACE,UAA8B,GAAA;IACzD,IAAI,CAACA,UAAWC,CAAAA,IAAI,EAAE;QACrB,OAAO,CAAC,EAAEhD,EAAGiD,CAAAA,4BAA4B,CACxCF,UAAWG,CAAAA,WAAW,EACtB,IAAA,CAAA,CACC,CAAC,CAAA;KACH;AAED,IAAA,MAAM,EAAEC,IAAAA,GAAMC,SAAAA,GAAW,GAAGL,UAAWC,CAAAA,IAAI,CAACK,6BAA6B,CACxEN,UAAAA,CAAWO,KAAK,CAAA,CAAA;AAGjB,IAAA,MAAMC,UAAUvD,EAAGiD,CAAAA,4BAA4B,CAC9CF,UAAAA,CAAWG,WAAW,EACtB,IAAA,CAAA,CAAA;AAGD,IAAA,OAAO,CAAC,EAAEH,UAAAA,CAAWC,IAAI,CAACpB,QAAQ,CAAC,EAAE,EAAEuB,IAAO,GAAA,CAAA,CAAE,CAAC,EAChDC,SAAAA,GAAY,EACZ,GAAG,EAAEG,QAAQ,CAAC,CAAA;AAChB,CAAA;;AClHO,MAAMC,YAAe,GAAA,OAC3B1D,QACA2D,EAAAA,eAAAA,EACAC,WACA3E,IACI,GAAA;IACJ,MAAM4E,GAAAA,GAAM,IAAIC,OAAAA,CAAQC,WAAW,EAAA,CAAA;AAEnC,IAAA,MAAMC,WAAW5D,IAAKC,CAAAA,IAAI,CAACL,QAAAA,CAASiE,WAAW,EAAE,OAAA,CAAA,CAAA;AAEjDJ,IAAAA,GAAAA,CAAIK,SAAS,CAAC;QACbC,WAAa,EAAA;AAACR,YAAAA,eAAAA;AAAgB,SAAA;QAC9BS,KAAOJ,EAAAA,QAAAA;QACPK,GAAKT,EAAAA,SAAAA;AACLU,QAAAA,QAAAA,EAAUlE,IAAKC,CAAAA,IAAI,CAACL,QAAAA,CAASM,UAAU,EAAE,eAAA,CAAA;AACzCiE,QAAAA,iBAAAA,EAAmB,IAAI;AACxB,KAAA,CAAA,CAAA;IAEAV,GAAI9C,CAAAA,OAAO,CAACyD,kBAAkB,CAC7B;AAACb,QAAAA,eAAAA;KAAgB,EACjB;QACCvC,MAAQlB,EAAAA,EAAAA,CAAGmB,YAAY,CAACC,GAAG;KAE5BhC,EAAAA,SAAAA,CAAAA,CAAAA;AAGDuE,IAAAA,GAAAA,CAAI9C,OAAO,CAAC0D,QAAQ,CAAC,MAAQxF,EAAAA,IAAAA,CAAAA,CAAAA;AAE7B,IAAA,MAAM,CAACyF,UAAW,CAAA,GAAGC,IAAKC,CAAAA,IAAI,CAAC,cAAgB,EAAA;AAC9CC,QAAAA,QAAAA,EAAU,IAAI;AACdC,QAAAA,GAAAA,EAAK9E,SAASiE,WAAW;AAC1B,KAAA,CAAA,CAAA;AAEA,IAAA,IAAIS,UAAY,EAAA;AACfb,QAAAA,GAAAA,CAAI9C,OAAO,CAAC0D,QAAQ,CAAC,QAAUC,EAAAA,UAAAA,CAAAA,CAAAA;KAC/B;IAED,MAAMK,OAAAA,GAAUlB,IAAImB,OAAO,EAAA,CAAA;AAE3B,IAAA,IAAID,OAAS,EAAA;QACZ,MAAMlB,GAAAA,CAAIH,YAAY,CAACqB,OAASnB,EAAAA,SAAAA,CAAAA,CAAAA;KAChC;AACF,CAAE;;AChDF;AAEO,MAAMqB,QAAW,GAAA,CAACC,QAAuC,GAAA;IAC/D,MAAMC,KAAAA,GAAQC,MAAOC,CAAAA,mBAAmB,CAACH,QAAAA,CAAAA,CAAAA;AACzC,IAAA,MAAMrE,SAAmB,EAAE,CAAA;AAE3B,IAAA,IAAI1B,KAAQ,GAAA,CAAA,CAAA;IAEZ,MAAOgG,KAAAA,CAAM3F,MAAM,GAAG,CAAG,CAAA;QACxB,IAAIL,KAAAA,IAASgG,KAAM3F,CAAAA,MAAM,EAAE;YAC1B,MAAM,IAAI4C,MAAM,2CAA6C,CAAA,CAAA;SAC7D;QAED,MAAMkD,UAAAA,GAAaH,KAAK,CAAChG,KAAM,CAAA,CAAA;QAE/B,MAAMoG,YAAAA,GAAeL,QAAQ,CAACI,UAAW,CAAA,CAAA;QACzC,MAAME,gBAAAA,GAAmBD,aAAaE,IAAI,CAAC,CAACC,UAC3CP,GAAAA,KAAAA,CAAMQ,QAAQ,CAACD,UAAAA,CAAAA,CAAAA,CAAAA;AAGhB,QAAA,IAAIF,gBAAkB,EAAA;AACrBrG,YAAAA,KAAAA,EAAAA,CAAAA;YACA,SAAS;SACT;QAEDgG,KAAMS,CAAAA,MAAM,CAACzG,KAAO,EAAA,CAAA,CAAA,CAAA;QACpBA,KAAQ,GAAA,CAAA,CAAA;AACR0B,QAAAA,MAAAA,CAAOgF,IAAI,CAACP,UAAAA,CAAAA,CAAAA;AACb,KAAA;IAEA,OAAOzE,MAAAA,CAAAA;AACR,CAAE;;AC0BF,IAAIiF,qBAAAA,CAAAA;AAEJ,MAAMC,6BAA6B,UAAY;AAC9C,IAAA,IAAID,0BAA0BxG,SAAW,EAAA;AACxCwG,QAAAA,qBAAAA,GAAwB,MAAME,KAAAA,CAC5BC,GAAG,CACH,oEAEAC,CAAAA,CAAAA,IAAI,CAAC,CAAC,EAAEnE,IAAAA,GAAM,GACd,IAAIoE,GAAI,CAAA;AACPC,gBAAAA,WAAAA,EAAa,IAAI;AACjBC,gBAAAA,SAAAA,EAAW,IAAI;AACfC,gBAAAA,gBAAAA,EAAkB,IAAI;gBACtBC,WAAa,EAAA,OAAA;gBACbC,cAAgB,EAAA,KAAA;AACjB,aAAA,CAAA,CAAGC,OAAO,CAAC1E,IAAAA,CAAAA,CAAAA,CAAAA;KAEb;IAED,OAAO+D,qBAAAA,CAAAA;AACR,CAAA,CAAA;AAEO,MAAMY,YAAe,GAAA,OAAO3F,OAAiC,GAAA;AACnE,IAAA,IAAIA,QAAQ4F,MAAM,KAAKrH,SAAayB,IAAAA,OAAAA,CAAQ6F,KAAK,EAAE;AAClDrG,QAAAA,EAAAA,CAAGsG,MAAM,CAAC9F,OAAQ4F,CAAAA,MAAM,EAAE;AAAEG,YAAAA,SAAAA,EAAW,IAAI;AAAC,SAAA,CAAA,CAAA;KAC5C;IAED,MAAMC,SAAAA,GAAYhG,QAAQgG,SAAS,CAAA;IACnC,MAAMC,OAAAA,GAAUjG,QAAQmE,QAAQ,CAAA;AAEhC,IAAA,IAAI+B,iBAAiBC,wBAAyBF,CAAAA,OAAAA,CAAAA,CAAAA;AAE9C,IAAA,IAAI7H,KAAQ,GAAA,CAAA,CAAA;IAEZ,KAAK,MAAMa,YAAYiH,cAAgB,CAAA;AACtC,QAAA,MAAME,aAAgBhF,GAAAA,yBAAAA,CAA0BnC,QAAUR,CAAAA,CAAAA,MAAM,GAAG,CAAA,CAAA;QAEnE4H,cAAepH,CAAAA,QAAAA,CAAAA,CAAAA;AAEf,QAAA,MAAM+B,OAAOsF,0BAA2BrH,CAAAA,QAAAA,CAAAA,CAAAA;QAExC,MAAMsH,OAAAA,GAAU,CAACpI,IAAAA,GAChBF,iBAAkB+C,CAAAA,IAAAA,CAAKwF,OAAO,EAAErI,IAAAA,EAAMC,KAAO6H,EAAAA,OAAAA,CAAQxH,MAAM,CAAA,CAAA;AAE5D,QAAA,MAAMgI,eAAkBzG,GAAAA,OAAAA,CAAQ4F,MAAM,IAAI3G,SAASM,UAAU,CAAA;QAC7DC,EAAGkH,CAAAA,SAAS,CAACD,eAAiB,EAAA;AAAEV,YAAAA,SAAAA,EAAW,IAAI;AAAC,SAAA,CAAA,CAAA;QAEhD,IAAIY,WAAAA,CAAAA;AAKJ,QAAA,IAAIP,aAAe,EAAA;YAClBG,OAAQ,CAAA,oCAAA,CAAA,CAAA;YACRI,WAAc,GAAA,MAAMC,MAAS3H,QAAUwH,EAAAA,eAAAA,CAAAA,CAAAA;SACjC,MAAA;YACNE,WAAc,GAAA;gBACb/F,EAAI,EAAA,EAAA;AACL,aAAA,CAAA;SACA;QAED,MAAMiG,MAAAA,GAAS7G,QAAQ6G,MAAM,GAC1BC,oBAAoB9G,OAAQ6G,CAAAA,MAAM,IAClCtI,SAAS,CAAA;AAEZ,QAAA,IAAIsI,MAAQ,EAAA;AACXF,YAAAA,WAAAA,CAAY/F,EAAE,GAAGiG,MAAS,GAAA,IAAA,GAAOF,YAAY/F,EAAE,CAAA;YAC/C,IAAI+F,WAAAA,CAAY9F,WAAW,KAAKtC,SAAW,EAAA;AAC1CoI,gBAAAA,WAAAA,CAAY9F,WAAW,GACtBgG,MAAS,GAAA,IAAA,GAAOF,YAAY9F,WAAW,CAAA;aACxC;SACD;AAED,QAAA,MAAMkG,aAAa,IAAIC,GAAAA,EAAAA,CAAAA;QAEvB,KAAK,MAAMC,cAAkBC,IAAAA,wBAAAA,CAAyBjI,QAAW,CAAA,CAAA;AAChE,YAAA,MAAMkI,OAAU3H,GAAAA,EAAAA,CAAGC,YAAY,CAACwH,cAAgB,EAAA;gBAC/CG,QAAU,EAAA,MAAA;AACX,aAAA,CAAA,CAAA;YAEA,IAAIpG,IAAAA,CAAAA;YAEJ,IAAI;gBACHA,IAAOqG,GAAAA,IAAAA,CAAKC,KAAK,CAACH,OAAAA,CAAAA,CAAAA;AACnB,aAAA,CAAE,OAAOI,GAAK,EAAA;gBACb,MAAMC,YAAAA,GAAenI,KAAKoI,QAAQ,CACjCzH,QAAQgG,SAAS,CAAC3G,IAAI,EACtB4H,cAAAA,CAAAA,CAAAA;AAGD,gBAAA,IAAIM,eAAeG,WAAa,EAAA;oBAC/B,MAAM,IAAIrG,KACT,CAAA,CAAC,oCAAoC,EAAEmG,YAAa,CAAA,GAAG,EAAEG,MAAAA,CACxDJ,GACC,CAAA,CAAA,CAAC,CACF,CAAA;iBACF;gBACD,MAAM,IAAIlG,MACT,CAAC,2EAA2E,EAAEmG,YAAa,CAAA,CAAC,CAAC,EAC7F;oBACCI,KAAOL,EAAAA,GAAAA;iBAEP,CAAA,CAAA;AACH,aAAA;YAEA,IAAI,CAACvG,IAAK6G,CAAAA,EAAE,EAAE;AACb,gBAAA,MAAM9G,QAAW1B,GAAAA,IAAAA,CAAKyI,QAAQ,CAC7Bb,cACA,EAAA,iBAAA,CAAA,CAAA;AAEDjG,gBAAAA,IAAAA,CAAK6G,EAAE,GAAG9G,QAAAA,CAAAA;aACV;YAEA,CAAA,MAAMiE,4BAA2B,EAAGhE,IAAAA,CAAAA,CAAAA;AACrC,YAAA,OAAOA,KAAK+G,OAAO,CAAA;AACnBhB,YAAAA,UAAAA,CAAWiB,GAAG,CAAChH,IAAAA,CAAK6G,EAAE,EAAER,IAAAA,CAAKY,SAAS,CAACjH,IAAAA,CAAAA,CAAAA,CAAAA;AACxC,SAAA;QAEA,IAAI+F,UAAAA,CAAWmB,IAAI,GAAG,CAAG,EAAA;AACxB,YAAA,MAAMC,KAAQnH,GAAAA,IAAAA,CAAKoH,KAAK,IAAIpH,KAAKwF,OAAO,CAAA;YACxC,MAAM6B,UAAAA,GAAaF,KAAMG,CAAAA,KAAK,CAAC,GAAA,CAAA,CAAA;YAE/B3B,WAAY/F,CAAAA,EAAE,IAAI2H,eAAgBF,CAAAA,UAAAA,CAAAA,CAAAA;AAElC,YAAA,KAAK,MAAM,CAACnK,IAAMiJ,EAAAA,OAAAA,CAAQ,IAAIJ,UAAY,CAAA;gBACzCJ,WAAY/F,CAAAA,EAAE,IAAI,CAAC,EAAEuH,KAAAA,CAAM,EAAE,EAAEjK,IAAK,CAAA,KAAK,CAAC,GAAGiJ,OAAU,GAAA,GAAA,CAAA;gBACvDlJ,iBACC+C,CAAAA,IAAAA,CAAKwF,OAAO,EACZ,CAAC,iBAAiB,EAAE2B,KAAM,CAAA,CAAC,EAAEjK,IAAAA,CAAK,CAAC,CAAA,CAAA;AAErC,aAAA;SACM,MAAA,IAAI,CAACkI,aAAe,EAAA;AAC1B,YAAA,MAAM,IAAI/E,KAAAA,CACT,CAAC,uEAAuE,CAAC,CACxE,CAAA;SACF;AAED7B,QAAAA,EAAAA,CAAGgJ,aAAa,CACfnJ,IAAAA,CAAKC,IAAI,CAACmH,iBAAiB,CAAC,EAAEzF,IAAKwF,CAAAA,OAAO,CAAC,GAAG,CAAC,CAC/CG,EAAAA,WAAAA,CAAY/F,EAAE,EACd;YAAEwG,QAAU,EAAA,MAAA;AAAO,SAAA,CAAA,CAAA;QAEpB,IAAIT,WAAAA,CAAY9F,WAAW,KAAKtC,SAAW,EAAA;AAC1CiB,YAAAA,EAAAA,CAAGgJ,aAAa,CACfnJ,IAAAA,CAAKC,IAAI,CAACmH,iBAAiB,CAAC,EAAEzF,IAAKwF,CAAAA,OAAO,CAAC,KAAK,CAAC,CACjDG,EAAAA,WAAAA,CAAY9F,WAAW,EACvB;gBAAEuG,QAAU,EAAA,MAAA;AAAO,aAAA,CAAA,CAAA;SAEpB;QAED,IAAIpH,OAAAA,CAAQyI,QAAQ,EAAE;AACrB,YAAA,MAAMC,eAAe,MAAMC,MAAAA,CAAOC,MAAM,CAACjC,WAAAA,CAAY/F,EAAE,EAAE;gBACxDiI,IAAM,EAAA,CAAA;AACP,aAAA,CAAA,CAAA;YAEA,MAAMC,YAAAA,GAAezJ,IAAKC,CAAAA,IAAI,CAC7BmH,eAAAA,EACA,CAAC,EAAEzF,IAAKwF,CAAAA,OAAO,CAAC,OAAO,CAAC,CAAA,CAAA;AAEzBhH,YAAAA,EAAAA,CAAGgJ,aAAa,CAACM,YAAcJ,EAAAA,YAAAA,CAAaK,IAAI,EAAG;gBAClD3B,QAAU,EAAA,MAAA;AACX,aAAA,CAAA,CAAA;SACA;QAED,IACCnI,QAAAA,CAASI,IAAI,CAACuF,QAAQ,CAAC,QACvB+B,CAAAA,IAAAA,WAAAA,CAAY9F,WAAW,KAAKtC,SAC3B,EAAA;YACDiB,EAAGkH,CAAAA,SAAS,CAACrH,IAAKC,CAAAA,IAAI,CAAC0G,SAAU3G,CAAAA,IAAI,EAAE,KAAQ,CAAA,EAAA;AAC9C0G,gBAAAA,SAAAA,EAAW,IAAI;AAChB,aAAA,CAAA,CAAA;YAEAQ,OAAQ,CAAA,kDAAA,CAAA,CAAA;AACR/G,YAAAA,EAAAA,CAAGgJ,aAAa,CACfnJ,IAAAA,CAAKC,IAAI,CAAC0G,SAAAA,CAAU3G,IAAI,EAAE,KAAA,EAAO,CAAC,EAAE2B,IAAAA,CAAKwF,OAAO,CAAC,KAAK,CAAC,CACvDG,EAAAA,WAAAA,CAAY9F,WAAW,EACvB;gBAAEuG,QAAU,EAAA,MAAA;AAAO,aAAA,CAAA,CAAA;SAEpB;QAED,IAAIpH,OAAAA,CAAQgJ,IAAI,EAAE;YACjBzC,OAAQ,CAAA,kCAAA,CAAA,CAAA;YACR,MAAM5D,YAAAA,CACL1D,QACAI,EAAAA,IAAAA,CAAKC,IAAI,CAACmH,iBAAiB,CAAC,EAAEzF,IAAKwF,CAAAA,OAAO,CAAC,KAAK,CAAC,CACjDnH,EAAAA,IAAAA,CAAKC,IAAI,CAAC0G,SAAU3G,CAAAA,IAAI,EAAE,MAAA,EAAQ2B,IAAKwF,CAAAA,OAAO,CAC9CxF,EAAAA,IAAAA,CAAKwF,OAAO,CAAA,CAAA;SAEb;AAEDpI,QAAAA,KAAAA,EAAAA,CAAAA;AACD,KAAA;AACD,EAAE;AAEF,MAAMmK,eAAAA,GAAkB,CAACU,KAAoB,GAAA;IAC5C,IAAIF,IAAAA,GAAO,CAAC,IAAI,EAAEE,KAAK,CAAC,CAAA,CAAE,CAAC,CAAC,CAAC,CAAA;AAE7B,IAAA,IAAK,IAAI7K,KAAQ,GAAA,CAAA,EAAGA,QAAQ6K,KAAMxK,CAAAA,MAAM,EAAEL,KAAS,EAAA,CAAA;QAClD,MAAMiB,IAAAA,GAAO4J,MAAMC,KAAK,CAAC,GAAG9K,KAAQ,GAAA,CAAA,CAAA,CAAGkB,IAAI,CAAC,GAAA,CAAA,CAAA;QAE5CyJ,IAAQ,IAAA,CAAC,GAAG,EAAE1J,IAAAA,CAAK,GAAG,EAAEA,IAAAA,CAAK,QAAQ,CAAC,CAAA;AACvC,KAAA;IAEA,OAAO0J,IAAAA,CAAAA;AACR,CAAA,CAAA;AAEA,MAAM1C,cAAAA,GAAiB,CAACpH,QAA8B,GAAA;AACrD,IAAA,MAAMkK,eAAe9J,IAAKC,CAAAA,IAAI,CAACL,QAAAA,CAASM,UAAU,EAAE,eAAA,CAAA,CAAA;AAEpD,IAAA,IAAI,CAACC,EAAAA,CAAG4J,UAAU,CAACD,YAAe,CAAA,EAAA;AACjC,QAAA,MAAMhC,UAAU,EAAC,CAAA;QACjBkC,mBAAoBlC,CAAAA,OAAAA,CAAAA,CAAAA;QAEpB3H,EAAGgJ,CAAAA,aAAa,CACfW,YACA9B,EAAAA,IAAAA,CAAKY,SAAS,CAACd,OAAAA,EAAS5I,WAAW,IACnC,CAAA,EAAA,MAAA,CAAA,CAAA;KAEK,MAAA;AACN,QAAA,MAAM4I,UAAUE,IAAKC,CAAAA,KAAK,CAAC9H,EAAGC,CAAAA,YAAY,CAAC0J,YAAc,EAAA,MAAA,CAAA,CAAA,CAAA;QACzDE,mBAAoBlC,CAAAA,OAAAA,CAAAA,CAAAA;QACpB3H,EAAGgJ,CAAAA,aAAa,CACfW,YACA9B,EAAAA,IAAAA,CAAKY,SAAS,CAACd,OAAAA,EAAS5I,WAAW,IACnC,CAAA,EAAA,MAAA,CAAA,CAAA;KAED;AACF,CAAA,CAAA;AAEA,MAAM8K,mBAAAA,GAAsB,CAACrI,IAEvB,GAAA;AACLA,IAAAA,IAAAA,CAAKpB,eAAe,GAAGoB,IAAKpB,CAAAA,eAAe,IAAI,EAAC,CAAA;IAChDoB,IAAKpB,CAAAA,eAAe,CAACS,MAAM,GAAG,KAAA,CAAA;IAC9BW,IAAKpB,CAAAA,eAAe,CAACC,GAAG,GAAG;AAAC,QAAA,KAAA;AAAO,QAAA,KAAA;AAAM,KAAA,CAAA;AAC1C,CAAA,CAAA;AAEA,MAAMsG,wBAAAA,GAA2B,CAChCF,OACuB,GAAA;IACvB,MAAM9B,QAAAA,GAAWmF,MAAMC,IAAI,CAACtD,SAASuD,MAAM,CAC1C,CACCC,GAAAA,EACAxK,QACgC,GAAA;AAChC,QAAA,MAAM+B,OAAO0I,sBAAuBzK,CAAAA,QAAAA,CAAAA,CAAAA;AAEpC,QAAA,IAAI+B,SAASzC,SAAW,EAAA;AACvBkL,YAAAA,GAAG,CAACzI,IAAAA,CAAK9C,IAAI,CAAC,GAAG;AAChB8C,gBAAAA,IAAAA;AACA/B,gBAAAA,QAAAA;AACD,aAAA,CAAA;SACM,MAAA;AACNwK,YAAAA,GAAG,CAACxK,QAAAA,CAASI,IAAI,CAAC,GAAG;gBACpB2B,IAAMzC,EAAAA,SAAAA;AACNU,gBAAAA,QAAAA;AACD,aAAA,CAAA;SACA;QAED,OAAOwK,GAAAA,CAAAA;AACR,KAAA,EACA,EAAC,CAAA,CAAA;IAGF,MAAME,mBAAAA,GAAsBtF,OAAOC,mBAAmB,CAACH,UAAUqF,MAAM,CACtE,CAACC,GAAAA,EAAKG,WAAgB,GAAA;QACrB,MAAMC,WAAAA,GAAc1F,QAAQ,CAACyF,WAAY,CAAA,CAAA;QAEzC,IAAIC,WAAAA,CAAY7I,IAAI,KAAKzC,SAAW,EAAA;YACnCkL,GAAG,CAACG,WAAY,CAAA,GAAG,EAAE,CAAA;SACf,MAAA;AACNH,YAAAA,GAAG,CAACG,WAAAA,CAAY,GAAGvF,MAAAA,CAAOC,mBAAmB,CAAC;gBAC7C,GAAGuF,WAAAA,CAAY7I,IAAI,CAAC8I,eAAe;gBACnC,GAAGD,WAAAA,CAAY7I,IAAI,CAACwD,YAAY;gBAChC,GAAGqF,WAAAA,CAAY7I,IAAI,CAAC+I,gBAAgB;AACrC,aAAA,CAAA,CAAGC,MAAM,CAAC,CAACJ,cAAgBzF,QAAQ,CAACyF,YAAY,KAAKrL,SAAAA,CAAAA,CAAAA;SACrD;QAED,OAAOkL,GAAAA,CAAAA;AACR,KAAA,EACA,EAAC,CAAA,CAAA;AAGF,IAAA,MAAMvD,iBAAiBhC,QAASyF,CAAAA,mBAAAA,CAAAA,CAAAA;AAChC,IAAA,MAAM7J,SAA4B,EAAE,CAAA;IAEpC,KAAK,MAAM8J,eAAe1D,cAAgB,CAAA;AACzC,QAAA,MAAMjH,QAAWkF,GAAAA,QAAQ,CAACyF,WAAAA,CAAY,CAAC3K,QAAQ,CAAA;AAE/C,QAAA,IAAIqH,2BAA2BrH,QAAUuH,CAAAA,CAAAA,OAAO,CAACtF,QAAQ,CAAC,SAAY,CAAA,EAAA;AACrEpB,YAAAA,MAAAA,CAAOmK,OAAO,CAAChL,QAAAA,CAAAA,CAAAA;SACT,MAAA;AACNa,YAAAA,MAAAA,CAAOgF,IAAI,CAAC7F,QAAAA,CAAAA,CAAAA;SACZ;AACF,KAAA;IAEA,OAAOa,MAAAA,CAAAA;AACR,CAAA,CAAA;AAEA,MAAMgH,mBAAAA,GAAsB,CAACD,MAA0B,GAAA;AACtD,IAAA,MAAMqD,cAAwB,EAAE,CAAA;IAEhC,IAAIrD,MAAAA,CAAOsD,IAAI,EAAE;AAChBD,QAAAA,WAAAA,CAAYpF,IAAI,CAAC,KAAQ+B,GAAAA,MAAAA,CAAOsD,IAAI,CAAA,CAAA;KACpC;AAED,IAAA;AACC,QAAA,MAAMC,UAAoB,EAAE,CAAA;QAE5B,IAAIvD,MAAAA,CAAOwD,OAAO,EAAE;YACnBD,OAAQtF,CAAAA,IAAI,CAAC,CAAC,SAAS,EAAE+B,MAAOwD,CAAAA,OAAO,CAAC,CAAC,CAAA,CAAA;SACzC;QACD,IAAIxD,MAAAA,CAAOyD,MAAM,EAAE;YAClB,IAAIzD,MAAAA,CAAO0D,WAAW,EAAE;gBACvBH,OAAQtF,CAAAA,IAAI,CAAC,CAAC,QAAQ,EAAE+B,MAAOyD,CAAAA,MAAM,CAAC,QAAQ,CAAC,CAAA,CAAA;aACzC,MAAA;gBACNF,OAAQtF,CAAAA,IAAI,CAAC,CAAC,QAAQ,EAAE+B,MAAOyD,CAAAA,MAAM,CAAC,CAAC,CAAA,CAAA;aACvC;SACD;QACD,IAAIzD,MAAAA,CAAO2D,IAAI,EAAE;YAChBJ,OAAQtF,CAAAA,IAAI,CAAC,CAAC,MAAM,EAAE+B,OAAO2D,IAAI,CAACC,WAAW,EAAA,CAAG,CAAC,CAAA,CAAA;SACjD;AAED,QAAA,MAAMC,WAAcN,GAAAA,OAAAA,CAAQrI,GAAG,CAAC,CAACO,IAAAA,GAAS,CAAC,GAAG,EAAEA,IAAAA,CAAK,CAAC,CAAA,CAAEhD,IAAI,CAAC,IAAA,CAAA,CAAA;AAC7D,QAAA,IAAIoL,WAAa,EAAA;AAChBR,YAAAA,WAAAA,CAAYpF,IAAI,CAAC4F,WAAAA,CAAAA,CAAAA;SACjB;AACF,KAAA;IAEA,MAAMC,UAAAA,GAAaT,WAAY5K,CAAAA,IAAI,CAAC,MAAA,CAAA,CAAA;AAEpC,IAAA,IAAIqL,UAAY,EAAA;AACf,QAAA,OAAO,CAAC;AACV,EAAEA,UAAW,CAAA;;;EAGX,CAAC,CAAA;KACD;IAED,OAAOpM,SAAAA,CAAAA;AACR,CAAA;;;;;;;;;"}
@@ -2,9 +2,9 @@ import * as path from 'path';
2
2
  import * as fs from 'fs';
3
3
  import glob from 'glob';
4
4
  import * as os from 'os';
5
- import { d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest } from './dependencies-77f20953.mjs';
5
+ import { d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest } from './dependencies-030fd607.mjs';
6
6
  import 'write-pkg';
7
- import { b as readWorkspaceNpmManifest, m as getWorkspaceLibPath } from './cli-98d3f2ca.mjs';
7
+ import { b as readWorkspaceNpmManifest, m as getWorkspaceLibPath } from './cli-1ce4d998.mjs';
8
8
  import 'node:path';
9
9
  import 'node:fs';
10
10
  import 'axios';
@@ -64,4 +64,4 @@ const executePostInstall = (workspace)=>{
64
64
  };
65
65
 
66
66
  export { executePostInstall };
67
- //# sourceMappingURL=postinstall-7a2744e1.mjs.map
67
+ //# sourceMappingURL=postinstall-79673f29.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postinstall-79673f29.mjs","sources":["../src/commands/postinstall.ts"],"sourcesContent":["import * as path from \"path\";\r\nimport * as fs from \"fs\";\r\nimport glob from \"glob\";\r\nimport * as os from \"os\";\r\n\r\nimport {\r\n\tgetWorkspaceLibPath,\r\n\treadWorkspaceNpmManifest,\r\n\tWorkspaceLocation,\r\n} from \"../lib/workspace\";\r\nimport { readPublishedPackageNpmManifest } from \"../lib/publishedPackage\";\r\nimport { determineWorkspaceIGLibraries } from \"../lib/dependencies\";\r\n\r\nconst DEFINITION_FILE_HINT =\r\n\t\"// This file is automatically managed by the ig.gfx.packager.\";\r\n\r\nexport const executePostInstall = (workspace: WorkspaceLocation) => {\r\n\tconst manifest = readWorkspaceNpmManifest(workspace);\r\n\r\n\tconst libPath = getWorkspaceLibPath(workspace);\r\n\r\n\tfs.mkdirSync(libPath, { recursive: true });\r\n\r\n\tconst existingDefinitions = glob.sync(\"**/*.d.ts\", {\r\n\t\tcwd: libPath,\r\n\t\tabsolute: true,\r\n\t});\r\n\r\n\t// delete all existing definition files that are managed by the packager.\r\n\t// we'll recreate all needed definitions in the next step.\r\n\tfor (const existingDefinitionPath of existingDefinitions) {\r\n\t\tconst content = fs.readFileSync(existingDefinitionPath, {\r\n\t\t\tencoding: \"utf-8\",\r\n\t\t});\r\n\r\n\t\tif (content.startsWith(DEFINITION_FILE_HINT)) {\r\n\t\t\tfs.rmSync(existingDefinitionPath);\r\n\t\t}\r\n\t}\r\n\r\n\tconst libraryLocations = determineWorkspaceIGLibraries(workspace);\r\n\r\n\tfor (const location of libraryLocations) {\r\n\t\tconst manifest = readPublishedPackageNpmManifest(location);\r\n\r\n\t\tfor (const existingDefinitionPath of existingDefinitions) {\r\n\t\t\tconst basename = path.basename(existingDefinitionPath);\r\n\r\n\t\t\tif (basename === manifest.types) {\r\n\t\t\t\tfs.rmSync(existingDefinitionPath, { force: true });\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// add a hint to the top of the file so we know it's managed by the packager.\r\n\r\n\t\tconst content = [\r\n\t\t\tDEFINITION_FILE_HINT,\r\n\t\t\t`// This is a reference to version ${manifest.version}.`,\r\n\t\t\t`// Run \"npm install\" to install the types if they are missing or not up to date.`,\r\n\t\t\t`/// <reference types=\"${manifest.name}\" />`,\r\n\t\t].join(os.EOL);\r\n\r\n\t\tfs.writeFileSync(\r\n\t\t\tpath.join(getWorkspaceLibPath(workspace), manifest.types),\r\n\t\t\tcontent,\r\n\t\t\t{\r\n\t\t\t\tencoding: \"utf8\",\r\n\t\t\t},\r\n\t\t);\r\n\t}\r\n};\r\n"],"names":["DEFINITION_FILE_HINT","executePostInstall","workspace","readWorkspaceNpmManifest","libPath","getWorkspaceLibPath","fs","mkdirSync","recursive","existingDefinitions","glob","sync","cwd","absolute","existingDefinitionPath","content","readFileSync","encoding","startsWith","rmSync","libraryLocations","determineWorkspaceIGLibraries","location","manifest","readPublishedPackageNpmManifest","basename","path","types","force","version","name","join","os","EOL","writeFileSync"],"mappings":";;;;;;;;;;;;;;;;;;;;AAaA,MAAMA,oBACL,GAAA,+DAAA,CAAA;AAEM,MAAMC,kBAAqB,GAAA,CAACC,SAAiC,GAAA;AACnE,IAAiBC,wBAAyBD,CAAAA,SAAAA,EAAAA;AAE1C,IAAA,MAAME,UAAUC,mBAAoBH,CAAAA,SAAAA,CAAAA,CAAAA;IAEpCI,EAAGC,CAAAA,SAAS,CAACH,OAAS,EAAA;AAAEI,QAAAA,SAAAA,EAAW,IAAI;AAAC,KAAA,CAAA,CAAA;AAExC,IAAA,MAAMC,mBAAsBC,GAAAA,IAAAA,CAAKC,IAAI,CAAC,WAAa,EAAA;QAClDC,GAAKR,EAAAA,OAAAA;AACLS,QAAAA,QAAAA,EAAU,IAAI;AACf,KAAA,CAAA,CAAA;;;IAIA,KAAK,MAAMC,0BAA0BL,mBAAqB,CAAA;AACzD,QAAA,MAAMM,OAAUT,GAAAA,EAAAA,CAAGU,YAAY,CAACF,sBAAwB,EAAA;YACvDG,QAAU,EAAA,OAAA;AACX,SAAA,CAAA,CAAA;QAEA,IAAIF,OAAAA,CAAQG,UAAU,CAAClB,oBAAuB,CAAA,EAAA;AAC7CM,YAAAA,EAAAA,CAAGa,MAAM,CAACL,sBAAAA,CAAAA,CAAAA;SACV;AACF,KAAA;AAEA,IAAA,MAAMM,mBAAmBC,6BAA8BnB,CAAAA,SAAAA,CAAAA,CAAAA;IAEvD,KAAK,MAAMoB,YAAYF,gBAAkB,CAAA;AACxC,QAAA,MAAMG,WAAWC,+BAAgCF,CAAAA,QAAAA,CAAAA,CAAAA;QAEjD,KAAK,MAAMR,0BAA0BL,mBAAqB,CAAA;YACzD,MAAMgB,QAAAA,GAAWC,IAAKD,CAAAA,QAAQ,CAACX,sBAAAA,CAAAA,CAAAA;YAE/B,IAAIW,QAAAA,KAAaF,QAASI,CAAAA,KAAK,EAAE;gBAChCrB,EAAGa,CAAAA,MAAM,CAACL,sBAAwB,EAAA;AAAEc,oBAAAA,KAAAA,EAAO,IAAI;AAAC,iBAAA,CAAA,CAAA;aAChD;AACF,SAAA;;AAIA,QAAA,MAAMb,OAAU,GAAA;AACff,YAAAA,oBAAAA;AACA,YAAA,CAAC,kCAAkC,EAAEuB,QAAAA,CAASM,OAAO,CAAC,CAAC,CAAC;AACxD,YAAA,CAAC,gFAAgF,CAAC;AAClF,YAAA,CAAC,sBAAsB,EAAEN,QAAAA,CAASO,IAAI,CAAC,IAAI,CAAC;SAC5C,CAACC,IAAI,CAACC,EAAAA,CAAGC,GAAG,CAAA,CAAA;QAEb3B,EAAG4B,CAAAA,aAAa,CACfR,IAAAA,CAAKK,IAAI,CAAC1B,oBAAoBH,SAAYqB,CAAAA,EAAAA,QAAAA,CAASI,KAAK,CAAA,EACxDZ,OACA,EAAA;YACCE,QAAU,EAAA,MAAA;AACX,SAAA,CAAA,CAAA;AAEF,KAAA;AACD;;;;"}
@@ -1,15 +1,15 @@
1
1
  import * as path from 'path';
2
2
  import * as fs from 'fs';
3
- import { spawnSync } from 'child_process';
3
+ import { execSync } from 'child_process';
4
4
  import 'resolve';
5
5
  import 'write-pkg';
6
- import { b as readWorkspaceNpmManifest, g as getWorkspaceOutputPath, r as readPackageCreatorManifest, q as readPackageNpmManifest, t as writePackageNpmManifest, P as PACKAGE_FILE, a as readPackageCreatorIndex, I as INDEX_FILE, v as iterateWorkspacePackages } from './cli-98d3f2ca.mjs';
7
- import { b as buildFolders, l as logPackageMessage } from './index-489c6fd3.mjs';
6
+ import { b as readWorkspaceNpmManifest, g as getWorkspaceOutputPath, r as readPackageCreatorManifest, q as readPackageNpmManifest, t as writePackageNpmManifest, P as PACKAGE_FILE, a as readPackageCreatorIndex, I as INDEX_FILE, v as iterateWorkspacePackages } from './cli-1ce4d998.mjs';
7
+ import { b as buildFolders, l as logPackageMessage } from './index-48221d57.mjs';
8
8
  import 'glob';
9
9
  import 'node:path';
10
10
  import 'node:fs';
11
11
  import 'axios';
12
- import { p as parseVersionFromString, g as getVersionFileHandler, a as getVersionInformationFromGit, b as getWorkspaceBannerText } from './versionFile-41c93b67.mjs';
12
+ import { p as parseVersionFromString, g as getVersionFileHandler, a as getVersionInformationFromGit, b as getWorkspaceBannerText } from './versionFile-562e5692.mjs';
13
13
  import 'update-notifier';
14
14
  import 'yargs/yargs';
15
15
  import 'url';
@@ -114,10 +114,11 @@ const publishToNpm = async ({ workspace , location , version: providedVersion ,
114
114
  npmPublishArgs.push("--tag", "next");
115
115
  }
116
116
  logPackageMessage(creatorPackage.Package, `Publishing to npm with version ${packageJson.version} using tag ${newVersion.preRelease ? "next" : "latest"}`);
117
- spawnSync("npm", [
117
+ execSync([
118
+ "npm",
118
119
  "publish",
119
120
  ...npmPublishArgs
120
- ], {
121
+ ].join(" "), {
121
122
  stdio: "inherit",
122
123
  encoding: "utf8",
123
124
  cwd: publishDir
@@ -133,4 +134,4 @@ const publishToNpm = async ({ workspace , location , version: providedVersion ,
133
134
  };
134
135
 
135
136
  export { publishToNpm };
136
- //# sourceMappingURL=publishNpm-f50e8981.mjs.map
137
+ //# sourceMappingURL=publishNpm-bfd4eb6a.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishNpm-bfd4eb6a.mjs","sources":["../src/commands/publishNpm.ts"],"sourcesContent":["import * as path from \"path\";\r\nimport * as fs from \"fs\";\r\nimport { execSync } from \"child_process\";\r\n\r\nimport { PackageVersion } from \"../lib/packageVersion\";\r\nimport {\r\n\tINDEX_FILE,\r\n\tPackageLocation,\r\n\tPACKAGE_FILE,\r\n\treadPackageCreatorIndex,\r\n\treadPackageCreatorManifest,\r\n\treadPackageNpmManifest,\r\n\twritePackageNpmManifest,\r\n} from \"../lib/package\";\r\nimport {\r\n\tgetWorkspaceOutputPath,\r\n\titerateWorkspacePackages,\r\n\treadWorkspaceNpmManifest,\r\n\tWorkspaceLocation,\r\n} from \"../lib/workspace\";\r\nimport { getVersionInformationFromGit } from \"../lib/git\";\r\nimport { getWorkspaceBannerText } from \"../lib/banner\";\r\nimport { parseVersionFromString } from \"../lib/parseVersion\";\r\nimport { getVersionFileHandler } from \"../lib/versionFile\";\r\nimport { logPackageMessage } from \"../lib/log\";\r\n\r\nimport { buildFolders } from \"./build\";\r\n\r\nexport interface PublishToNpmSettings {\r\n\tworkspace: WorkspaceLocation;\r\n\tlocation: PackageLocation;\r\n\tversion: string;\r\n\tdryRun?: boolean;\r\n}\r\n\r\nexport const publishToNpm = async ({\r\n\tworkspace,\r\n\tlocation,\r\n\tversion: providedVersion,\r\n\tdryRun,\r\n}: PublishToNpmSettings) => {\r\n\tlet newVersion: PackageVersion;\r\n\ttry {\r\n\t\tnewVersion = parseVersionFromString(providedVersion);\r\n\t} catch (err) {\r\n\t\tthrow new Error(`Please enter a version in this format 1.0.0.100`);\r\n\t}\r\n\r\n\tif (newVersion.buildNumber < 100) {\r\n\t\tnewVersion.preRelease = {\r\n\t\t\ttype: \"beta\",\r\n\t\t\tversion: newVersion.buildNumber,\r\n\t\t};\r\n\t} else if (newVersion.buildNumber === 100) {\r\n\t\tnewVersion.preRelease = undefined;\r\n\t} else {\r\n\t\tthrow new Error(\r\n\t\t\t`Refusing to publish a package with a build version larger than 100.`,\r\n\t\t);\r\n\t}\r\n\r\n\tconst workspaceManifest = readWorkspaceNpmManifest(workspace);\r\n\tconst workspaceOutputPath = getWorkspaceOutputPath(workspace);\r\n\tconst creatorPackage = readPackageCreatorManifest(location);\r\n\tlet packageJson = readPackageNpmManifest(location);\r\n\r\n\tif (packageJson === undefined) {\r\n\t\tpackageJson = {\r\n\t\t\tname:\r\n\t\t\t\t\"@intelligentgraphics/3d\" +\r\n\t\t\t\tcreatorPackage.Package.toLowerCase(),\r\n\t\t\tversion: \"1.0.0\",\r\n\t\t\tdescription: creatorPackage.Package,\r\n\t\t};\r\n\t}\r\n\r\n\tpackageJson.version = newVersion.toVersionString({\r\n\t\tbuildNumber: false,\r\n\t});\r\n\tpackageJson.description = newVersion.toDescriptionString(\r\n\t\tcreatorPackage.Package,\r\n\t);\r\n\tpackageJson.main = `${creatorPackage.Package}.js`;\r\n\tpackageJson.types = `${creatorPackage.Package}.d.ts`;\r\n\tpackageJson.publishConfig ??= {};\r\n\tpackageJson.publishConfig.acccess = \"public\";\r\n\tpackageJson.ig = {\r\n\t\tscriptingLibrary: true,\r\n\t};\r\n\tpackageJson.files = undefined;\r\n\r\n\tconst publishDir = path.join(\r\n\t\tworkspaceOutputPath,\r\n\t\t\"publish\",\r\n\t\tcreatorPackage.Package,\r\n\t);\r\n\tfs.rmSync(publishDir, { recursive: true, force: true });\r\n\tfs.mkdirSync(publishDir, { recursive: true });\r\n\r\n\twritePackageNpmManifest(location, packageJson);\r\n\r\n\tgetVersionFileHandler(location).write(creatorPackage.Package, newVersion);\r\n\r\n\tconst gitVersionInformation = await getVersionInformationFromGit(\r\n\t\tworkspace,\r\n\t\tlocation,\r\n\t);\r\n\r\n\tconst bannerText = getWorkspaceBannerText(workspaceManifest);\r\n\r\n\tawait buildFolders({\r\n\t\tworkspace,\r\n\t\tpackages: [location],\r\n\t\tminimize: true,\r\n\t\toutDir: getWorkspaceOutputPath(workspace),\r\n\t\tbanner: {\r\n\t\t\ttext: bannerText,\r\n\t\t\tcommit: gitVersionInformation.commit,\r\n\t\t\tcommitDirty: gitVersionInformation.dirty,\r\n\t\t\tversion: newVersion.toVersionString({\r\n\t\t\t\tbuildNumber: true,\r\n\t\t\t}),\r\n\t\t\tdate: new Date(Date.now()),\r\n\t\t},\r\n\t});\r\n\r\n\tfs.copyFileSync(\r\n\t\tpath.join(\r\n\t\t\tgetWorkspaceOutputPath(workspace),\r\n\t\t\t`${creatorPackage.Package}.d.ts`,\r\n\t\t),\r\n\t\tpath.join(publishDir, `${creatorPackage.Package}.d.ts`),\r\n\t);\r\n\tfs.copyFileSync(\r\n\t\tpath.join(\r\n\t\t\tgetWorkspaceOutputPath(workspace),\r\n\t\t\t`${creatorPackage.Package}.min.js`,\r\n\t\t),\r\n\t\tpath.join(publishDir, `${creatorPackage.Package}.js`),\r\n\t);\r\n\r\n\tfs.copyFileSync(\r\n\t\tpath.join(location.manifestDir, \"package.json\"),\r\n\t\tpath.join(publishDir, \"package.json\"),\r\n\t);\r\n\r\n\tfs.writeFileSync(\r\n\t\tpath.join(publishDir, PACKAGE_FILE),\r\n\t\tJSON.stringify(creatorPackage, null, 2),\r\n\t);\r\n\r\n\tconst index = readPackageCreatorIndex(location);\r\n\r\n\tif (index !== undefined) {\r\n\t\tfs.writeFileSync(\r\n\t\t\tpath.join(publishDir, INDEX_FILE),\r\n\t\t\tJSON.stringify(index),\r\n\t\t);\r\n\t}\r\n\r\n\tconst readmeName = fs\r\n\t\t.readdirSync(location.path)\r\n\t\t.find((name) => name.toLowerCase() === \"readme.md\");\r\n\r\n\tif (readmeName !== undefined) {\r\n\t\tfs.copyFileSync(\r\n\t\t\tpath.join(location.path, readmeName),\r\n\t\t\tpath.join(publishDir, readmeName),\r\n\t\t);\r\n\t}\r\n\r\n\tconst npmPublishArgs: string[] = [];\r\n\r\n\tif (dryRun) {\r\n\t\tnpmPublishArgs.push(\"--dry-run\");\r\n\t}\r\n\r\n\tif (newVersion.preRelease) {\r\n\t\tnpmPublishArgs.push(\"--tag\", \"next\");\r\n\t}\r\n\r\n\tlogPackageMessage(\r\n\t\tcreatorPackage.Package,\r\n\t\t`Publishing to npm with version ${packageJson.version} using tag ${\r\n\t\t\tnewVersion.preRelease ? \"next\" : \"latest\"\r\n\t\t}`,\r\n\t);\r\n\r\n\texecSync([\"npm\", \"publish\", ...npmPublishArgs].join(\" \"), {\r\n\t\tstdio: \"inherit\",\r\n\t\tencoding: \"utf8\",\r\n\t\tcwd: publishDir,\r\n\t});\r\n\r\n\tfor (const packageLocation of iterateWorkspacePackages(workspace)) {\r\n\t\tconst manifest = readPackageNpmManifest(packageLocation);\r\n\r\n\t\tif (manifest?.dependencies?.[packageJson.name] !== undefined) {\r\n\t\t\tmanifest.dependencies[packageJson.name] = \"^\" + packageJson.version;\r\n\t\t\twritePackageNpmManifest(packageLocation, manifest);\r\n\t\t}\r\n\t}\r\n};\r\n"],"names":["publishToNpm","workspace","location","version","providedVersion","dryRun","newVersion","parseVersionFromString","err","Error","buildNumber","preRelease","type","undefined","workspaceManifest","readWorkspaceNpmManifest","workspaceOutputPath","getWorkspaceOutputPath","creatorPackage","readPackageCreatorManifest","packageJson","readPackageNpmManifest","name","Package","toLowerCase","description","toVersionString","toDescriptionString","main","types","publishConfig","acccess","ig","scriptingLibrary","files","publishDir","path","join","fs","rmSync","recursive","force","mkdirSync","writePackageNpmManifest","getVersionFileHandler","write","gitVersionInformation","getVersionInformationFromGit","bannerText","getWorkspaceBannerText","buildFolders","packages","minimize","outDir","banner","text","commit","commitDirty","dirty","date","Date","now","copyFileSync","manifestDir","writeFileSync","PACKAGE_FILE","JSON","stringify","index","readPackageCreatorIndex","INDEX_FILE","readmeName","readdirSync","find","npmPublishArgs","push","logPackageMessage","execSync","stdio","encoding","cwd","packageLocation","iterateWorkspacePackages","manifest","dependencies"],"mappings":"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"}
@@ -3,7 +3,7 @@ import * as path from 'path';
3
3
  import * as fs from 'fs';
4
4
  import 'resolve';
5
5
  import 'write-pkg';
6
- import { i as isErrorENOENT } from './cli-98d3f2ca.mjs';
6
+ import { i as isErrorENOENT } from './cli-1ce4d998.mjs';
7
7
  import 'glob';
8
8
  import 'node:path';
9
9
  import 'node:fs';
@@ -231,19 +231,19 @@ class PackageVersion {
231
231
  parts.push(`(${base}.${this.buildNumber})`);
232
232
  return parts.join(" ");
233
233
  }
234
- /**
235
- * Determines wether the version is lesser than the input version
236
- *
237
- * @param {PackageVersion} version
238
- * @returns
234
+ /**
235
+ * Determines wether the version is lesser than the input version
236
+ *
237
+ * @param {PackageVersion} version
238
+ * @returns
239
239
  */ isLesserThan(version) {
240
240
  return PackageVersion.toNumber(this) < PackageVersion.toNumber(version);
241
241
  }
242
- /**
243
- * Determines wether the version is greater than the input version
244
- *
245
- * @param {PackageVersion} version
246
- * @returns
242
+ /**
243
+ * Determines wether the version is greater than the input version
244
+ *
245
+ * @param {PackageVersion} version
246
+ * @returns
247
247
  */ isGreaterThan(version) {
248
248
  return PackageVersion.toNumber(this) > PackageVersion.toNumber(version);
249
249
  }
@@ -381,4 +381,4 @@ const createYearString = (years)=>{
381
381
  };
382
382
 
383
383
  export { PackageVersion as P, getVersionInformationFromGit as a, getWorkspaceBannerText as b, parseVersionFromNumericVersion as c, getVersionFileHandler as g, parseVersionFromString as p };
384
- //# sourceMappingURL=versionFile-41c93b67.mjs.map
384
+ //# sourceMappingURL=versionFile-562e5692.mjs.map