@intelligentgraphics/ig.gfx.packager 3.0.15 → 3.0.17

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 (25) hide show
  1. package/build/bin.mjs +1 -1
  2. package/build/{cli-c15a4b62.mjs → cli-69a2e2f1.mjs} +8 -16
  3. package/build/cli-69a2e2f1.mjs.map +1 -0
  4. package/build/{dependencies-72ece8a2.mjs → dependencies-4e6ba0ea.mjs} +2 -2
  5. package/build/{dependencies-72ece8a2.mjs.map → dependencies-4e6ba0ea.mjs.map} +1 -1
  6. package/build/{generateIndex-631aa251.mjs → generateIndex-e1304f50.mjs} +2 -2
  7. package/build/{generateIndex-631aa251.mjs.map → generateIndex-e1304f50.mjs.map} +1 -1
  8. package/build/{generateParameterType-b0ac6a34.mjs → generateParameterType-a547b489.mjs} +2 -2
  9. package/build/{generateParameterType-b0ac6a34.mjs.map → generateParameterType-a547b489.mjs.map} +1 -1
  10. package/build/{index-4dbcbb2b.mjs → index-aecc36ad.mjs} +2 -2
  11. package/build/{index-4dbcbb2b.mjs.map → index-aecc36ad.mjs.map} +1 -1
  12. package/build/{index-c76f14c3.mjs → index-ce491f2d.mjs} +9 -18
  13. package/build/index-ce491f2d.mjs.map +1 -0
  14. package/build/{postinstall-19d8ddac.mjs → postinstall-6366aa29.mjs} +3 -3
  15. package/build/{postinstall-19d8ddac.mjs.map → postinstall-6366aa29.mjs.map} +1 -1
  16. package/build/{publishNpm-281aa4f2.mjs → publishNpm-7fe8b8ec.mjs} +8 -7
  17. package/build/publishNpm-7fe8b8ec.mjs.map +1 -0
  18. package/build/{versionFile-5a8916bd.mjs → versionFile-28e7ec79.mjs} +2 -2
  19. package/build/{versionFile-5a8916bd.mjs.map → versionFile-28e7ec79.mjs.map} +1 -1
  20. package/lib/lib.mjs +4 -21
  21. package/package.json +5 -4
  22. package/readme.md +12 -0
  23. package/build/cli-c15a4b62.mjs.map +0 -1
  24. package/build/index-c76f14c3.mjs.map +0 -1
  25. package/build/publishNpm-281aa4f2.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"generateParameterType-b0ac6a34.mjs","sources":["../src/commands/generateParameterType.ts"],"sourcesContent":["import ts from \"typescript\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport * as os from \"os\";\n\nimport {\n\tPackageLocation,\n\tgetCreatorIndexParameterPrimaryJSType,\n\treadPackageCreatorIndex,\n\treadPackageCreatorManifest,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nexport interface GenerateParameterTypeOptions {\n\tlocation: PackageLocation;\n\tname: string;\n}\n\nexport const generateParameterType = ({\n\tlocation,\n\tname,\n}: GenerateParameterTypeOptions) => {\n\tconst index = readPackageCreatorIndex(location);\n\tconst manifest = readPackageCreatorManifest(location);\n\n\tif (index === undefined) {\n\t\tthrow new Error(`Could not find the _Index.json file`);\n\t}\n\n\tlet qualifiedName = name;\n\tlet className = name;\n\n\tconst scope = manifest.Scope ?? manifest.Package;\n\n\tif (name.startsWith(scope)) {\n\t\tclassName = name.slice(scope.length + 1);\n\t} else {\n\t\tqualifiedName = `${scope}.${name}`;\n\t}\n\n\tconst informations = index.find((item) => item.Name === qualifiedName);\n\n\tif (informations === undefined) {\n\t\tthrow new Error(`Could not find an index entry for ${name}`);\n\t}\n\n\tconst members: ts.TypeElement[] = [];\n\n\tif (informations.Parameters !== undefined) {\n\t\tconst sortedList = informations.Parameters.slice();\n\t\tsortedList.sort((a, b) => a.DisplayIndex - b.DisplayIndex);\n\n\t\tfor (const parameter of sortedList) {\n\t\t\tconst jsType = getCreatorIndexParameterPrimaryJSType(\n\t\t\t\tparameter.Type,\n\t\t\t);\n\n\t\t\tconst type =\n\t\t\t\tjsType === \"string\"\n\t\t\t\t\t? ts.factory.createTypeReferenceNode(\"string\")\n\t\t\t\t\t: ts.factory.createUnionTypeNode([\n\t\t\t\t\t\t\tts.factory.createTypeReferenceNode(jsType),\n\t\t\t\t\t\t\tts.factory.createTypeReferenceNode(\"string\"),\n\t\t\t\t\t ]);\n\n\t\t\tlet propertySignature = ts.factory.createPropertySignature(\n\t\t\t\tundefined,\n\t\t\t\tparameter.Name,\n\t\t\t\tparameter.Required\n\t\t\t\t\t? undefined\n\t\t\t\t\t: ts.factory.createToken(ts.SyntaxKind.QuestionToken),\n\t\t\t\ttype,\n\t\t\t);\n\n\t\t\tconst jsdocParts: string[] = [];\n\n\t\t\tif (parameter.Description !== undefined) {\n\t\t\t\tjsdocParts.push(parameter.Description, \"\");\n\t\t\t}\n\n\t\t\tjsdocParts.push(`@creatorType ${parameter.Type}`);\n\n\t\t\tif (jsType === \"string\") {\n\t\t\t\tjsdocParts.push(`@default \"${parameter.Default}\"`);\n\t\t\t} else {\n\t\t\t\tjsdocParts.push(`@default ${parameter.Default}`);\n\t\t\t}\n\n\t\t\tconst jsdocContent = jsdocParts\n\t\t\t\t.map((part) => `* ${part}`)\n\t\t\t\t.join(\"\\n \");\n\t\t\tpropertySignature = ts.addSyntheticLeadingComment(\n\t\t\t\tpropertySignature,\n\t\t\t\tts.SyntaxKind.MultiLineCommentTrivia,\n\t\t\t\t`*\\n ${jsdocContent}\\n `,\n\t\t\t\ttrue,\n\t\t\t);\n\n\t\t\tmembers.push(propertySignature);\n\t\t}\n\t}\n\n\tconst interfaceName = `${className}Params`;\n\n\tlet interfaceDeclaration = ts.factory.createInterfaceDeclaration(\n\t\tundefined,\n\t\tinterfaceName,\n\t\tundefined,\n\t\tundefined,\n\t\tmembers,\n\t);\n\n\tinterfaceDeclaration = ts.addSyntheticLeadingComment(\n\t\tinterfaceDeclaration,\n\t\tts.SyntaxKind.MultiLineCommentTrivia,\n\t\t`*\\n * Parameters for the ${className} class\\n `,\n\t\ttrue,\n\t);\n\n\tconst printer = ts.createPrinter();\n\tconst content = printer\n\t\t.printNode(\n\t\t\tts.EmitHint.Unspecified,\n\t\t\tinterfaceDeclaration,\n\t\t\tts.createSourceFile(\"index.ts\", \"\", ts.ScriptTarget.Latest),\n\t\t)\n\t\t.replace(/ /g, \"\\t\");\n\n\tconst outFile = path.join(location.scriptsDir, `${interfaceName}.txt`);\n\n\tfs.writeFileSync(\n\t\toutFile,\n\t\t`Generated parameters interface for ${className}. Insert the interface declaration next to the class and use it as the type for the parameters. Afterwards you can delete this file.` +\n\t\t\tos.EOL +\n\t\t\tos.EOL +\n\t\t\tcontent,\n\t);\n};\n"],"names":["generateParameterType","location","name","index","readPackageCreatorIndex","manifest","readPackageCreatorManifest","undefined","Error","qualifiedName","className","scope","Scope","Package","startsWith","slice","length","informations","find","item","Name","members","Parameters","sortedList","sort","a","b","DisplayIndex","parameter","jsType","getCreatorIndexParameterPrimaryJSType","Type","type","ts","factory","createTypeReferenceNode","createUnionTypeNode","propertySignature","createPropertySignature","Required","createToken","SyntaxKind","QuestionToken","jsdocParts","Description","push","Default","jsdocContent","map","part","join","addSyntheticLeadingComment","MultiLineCommentTrivia","interfaceName","interfaceDeclaration","createInterfaceDeclaration","printer","createPrinter","content","printNode","EmitHint","Unspecified","createSourceFile","ScriptTarget","Latest","replace","outFile","path","scriptsDir","fs","writeFileSync","os","EOL"],"mappings":"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"}
1
+ {"version":3,"file":"generateParameterType-a547b489.mjs","sources":["../src/commands/generateParameterType.ts"],"sourcesContent":["import ts from \"typescript\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport * as os from \"os\";\n\nimport {\n\tPackageLocation,\n\tgetCreatorIndexParameterPrimaryJSType,\n\treadPackageCreatorIndex,\n\treadPackageCreatorManifest,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nexport interface GenerateParameterTypeOptions {\n\tlocation: PackageLocation;\n\tname: string;\n}\n\nexport const generateParameterType = ({\n\tlocation,\n\tname,\n}: GenerateParameterTypeOptions) => {\n\tconst index = readPackageCreatorIndex(location);\n\tconst manifest = readPackageCreatorManifest(location);\n\n\tif (index === undefined) {\n\t\tthrow new Error(`Could not find the _Index.json file`);\n\t}\n\n\tlet qualifiedName = name;\n\tlet className = name;\n\n\tconst scope = manifest.Scope ?? manifest.Package;\n\n\tif (name.startsWith(scope)) {\n\t\tclassName = name.slice(scope.length + 1);\n\t} else {\n\t\tqualifiedName = `${scope}.${name}`;\n\t}\n\n\tconst informations = index.find((item) => item.Name === qualifiedName);\n\n\tif (informations === undefined) {\n\t\tthrow new Error(`Could not find an index entry for ${name}`);\n\t}\n\n\tconst members: ts.TypeElement[] = [];\n\n\tif (informations.Parameters !== undefined) {\n\t\tconst sortedList = informations.Parameters.slice();\n\t\tsortedList.sort((a, b) => a.DisplayIndex - b.DisplayIndex);\n\n\t\tfor (const parameter of sortedList) {\n\t\t\tconst jsType = getCreatorIndexParameterPrimaryJSType(\n\t\t\t\tparameter.Type,\n\t\t\t);\n\n\t\t\tconst type =\n\t\t\t\tjsType === \"string\"\n\t\t\t\t\t? ts.factory.createTypeReferenceNode(\"string\")\n\t\t\t\t\t: ts.factory.createUnionTypeNode([\n\t\t\t\t\t\t\tts.factory.createTypeReferenceNode(jsType),\n\t\t\t\t\t\t\tts.factory.createTypeReferenceNode(\"string\"),\n\t\t\t\t\t ]);\n\n\t\t\tlet propertySignature = ts.factory.createPropertySignature(\n\t\t\t\tundefined,\n\t\t\t\tparameter.Name,\n\t\t\t\tparameter.Required\n\t\t\t\t\t? undefined\n\t\t\t\t\t: ts.factory.createToken(ts.SyntaxKind.QuestionToken),\n\t\t\t\ttype,\n\t\t\t);\n\n\t\t\tconst jsdocParts: string[] = [];\n\n\t\t\tif (parameter.Description !== undefined) {\n\t\t\t\tjsdocParts.push(parameter.Description, \"\");\n\t\t\t}\n\n\t\t\tjsdocParts.push(`@creatorType ${parameter.Type}`);\n\n\t\t\tif (jsType === \"string\") {\n\t\t\t\tjsdocParts.push(`@default \"${parameter.Default}\"`);\n\t\t\t} else {\n\t\t\t\tjsdocParts.push(`@default ${parameter.Default}`);\n\t\t\t}\n\n\t\t\tconst jsdocContent = jsdocParts\n\t\t\t\t.map((part) => `* ${part}`)\n\t\t\t\t.join(\"\\n \");\n\t\t\tpropertySignature = ts.addSyntheticLeadingComment(\n\t\t\t\tpropertySignature,\n\t\t\t\tts.SyntaxKind.MultiLineCommentTrivia,\n\t\t\t\t`*\\n ${jsdocContent}\\n `,\n\t\t\t\ttrue,\n\t\t\t);\n\n\t\t\tmembers.push(propertySignature);\n\t\t}\n\t}\n\n\tconst interfaceName = `${className}Params`;\n\n\tlet interfaceDeclaration = ts.factory.createInterfaceDeclaration(\n\t\tundefined,\n\t\tinterfaceName,\n\t\tundefined,\n\t\tundefined,\n\t\tmembers,\n\t);\n\n\tinterfaceDeclaration = ts.addSyntheticLeadingComment(\n\t\tinterfaceDeclaration,\n\t\tts.SyntaxKind.MultiLineCommentTrivia,\n\t\t`*\\n * Parameters for the ${className} class\\n `,\n\t\ttrue,\n\t);\n\n\tconst printer = ts.createPrinter();\n\tconst content = printer\n\t\t.printNode(\n\t\t\tts.EmitHint.Unspecified,\n\t\t\tinterfaceDeclaration,\n\t\t\tts.createSourceFile(\"index.ts\", \"\", ts.ScriptTarget.Latest),\n\t\t)\n\t\t.replace(/ /g, \"\\t\");\n\n\tconst outFile = path.join(location.scriptsDir, `${interfaceName}.txt`);\n\n\tfs.writeFileSync(\n\t\toutFile,\n\t\t`Generated parameters interface for ${className}. Insert the interface declaration next to the class and use it as the type for the parameters. Afterwards you can delete this file.` +\n\t\t\tos.EOL +\n\t\t\tos.EOL +\n\t\t\tcontent,\n\t);\n};\n"],"names":["generateParameterType","location","name","index","readPackageCreatorIndex","manifest","readPackageCreatorManifest","undefined","Error","qualifiedName","className","scope","Scope","Package","startsWith","slice","length","informations","find","item","Name","members","Parameters","sortedList","sort","a","b","DisplayIndex","parameter","jsType","getCreatorIndexParameterPrimaryJSType","Type","type","ts","factory","createTypeReferenceNode","createUnionTypeNode","propertySignature","createPropertySignature","Required","createToken","SyntaxKind","QuestionToken","jsdocParts","Description","push","Default","jsdocContent","map","part","join","addSyntheticLeadingComment","MultiLineCommentTrivia","interfaceName","interfaceDeclaration","createInterfaceDeclaration","printer","createPrinter","content","printNode","EmitHint","Unspecified","createSourceFile","ScriptTarget","Latest","replace","outFile","path","scriptsDir","fs","writeFileSync","os","EOL"],"mappings":";;;;;;;;;;;;;;;;;;;;AAiBO,MAAMA,wBAAwB,CAAC,EACrCC,WACAC,IAAAA,GAC8B,GAAK;AACnC,IAAA,MAAMC,QAAQC,uBAAwBH,CAAAA,QAAAA,CAAAA,CAAAA;AACtC,IAAA,MAAMI,WAAWC,0BAA2BL,CAAAA,QAAAA,CAAAA,CAAAA;AAE5C,IAAA,IAAIE,UAAUI,SAAW,EAAA;AACxB,QAAA,MAAM,IAAIC,KAAAA,CAAM,CAAC,mCAAmC,CAAC,CAAE,CAAA;KACvD;AAED,IAAA,IAAIC,aAAgBP,GAAAA,IAAAA,CAAAA;AACpB,IAAA,IAAIQ,SAAYR,GAAAA,IAAAA,CAAAA;AAEhB,IAAA,MAAMS,KAAQN,GAAAA,QAAAA,CAASO,KAAK,IAAIP,SAASQ,OAAO,CAAA;IAEhD,IAAIX,IAAAA,CAAKY,UAAU,CAACH,KAAQ,CAAA,EAAA;AAC3BD,QAAAA,SAAAA,GAAYR,IAAKa,CAAAA,KAAK,CAACJ,KAAAA,CAAMK,MAAM,GAAG,CAAA,CAAA,CAAA;KAChC,MAAA;AACNP,QAAAA,aAAAA,GAAgB,CAAC,EAAEE,KAAAA,CAAM,CAAC,EAAET,KAAK,CAAC,CAAA;KAClC;IAED,MAAMe,YAAAA,GAAed,MAAMe,IAAI,CAAC,CAACC,IAASA,GAAAA,IAAAA,CAAKC,IAAI,KAAKX,aAAAA,CAAAA,CAAAA;AAExD,IAAA,IAAIQ,iBAAiBV,SAAW,EAAA;AAC/B,QAAA,MAAM,IAAIC,KAAM,CAAA,CAAC,kCAAkC,EAAEN,IAAAA,CAAK,CAAC,CAAE,CAAA;KAC7D;AAED,IAAA,MAAMmB,UAA4B,EAAE,CAAA;IAEpC,IAAIJ,YAAAA,CAAaK,UAAU,KAAKf,SAAW,EAAA;AAC1C,QAAA,MAAMgB,UAAaN,GAAAA,YAAAA,CAAaK,UAAU,CAACP,KAAK,EAAA,CAAA;QAChDQ,UAAWC,CAAAA,IAAI,CAAC,CAACC,CAAAA,EAAGC,IAAMD,CAAEE,CAAAA,YAAY,GAAGD,CAAAA,CAAEC,YAAY,CAAA,CAAA;QAEzD,KAAK,MAAMC,aAAaL,UAAY,CAAA;YACnC,MAAMM,MAAAA,GAASC,qCACdF,CAAAA,SAAAA,CAAUG,IAAI,CAAA,CAAA;AAGf,YAAA,MAAMC,IACLH,GAAAA,MAAAA,KAAW,QACRI,GAAAA,EAAAA,CAAGC,OAAO,CAACC,uBAAuB,CAAC,QACnCF,CAAAA,GAAAA,EAAAA,CAAGC,OAAO,CAACE,mBAAmB,CAAC;gBAC/BH,EAAGC,CAAAA,OAAO,CAACC,uBAAuB,CAACN,MAAAA,CAAAA;gBACnCI,EAAGC,CAAAA,OAAO,CAACC,uBAAuB,CAAC,QAAA,CAAA;aAClC,CAAC,CAAA;YAEN,IAAIE,iBAAAA,GAAoBJ,EAAGC,CAAAA,OAAO,CAACI,uBAAuB,CACzD/B,SACAqB,EAAAA,SAAAA,CAAUR,IAAI,EACdQ,SAAUW,CAAAA,QAAQ,GACfhC,SACA0B,GAAAA,EAAAA,CAAGC,OAAO,CAACM,WAAW,CAACP,GAAGQ,UAAU,CAACC,aAAa,CAAC,EACtDV,IAAAA,CAAAA,CAAAA;AAGD,YAAA,MAAMW,aAAuB,EAAE,CAAA;YAE/B,IAAIf,SAAAA,CAAUgB,WAAW,KAAKrC,SAAW,EAAA;AACxCoC,gBAAAA,UAAAA,CAAWE,IAAI,CAACjB,SAAUgB,CAAAA,WAAW,EAAE,EAAA,CAAA,CAAA;aACvC;YAEDD,UAAWE,CAAAA,IAAI,CAAC,CAAC,aAAa,EAAEjB,SAAUG,CAAAA,IAAI,CAAC,CAAC,CAAA,CAAA;AAEhD,YAAA,IAAIF,WAAW,QAAU,EAAA;gBACxBc,UAAWE,CAAAA,IAAI,CAAC,CAAC,UAAU,EAAEjB,SAAUkB,CAAAA,OAAO,CAAC,CAAC,CAAC,CAAA,CAAA;aAC3C,MAAA;gBACNH,UAAWE,CAAAA,IAAI,CAAC,CAAC,SAAS,EAAEjB,SAAUkB,CAAAA,OAAO,CAAC,CAAC,CAAA,CAAA;aAC/C;AAED,YAAA,MAAMC,YAAeJ,GAAAA,UAAAA,CACnBK,GAAG,CAAC,CAACC,IAAAA,GAAS,CAAC,EAAE,EAAEA,IAAAA,CAAK,CAAC,CAAA,CACzBC,IAAI,CAAC,KAAA,CAAA,CAAA;AACPb,YAAAA,iBAAAA,GAAoBJ,GAAGkB,0BAA0B,CAChDd,iBACAJ,EAAAA,EAAAA,CAAGQ,UAAU,CAACW,sBAAsB,EACpC,CAAC,IAAI,EAAEL,YAAAA,CAAa,GAAG,CAAC,EACxB,IAAI,CAAA,CAAA;AAGL1B,YAAAA,OAAAA,CAAQwB,IAAI,CAACR,iBAAAA,CAAAA,CAAAA;AACd,SAAA;KACA;AAED,IAAA,MAAMgB,aAAgB,GAAA,CAAC,EAAE3C,SAAAA,CAAU,MAAM,CAAC,CAAA;IAE1C,IAAI4C,oBAAAA,GAAuBrB,GAAGC,OAAO,CAACqB,0BAA0B,CAC/DhD,SAAAA,EACA8C,aACA9C,EAAAA,SAAAA,EACAA,SACAc,EAAAA,OAAAA,CAAAA,CAAAA;AAGDiC,IAAAA,oBAAAA,GAAuBrB,GAAGkB,0BAA0B,CACnDG,oBACArB,EAAAA,EAAAA,CAAGQ,UAAU,CAACW,sBAAsB,EACpC,CAAC,yBAAyB,EAAE1C,SAAAA,CAAU,SAAS,CAAC,EAChD,IAAI,CAAA,CAAA;IAGL,MAAM8C,OAAAA,GAAUvB,GAAGwB,aAAa,EAAA,CAAA;IAChC,MAAMC,OAAAA,GAAUF,QACdG,SAAS,CACT1B,GAAG2B,QAAQ,CAACC,WAAW,EACvBP,oBACArB,EAAAA,EAAAA,CAAG6B,gBAAgB,CAAC,UAAA,EAAY,IAAI7B,EAAG8B,CAAAA,YAAY,CAACC,MAAM,CAAA,CAAA,CAE1DC,OAAO,CAAC,OAAS,EAAA,IAAA,CAAA,CAAA;IAEnB,MAAMC,OAAAA,GAAUC,IAAKjB,CAAAA,IAAI,CAACjD,QAAAA,CAASmE,UAAU,EAAE,CAAC,EAAEf,aAAc,CAAA,IAAI,CAAC,CAAA,CAAA;AAErEgB,IAAAA,EAAAA,CAAGC,aAAa,CACfJ,OACA,EAAA,CAAC,mCAAmC,EAAExD,SAAAA,CAAU,oIAAoI,CAAC,GACpL6D,EAAGC,CAAAA,GAAG,GACND,EAAAA,CAAGC,GAAG,GACNd,OAAAA,CAAAA,CAAAA;AAEH;;;;"}
@@ -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-c15a4b62.mjs';
6
+ import { r as readPackageCreatorManifest, c as readPackageAnimationList, q as readPackageNpmManifest } from './cli-69a2e2f1.mjs';
7
7
  import { g as getPackageTypescriptFiles } from './scripts-7ed8dff6.mjs';
8
8
  import 'node:path';
9
9
  import 'node:fs';
@@ -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-4dbcbb2b.mjs.map
380
+ //# sourceMappingURL=index-aecc36ad.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-4dbcbb2b.mjs","sources":["../../tools.core/build/log.mjs","../src/commands/build/tsc.ts","../src/commands/build/docs.ts","../src/lib/toposort.ts","../src/commands/build/index.ts"],"sourcesContent":["const logPackageMessage = (name, step, index, total)=>{\n const numLength = total === undefined ? undefined : total.toString().length;\n const indexString = total === undefined || total < 2 ? \"\" : `${index.toString().padStart(numLength, \"0\")}/${total} `;\n const identifierString = `${indexString}${name.padEnd(15)}`;\n console.log(`${identifierString} >> ${step}`);\n};\n\nexport { logPackageMessage };\n//# sourceMappingURL=log.mjs.map\n","import ts from \"typescript\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { PackageLocation } from \"../../lib/package\";\n\nimport { FolderBuilder } from \".\";\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\n\nexport const tryReadTsConfig = (location: PackageLocation) => {\n\tconst { config } = ts.readConfigFile(\n\t\tpath.join(location.scriptsDir, \"tsconfig.json\"),\n\t\t(path) => {\n\t\t\ttry {\n\t\t\t\treturn fs.readFileSync(path, \"utf8\");\n\t\t\t} catch {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\t);\n\n\treturn config as {\n\t\tcompilerOptions: ts.CompilerOptions;\n\t};\n};\n\nexport const build: FolderBuilder = async (\n\tlocation: PackageLocation,\n\toutputDir: string,\n) => {\n\tconst config = tryReadTsConfig(location);\n\n\tconfig.compilerOptions.lib = [\"es5\", \"dom\"];\n\n\tconst result = ts.convertCompilerOptionsFromJson(\n\t\tconfig.compilerOptions,\n\t\tlocation.scriptsDir,\n\t);\n\n\tconst compilerOptions: ts.CompilerOptions = {\n\t\t...result.options,\n\t\tremoveComments: false,\n\t\tdeclaration: true,\n\t\tsourceMap: false,\n\t\t// We don't use tsc to actually emit the files, but we still need to set the correct\n\t\t// output directory so the compiler can rewrite the `reference path` directives.\n\t\toutFile: path.join(outputDir, \"out.js\"),\n\t\ttarget: ts.ScriptTarget.ES5,\n\t\tnoEmitOnError: true,\n\t};\n\n\tconst host = ts.createCompilerHost(compilerOptions);\n\thost.getCurrentDirectory = () => location.scriptsDir;\n\n\tlet js: string | undefined;\n\tlet definitions: string | undefined;\n\n\thost.writeFile = (fileName, data, writeByteOrderMark) => {\n\t\tif (fileName.endsWith(\".js\")) {\n\t\t\tjs = data;\n\t\t} else if (fileName.endsWith(\".d.ts\")) {\n\t\t\tdefinitions = data;\n\t\t}\n\t};\n\n\tconst files = getPackageTypescriptFiles(location);\n\n\tif (files.length === 0) {\n\t\tthrow new Error(\n\t\t\t`Expected typescript files to exist when building a package. Packages only consisting of animation jsons do not need to be built.`,\n\t\t);\n\t}\n\n\tconst programOptions: ts.CreateProgramOptions = {\n\t\trootNames: files,\n\t\toptions: compilerOptions,\n\t\thost,\n\t};\n\n\tconst program = ts.createProgram(programOptions);\n\tconst emitResult = program.emit();\n\tconst allDiagnostics = ts.getPreEmitDiagnostics(program);\n\n\tif (!emitResult.emitSkipped) {\n\t\tif (allDiagnostics.length > 0) {\n\t\t\tconsole.log(allDiagnostics.map(createErrorMessage).join(\"\\n\"));\n\t\t}\n\n\t\tif (js === undefined || definitions === undefined) {\n\t\t\tthrow new Error(`Unexpected: no js or definitions were created`);\n\t\t}\n\n\t\treturn { js, definitions };\n\t}\n\n\tconst error = allDiagnostics.map(createErrorMessage).join(\"\\n\");\n\n\tthrow new Error(error);\n};\n\nconst createErrorMessage = (diagnostic: ts.Diagnostic) => {\n\tif (!diagnostic.file) {\n\t\treturn `${ts.flattenDiagnosticMessageText(\n\t\t\tdiagnostic.messageText,\n\t\t\t\"\\n\",\n\t\t)}`;\n\t}\n\n\tconst { line, character } = diagnostic.file.getLineAndCharacterOfPosition(\n\t\tdiagnostic.start!,\n\t);\n\n\tconst message = ts.flattenDiagnosticMessageText(\n\t\tdiagnostic.messageText,\n\t\t\"\\n\",\n\t);\n\n\treturn `${diagnostic.file.fileName} (${line + 1},${\n\t\tcharacter + 1\n\t}): ${message}`;\n};\n","import typedoc from \"typedoc\";\nimport glob from \"glob\";\nimport ts from \"typescript\";\nimport * as path from \"path\";\nimport { PackageLocation } from \"../../lib/package\";\n\nexport const generateDocs = async (\n\tlocation: PackageLocation,\n\tdeclarationFile: string,\n\toutFolder: string,\n\tname: string,\n) => {\n\tconst app = new typedoc.Application();\n\n\tconst mediaDir = path.join(location.manifestDir, \"Media\");\n\n\tapp.bootstrap({\n\t\tentryPoints: [declarationFile],\n\t\tmedia: mediaDir,\n\t\tout: outFolder,\n\t\ttsconfig: path.join(location.scriptsDir, \"tsconfig.json\"),\n\t\tskipErrorChecking: true,\n\t});\n\n\tapp.options.setCompilerOptions(\n\t\t[declarationFile],\n\t\t{\n\t\t\ttarget: ts.ScriptTarget.ES5,\n\t\t},\n\t\tundefined,\n\t);\n\n\tapp.options.setValue(\"name\", name);\n\n\tconst [readmePath] = glob.sync(\"**/readme.md\", {\n\t\tabsolute: true,\n\t\tcwd: location.manifestDir,\n\t});\n\n\tif (readmePath) {\n\t\tapp.options.setValue(\"readme\", readmePath);\n\t}\n\n\tconst project = app.convert();\n\n\tif (project) {\n\t\tawait app.generateDocs(project, outFolder);\n\t}\n};\n","// Stolen from ig.tools.core\n\nexport const toposort = (packages: Record<string, string[]>) => {\n\tconst queue = Object.getOwnPropertyNames(packages);\n\tconst result: string[] = [];\n\n\tlet index = 0;\n\n\twhile (queue.length > 0) {\n\t\tif (index >= queue.length) {\n\t\t\tthrow new Error(\"Packages can not have cyclic dependencies\");\n\t\t}\n\n\t\tconst queueEntry = queue[index];\n\n\t\tconst dependencies = packages[queueEntry];\n\t\tconst dependencyQueued = dependencies.some((dependency) =>\n\t\t\tqueue.includes(dependency),\n\t\t);\n\n\t\tif (dependencyQueued) {\n\t\t\tindex++;\n\t\t\tcontinue;\n\t\t}\n\n\t\tqueue.splice(index, 1);\n\t\tindex = 0;\n\t\tresult.push(queueEntry);\n\t}\n\n\treturn result;\n};\n","import * as path from \"path\";\nimport * as fs from \"fs\";\nimport * as terser from \"terser\";\n\nimport { logPackageMessage } from \"../../lib/log\";\nimport { build as tscBuild } from \"./tsc\";\nimport { generateDocs } from \"./docs\";\nimport {\n\tPackageLocation,\n\treadPackageAnimationList,\n\treadPackageCreatorManifest,\n\treadPackageNpmManifest,\n} from \"../../lib/package\";\nimport { WorkspaceLocation } from \"../../lib/workspace\";\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\nimport { toposort } from \"../../lib/toposort\";\nimport { PackageJSON } from \"../../lib/packageJSON\";\nimport Ajv, { ValidateFunction } from \"ajv\";\nimport axios from \"axios\";\n\nexport interface BannerOptions {\n\ttext: string | undefined;\n\tversion: string | undefined;\n\tcommit: string | undefined;\n\tcommitDirty: boolean | undefined;\n\tdate: Date | undefined;\n}\n\nexport interface BuildFoldersOptions {\n\tworkspace: WorkspaceLocation;\n\tpackages: PackageLocation[];\n\toutDir?: string;\n\tminimize: boolean;\n\tbanner?: BannerOptions;\n\tclean?: boolean;\n\tdocs?: boolean;\n}\n\nexport interface BuildFolderOptions extends BuildFoldersOptions {\n\toutFile: string;\n}\n\nexport interface FolderBuilderResult {\n\tjs: string;\n\tdefinitions: string;\n}\n\nexport type FolderBuilder = (\n\tlocation: PackageLocation,\n\toutputDir: string,\n) => Promise<FolderBuilderResult>;\n\ntype FolderData = {\n\tlocation: PackageLocation;\n\tdata?: PackageJSON;\n};\n\nlet validateAnimationJson: ValidateFunction | undefined;\n\nconst getAnimationJsonValidation = async () => {\n\tif (validateAnimationJson === undefined) {\n\t\tvalidateAnimationJson = await axios\n\t\t\t.get(\n\t\t\t\t\"https://archive.intelligentgraphics.biz/schemas/gfx/animation.json\",\n\t\t\t)\n\t\t\t.then(({ data }) =>\n\t\t\t\tnew Ajv({\n\t\t\t\t\tcoerceTypes: true,\n\t\t\t\t\tallErrors: true,\n\t\t\t\t\tremoveAdditional: true,\n\t\t\t\t\tuseDefaults: \"empty\",\n\t\t\t\t\tvalidateSchema: \"log\",\n\t\t\t\t}).compile(data),\n\t\t\t);\n\t}\n\n\treturn validateAnimationJson!;\n};\n\nexport const buildFolders = async (options: BuildFoldersOptions) => {\n\tif (options.outDir !== undefined && options.clean) {\n\t\tfs.rmSync(options.outDir, { recursive: true });\n\t}\n\n\tconst workspace = options.workspace;\n\tconst folders = options.packages;\n\n\tlet sortedPackages = sortPackagesByBuildOrder(folders);\n\n\tlet index = 1;\n\n\tfor (const location of sortedPackages) {\n\t\tconst hasTypescript = getPackageTypescriptFiles(location).length > 0;\n\n\t\tensureTsConfig(location);\n\n\t\tconst data = readPackageCreatorManifest(location);\n\n\t\tconst logStep = (step: string) =>\n\t\t\tlogPackageMessage(data.Package, step, index, folders.length);\n\n\t\tconst outputDirectory = options.outDir || location.scriptsDir;\n\t\tfs.mkdirSync(outputDirectory, { recursive: true });\n\n\t\tlet buildResult: {\n\t\t\tjs: string;\n\t\t\tdefinitions?: string;\n\t\t};\n\n\t\tif (hasTypescript) {\n\t\t\tlogStep(\"Compiling typescript to javascript\");\n\t\t\tbuildResult = await tscBuild(location, outputDirectory);\n\t\t} else {\n\t\t\tbuildResult = {\n\t\t\t\tjs: \"\",\n\t\t\t};\n\t\t}\n\n\t\tconst banner = options.banner\n\t\t\t? createBannerComment(options.banner)\n\t\t\t: undefined;\n\n\t\tif (banner) {\n\t\t\tbuildResult.js = banner + \"\\n\" + buildResult.js;\n\t\t\tif (buildResult.definitions !== undefined) {\n\t\t\t\tbuildResult.definitions =\n\t\t\t\t\tbanner + \"\\n\" + buildResult.definitions;\n\t\t\t}\n\t\t}\n\n\t\tconst animations = new Map<string, string>();\n\n\t\tfor (const scriptFilePath of readPackageAnimationList(location)) {\n\t\t\tconst content = fs.readFileSync(scriptFilePath, {\n\t\t\t\tencoding: \"utf8\",\n\t\t\t})!;\n\n\t\t\tlet data: { Id: string; $schema?: string };\n\n\t\t\ttry {\n\t\t\t\tdata = JSON.parse(content);\n\t\t\t} catch (err) {\n\t\t\t\tconst relativePath = path.relative(\n\t\t\t\t\toptions.workspace.path,\n\t\t\t\t\tscriptFilePath,\n\t\t\t\t);\n\n\t\t\t\tif (err instanceof SyntaxError) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Encountered invalid syntax in file \"${relativePath}\": ${String(\n\t\t\t\t\t\t\terr,\n\t\t\t\t\t\t)}`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Encountered an unexpected error while parsing animation json file at path \"${relativePath}\"`,\n\t\t\t\t\t{\n\t\t\t\t\t\tcause: err,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (!data.Id) {\n\t\t\t\tconst fileName = path.basename(\n\t\t\t\t\tscriptFilePath,\n\t\t\t\t\t\".animation.json\",\n\t\t\t\t);\n\t\t\t\tdata.Id = fileName;\n\t\t\t}\n\n\t\t\t(await getAnimationJsonValidation())(data);\n\t\t\tdelete data.$schema;\n\t\t\tanimations.set(data.Id, JSON.stringify(data));\n\t\t}\n\n\t\tif (animations.size > 0) {\n\t\t\tconst scope = data.Scope ?? data.Package;\n\t\t\tconst scopeParts = scope.split(\".\");\n\n\t\t\tbuildResult.js += createNamespace(scopeParts);\n\n\t\t\tfor (const [name, content] of animations) {\n\t\t\t\tbuildResult.js += `${scope}[\"${name}\"] = ` + content + \";\";\n\t\t\t\tlogPackageMessage(\n\t\t\t\t\tdata.Package,\n\t\t\t\t\t`Adding animation ${scope}.${name}`,\n\t\t\t\t);\n\t\t\t}\n\t\t} else if (!hasTypescript) {\n\t\t\tthrow new Error(\n\t\t\t\t`Expected package to have a least one ts file or one animation.json file`,\n\t\t\t);\n\t\t}\n\n\t\tfs.writeFileSync(\n\t\t\tpath.join(outputDirectory, `${data.Package}.js`),\n\t\t\tbuildResult.js,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\t\tif (buildResult.definitions !== undefined) {\n\t\t\tfs.writeFileSync(\n\t\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\n\t\t\t\tbuildResult.definitions,\n\t\t\t\t{ encoding: \"utf8\" },\n\t\t\t);\n\t\t}\n\n\t\tif (options.minimize) {\n\t\t\tconst minifyResult = await terser.minify(buildResult.js, {\n\t\t\t\tecma: 5,\n\t\t\t});\n\n\t\t\tconst minifiedPath = path.join(\n\t\t\t\toutputDirectory,\n\t\t\t\t`${data.Package}.min.js`,\n\t\t\t);\n\t\t\tfs.writeFileSync(minifiedPath, minifyResult.code!, {\n\t\t\t\tencoding: \"utf8\",\n\t\t\t});\n\t\t}\n\n\t\tif (\n\t\t\tlocation.path.includes(\"Basics\") &&\n\t\t\tbuildResult.definitions !== undefined\n\t\t) {\n\t\t\tfs.mkdirSync(path.join(workspace.path, \"lib\"), {\n\t\t\t\trecursive: true,\n\t\t\t});\n\n\t\t\tlogStep(\"Copying basics definition file to the lib folder\");\n\t\t\tfs.writeFileSync(\n\t\t\t\tpath.join(workspace.path, \"lib\", `${data.Package}.d.ts`),\n\t\t\t\tbuildResult.definitions,\n\t\t\t\t{ encoding: \"utf8\" },\n\t\t\t);\n\t\t}\n\n\t\tif (options.docs) {\n\t\t\tlogStep(\"Generating typedoc documentation\");\n\t\t\tawait generateDocs(\n\t\t\t\tlocation,\n\t\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\n\t\t\t\tpath.join(workspace.path, \"docs\", data.Package),\n\t\t\t\tdata.Package,\n\t\t\t);\n\t\t}\n\n\t\tindex++;\n\t}\n};\n\nconst createNamespace = (parts: string[]) => {\n\tlet code = `var ${parts[0]};`;\n\n\tfor (let index = 0; index < parts.length; index++) {\n\t\tconst path = parts.slice(0, index + 1).join(\".\");\n\n\t\tcode += `\\n(${path} = ${path} || {});`;\n\t}\n\n\treturn code;\n};\n\nconst ensureTsConfig = (location: PackageLocation) => {\n\tconst tsconfigPath = path.join(location.scriptsDir, \"tsconfig.json\");\n\n\tif (!fs.existsSync(tsconfigPath)) {\n\t\tconst content = {};\n\t\tapplyTsConfigOption(content);\n\n\t\tfs.writeFileSync(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t} else {\n\t\tconst content = JSON.parse(fs.readFileSync(tsconfigPath, \"utf8\"));\n\t\tapplyTsConfigOption(content);\n\t\tfs.writeFileSync(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t}\n};\n\nconst applyTsConfigOption = (data: {\n\tcompilerOptions?: { target?: string; lib?: string[] };\n}) => {\n\tdata.compilerOptions = data.compilerOptions ?? {};\n\tdata.compilerOptions.target = \"es5\";\n\tdata.compilerOptions.lib = [\"es5\", \"dom\"];\n};\n\nconst sortPackagesByBuildOrder = (\n\tfolders: PackageLocation[],\n): PackageLocation[] => {\n\tconst packages = Array.from(folders).reduce(\n\t\t(\n\t\t\tacc: Record<string, FolderData>,\n\t\t\tlocation,\n\t\t): Record<string, FolderData> => {\n\t\t\tconst data = readPackageNpmManifest(location);\n\n\t\t\tif (data !== undefined) {\n\t\t\t\tacc[data.name] = {\n\t\t\t\t\tdata,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tacc[location.path] = {\n\t\t\t\t\tdata: undefined,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst packageDependencies = Object.getOwnPropertyNames(packages).reduce(\n\t\t(acc, packageName) => {\n\t\t\tconst packageData = packages[packageName];\n\n\t\t\tif (packageData.data === undefined) {\n\t\t\t\tacc[packageName] = [];\n\t\t\t} else {\n\t\t\t\tacc[packageName] = Object.getOwnPropertyNames({\n\t\t\t\t\t...packageData.data.devDependencies,\n\t\t\t\t\t...packageData.data.dependencies,\n\t\t\t\t\t...packageData.data.peerDependencies,\n\t\t\t\t}).filter((packageName) => packages[packageName] !== undefined);\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst sortedPackages = toposort(packageDependencies);\n\tconst result: PackageLocation[] = [];\n\n\tfor (const packageName of sortedPackages) {\n\t\tconst location = packages[packageName].location;\n\n\t\tif (readPackageCreatorManifest(location).Package.endsWith(\".Basics\")) {\n\t\t\tresult.unshift(location);\n\t\t} else {\n\t\t\tresult.push(location);\n\t\t}\n\t}\n\n\treturn result;\n};\n\nconst createBannerComment = (banner: BannerOptions) => {\n\tconst bannerParts: string[] = [];\n\n\tif (banner.text) {\n\t\tbannerParts.push(\" * \" + banner.text);\n\t}\n\n\t{\n\t\tconst details: string[] = [];\n\n\t\tif (banner.version) {\n\t\t\tdetails.push(`Version: ${banner.version}`);\n\t\t}\n\t\tif (banner.commit) {\n\t\t\tif (banner.commitDirty) {\n\t\t\t\tdetails.push(`Commit: ${banner.commit} (dirty)`);\n\t\t\t} else {\n\t\t\t\tdetails.push(`Commit: ${banner.commit}`);\n\t\t\t}\n\t\t}\n\t\tif (banner.date) {\n\t\t\tdetails.push(`Date: ${banner.date.toISOString()}`);\n\t\t}\n\n\t\tconst detailsText = details.map((line) => ` * ${line}`).join(\"\\n\");\n\t\tif (detailsText) {\n\t\t\tbannerParts.push(detailsText);\n\t\t}\n\t}\n\n\tconst bannerText = bannerParts.join(\"\\n\\n\");\n\n\tif (bannerText) {\n\t\treturn `/*\n${bannerText}\n*\n* @preserve\t\t\t\n*/`;\n\t}\n\n\treturn undefined;\n};\n"],"names":["logPackageMessage","name","step","index","total","numLength","undefined","toString","length","indexString","padStart","identifierString","padEnd","console","log","tryReadTsConfig","location","config","ts","readConfigFile","path","join","scriptsDir","fs","readFileSync","build","outputDir","compilerOptions","lib","result","convertCompilerOptionsFromJson","options","removeComments","declaration","sourceMap","outFile","target","ScriptTarget","ES5","noEmitOnError","host","createCompilerHost","getCurrentDirectory","js","definitions","writeFile","fileName","data","writeByteOrderMark","endsWith","files","getPackageTypescriptFiles","Error","programOptions","rootNames","program","createProgram","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","emitSkipped","map","createErrorMessage","error","diagnostic","file","flattenDiagnosticMessageText","messageText","line","character","getLineAndCharacterOfPosition","start","message","generateDocs","declarationFile","outFolder","app","typedoc","Application","mediaDir","manifestDir","bootstrap","entryPoints","media","out","tsconfig","skipErrorChecking","setCompilerOptions","setValue","readmePath","glob","sync","absolute","cwd","project","convert","toposort","packages","queue","Object","getOwnPropertyNames","queueEntry","dependencies","dependencyQueued","some","dependency","includes","splice","push","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":"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"}
1
+ {"version":3,"file":"index-aecc36ad.mjs","sources":["../../tools.core/build/log.mjs","../src/commands/build/tsc.ts","../src/commands/build/docs.ts","../src/lib/toposort.ts","../src/commands/build/index.ts"],"sourcesContent":["const logPackageMessage = (name, step, index, total)=>{\n const numLength = total === undefined ? undefined : total.toString().length;\n const indexString = total === undefined || total < 2 ? \"\" : `${index.toString().padStart(numLength, \"0\")}/${total} `;\n const identifierString = `${indexString}${name.padEnd(15)}`;\n console.log(`${identifierString} >> ${step}`);\n};\n\nexport { logPackageMessage };\n//# sourceMappingURL=log.mjs.map\n","import ts from \"typescript\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { PackageLocation } from \"../../lib/package\";\n\nimport { FolderBuilder } from \".\";\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\n\nexport const tryReadTsConfig = (location: PackageLocation) => {\n\tconst { config } = ts.readConfigFile(\n\t\tpath.join(location.scriptsDir, \"tsconfig.json\"),\n\t\t(path) => {\n\t\t\ttry {\n\t\t\t\treturn fs.readFileSync(path, \"utf8\");\n\t\t\t} catch {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\t);\n\n\treturn config as {\n\t\tcompilerOptions: ts.CompilerOptions;\n\t};\n};\n\nexport const build: FolderBuilder = async (\n\tlocation: PackageLocation,\n\toutputDir: string,\n) => {\n\tconst config = tryReadTsConfig(location);\n\n\tconfig.compilerOptions.lib = [\"es5\", \"dom\"];\n\n\tconst result = ts.convertCompilerOptionsFromJson(\n\t\tconfig.compilerOptions,\n\t\tlocation.scriptsDir,\n\t);\n\n\tconst compilerOptions: ts.CompilerOptions = {\n\t\t...result.options,\n\t\tremoveComments: false,\n\t\tdeclaration: true,\n\t\tsourceMap: false,\n\t\t// We don't use tsc to actually emit the files, but we still need to set the correct\n\t\t// output directory so the compiler can rewrite the `reference path` directives.\n\t\toutFile: path.join(outputDir, \"out.js\"),\n\t\ttarget: ts.ScriptTarget.ES5,\n\t\tnoEmitOnError: true,\n\t};\n\n\tconst host = ts.createCompilerHost(compilerOptions);\n\thost.getCurrentDirectory = () => location.scriptsDir;\n\n\tlet js: string | undefined;\n\tlet definitions: string | undefined;\n\n\thost.writeFile = (fileName, data, writeByteOrderMark) => {\n\t\tif (fileName.endsWith(\".js\")) {\n\t\t\tjs = data;\n\t\t} else if (fileName.endsWith(\".d.ts\")) {\n\t\t\tdefinitions = data;\n\t\t}\n\t};\n\n\tconst files = getPackageTypescriptFiles(location);\n\n\tif (files.length === 0) {\n\t\tthrow new Error(\n\t\t\t`Expected typescript files to exist when building a package. Packages only consisting of animation jsons do not need to be built.`,\n\t\t);\n\t}\n\n\tconst programOptions: ts.CreateProgramOptions = {\n\t\trootNames: files,\n\t\toptions: compilerOptions,\n\t\thost,\n\t};\n\n\tconst program = ts.createProgram(programOptions);\n\tconst emitResult = program.emit();\n\tconst allDiagnostics = ts.getPreEmitDiagnostics(program);\n\n\tif (!emitResult.emitSkipped) {\n\t\tif (allDiagnostics.length > 0) {\n\t\t\tconsole.log(allDiagnostics.map(createErrorMessage).join(\"\\n\"));\n\t\t}\n\n\t\tif (js === undefined || definitions === undefined) {\n\t\t\tthrow new Error(`Unexpected: no js or definitions were created`);\n\t\t}\n\n\t\treturn { js, definitions };\n\t}\n\n\tconst error = allDiagnostics.map(createErrorMessage).join(\"\\n\");\n\n\tthrow new Error(error);\n};\n\nconst createErrorMessage = (diagnostic: ts.Diagnostic) => {\n\tif (!diagnostic.file) {\n\t\treturn `${ts.flattenDiagnosticMessageText(\n\t\t\tdiagnostic.messageText,\n\t\t\t\"\\n\",\n\t\t)}`;\n\t}\n\n\tconst { line, character } = diagnostic.file.getLineAndCharacterOfPosition(\n\t\tdiagnostic.start!,\n\t);\n\n\tconst message = ts.flattenDiagnosticMessageText(\n\t\tdiagnostic.messageText,\n\t\t\"\\n\",\n\t);\n\n\treturn `${diagnostic.file.fileName} (${line + 1},${\n\t\tcharacter + 1\n\t}): ${message}`;\n};\n","import typedoc from \"typedoc\";\nimport glob from \"glob\";\nimport ts from \"typescript\";\nimport * as path from \"path\";\nimport { PackageLocation } from \"../../lib/package\";\n\nexport const generateDocs = async (\n\tlocation: PackageLocation,\n\tdeclarationFile: string,\n\toutFolder: string,\n\tname: string,\n) => {\n\tconst app = new typedoc.Application();\n\n\tconst mediaDir = path.join(location.manifestDir, \"Media\");\n\n\tapp.bootstrap({\n\t\tentryPoints: [declarationFile],\n\t\tmedia: mediaDir,\n\t\tout: outFolder,\n\t\ttsconfig: path.join(location.scriptsDir, \"tsconfig.json\"),\n\t\tskipErrorChecking: true,\n\t});\n\n\tapp.options.setCompilerOptions(\n\t\t[declarationFile],\n\t\t{\n\t\t\ttarget: ts.ScriptTarget.ES5,\n\t\t},\n\t\tundefined,\n\t);\n\n\tapp.options.setValue(\"name\", name);\n\n\tconst [readmePath] = glob.sync(\"**/readme.md\", {\n\t\tabsolute: true,\n\t\tcwd: location.manifestDir,\n\t});\n\n\tif (readmePath) {\n\t\tapp.options.setValue(\"readme\", readmePath);\n\t}\n\n\tconst project = app.convert();\n\n\tif (project) {\n\t\tawait app.generateDocs(project, outFolder);\n\t}\n};\n","// Stolen from ig.tools.core\n\nexport const toposort = (packages: Record<string, string[]>) => {\n\tconst queue = Object.getOwnPropertyNames(packages);\n\tconst result: string[] = [];\n\n\tlet index = 0;\n\n\twhile (queue.length > 0) {\n\t\tif (index >= queue.length) {\n\t\t\tthrow new Error(\"Packages can not have cyclic dependencies\");\n\t\t}\n\n\t\tconst queueEntry = queue[index];\n\n\t\tconst dependencies = packages[queueEntry];\n\t\tconst dependencyQueued = dependencies.some((dependency) =>\n\t\t\tqueue.includes(dependency),\n\t\t);\n\n\t\tif (dependencyQueued) {\n\t\t\tindex++;\n\t\t\tcontinue;\n\t\t}\n\n\t\tqueue.splice(index, 1);\n\t\tindex = 0;\n\t\tresult.push(queueEntry);\n\t}\n\n\treturn result;\n};\n","import * as path from \"path\";\nimport * as fs from \"fs\";\nimport * as terser from \"terser\";\n\nimport { logPackageMessage } from \"../../lib/log\";\nimport { build as tscBuild } from \"./tsc\";\nimport { generateDocs } from \"./docs\";\nimport {\n\tPackageLocation,\n\treadPackageAnimationList,\n\treadPackageCreatorManifest,\n\treadPackageNpmManifest,\n} from \"../../lib/package\";\nimport { WorkspaceLocation } from \"../../lib/workspace\";\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\nimport { toposort } from \"../../lib/toposort\";\nimport { PackageJSON } from \"../../lib/packageJSON\";\nimport Ajv, { ValidateFunction } from \"ajv\";\nimport axios from \"axios\";\n\nexport interface BannerOptions {\n\ttext: string | undefined;\n\tversion: string | undefined;\n\tcommit: string | undefined;\n\tcommitDirty: boolean | undefined;\n\tdate: Date | undefined;\n}\n\nexport interface BuildFoldersOptions {\n\tworkspace: WorkspaceLocation;\n\tpackages: PackageLocation[];\n\toutDir?: string;\n\tminimize: boolean;\n\tbanner?: BannerOptions;\n\tclean?: boolean;\n\tdocs?: boolean;\n}\n\nexport interface BuildFolderOptions extends BuildFoldersOptions {\n\toutFile: string;\n}\n\nexport interface FolderBuilderResult {\n\tjs: string;\n\tdefinitions: string;\n}\n\nexport type FolderBuilder = (\n\tlocation: PackageLocation,\n\toutputDir: string,\n) => Promise<FolderBuilderResult>;\n\ntype FolderData = {\n\tlocation: PackageLocation;\n\tdata?: PackageJSON;\n};\n\nlet validateAnimationJson: ValidateFunction | undefined;\n\nconst getAnimationJsonValidation = async () => {\n\tif (validateAnimationJson === undefined) {\n\t\tvalidateAnimationJson = await axios\n\t\t\t.get(\n\t\t\t\t\"https://archive.intelligentgraphics.biz/schemas/gfx/animation.json\",\n\t\t\t)\n\t\t\t.then(({ data }) =>\n\t\t\t\tnew Ajv({\n\t\t\t\t\tcoerceTypes: true,\n\t\t\t\t\tallErrors: true,\n\t\t\t\t\tremoveAdditional: true,\n\t\t\t\t\tuseDefaults: \"empty\",\n\t\t\t\t\tvalidateSchema: \"log\",\n\t\t\t\t}).compile(data),\n\t\t\t);\n\t}\n\n\treturn validateAnimationJson!;\n};\n\nexport const buildFolders = async (options: BuildFoldersOptions) => {\n\tif (options.outDir !== undefined && options.clean) {\n\t\tfs.rmSync(options.outDir, { recursive: true });\n\t}\n\n\tconst workspace = options.workspace;\n\tconst folders = options.packages;\n\n\tlet sortedPackages = sortPackagesByBuildOrder(folders);\n\n\tlet index = 1;\n\n\tfor (const location of sortedPackages) {\n\t\tconst hasTypescript = getPackageTypescriptFiles(location).length > 0;\n\n\t\tensureTsConfig(location);\n\n\t\tconst data = readPackageCreatorManifest(location);\n\n\t\tconst logStep = (step: string) =>\n\t\t\tlogPackageMessage(data.Package, step, index, folders.length);\n\n\t\tconst outputDirectory = options.outDir || location.scriptsDir;\n\t\tfs.mkdirSync(outputDirectory, { recursive: true });\n\n\t\tlet buildResult: {\n\t\t\tjs: string;\n\t\t\tdefinitions?: string;\n\t\t};\n\n\t\tif (hasTypescript) {\n\t\t\tlogStep(\"Compiling typescript to javascript\");\n\t\t\tbuildResult = await tscBuild(location, outputDirectory);\n\t\t} else {\n\t\t\tbuildResult = {\n\t\t\t\tjs: \"\",\n\t\t\t};\n\t\t}\n\n\t\tconst banner = options.banner\n\t\t\t? createBannerComment(options.banner)\n\t\t\t: undefined;\n\n\t\tif (banner) {\n\t\t\tbuildResult.js = banner + \"\\n\" + buildResult.js;\n\t\t\tif (buildResult.definitions !== undefined) {\n\t\t\t\tbuildResult.definitions =\n\t\t\t\t\tbanner + \"\\n\" + buildResult.definitions;\n\t\t\t}\n\t\t}\n\n\t\tconst animations = new Map<string, string>();\n\n\t\tfor (const scriptFilePath of readPackageAnimationList(location)) {\n\t\t\tconst content = fs.readFileSync(scriptFilePath, {\n\t\t\t\tencoding: \"utf8\",\n\t\t\t})!;\n\n\t\t\tlet data: { Id: string; $schema?: string };\n\n\t\t\ttry {\n\t\t\t\tdata = JSON.parse(content);\n\t\t\t} catch (err) {\n\t\t\t\tconst relativePath = path.relative(\n\t\t\t\t\toptions.workspace.path,\n\t\t\t\t\tscriptFilePath,\n\t\t\t\t);\n\n\t\t\t\tif (err instanceof SyntaxError) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Encountered invalid syntax in file \"${relativePath}\": ${String(\n\t\t\t\t\t\t\terr,\n\t\t\t\t\t\t)}`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Encountered an unexpected error while parsing animation json file at path \"${relativePath}\"`,\n\t\t\t\t\t{\n\t\t\t\t\t\tcause: err,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (!data.Id) {\n\t\t\t\tconst fileName = path.basename(\n\t\t\t\t\tscriptFilePath,\n\t\t\t\t\t\".animation.json\",\n\t\t\t\t);\n\t\t\t\tdata.Id = fileName;\n\t\t\t}\n\n\t\t\t(await getAnimationJsonValidation())(data);\n\t\t\tdelete data.$schema;\n\t\t\tanimations.set(data.Id, JSON.stringify(data));\n\t\t}\n\n\t\tif (animations.size > 0) {\n\t\t\tconst scope = data.Scope ?? data.Package;\n\t\t\tconst scopeParts = scope.split(\".\");\n\n\t\t\tbuildResult.js += createNamespace(scopeParts);\n\n\t\t\tfor (const [name, content] of animations) {\n\t\t\t\tbuildResult.js += `${scope}[\"${name}\"] = ` + content + \";\";\n\t\t\t\tlogPackageMessage(\n\t\t\t\t\tdata.Package,\n\t\t\t\t\t`Adding animation ${scope}.${name}`,\n\t\t\t\t);\n\t\t\t}\n\t\t} else if (!hasTypescript) {\n\t\t\tthrow new Error(\n\t\t\t\t`Expected package to have a least one ts file or one animation.json file`,\n\t\t\t);\n\t\t}\n\n\t\tfs.writeFileSync(\n\t\t\tpath.join(outputDirectory, `${data.Package}.js`),\n\t\t\tbuildResult.js,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\t\tif (buildResult.definitions !== undefined) {\n\t\t\tfs.writeFileSync(\n\t\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\n\t\t\t\tbuildResult.definitions,\n\t\t\t\t{ encoding: \"utf8\" },\n\t\t\t);\n\t\t}\n\n\t\tif (options.minimize) {\n\t\t\tconst minifyResult = await terser.minify(buildResult.js, {\n\t\t\t\tecma: 5,\n\t\t\t});\n\n\t\t\tconst minifiedPath = path.join(\n\t\t\t\toutputDirectory,\n\t\t\t\t`${data.Package}.min.js`,\n\t\t\t);\n\t\t\tfs.writeFileSync(minifiedPath, minifyResult.code!, {\n\t\t\t\tencoding: \"utf8\",\n\t\t\t});\n\t\t}\n\n\t\tif (\n\t\t\tlocation.path.includes(\"Basics\") &&\n\t\t\tbuildResult.definitions !== undefined\n\t\t) {\n\t\t\tfs.mkdirSync(path.join(workspace.path, \"lib\"), {\n\t\t\t\trecursive: true,\n\t\t\t});\n\n\t\t\tlogStep(\"Copying basics definition file to the lib folder\");\n\t\t\tfs.writeFileSync(\n\t\t\t\tpath.join(workspace.path, \"lib\", `${data.Package}.d.ts`),\n\t\t\t\tbuildResult.definitions,\n\t\t\t\t{ encoding: \"utf8\" },\n\t\t\t);\n\t\t}\n\n\t\tif (options.docs) {\n\t\t\tlogStep(\"Generating typedoc documentation\");\n\t\t\tawait generateDocs(\n\t\t\t\tlocation,\n\t\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\n\t\t\t\tpath.join(workspace.path, \"docs\", data.Package),\n\t\t\t\tdata.Package,\n\t\t\t);\n\t\t}\n\n\t\tindex++;\n\t}\n};\n\nconst createNamespace = (parts: string[]) => {\n\tlet code = `var ${parts[0]};`;\n\n\tfor (let index = 0; index < parts.length; index++) {\n\t\tconst path = parts.slice(0, index + 1).join(\".\");\n\n\t\tcode += `\\n(${path} = ${path} || {});`;\n\t}\n\n\treturn code;\n};\n\nconst ensureTsConfig = (location: PackageLocation) => {\n\tconst tsconfigPath = path.join(location.scriptsDir, \"tsconfig.json\");\n\n\tif (!fs.existsSync(tsconfigPath)) {\n\t\tconst content = {};\n\t\tapplyTsConfigOption(content);\n\n\t\tfs.writeFileSync(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t} else {\n\t\tconst content = JSON.parse(fs.readFileSync(tsconfigPath, \"utf8\"));\n\t\tapplyTsConfigOption(content);\n\t\tfs.writeFileSync(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t}\n};\n\nconst applyTsConfigOption = (data: {\n\tcompilerOptions?: { target?: string; lib?: string[] };\n}) => {\n\tdata.compilerOptions = data.compilerOptions ?? {};\n\tdata.compilerOptions.target = \"es5\";\n\tdata.compilerOptions.lib = [\"es5\", \"dom\"];\n};\n\nconst sortPackagesByBuildOrder = (\n\tfolders: PackageLocation[],\n): PackageLocation[] => {\n\tconst packages = Array.from(folders).reduce(\n\t\t(\n\t\t\tacc: Record<string, FolderData>,\n\t\t\tlocation,\n\t\t): Record<string, FolderData> => {\n\t\t\tconst data = readPackageNpmManifest(location);\n\n\t\t\tif (data !== undefined) {\n\t\t\t\tacc[data.name] = {\n\t\t\t\t\tdata,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tacc[location.path] = {\n\t\t\t\t\tdata: undefined,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst packageDependencies = Object.getOwnPropertyNames(packages).reduce(\n\t\t(acc, packageName) => {\n\t\t\tconst packageData = packages[packageName];\n\n\t\t\tif (packageData.data === undefined) {\n\t\t\t\tacc[packageName] = [];\n\t\t\t} else {\n\t\t\t\tacc[packageName] = Object.getOwnPropertyNames({\n\t\t\t\t\t...packageData.data.devDependencies,\n\t\t\t\t\t...packageData.data.dependencies,\n\t\t\t\t\t...packageData.data.peerDependencies,\n\t\t\t\t}).filter((packageName) => packages[packageName] !== undefined);\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst sortedPackages = toposort(packageDependencies);\n\tconst result: PackageLocation[] = [];\n\n\tfor (const packageName of sortedPackages) {\n\t\tconst location = packages[packageName].location;\n\n\t\tif (readPackageCreatorManifest(location).Package.endsWith(\".Basics\")) {\n\t\t\tresult.unshift(location);\n\t\t} else {\n\t\t\tresult.push(location);\n\t\t}\n\t}\n\n\treturn result;\n};\n\nconst createBannerComment = (banner: BannerOptions) => {\n\tconst bannerParts: string[] = [];\n\n\tif (banner.text) {\n\t\tbannerParts.push(\" * \" + banner.text);\n\t}\n\n\t{\n\t\tconst details: string[] = [];\n\n\t\tif (banner.version) {\n\t\t\tdetails.push(`Version: ${banner.version}`);\n\t\t}\n\t\tif (banner.commit) {\n\t\t\tif (banner.commitDirty) {\n\t\t\t\tdetails.push(`Commit: ${banner.commit} (dirty)`);\n\t\t\t} else {\n\t\t\t\tdetails.push(`Commit: ${banner.commit}`);\n\t\t\t}\n\t\t}\n\t\tif (banner.date) {\n\t\t\tdetails.push(`Date: ${banner.date.toISOString()}`);\n\t\t}\n\n\t\tconst detailsText = details.map((line) => ` * ${line}`).join(\"\\n\");\n\t\tif (detailsText) {\n\t\t\tbannerParts.push(detailsText);\n\t\t}\n\t}\n\n\tconst bannerText = bannerParts.join(\"\\n\\n\");\n\n\tif (bannerText) {\n\t\treturn `/*\n${bannerText}\n*\n* @preserve\t\t\t\n*/`;\n\t}\n\n\treturn undefined;\n};\n"],"names":["logPackageMessage","name","step","index","total","numLength","undefined","toString","length","indexString","padStart","identifierString","padEnd","console","log","tryReadTsConfig","location","config","ts","readConfigFile","path","join","scriptsDir","fs","readFileSync","build","outputDir","compilerOptions","lib","result","convertCompilerOptionsFromJson","options","removeComments","declaration","sourceMap","outFile","target","ScriptTarget","ES5","noEmitOnError","host","createCompilerHost","getCurrentDirectory","js","definitions","writeFile","fileName","data","writeByteOrderMark","endsWith","files","getPackageTypescriptFiles","Error","programOptions","rootNames","program","createProgram","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","emitSkipped","map","createErrorMessage","error","diagnostic","file","flattenDiagnosticMessageText","messageText","line","character","getLineAndCharacterOfPosition","start","message","generateDocs","declarationFile","outFolder","app","typedoc","Application","mediaDir","manifestDir","bootstrap","entryPoints","media","out","tsconfig","skipErrorChecking","setCompilerOptions","setValue","readmePath","glob","sync","absolute","cwd","project","convert","toposort","packages","queue","Object","getOwnPropertyNames","queueEntry","dependencies","dependencyQueued","some","dependency","includes","splice","push","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;;;;;;;;;"}
@@ -5,15 +5,15 @@ import { createWriteStream, createReadStream } from 'fs';
5
5
  import { pipeline } from 'stream/promises';
6
6
  import { exec } from 'child_process';
7
7
  import { promisify } from 'util';
8
- import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from './dependencies-72ece8a2.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-c15a4b62.mjs';
10
- import { l as logPackageMessage, b as buildFolders } from './index-4dbcbb2b.mjs';
8
+ import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from './dependencies-4e6ba0ea.mjs';
9
+ import { P as PACKAGE_FILE, I as INDEX_FILE, p as parseCreatorPackageName, r as readPackageCreatorManifest, w as writePackageCreatorManifest, i as isErrorENOENT, a as readPackageCreatorIndex, b as readWorkspaceNpmManifest, g as getWorkspaceOutputPath, c as readPackageAnimationList, d as isErrorEACCES, e as isErrorEPERM, u as uploadPackageFromStream, f as getPackageReleasesDirectory, h as getExistingPackages, s as startSession, j as closeSession } from './cli-69a2e2f1.mjs';
10
+ import { l as logPackageMessage, b as buildFolders } from './index-aecc36ad.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-5a8916bd.mjs';
16
+ import { g as getVersionFileHandler, p as parseVersionFromString, a as getVersionInformationFromGit, b as getWorkspaceBannerText, c as parseVersionFromNumericVersion, P as PackageVersion } from './versionFile-28e7ec79.mjs';
17
17
  import JSZip from 'jszip';
18
18
  import * as terser from 'terser';
19
19
  import 'resolve';
@@ -49,10 +49,10 @@ const notRuntimeScripts = [
49
49
  "Context",
50
50
  "Evaluator"
51
51
  ];
52
- const buildArchiveFromPackage = async (workspaceLocation, packageLocation, data)=>{
52
+ const buildArchiveFromPackage = async (packageLocation, data, binDir)=>{
53
53
  const { domain , subdomain } = parseCreatorPackageName(data);
54
54
  const logStep = (step)=>logPackageMessage(data.Package, step);
55
- const libFilePath = path.join(getWorkspaceOutputPath(workspaceLocation), `${data.Package}.min.js`);
55
+ const libFilePath = path.join(binDir, `${data.Package}.min.js`);
56
56
  const scriptDirectories = [
57
57
  packageLocation.path,
58
58
  packageLocation.scriptsDir
@@ -166,7 +166,7 @@ const releaseFolder = async (options)=>{
166
166
  cwd: workspace.path
167
167
  });
168
168
  }
169
- const binDir = getWorkspaceOutputPath(workspace);
169
+ const binDir = options.outDir ?? getWorkspaceOutputPath(workspace);
170
170
  await fs$1.mkdir(binDir, {
171
171
  recursive: true
172
172
  });
@@ -242,7 +242,7 @@ const releaseFolder = async (options)=>{
242
242
  }
243
243
  }
244
244
  }
245
- const archive = await buildArchiveFromPackage(workspace, location, packageDescription);
245
+ const archive = await buildArchiveFromPackage(location, packageDescription, binDir);
246
246
  try {
247
247
  const zipOutputStream = createWriteStream(zipFilePath);
248
248
  await pipeline(archive.generateNodeStream(), zipOutputStream);
@@ -410,15 +410,6 @@ const ensureRequiredVersions = async (workspaceLocation, creatorPackage, session
410
410
  const newVersionString = libraryVersion.toVersionString({
411
411
  buildNumber: true
412
412
  });
413
- const packageNameWithVersion = `${libraryCreatorPackage.Package}_${newVersionString}`;
414
- const zipFilePath = path.join(getWorkspaceOutputPath(workspaceLocation), `${packageNameWithVersion}.zip`);
415
- try {
416
- await fs$1.rm(zipFilePath);
417
- } catch (err) {
418
- if (!isErrorENOENT(err)) {
419
- throw err;
420
- }
421
- }
422
413
  const session = uploadTargetScope === "Basics" ? await sessionManager.getBasicsSession() : targetSession;
423
414
  logPackageMessage(creatorPackage.Package, `Uploading package ${libraryCreatorPackage.Package} with version ${newVersionString} to ${session.domain}.${session.subDomain}`);
424
415
  await uploadPackageFromStream(session, {
@@ -454,4 +445,4 @@ const createSessionManager = async (params)=>{
454
445
  };
455
446
 
456
447
  export { releaseFolder };
457
- //# sourceMappingURL=index-c76f14c3.mjs.map
448
+ //# sourceMappingURL=index-ce491f2d.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-ce491f2d.mjs","sources":["../src/commands/publish/zip.ts","../src/commands/publish/index.ts"],"sourcesContent":["import JSZip from \"jszip\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\nimport * as terser from \"terser\";\n\nimport { isErrorENOENT } from \"../../lib/error\";\nimport { logPackageMessage } from \"../../lib/log\";\nimport {\n\tCreatorPackage,\n\treadPackageCreatorManifest,\n\twritePackageCreatorManifest,\n\treadPackageCreatorIndex,\n\tparseCreatorPackageName,\n\tPackageLocation,\n\tPackageNpmManifest,\n\tINDEX_FILE,\n\tPACKAGE_FILE,\n} from \"../../lib/package\";\nimport {\n\tPublishedPackageLocation,\n\treadPublishedPackageCreatorIndex,\n} from \"../../lib/publishedPackage\";\n\nexport const buildArchiveFromPublishedPackage = (\n\tlocation: PublishedPackageLocation,\n\tmanifest: PackageNpmManifest,\n\tcreatorPackage: CreatorPackage,\n) => {\n\tconst archive = new JSZip();\n\n\tarchive.file(PACKAGE_FILE, JSON.stringify(creatorPackage, null, 2));\n\n\tconst index = readPublishedPackageCreatorIndex(location);\n\n\tif (index !== undefined) {\n\t\tarchive.file(INDEX_FILE, JSON.stringify(index, null, 2));\n\t}\n\n\tarchive.file(\n\t\tmanifest.main,\n\t\tfs.createReadStream(path.join(location.path, manifest.main)),\n\t);\n\n\treturn archive;\n};\n\nconst runtimeScripts: CreatorPackage[\"Type\"][] = [\n\t\"Interactor\",\n\t\"Core\",\n\t\"Mixed\",\n];\n\nconst notRuntimeScripts: CreatorPackage[\"Type\"][] = [\"Context\", \"Evaluator\"];\n\nexport const buildArchiveFromPackage = async (\n\tpackageLocation: PackageLocation,\n\tdata: CreatorPackage,\n\tbinDir: string,\n) => {\n\tconst { domain, subdomain } = parseCreatorPackageName(data);\n\n\tconst logStep = (step: string) => logPackageMessage(data.Package, step);\n\n\tconst libFilePath = path.join(binDir, `${data.Package}.min.js`);\n\n\tconst scriptDirectories: string[] = [\n\t\tpackageLocation.path,\n\t\tpackageLocation.scriptsDir,\n\t];\n\n\tif (subdomain === \"GFX.Standard\") {\n\t\tlogStep(`Including Images folder`);\n\t\tscriptDirectories.push(path.join(packageLocation.path, \"Images\"));\n\t}\n\n\tconst manifest = readPackageCreatorManifest(packageLocation);\n\n\tif (manifest !== undefined) {\n\t\tif (manifest.RunTime && notRuntimeScripts.includes(manifest.Type)) {\n\t\t\tlogStep(\"Setting script RunTime to false because of script type\");\n\t\t\twritePackageCreatorManifest(packageLocation, {\n\t\t\t\t...manifest,\n\t\t\t\tRunTime: false,\n\t\t\t});\n\t\t} else if (\n\t\t\t!manifest.RunTime &&\n\t\t\truntimeScripts.includes(manifest.Type)\n\t\t) {\n\t\t\tlogStep(\"Setting script RunTime to true because of script type\");\n\t\t\twritePackageCreatorManifest(packageLocation, {\n\t\t\t\t...manifest,\n\t\t\t\tRunTime: true,\n\t\t\t});\n\t\t}\n\t}\n\n\tlet libFile: string | undefined;\n\n\ttry {\n\t\tlibFile = fs.readFileSync(libFilePath, { encoding: \"utf8\" });\n\t} catch (err) {\n\t\tif (!isErrorENOENT(err)) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\n\tconst archive = new JSZip();\n\n\tlet library: string = \"\";\n\n\tif (libFile) {\n\t\tlibrary = libFile;\n\t}\n\n\tif (!library) {\n\t\tconst date = new Date(Date.now());\n\t\tlibrary = `/* This file is part of the ${domain} Data Packages.\n\t\t* Copyright (C) ${date.getFullYear()} intelligentgraphics. All Rights Reserved. */`;\n\t}\n\n\tconst minifyResult = await terser.minify(library, { ecma: 5 });\n\n\tarchive.file(`${data.Package}.js`, minifyResult.code!);\n\tarchive.file(PACKAGE_FILE, JSON.stringify(data, null, 2));\n\n\tconst creatorIndex = readPackageCreatorIndex(packageLocation);\n\n\tif (creatorIndex !== undefined) {\n\t\tarchive.file(INDEX_FILE, JSON.stringify(creatorIndex, null, 2));\n\t}\n\n\tfor (const directory of scriptDirectories) {\n\t\ttry {\n\t\t\tfor (const file of fs.readdirSync(directory)) {\n\t\t\t\tconst { ext } = path.parse(file);\n\n\t\t\t\tswitch (ext) {\n\t\t\t\t\tcase \".png\":\n\t\t\t\t\tcase \".jpeg\":\n\t\t\t\t\tcase \".jpg\":\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tarchive.file(\n\t\t\t\t\tfile,\n\t\t\t\t\tfs.createReadStream(path.join(directory, file)),\n\t\t\t\t);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconsole.error(`Script directory \"${directory}\" does not exist`);\n\t\t}\n\t}\n\n\treturn archive;\n};\n","import * as path from \"path\";\nimport * as fs from \"fs/promises\";\nimport { createReadStream, createWriteStream } from \"fs\";\nimport { pipeline } from \"stream/promises\";\nimport { exec } from \"child_process\";\nimport { promisify } from \"util\";\n\nimport {\n\tAssetService,\n\tisErrorEACCES,\n\tisErrorEPERM,\n\twritePackageCreatorManifest,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nimport { logPackageMessage } from \"../../lib/log\";\nimport {\n\tCreatorPackage,\n\tgetPackageReleasesDirectory,\n\tPackageLocation,\n\tparseCreatorPackageName,\n\treadPackageAnimationList,\n\treadPackageCreatorManifest,\n} from \"../../lib/package\";\nimport {\n\tgetWorkspaceOutputPath,\n\treadWorkspaceNpmManifest,\n\tWorkspaceLocation,\n} from \"../../lib/workspace\";\nimport { getVersionInformationFromGit } from \"../../lib/git\";\nimport { getWorkspaceBannerText } from \"../../lib/banner\";\nimport {\n\tparseVersionFromNumericVersion,\n\tparseVersionFromString,\n} from \"../../lib/parseVersion\";\nimport { getVersionFileHandler } from \"../../lib/versionFile\";\nimport { isErrorENOENT } from \"../../lib/error\";\nimport { determineWorkspaceIGLibraries } from \"../../lib/dependencies\";\nimport {\n\treadPublishedPackageCreatorManifest,\n\treadPublishedPackageNpmManifest,\n} from \"../../lib/publishedPackage\";\nimport { Prompter, PrompterOption } from \"../../lib/prompter\";\nimport { PackageVersion } from \"../../lib/packageVersion\";\n\nimport { BuildFoldersOptions, buildFolders } from \"../build\";\nimport {\n\tbuildArchiveFromPackage,\n\tbuildArchiveFromPublishedPackage,\n} from \"./zip\";\n\nexport interface ReleaseFolderOptions\n\textends Omit<\n\t\tBuildFoldersOptions,\n\t\t\"skipPackagesWithoutTsFiles\" | \"banner\" | \"packages\"\n\t> {\n\tdirectory: PackageLocation;\n\tnoUpload: boolean;\n\tnewVersion: string;\n\tdomain?: string;\n\tsubdomain?: string;\n\taddress?: string;\n\tservice: string;\n\tauthentication?: AssetService.Authentication;\n\tpushOnly: boolean;\n\tbanner?: boolean;\n\tprompter: Prompter;\n\tskipDependencies?: boolean;\n}\n\nconst execAsync = promisify(exec);\n\nexport const releaseFolder = async (options: ReleaseFolderOptions) => {\n\tconst workspace = options.workspace;\n\tconst location = options.directory;\n\n\tconst { write: writeVersionFile, reset: resetVersionFile } =\n\t\tgetVersionFileHandler(location);\n\n\tconst packageDescription = readPackageCreatorManifest(location);\n\tconst fullPackageName = packageDescription.Package;\n\tconst { domain, subdomain } = parseCreatorPackageName(packageDescription);\n\n\tconst publishDomain = options.domain ?? domain;\n\tconst publishSubdomain = options.subdomain ?? subdomain;\n\n\tconst sharedPackageJson = readWorkspaceNpmManifest(workspace);\n\n\tlet newVersion: PackageVersion;\n\ttry {\n\t\tnewVersion = parseVersionFromString(options.newVersion);\n\t} catch (err) {\n\t\tthrow new Error(`Please enter a version in this format 1.0.0.100`);\n\t}\n\n\tpackageDescription.Version = newVersion.toVersionString({\n\t\tbuildNumber: true,\n\t});\n\twritePackageCreatorManifest(location, packageDescription);\n\n\tif (newVersion.buildNumber < 100) {\n\t\tnewVersion.preRelease = {\n\t\t\ttype: \"beta\",\n\t\t\tversion: newVersion.buildNumber,\n\t\t};\n\t} else if (newVersion.buildNumber > 100) {\n\t\tnewVersion.preRelease = {\n\t\t\ttype: \"patch\",\n\t\t\tversion: newVersion.buildNumber - 100,\n\t\t};\n\t}\n\n\tif (sharedPackageJson !== undefined) {\n\t\tlogPackageMessage(\n\t\t\tpackageDescription.Package,\n\t\t\t`Running npm install to make sure all dependencies are up to date`,\n\t\t);\n\t\tawait execAsync(`npm install`, {\n\t\t\tencoding: \"utf-8\",\n\t\t\tcwd: workspace.path,\n\t\t});\n\t}\n\n\tconst binDir = options.outDir ?? getWorkspaceOutputPath(workspace);\n\tawait fs.mkdir(binDir, { recursive: true });\n\n\tlet assetServerPackageDetails: AssetService.UploadPackageDetails;\n\n\tlet packageNameWithVersion: string;\n\n\t{\n\t\tconst versionWithoutPrelease = newVersion.clone();\n\t\tversionWithoutPrelease.preRelease = undefined;\n\t\tconst newVersionString = versionWithoutPrelease.toVersionString({\n\t\t\tbuildNumber: true,\n\t\t});\n\t\tpackageNameWithVersion = `${packageDescription.Package}_${newVersionString}`;\n\n\t\tassetServerPackageDetails = {\n\t\t\tname: packageDescription.Package,\n\t\t\tversion: newVersionString,\n\t\t};\n\t}\n\n\tlet zipFilePath = path.join(binDir, packageNameWithVersion + \".zip\");\n\tinterface Uploadable {\n\t\tgetStream: () => NodeJS.ReadableStream;\n\t}\n\n\tlet uploadable: Uploadable = {\n\t\tgetStream: () => createReadStream(zipFilePath),\n\t};\n\n\ttry {\n\t\tif (options.pushOnly) {\n\t\t\tconst zipFileExists = await fs.stat(zipFilePath).catch((err) => {\n\t\t\t\tif (isErrorENOENT(err)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn Promise.reject(err);\n\t\t\t});\n\n\t\t\tif (zipFileExists) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Expected a zip file to exist at path ${zipFilePath} since pushOnly is specified`,\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tconst gitVersionInformation = await getVersionInformationFromGit(\n\t\t\t\tworkspace,\n\t\t\t\tlocation,\n\t\t\t);\n\n\t\t\twriteVersionFile(fullPackageName, newVersion);\n\n\t\t\tconst bannerText =\n\t\t\t\tsharedPackageJson !== undefined\n\t\t\t\t\t? getWorkspaceBannerText(sharedPackageJson)\n\t\t\t\t\t: undefined;\n\n\t\t\tawait buildFolders({\n\t\t\t\t...options,\n\t\t\t\tpackages: [location],\n\t\t\t\tbanner: options.banner\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttext: bannerText,\n\t\t\t\t\t\t\tcommit: gitVersionInformation.commit,\n\t\t\t\t\t\t\tcommitDirty: gitVersionInformation.dirty,\n\t\t\t\t\t\t\tversion: newVersion.toVersionString({\n\t\t\t\t\t\t\t\tbuildNumber: true,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tdate: new Date(Date.now()),\n\t\t\t\t\t\t\t// gitVersionInformation.commitDate\n\t\t\t\t\t\t\t// \t? new Date(gitVersionInformation.commitDate)\n\t\t\t\t\t\t\t// \t: new Date(Date.now()),\n\t\t\t\t\t }\n\t\t\t\t\t: undefined,\n\t\t\t});\n\n\t\t\tnewVersion.preRelease = undefined;\n\n\t\t\ttry {\n\t\t\t\tawait fs.rm(zipFilePath);\n\t\t\t} catch (err) {\n\t\t\t\tif (!isErrorENOENT(err)) {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (readPackageAnimationList(location).length > 0) {\n\t\t\t\tconst workspaceManifest = readWorkspaceNpmManifest(workspace);\n\n\t\t\t\tif (\n\t\t\t\t\t!workspaceManifest.dependencies?.[\n\t\t\t\t\t\t\"@intelligentgraphics/3d.ig.gfx.standard\"\n\t\t\t\t\t]\n\t\t\t\t) {\n\t\t\t\t\tconst install = await options.prompter.confirm(\n\t\t\t\t\t\t`The IG.GFX.Standard package should be added as a dependency to provide the 'AnimationInteractor' used to display animations. Do you wish to add it now?`,\n\t\t\t\t\t);\n\n\t\t\t\t\tif (install) {\n\t\t\t\t\t\tawait execAsync(\n\t\t\t\t\t\t\t`npm install @intelligentgraphics/3d.ig.gfx.standard`,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tencoding: \"utf-8\",\n\t\t\t\t\t\t\t\tcwd: workspace.path,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tawait execAsync(`npm run postinstall`, {\n\t\t\t\t\t\t\tcwd: workspace.path,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst archive = await buildArchiveFromPackage(\n\t\t\t\tlocation,\n\t\t\t\tpackageDescription,\n\t\t\t\tbinDir,\n\t\t\t);\n\n\t\t\ttry {\n\t\t\t\tconst zipOutputStream = createWriteStream(zipFilePath);\n\t\t\t\tawait pipeline(archive.generateNodeStream(), zipOutputStream);\n\t\t\t} catch (err) {\n\t\t\t\tif (isErrorEACCES(err) || isErrorEPERM(err)) {\n\t\t\t\t\tlogPackageMessage(\n\t\t\t\t\t\tpackageDescription.Package,\n\t\t\t\t\t\t`Could not create zip file in the bin directory because of a permissions error. Only using it in-memory`,\n\t\t\t\t\t);\n\t\t\t\t\tuploadable = {\n\t\t\t\t\t\tgetStream: () => archive.generateNodeStream(),\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!options.noUpload) {\n\t\t\tif (!options.authentication) {\n\t\t\t\tthrow new Error(`Expected authentication to be available`);\n\t\t\t}\n\n\t\t\tlogPackageMessage(\n\t\t\t\tpackageDescription.Package,\n\t\t\t\t`Opening connection to IG.Asset.Server`,\n\t\t\t);\n\n\t\t\tconst sessionManager = await createSessionManager({\n\t\t\t\turl: options.service,\n\t\t\t\taddress: options.address,\n\t\t\t\tdomain: publishDomain,\n\t\t\t\tsubDomain: publishSubdomain,\n\t\t\t\tauthentication: options.authentication,\n\t\t\t});\n\n\t\t\ttry {\n\t\t\t\tif (!options.skipDependencies) {\n\t\t\t\t\tawait ensureRequiredVersions(\n\t\t\t\t\t\tworkspace,\n\t\t\t\t\t\tpackageDescription,\n\t\t\t\t\t\tsessionManager,\n\t\t\t\t\t\toptions.prompter,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tlogPackageMessage(\n\t\t\t\t\tpackageDescription.Package,\n\t\t\t\t\t`Uploading package to ${publishDomain}.${publishSubdomain}`,\n\t\t\t\t);\n\n\t\t\t\tawait AssetService.uploadPackageFromStream(\n\t\t\t\t\tsessionManager.getTargetSession(),\n\t\t\t\t\tassetServerPackageDetails,\n\t\t\t\t\tuploadable.getStream(),\n\t\t\t\t);\n\t\t\t} finally {\n\t\t\t\tawait sessionManager.destroy().catch((err) => {\n\t\t\t\t\tlogPackageMessage(\n\t\t\t\t\t\tpackageDescription.Package,\n\t\t\t\t\t\t`Failed to close IG.Asset.Server session(s): ${err}`,\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\tresetVersionFile();\n\t\tthrow err;\n\t}\n\n\tif (newVersion.buildNumber >= 100 && !options.pushOnly) {\n\t\tlogPackageMessage(fullPackageName, \"Copying zip to releases folder\");\n\n\t\tconst zipFileName = `${packageNameWithVersion}.zip`;\n\t\tconst releasesPath = getPackageReleasesDirectory(location);\n\n\t\tawait fs.mkdir(releasesPath, { recursive: true });\n\t\tawait pipeline(\n\t\t\tuploadable.getStream(),\n\t\t\tcreateWriteStream(path.join(releasesPath, zipFileName)),\n\t\t);\n\t}\n};\n\nconst ensureRequiredVersions = async (\n\tworkspaceLocation: WorkspaceLocation,\n\tcreatorPackage: CreatorPackage,\n\tsessionManager: SessionManager,\n\tprompter: Prompter,\n) => {\n\tinterface UploadedPackage\n\t\textends Omit<AssetService.ExistingPackage, \"version\"> {\n\t\tversion: PackageVersion;\n\t}\n\n\tconst libraries = determineWorkspaceIGLibraries(workspaceLocation);\n\n\t// If there are no libraries, we don't need to check for required versions\n\tif (libraries.length === 0) {\n\t\treturn true;\n\t}\n\n\tconst targetSession = sessionManager.getTargetSession();\n\n\tconst rawUploadedPackages = await AssetService.getExistingPackages(\n\t\ttargetSession,\n\t);\n\n\tconst uploadedPackages = rawUploadedPackages.map(\n\t\t(entry): UploadedPackage => {\n\t\t\tlet version: PackageVersion;\n\n\t\t\ttry {\n\t\t\t\tversion = parseVersionFromNumericVersion(entry.numericVersion);\n\t\t\t} catch (err) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Encountered invalid format for version ${entry.numericVersion}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (version.buildNumber < 100) {\n\t\t\t\tversion.preRelease = {\n\t\t\t\t\ttype: \"beta\",\n\t\t\t\t\tversion: version.buildNumber,\n\t\t\t\t};\n\t\t\t} else if (version.buildNumber > 100) {\n\t\t\t\tversion.preRelease = {\n\t\t\t\t\ttype: \"patch\",\n\t\t\t\t\tversion: version.buildNumber - 100,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...entry,\n\t\t\t\tversion,\n\t\t\t};\n\t\t},\n\t);\n\n\tfor (const libraryLocation of libraries) {\n\t\tconst libraryManifest =\n\t\t\treadPublishedPackageNpmManifest(libraryLocation);\n\t\tconst libraryCreatorPackage =\n\t\t\treadPublishedPackageCreatorManifest(libraryLocation);\n\n\t\tif (\n\t\t\tlibraryCreatorPackage === undefined ||\n\t\t\tlibraryManifest.main === undefined ||\n\t\t\tlibraryCreatorPackage.Package === creatorPackage.Package\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst libraryVersion = PackageVersion.extractFromLine(\n\t\t\tlibraryManifest.version,\n\t\t);\n\n\t\tif (libraryVersion.preRelease) {\n\t\t\tlibraryVersion.buildNumber = libraryVersion.preRelease.version;\n\t\t\tlibraryVersion.preRelease = undefined;\n\t\t} else {\n\t\t\tlibraryVersion.buildNumber = 100;\n\t\t}\n\n\t\tlet uploadedPackageInBasics: UploadedPackage | undefined;\n\t\tlet uploadedPackageInTarget: UploadedPackage | undefined;\n\n\t\tfor (const uploadedPackage of uploadedPackages) {\n\t\t\tif (uploadedPackage.scope === libraryCreatorPackage.Package) {\n\t\t\t\tif (uploadedPackage.support) {\n\t\t\t\t\tuploadedPackageInBasics = uploadedPackage;\n\t\t\t\t} else {\n\t\t\t\t\tuploadedPackageInTarget = uploadedPackage;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst validInBasics =\n\t\t\tuploadedPackageInBasics !== undefined &&\n\t\t\t!uploadedPackageInBasics.version.isLesserThan(libraryVersion);\n\t\tconst validInTarget =\n\t\t\tuploadedPackageInTarget !== undefined &&\n\t\t\t!uploadedPackageInTarget.version.isLesserThan(libraryVersion);\n\n\t\tif (validInBasics || validInTarget) {\n\t\t\tif (\n\t\t\t\ttargetSession.subDomain !== \"Basics\" &&\n\t\t\t\tuploadedPackageInBasics !== undefined &&\n\t\t\t\tuploadedPackageInTarget !== undefined\n\t\t\t) {\n\t\t\t\tlogPackageMessage(\n\t\t\t\t\tcreatorPackage.Package,\n\t\t\t\t\t`Package ${libraryCreatorPackage.Package} is uploaded both for Basics and ${targetSession.subDomain}. The package within ${targetSession.subDomain} will be used.`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst possibleTargets: PrompterOption[] = [];\n\n\t\tif (uploadedPackageInBasics) {\n\t\t\tconst version = uploadedPackageInBasics.version.toVersionString({\n\t\t\t\tbuildNumber: true,\n\t\t\t});\n\n\t\t\tpossibleTargets.push({\n\t\t\t\tvalue: \"Basics\",\n\t\t\t\tname: `Basics (Current: ${version})`,\n\t\t\t});\n\t\t} else {\n\t\t\tpossibleTargets.push({\n\t\t\t\tvalue: \"Basics\",\n\t\t\t\tname: \"Basics (Current: None)\",\n\t\t\t});\n\t\t}\n\n\t\tif (targetSession.subDomain !== \"Basics\") {\n\t\t\tif (uploadedPackageInTarget) {\n\t\t\t\tconst version = uploadedPackageInTarget.version.toVersionString(\n\t\t\t\t\t{\n\t\t\t\t\t\tbuildNumber: true,\n\t\t\t\t\t},\n\t\t\t\t);\n\n\t\t\t\tpossibleTargets.push({\n\t\t\t\t\tvalue: targetSession.subDomain,\n\t\t\t\t\tname: `${targetSession.subDomain} (Current: ${version})`,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tpossibleTargets.push({\n\t\t\t\t\tvalue: targetSession.subDomain,\n\t\t\t\t\tname: `${targetSession.subDomain} (Current: None)`,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tconst libraryVersionString = libraryVersion.toVersionString({\n\t\t\tbuildNumber: true,\n\t\t});\n\n\t\tconst uploadTargetScope = await prompter.ask({\n\t\t\tmessage: `Version ${libraryVersionString} of dependency ${libraryCreatorPackage.Package} is required but not available. Please select a subdomain to upload the correct dependency version to`,\n\t\t\toptions: [\n\t\t\t\t...possibleTargets,\n\t\t\t\t{ name: \"Skip upload\", value: \"Skip\" },\n\t\t\t],\n\t\t\tdefault: possibleTargets[0].value,\n\t\t});\n\n\t\tif (uploadTargetScope === \"Skip\") {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst archive = buildArchiveFromPublishedPackage(\n\t\t\tlibraryLocation,\n\t\t\tlibraryManifest,\n\t\t\tlibraryCreatorPackage,\n\t\t);\n\n\t\tconst newVersionString = libraryVersion.toVersionString({\n\t\t\tbuildNumber: true,\n\t\t});\n\n\t\tconst session =\n\t\t\tuploadTargetScope === \"Basics\"\n\t\t\t\t? await sessionManager.getBasicsSession()\n\t\t\t\t: targetSession;\n\n\t\tlogPackageMessage(\n\t\t\tcreatorPackage.Package,\n\t\t\t`Uploading package ${libraryCreatorPackage.Package} with version ${newVersionString} to ${session.domain}.${session.subDomain}`,\n\t\t);\n\n\t\tawait AssetService.uploadPackageFromStream(\n\t\t\tsession,\n\t\t\t{\n\t\t\t\tname: libraryCreatorPackage.Package,\n\t\t\t\tversion: newVersionString,\n\t\t\t},\n\t\t\tarchive.generateNodeStream(),\n\t\t);\n\t}\n};\n\ninterface SessionManager {\n\tgetBasicsSession: () => Promise<AssetService.Session>;\n\tgetTargetSession: () => AssetService.Session;\n\tdestroy: () => Promise<void>;\n}\n\nconst createSessionManager = async (\n\tparams: AssetService.SessionStartParams,\n): Promise<SessionManager> => {\n\tconst targetSession = await AssetService.startSession(params);\n\tlet basicsSession: AssetService.Session | undefined;\n\n\treturn {\n\t\tgetBasicsSession: async () => {\n\t\t\tif (targetSession.subDomain === \"Basics\") {\n\t\t\t\treturn targetSession;\n\t\t\t}\n\n\t\t\tif (basicsSession === undefined) {\n\t\t\t\tbasicsSession = await AssetService.startSession({\n\t\t\t\t\t...params,\n\t\t\t\t\tsubDomain: \"Basics\",\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn basicsSession;\n\t\t},\n\n\t\tgetTargetSession: () => targetSession,\n\n\t\tdestroy: async () => {\n\t\t\tawait AssetService.closeSession(targetSession);\n\n\t\t\tif (basicsSession !== undefined) {\n\t\t\t\tawait AssetService.closeSession(basicsSession);\n\t\t\t}\n\t\t},\n\t};\n};\n"],"names":["buildArchiveFromPublishedPackage","location","manifest","creatorPackage","archive","JSZip","file","PACKAGE_FILE","JSON","stringify","index","readPublishedPackageCreatorIndex","undefined","INDEX_FILE","main","fs","createReadStream","path","join","runtimeScripts","notRuntimeScripts","buildArchiveFromPackage","packageLocation","data","binDir","domain","subdomain","parseCreatorPackageName","logStep","step","logPackageMessage","Package","libFilePath","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","outDir","getWorkspaceOutputPath","mkdir","recursive","assetServerPackageDetails","packageNameWithVersion","versionWithoutPrelease","clone","newVersionString","name","zipFilePath","uploadable","getStream","pushOnly","zipFileExists","stat","catch","Promise","reject","gitVersionInformation","getVersionInformationFromGit","bannerText","getWorkspaceBannerText","buildFolders","packages","banner","text","commit","commitDirty","dirty","rm","readPackageAnimationList","length","workspaceManifest","dependencies","install","prompter","confirm","zipOutputStream","createWriteStream","pipeline","generateNodeStream","isErrorEACCES","isErrorEPERM","noUpload","authentication","sessionManager","createSessionManager","url","service","address","subDomain","skipDependencies","ensureRequiredVersions","AssetService","getTargetSession","destroy","zipFileName","releasesPath","getPackageReleasesDirectory","workspaceLocation","libraries","determineWorkspaceIGLibraries","targetSession","rawUploadedPackages","uploadedPackages","map","entry","parseVersionFromNumericVersion","numericVersion","libraryLocation","libraryManifest","readPublishedPackageNpmManifest","libraryCreatorPackage","readPublishedPackageCreatorManifest","libraryVersion","PackageVersion","extractFromLine","uploadedPackageInBasics","uploadedPackageInTarget","uploadedPackage","scope","support","validInBasics","isLesserThan","validInTarget","possibleTargets","value","libraryVersionString","uploadTargetScope","ask","message","default","session","getBasicsSession","params","basicsSession"],"mappings":"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"}
@@ -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-72ece8a2.mjs';
5
+ import { d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest } from './dependencies-4e6ba0ea.mjs';
6
6
  import 'write-pkg';
7
- import { b as readWorkspaceNpmManifest, m as getWorkspaceLibPath } from './cli-c15a4b62.mjs';
7
+ import { b as readWorkspaceNpmManifest, m as getWorkspaceLibPath } from './cli-69a2e2f1.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-19d8ddac.mjs.map
67
+ //# sourceMappingURL=postinstall-6366aa29.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"postinstall-19d8ddac.mjs","sources":["../src/commands/postinstall.ts"],"sourcesContent":["import * as path from \"path\";\nimport * as fs from \"fs\";\nimport glob from \"glob\";\nimport * as os from \"os\";\n\nimport {\n\tgetWorkspaceLibPath,\n\treadWorkspaceNpmManifest,\n\tWorkspaceLocation,\n} from \"../lib/workspace\";\nimport { readPublishedPackageNpmManifest } from \"../lib/publishedPackage\";\nimport { determineWorkspaceIGLibraries } from \"../lib/dependencies\";\n\nconst DEFINITION_FILE_HINT =\n\t\"// This file is automatically managed by the ig.gfx.packager.\";\n\nexport const executePostInstall = (workspace: WorkspaceLocation) => {\n\tconst manifest = readWorkspaceNpmManifest(workspace);\n\n\tconst libPath = getWorkspaceLibPath(workspace);\n\n\tfs.mkdirSync(libPath, { recursive: true });\n\n\tconst existingDefinitions = glob.sync(\"**/*.d.ts\", {\n\t\tcwd: libPath,\n\t\tabsolute: true,\n\t});\n\n\t// delete all existing definition files that are managed by the packager.\n\t// we'll recreate all needed definitions in the next step.\n\tfor (const existingDefinitionPath of existingDefinitions) {\n\t\tconst content = fs.readFileSync(existingDefinitionPath, {\n\t\t\tencoding: \"utf-8\",\n\t\t});\n\n\t\tif (content.startsWith(DEFINITION_FILE_HINT)) {\n\t\t\tfs.rmSync(existingDefinitionPath);\n\t\t}\n\t}\n\n\tconst libraryLocations = determineWorkspaceIGLibraries(workspace);\n\n\tfor (const location of libraryLocations) {\n\t\tconst manifest = readPublishedPackageNpmManifest(location);\n\n\t\tfor (const existingDefinitionPath of existingDefinitions) {\n\t\t\tconst basename = path.basename(existingDefinitionPath);\n\n\t\t\tif (basename === manifest.types) {\n\t\t\t\tfs.rmSync(existingDefinitionPath, { force: true });\n\t\t\t}\n\t\t}\n\n\t\t// add a hint to the top of the file so we know it's managed by the packager.\n\n\t\tconst content = [\n\t\t\tDEFINITION_FILE_HINT,\n\t\t\t`// This is a reference to version ${manifest.version}.`,\n\t\t\t`// Run \"npm install\" to install the types if they are missing or not up to date.`,\n\t\t\t`/// <reference types=\"${manifest.name}\" />`,\n\t\t].join(os.EOL);\n\n\t\tfs.writeFileSync(\n\t\t\tpath.join(getWorkspaceLibPath(workspace), manifest.types),\n\t\t\tcontent,\n\t\t\t{\n\t\t\t\tencoding: \"utf8\",\n\t\t\t},\n\t\t);\n\t}\n};\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
+ {"version":3,"file":"postinstall-6366aa29.mjs","sources":["../src/commands/postinstall.ts"],"sourcesContent":["import * as path from \"path\";\nimport * as fs from \"fs\";\nimport glob from \"glob\";\nimport * as os from \"os\";\n\nimport {\n\tgetWorkspaceLibPath,\n\treadWorkspaceNpmManifest,\n\tWorkspaceLocation,\n} from \"../lib/workspace\";\nimport { readPublishedPackageNpmManifest } from \"../lib/publishedPackage\";\nimport { determineWorkspaceIGLibraries } from \"../lib/dependencies\";\n\nconst DEFINITION_FILE_HINT =\n\t\"// This file is automatically managed by the ig.gfx.packager.\";\n\nexport const executePostInstall = (workspace: WorkspaceLocation) => {\n\tconst manifest = readWorkspaceNpmManifest(workspace);\n\n\tconst libPath = getWorkspaceLibPath(workspace);\n\n\tfs.mkdirSync(libPath, { recursive: true });\n\n\tconst existingDefinitions = glob.sync(\"**/*.d.ts\", {\n\t\tcwd: libPath,\n\t\tabsolute: true,\n\t});\n\n\t// delete all existing definition files that are managed by the packager.\n\t// we'll recreate all needed definitions in the next step.\n\tfor (const existingDefinitionPath of existingDefinitions) {\n\t\tconst content = fs.readFileSync(existingDefinitionPath, {\n\t\t\tencoding: \"utf-8\",\n\t\t});\n\n\t\tif (content.startsWith(DEFINITION_FILE_HINT)) {\n\t\t\tfs.rmSync(existingDefinitionPath);\n\t\t}\n\t}\n\n\tconst libraryLocations = determineWorkspaceIGLibraries(workspace);\n\n\tfor (const location of libraryLocations) {\n\t\tconst manifest = readPublishedPackageNpmManifest(location);\n\n\t\tfor (const existingDefinitionPath of existingDefinitions) {\n\t\t\tconst basename = path.basename(existingDefinitionPath);\n\n\t\t\tif (basename === manifest.types) {\n\t\t\t\tfs.rmSync(existingDefinitionPath, { force: true });\n\t\t\t}\n\t\t}\n\n\t\t// add a hint to the top of the file so we know it's managed by the packager.\n\n\t\tconst content = [\n\t\t\tDEFINITION_FILE_HINT,\n\t\t\t`// This is a reference to version ${manifest.version}.`,\n\t\t\t`// Run \"npm install\" to install the types if they are missing or not up to date.`,\n\t\t\t`/// <reference types=\"${manifest.name}\" />`,\n\t\t].join(os.EOL);\n\n\t\tfs.writeFileSync(\n\t\t\tpath.join(getWorkspaceLibPath(workspace), manifest.types),\n\t\t\tcontent,\n\t\t\t{\n\t\t\t\tencoding: \"utf8\",\n\t\t\t},\n\t\t);\n\t}\n};\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-c15a4b62.mjs';
7
- import { b as buildFolders, l as logPackageMessage } from './index-4dbcbb2b.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-69a2e2f1.mjs';
7
+ import { b as buildFolders, l as logPackageMessage } from './index-aecc36ad.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-5a8916bd.mjs';
12
+ import { p as parseVersionFromString, g as getVersionFileHandler, a as getVersionInformationFromGit, b as getWorkspaceBannerText } from './versionFile-28e7ec79.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-281aa4f2.mjs.map
137
+ //# sourceMappingURL=publishNpm-7fe8b8ec.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishNpm-7fe8b8ec.mjs","sources":["../src/commands/publishNpm.ts"],"sourcesContent":["import * as path from \"path\";\nimport * as fs from \"fs\";\nimport { execSync } from \"child_process\";\n\nimport { PackageVersion } from \"../lib/packageVersion\";\nimport {\n\tINDEX_FILE,\n\tPackageLocation,\n\tPACKAGE_FILE,\n\treadPackageCreatorIndex,\n\treadPackageCreatorManifest,\n\treadPackageNpmManifest,\n\twritePackageNpmManifest,\n} from \"../lib/package\";\nimport {\n\tgetWorkspaceOutputPath,\n\titerateWorkspacePackages,\n\treadWorkspaceNpmManifest,\n\tWorkspaceLocation,\n} from \"../lib/workspace\";\nimport { getVersionInformationFromGit } from \"../lib/git\";\nimport { getWorkspaceBannerText } from \"../lib/banner\";\nimport { parseVersionFromString } from \"../lib/parseVersion\";\nimport { getVersionFileHandler } from \"../lib/versionFile\";\nimport { logPackageMessage } from \"../lib/log\";\n\nimport { buildFolders } from \"./build\";\n\nexport interface PublishToNpmSettings {\n\tworkspace: WorkspaceLocation;\n\tlocation: PackageLocation;\n\tversion: string;\n\tdryRun?: boolean;\n}\n\nexport const publishToNpm = async ({\n\tworkspace,\n\tlocation,\n\tversion: providedVersion,\n\tdryRun,\n}: PublishToNpmSettings) => {\n\tlet newVersion: PackageVersion;\n\ttry {\n\t\tnewVersion = parseVersionFromString(providedVersion);\n\t} catch (err) {\n\t\tthrow new Error(`Please enter a version in this format 1.0.0.100`);\n\t}\n\n\tif (newVersion.buildNumber < 100) {\n\t\tnewVersion.preRelease = {\n\t\t\ttype: \"beta\",\n\t\t\tversion: newVersion.buildNumber,\n\t\t};\n\t} else if (newVersion.buildNumber === 100) {\n\t\tnewVersion.preRelease = undefined;\n\t} else {\n\t\tthrow new Error(\n\t\t\t`Refusing to publish a package with a build version larger than 100.`,\n\t\t);\n\t}\n\n\tconst workspaceManifest = readWorkspaceNpmManifest(workspace);\n\tconst workspaceOutputPath = getWorkspaceOutputPath(workspace);\n\tconst creatorPackage = readPackageCreatorManifest(location);\n\tlet packageJson = readPackageNpmManifest(location);\n\n\tif (packageJson === undefined) {\n\t\tpackageJson = {\n\t\t\tname:\n\t\t\t\t\"@intelligentgraphics/3d\" +\n\t\t\t\tcreatorPackage.Package.toLowerCase(),\n\t\t\tversion: \"1.0.0\",\n\t\t\tdescription: creatorPackage.Package,\n\t\t};\n\t}\n\n\tpackageJson.version = newVersion.toVersionString({\n\t\tbuildNumber: false,\n\t});\n\tpackageJson.description = newVersion.toDescriptionString(\n\t\tcreatorPackage.Package,\n\t);\n\tpackageJson.main = `${creatorPackage.Package}.js`;\n\tpackageJson.types = `${creatorPackage.Package}.d.ts`;\n\tpackageJson.publishConfig ??= {};\n\tpackageJson.publishConfig.acccess = \"public\";\n\tpackageJson.ig = {\n\t\tscriptingLibrary: true,\n\t};\n\tpackageJson.files = undefined;\n\n\tconst publishDir = path.join(\n\t\tworkspaceOutputPath,\n\t\t\"publish\",\n\t\tcreatorPackage.Package,\n\t);\n\tfs.rmSync(publishDir, { recursive: true, force: true });\n\tfs.mkdirSync(publishDir, { recursive: true });\n\n\twritePackageNpmManifest(location, packageJson);\n\n\tgetVersionFileHandler(location).write(creatorPackage.Package, newVersion);\n\n\tconst gitVersionInformation = await getVersionInformationFromGit(\n\t\tworkspace,\n\t\tlocation,\n\t);\n\n\tconst bannerText = getWorkspaceBannerText(workspaceManifest);\n\n\tawait buildFolders({\n\t\tworkspace,\n\t\tpackages: [location],\n\t\tminimize: true,\n\t\toutDir: getWorkspaceOutputPath(workspace),\n\t\tbanner: {\n\t\t\ttext: bannerText,\n\t\t\tcommit: gitVersionInformation.commit,\n\t\t\tcommitDirty: gitVersionInformation.dirty,\n\t\t\tversion: newVersion.toVersionString({\n\t\t\t\tbuildNumber: true,\n\t\t\t}),\n\t\t\tdate: new Date(Date.now()),\n\t\t},\n\t});\n\n\tfs.copyFileSync(\n\t\tpath.join(\n\t\t\tgetWorkspaceOutputPath(workspace),\n\t\t\t`${creatorPackage.Package}.d.ts`,\n\t\t),\n\t\tpath.join(publishDir, `${creatorPackage.Package}.d.ts`),\n\t);\n\tfs.copyFileSync(\n\t\tpath.join(\n\t\t\tgetWorkspaceOutputPath(workspace),\n\t\t\t`${creatorPackage.Package}.min.js`,\n\t\t),\n\t\tpath.join(publishDir, `${creatorPackage.Package}.js`),\n\t);\n\n\tfs.copyFileSync(\n\t\tpath.join(location.manifestDir, \"package.json\"),\n\t\tpath.join(publishDir, \"package.json\"),\n\t);\n\n\tfs.writeFileSync(\n\t\tpath.join(publishDir, PACKAGE_FILE),\n\t\tJSON.stringify(creatorPackage, null, 2),\n\t);\n\n\tconst index = readPackageCreatorIndex(location);\n\n\tif (index !== undefined) {\n\t\tfs.writeFileSync(\n\t\t\tpath.join(publishDir, INDEX_FILE),\n\t\t\tJSON.stringify(index),\n\t\t);\n\t}\n\n\tconst readmeName = fs\n\t\t.readdirSync(location.path)\n\t\t.find((name) => name.toLowerCase() === \"readme.md\");\n\n\tif (readmeName !== undefined) {\n\t\tfs.copyFileSync(\n\t\t\tpath.join(location.path, readmeName),\n\t\t\tpath.join(publishDir, readmeName),\n\t\t);\n\t}\n\n\tconst npmPublishArgs: string[] = [];\n\n\tif (dryRun) {\n\t\tnpmPublishArgs.push(\"--dry-run\");\n\t}\n\n\tif (newVersion.preRelease) {\n\t\tnpmPublishArgs.push(\"--tag\", \"next\");\n\t}\n\n\tlogPackageMessage(\n\t\tcreatorPackage.Package,\n\t\t`Publishing to npm with version ${packageJson.version} using tag ${\n\t\t\tnewVersion.preRelease ? \"next\" : \"latest\"\n\t\t}`,\n\t);\n\n\texecSync([\"npm\", \"publish\", ...npmPublishArgs].join(\" \"), {\n\t\tstdio: \"inherit\",\n\t\tencoding: \"utf8\",\n\t\tcwd: publishDir,\n\t});\n\n\tfor (const packageLocation of iterateWorkspacePackages(workspace)) {\n\t\tconst manifest = readPackageNpmManifest(packageLocation);\n\n\t\tif (manifest?.dependencies?.[packageJson.name] !== undefined) {\n\t\t\tmanifest.dependencies[packageJson.name] = \"^\" + packageJson.version;\n\t\t\twritePackageNpmManifest(packageLocation, manifest);\n\t\t}\n\t}\n};\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-c15a4b62.mjs';
6
+ import { i as isErrorENOENT } from './cli-69a2e2f1.mjs';
7
7
  import 'glob';
8
8
  import 'node:path';
9
9
  import 'node:fs';
@@ -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-5a8916bd.mjs.map
384
+ //# sourceMappingURL=versionFile-28e7ec79.mjs.map