@intelligentgraphics/ig.gfx.packager 3.0.10 → 3.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/build/bin.mjs +6 -0
  2. package/build/bin.mjs.map +1 -0
  3. package/build/{cli-cb85e4b5.js → cli-2ce0c074.mjs} +8 -12
  4. package/build/cli-2ce0c074.mjs.map +1 -0
  5. package/build/{dependencies-2565d80c.js → dependencies-a8a9faba.mjs} +3 -7
  6. package/build/dependencies-a8a9faba.mjs.map +1 -0
  7. package/build/{generateIndex-f386d332.js → generateIndex-d7e7000f.mjs} +47 -9
  8. package/build/generateIndex-d7e7000f.mjs.map +1 -0
  9. package/build/{generateParameterType-151ab313.js → generateParameterType-24d37c5f.mjs} +2 -2
  10. package/build/generateParameterType-24d37c5f.mjs.map +1 -0
  11. package/build/{index-67a112b8.js → index-2cdef238.mjs} +6 -6
  12. package/build/index-2cdef238.mjs.map +1 -0
  13. package/build/{index-7a955335.js → index-2fa7b516.mjs} +46 -30
  14. package/build/index-2fa7b516.mjs.map +1 -0
  15. package/build/{postinstall-962af586.js → postinstall-0ffa4499.mjs} +3 -3
  16. package/build/postinstall-0ffa4499.mjs.map +1 -0
  17. package/build/{publishNpm-1838e45c.js → publishNpm-2b3321c5.mjs} +4 -4
  18. package/build/publishNpm-2b3321c5.mjs.map +1 -0
  19. package/build/{versionFile-cf6657c8.js → versionFile-e8fdf88c.mjs} +2 -2
  20. package/build/versionFile-e8fdf88c.mjs.map +1 -0
  21. package/lib/lib.mjs +1754 -0
  22. package/package.json +12 -6
  23. package/readme.md +11 -0
  24. package/build/cli-cb85e4b5.js.map +0 -1
  25. package/build/dependencies-2565d80c.js.map +0 -1
  26. package/build/generateIndex-f386d332.js.map +0 -1
  27. package/build/generateParameterType-151ab313.js.map +0 -1
  28. package/build/index-67a112b8.js.map +0 -1
  29. package/build/index-7a955335.js.map +0 -1
  30. package/build/index.mjs +0 -6
  31. package/build/index.mjs.map +0 -1
  32. package/build/postinstall-962af586.js.map +0 -1
  33. package/build/publishNpm-1838e45c.js.map +0 -1
  34. package/build/versionFile-cf6657c8.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateParameterType-24d37c5f.mjs","sources":["../src/commands/generateParameterType.ts"],"sourcesContent":["import ts from \"typescript\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport * as os from \"os\";\n\nimport {\n\tPackageLocation,\n\tgetCreatorIndexParameterPrimaryJSType,\n\treadPackageCreatorIndex,\n\treadPackageCreatorManifest,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nexport interface GenerateParameterTypeOptions {\n\tlocation: PackageLocation;\n\tname: string;\n}\n\nexport const generateParameterType = ({\n\tlocation,\n\tname,\n}: GenerateParameterTypeOptions) => {\n\tconst index = readPackageCreatorIndex(location);\n\tconst manifest = readPackageCreatorManifest(location);\n\n\tif (index === undefined) {\n\t\tthrow new Error(`Could not find the _Index.json file`);\n\t}\n\n\tlet qualifiedName = name;\n\tlet className = name;\n\n\tconst scope = manifest.Scope ?? manifest.Package;\n\n\tif (name.startsWith(scope)) {\n\t\tclassName = name.slice(scope.length + 1);\n\t} else {\n\t\tqualifiedName = `${scope}.${name}`;\n\t}\n\n\tconst informations = index.find((item) => item.Name === qualifiedName);\n\n\tif (informations === undefined) {\n\t\tthrow new Error(`Could not find an index entry for ${name}`);\n\t}\n\n\tconst members: ts.TypeElement[] = [];\n\n\tif (informations.Parameters !== undefined) {\n\t\tconst sortedList = informations.Parameters.slice();\n\t\tsortedList.sort((a, b) => a.DisplayIndex - b.DisplayIndex);\n\n\t\tfor (const parameter of sortedList) {\n\t\t\tconst jsType = getCreatorIndexParameterPrimaryJSType(\n\t\t\t\tparameter.Type,\n\t\t\t);\n\n\t\t\tconst type =\n\t\t\t\tjsType === \"string\"\n\t\t\t\t\t? ts.factory.createTypeReferenceNode(\"string\")\n\t\t\t\t\t: ts.factory.createUnionTypeNode([\n\t\t\t\t\t\t\tts.factory.createTypeReferenceNode(jsType),\n\t\t\t\t\t\t\tts.factory.createTypeReferenceNode(\"string\"),\n\t\t\t\t\t ]);\n\n\t\t\tlet propertySignature = ts.factory.createPropertySignature(\n\t\t\t\tundefined,\n\t\t\t\tparameter.Name,\n\t\t\t\tparameter.Required\n\t\t\t\t\t? undefined\n\t\t\t\t\t: ts.factory.createToken(ts.SyntaxKind.QuestionToken),\n\t\t\t\ttype,\n\t\t\t);\n\n\t\t\tconst jsdocParts: string[] = [];\n\n\t\t\tif (parameter.Description !== undefined) {\n\t\t\t\tjsdocParts.push(parameter.Description, \"\");\n\t\t\t}\n\n\t\t\tjsdocParts.push(`@creatorType ${parameter.Type}`);\n\n\t\t\tif (jsType === \"string\") {\n\t\t\t\tjsdocParts.push(`@default \"${parameter.Default}\"`);\n\t\t\t} else {\n\t\t\t\tjsdocParts.push(`@default ${parameter.Default}`);\n\t\t\t}\n\n\t\t\tconst jsdocContent = jsdocParts\n\t\t\t\t.map((part) => `* ${part}`)\n\t\t\t\t.join(\"\\n \");\n\t\t\tpropertySignature = ts.addSyntheticLeadingComment(\n\t\t\t\tpropertySignature,\n\t\t\t\tts.SyntaxKind.MultiLineCommentTrivia,\n\t\t\t\t`*\\n ${jsdocContent}\\n `,\n\t\t\t\ttrue,\n\t\t\t);\n\n\t\t\tmembers.push(propertySignature);\n\t\t}\n\t}\n\n\tconst interfaceName = `${className}Params`;\n\n\tlet interfaceDeclaration = ts.factory.createInterfaceDeclaration(\n\t\tundefined,\n\t\tinterfaceName,\n\t\tundefined,\n\t\tundefined,\n\t\tmembers,\n\t);\n\n\tinterfaceDeclaration = ts.addSyntheticLeadingComment(\n\t\tinterfaceDeclaration,\n\t\tts.SyntaxKind.MultiLineCommentTrivia,\n\t\t`*\\n * Parameters for the ${className} class\\n `,\n\t\ttrue,\n\t);\n\n\tconst printer = ts.createPrinter();\n\tconst content = printer\n\t\t.printNode(\n\t\t\tts.EmitHint.Unspecified,\n\t\t\tinterfaceDeclaration,\n\t\t\tts.createSourceFile(\"index.ts\", \"\", ts.ScriptTarget.Latest),\n\t\t)\n\t\t.replace(/ /g, \"\\t\");\n\n\tconst outFile = path.join(location.scriptsDir, `${interfaceName}.txt`);\n\n\tfs.writeFileSync(\n\t\toutFile,\n\t\t`Generated parameters interface for ${className}. Insert the interface declaration next to the class and use it as the type for the parameters. Afterwards you can delete this file.` +\n\t\t\tos.EOL +\n\t\t\tos.EOL +\n\t\t\tcontent,\n\t);\n};\n"],"names":["generateParameterType","location","name","index","readPackageCreatorIndex","manifest","readPackageCreatorManifest","undefined","Error","qualifiedName","className","scope","Scope","Package","startsWith","slice","length","informations","find","item","Name","members","Parameters","sortedList","sort","a","b","DisplayIndex","parameter","jsType","getCreatorIndexParameterPrimaryJSType","Type","type","ts","factory","createTypeReferenceNode","createUnionTypeNode","propertySignature","createPropertySignature","Required","createToken","SyntaxKind","QuestionToken","jsdocParts","Description","push","Default","jsdocContent","map","part","join","addSyntheticLeadingComment","MultiLineCommentTrivia","interfaceName","interfaceDeclaration","createInterfaceDeclaration","printer","createPrinter","content","printNode","EmitHint","Unspecified","createSourceFile","ScriptTarget","Latest","replace","outFile","path","scriptsDir","fs","writeFileSync","os","EOL"],"mappings":"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"}
@@ -3,7 +3,7 @@ import * as fs from 'fs';
3
3
  import * as terser from 'terser';
4
4
  import 'resolve';
5
5
  import 'write-pkg';
6
- import { h as getPackageTypescriptFiles, r as readPackageCreatorManifest, o as readPackageNpmManifest } from './cli-cb85e4b5.js';
6
+ import { h as getPackageTypescriptFiles, r as readPackageCreatorManifest, o as readPackageNpmManifest } from './cli-2ce0c074.mjs';
7
7
  import 'node:path';
8
8
  import 'node:fs';
9
9
  import 'axios';
@@ -155,12 +155,12 @@ const buildFolders = async (options)=>{
155
155
  }
156
156
  const workspace = options.workspace;
157
157
  const folders = options.packages;
158
- const sortedPackages = sortPackagesByBuildOrder(folders);
158
+ let sortedPackages = sortPackagesByBuildOrder(folders);
159
+ if (options.skipPackagesWithoutTsFiles) {
160
+ sortedPackages = sortedPackages.filter((location)=>getPackageTypescriptFiles(location).length > 0);
161
+ }
159
162
  let index = 1;
160
163
  for (const location of sortedPackages){
161
- if (options.skipPackagesWithoutTsFiles && getPackageTypescriptFiles(location).length === 0) {
162
- continue;
163
- }
164
164
  ensureTsConfig(location);
165
165
  const data = readPackageCreatorManifest(location);
166
166
  const logStep = (step)=>logPackageMessage(data.Package, step, index, folders.length);
@@ -309,4 +309,4 @@ var index = /*#__PURE__*/Object.freeze({
309
309
  });
310
310
 
311
311
  export { buildFolders as b, index as i, logPackageMessage as l };
312
- //# sourceMappingURL=index-67a112b8.js.map
312
+ //# sourceMappingURL=index-2cdef238.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-2cdef238.mjs","sources":["../../tools.core/build/log.mjs","../src/commands/build/tsc.ts","../src/commands/build/docs.ts","../src/lib/toposort.ts","../src/commands/build/index.ts"],"sourcesContent":["const logPackageMessage = (name, step, index, total)=>{\n const numLength = total === undefined ? undefined : total.toString().length;\n const indexString = total === undefined || total < 2 ? \"\" : `${index.toString().padStart(numLength, \"0\")}/${total} `;\n const identifierString = `${indexString}${name.padEnd(15)}`;\n console.log(`${identifierString} >> ${step}`);\n};\n\nexport { logPackageMessage };\n//# sourceMappingURL=log.mjs.map\n","import ts from \"typescript\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { PackageLocation } from \"../../lib/package\";\n\nimport { FolderBuilder } from \".\";\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\n\nexport const tryReadTsConfig = (location: PackageLocation) => {\n\tconst { config } = ts.readConfigFile(\n\t\tpath.join(location.scriptsDir, \"tsconfig.json\"),\n\t\t(path) => {\n\t\t\ttry {\n\t\t\t\treturn fs.readFileSync(path, \"utf8\");\n\t\t\t} catch {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\t);\n\n\treturn config as {\n\t\tcompilerOptions: ts.CompilerOptions;\n\t};\n};\n\nexport const build: FolderBuilder = async (\n\tlocation: PackageLocation,\n\toutputDir: string,\n) => {\n\tconst config = tryReadTsConfig(location);\n\n\tconfig.compilerOptions.lib = [\"es5\", \"dom\"];\n\n\tconst result = ts.convertCompilerOptionsFromJson(\n\t\tconfig.compilerOptions,\n\t\tlocation.scriptsDir,\n\t);\n\n\tconst compilerOptions: ts.CompilerOptions = {\n\t\t...result.options,\n\t\tremoveComments: false,\n\t\tdeclaration: true,\n\t\tsourceMap: false,\n\t\t// We don't use tsc to actually emit the files, but we still need to set the correct\n\t\t// output directory so the compiler can rewrite the `reference path` directives.\n\t\toutFile: path.join(outputDir, \"out.js\"),\n\t\ttarget: ts.ScriptTarget.ES5,\n\t\tnoEmitOnError: true,\n\t};\n\n\tconst host = ts.createCompilerHost(compilerOptions);\n\thost.getCurrentDirectory = () => location.scriptsDir;\n\n\tlet js: string | undefined;\n\tlet definitions: string | undefined;\n\n\thost.writeFile = (fileName, data, writeByteOrderMark) => {\n\t\tif (fileName.endsWith(\".js\")) {\n\t\t\tjs = data;\n\t\t} else if (fileName.endsWith(\".d.ts\")) {\n\t\t\tdefinitions = data;\n\t\t}\n\t};\n\n\tconst files = getPackageTypescriptFiles(location);\n\n\tif (files.length === 0) {\n\t\tthrow new Error(\n\t\t\t`Expected typescript files to exist when building a package. Packages only consisting of animation jsons do not need to be built.`,\n\t\t);\n\t}\n\n\tconst programOptions: ts.CreateProgramOptions = {\n\t\trootNames: files,\n\t\toptions: compilerOptions,\n\t\thost,\n\t};\n\n\tconst program = ts.createProgram(programOptions);\n\tconst emitResult = program.emit();\n\tconst allDiagnostics = ts.getPreEmitDiagnostics(program);\n\n\tif (!emitResult.emitSkipped) {\n\t\tif (allDiagnostics.length > 0) {\n\t\t\tconsole.log(allDiagnostics.map(createErrorMessage).join(\"\\n\"));\n\t\t}\n\n\t\tif (js === undefined || definitions === undefined) {\n\t\t\tthrow new Error(`Unexpected: no js or definitions were created`);\n\t\t}\n\n\t\treturn { js, definitions };\n\t}\n\n\tconst error = allDiagnostics.map(createErrorMessage).join(\"\\n\");\n\n\tthrow new Error(error);\n};\n\nconst createErrorMessage = (diagnostic: ts.Diagnostic) => {\n\tif (!diagnostic.file) {\n\t\treturn `${ts.flattenDiagnosticMessageText(\n\t\t\tdiagnostic.messageText,\n\t\t\t\"\\n\",\n\t\t)}`;\n\t}\n\n\tconst { line, character } = diagnostic.file.getLineAndCharacterOfPosition(\n\t\tdiagnostic.start!,\n\t);\n\n\tconst message = ts.flattenDiagnosticMessageText(\n\t\tdiagnostic.messageText,\n\t\t\"\\n\",\n\t);\n\n\treturn `${diagnostic.file.fileName} (${line + 1},${\n\t\tcharacter + 1\n\t}): ${message}`;\n};\n","import typedoc from \"typedoc\";\nimport glob from \"glob\";\nimport ts from \"typescript\";\nimport * as path from \"path\";\nimport { PackageLocation } from \"../../lib/package\";\n\nexport const generateDocs = async (\n\tlocation: PackageLocation,\n\tdeclarationFile: string,\n\toutFolder: string,\n\tname: string,\n) => {\n\tconst app = new typedoc.Application();\n\n\tconst mediaDir = path.join(location.manifestDir, \"Media\");\n\n\tapp.bootstrap({\n\t\tentryPoints: [declarationFile],\n\t\tmedia: mediaDir,\n\t\tout: outFolder,\n\t\ttsconfig: path.join(location.scriptsDir, \"tsconfig.json\"),\n\t\tskipErrorChecking: true,\n\t});\n\n\tapp.options.setCompilerOptions(\n\t\t[declarationFile],\n\t\t{\n\t\t\ttarget: ts.ScriptTarget.ES5,\n\t\t},\n\t\tundefined,\n\t);\n\n\tapp.options.setValue(\"name\", name);\n\n\tconst [readmePath] = glob.sync(\"**/readme.md\", {\n\t\tabsolute: true,\n\t\tcwd: location.manifestDir,\n\t});\n\n\tif (readmePath) {\n\t\tapp.options.setValue(\"readme\", readmePath);\n\t}\n\n\tconst project = app.convert();\n\n\tif (project) {\n\t\tawait app.generateDocs(project, outFolder);\n\t}\n};\n","// Stolen from ig.tools.core\n\nexport const toposort = (packages: Record<string, string[]>) => {\n\tconst queue = Object.getOwnPropertyNames(packages);\n\tconst result: string[] = [];\n\n\tlet index = 0;\n\n\twhile (queue.length > 0) {\n\t\tif (index >= queue.length) {\n\t\t\tthrow new Error(\"Packages can not have cyclic dependencies\");\n\t\t}\n\n\t\tconst queueEntry = queue[index];\n\n\t\tconst dependencies = packages[queueEntry];\n\t\tconst dependencyQueued = dependencies.some((dependency) =>\n\t\t\tqueue.includes(dependency),\n\t\t);\n\n\t\tif (dependencyQueued) {\n\t\t\tindex++;\n\t\t\tcontinue;\n\t\t}\n\n\t\tqueue.splice(index, 1);\n\t\tindex = 0;\n\t\tresult.push(queueEntry);\n\t}\n\n\treturn result;\n};\n","import * as path from \"path\";\nimport * as fs from \"fs\";\nimport * as terser from \"terser\";\n\nimport { logPackageMessage } from \"../../lib/log\";\nimport { build as tscBuild } from \"./tsc\";\nimport { generateDocs } from \"./docs\";\nimport {\n\tPackageLocation,\n\treadPackageCreatorManifest,\n\treadPackageNpmManifest,\n} from \"../../lib/package\";\nimport { WorkspaceLocation } from \"../../lib/workspace\";\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\nimport { toposort } from \"../../lib/toposort\";\nimport { PackageJSON } from \"../../lib/packageJSON\";\n\nexport interface BannerOptions {\n\ttext: string | undefined;\n\tversion: string | undefined;\n\tcommit: string | undefined;\n\tcommitDirty: boolean | undefined;\n\tdate: Date | undefined;\n}\n\nexport interface BuildFoldersOptions {\n\tworkspace: WorkspaceLocation;\n\tpackages: PackageLocation[];\n\toutDir?: string;\n\tminimize: boolean;\n\tbanner?: BannerOptions;\n\tclean?: boolean;\n\tdocs?: boolean;\n\tskipPackagesWithoutTsFiles?: boolean;\n}\n\nexport interface BuildFolderOptions extends BuildFoldersOptions {\n\toutFile: string;\n}\n\nexport interface FolderBuilderResult {\n\tjs: string;\n\tdefinitions: string;\n}\n\nexport type FolderBuilder = (\n\tlocation: PackageLocation,\n\toutputDir: string,\n) => Promise<FolderBuilderResult>;\n\ntype FolderData = {\n\tlocation: PackageLocation;\n\tdata?: PackageJSON;\n};\n\nexport const buildFolders = async (options: BuildFoldersOptions) => {\n\tif (options.outDir !== undefined && options.clean) {\n\t\tfs.rmSync(options.outDir, { recursive: true });\n\t}\n\n\tconst workspace = options.workspace;\n\tconst folders = options.packages;\n\n\tlet sortedPackages = sortPackagesByBuildOrder(folders);\n\n\tif (options.skipPackagesWithoutTsFiles) {\n\t\tsortedPackages = sortedPackages.filter(\n\t\t\t(location) => getPackageTypescriptFiles(location).length > 0,\n\t\t);\n\t}\n\n\tlet index = 1;\n\n\tfor (const location of sortedPackages) {\n\t\tensureTsConfig(location);\n\n\t\tconst data = readPackageCreatorManifest(location);\n\n\t\tconst logStep = (step: string) =>\n\t\t\tlogPackageMessage(data.Package, step, index, folders.length);\n\n\t\tlogStep(\"Compiling typescript to javascript\");\n\n\t\tconst outputDirectory = options.outDir || location.scriptsDir;\n\t\tfs.mkdirSync(outputDirectory, { recursive: true });\n\n\t\tconst buildResult = await tscBuild(location, outputDirectory);\n\t\tconst banner = options.banner\n\t\t\t? createBannerComment(options.banner)\n\t\t\t: undefined;\n\n\t\tif (banner) {\n\t\t\tbuildResult.js = banner + \"\\n\" + buildResult.js;\n\t\t\tbuildResult.definitions = banner + \"\\n\" + buildResult.definitions;\n\t\t}\n\n\t\tfs.writeFileSync(\n\t\t\tpath.join(outputDirectory, `${data.Package}.js`),\n\t\t\tbuildResult.js,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\t\tfs.writeFileSync(\n\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\n\t\t\tbuildResult.definitions,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\n\t\tif (options.minimize) {\n\t\t\tconst minifyResult = await terser.minify(buildResult.js, {\n\t\t\t\tecma: 5,\n\t\t\t});\n\n\t\t\tconst minifiedPath = path.join(\n\t\t\t\toutputDirectory,\n\t\t\t\t`${data.Package}.min.js`,\n\t\t\t);\n\t\t\tfs.writeFileSync(minifiedPath, minifyResult.code!, {\n\t\t\t\tencoding: \"utf8\",\n\t\t\t});\n\t\t}\n\n\t\tif (location.path.includes(\"Basics\")) {\n\t\t\tfs.mkdirSync(path.join(workspace.path, \"lib\"), {\n\t\t\t\trecursive: true,\n\t\t\t});\n\n\t\t\tlogStep(\"Copying basics definition file to the lib folder\");\n\t\t\tfs.writeFileSync(\n\t\t\t\tpath.join(workspace.path, \"lib\", `${data.Package}.d.ts`),\n\t\t\t\tbuildResult.definitions,\n\t\t\t\t{ encoding: \"utf8\" },\n\t\t\t);\n\t\t}\n\n\t\tif (options.docs) {\n\t\t\tlogStep(\"Generating typedoc documentation\");\n\t\t\tawait generateDocs(\n\t\t\t\tlocation,\n\t\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\n\t\t\t\tpath.join(workspace.path, \"docs\", data.Package),\n\t\t\t\tdata.Package,\n\t\t\t);\n\t\t}\n\n\t\tindex++;\n\t}\n};\n\nconst ensureTsConfig = (location: PackageLocation) => {\n\tconst tsconfigPath = path.join(location.scriptsDir, \"tsconfig.json\");\n\n\tif (!fs.existsSync(tsconfigPath)) {\n\t\tconst content = {};\n\t\tapplyTsConfigOption(content);\n\n\t\tfs.writeFileSync(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t} else {\n\t\tconst content = JSON.parse(fs.readFileSync(tsconfigPath, \"utf8\"));\n\t\tapplyTsConfigOption(content);\n\t\tfs.writeFileSync(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t}\n};\n\nconst applyTsConfigOption = (data: {\n\tcompilerOptions?: { target?: string; lib?: string[] };\n}) => {\n\tdata.compilerOptions = data.compilerOptions ?? {};\n\tdata.compilerOptions.target = \"es5\";\n\tdata.compilerOptions.lib = [\"es5\", \"dom\"];\n};\n\nconst sortPackagesByBuildOrder = (\n\tfolders: PackageLocation[],\n): PackageLocation[] => {\n\tconst packages = Array.from(folders).reduce(\n\t\t(\n\t\t\tacc: Record<string, FolderData>,\n\t\t\tlocation,\n\t\t): Record<string, FolderData> => {\n\t\t\tconst data = readPackageNpmManifest(location);\n\n\t\t\tif (data !== undefined) {\n\t\t\t\tacc[data.name] = {\n\t\t\t\t\tdata,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tacc[location.path] = {\n\t\t\t\t\tdata: undefined,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst packageDependencies = Object.getOwnPropertyNames(packages).reduce(\n\t\t(acc, packageName) => {\n\t\t\tconst packageData = packages[packageName];\n\n\t\t\tif (packageData.data === undefined) {\n\t\t\t\tacc[packageName] = [];\n\t\t\t} else {\n\t\t\t\tacc[packageName] = Object.getOwnPropertyNames({\n\t\t\t\t\t...packageData.data.devDependencies,\n\t\t\t\t\t...packageData.data.dependencies,\n\t\t\t\t\t...packageData.data.peerDependencies,\n\t\t\t\t}).filter((packageName) => packages[packageName] !== undefined);\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst sortedPackages = toposort(packageDependencies);\n\tconst result: PackageLocation[] = [];\n\n\tfor (const packageName of sortedPackages) {\n\t\tconst location = packages[packageName].location;\n\n\t\tif (readPackageCreatorManifest(location).Package.endsWith(\".Basics\")) {\n\t\t\tresult.unshift(location);\n\t\t} else {\n\t\t\tresult.push(location);\n\t\t}\n\t}\n\n\treturn result;\n};\n\nconst createBannerComment = (banner: BannerOptions) => {\n\tconst bannerParts: string[] = [];\n\n\tif (banner.text) {\n\t\tbannerParts.push(\" * \" + banner.text);\n\t}\n\n\t{\n\t\tconst details: string[] = [];\n\n\t\tif (banner.version) {\n\t\t\tdetails.push(`Version: ${banner.version}`);\n\t\t}\n\t\tif (banner.commit) {\n\t\t\tif (banner.commitDirty) {\n\t\t\t\tdetails.push(`Commit: ${banner.commit} (dirty)`);\n\t\t\t} else {\n\t\t\t\tdetails.push(`Commit: ${banner.commit}`);\n\t\t\t}\n\t\t}\n\t\tif (banner.date) {\n\t\t\tdetails.push(`Date: ${banner.date.toISOString()}`);\n\t\t}\n\n\t\tconst detailsText = details.map((line) => ` * ${line}`).join(\"\\n\");\n\t\tif (detailsText) {\n\t\t\tbannerParts.push(detailsText);\n\t\t}\n\t}\n\n\tconst bannerText = bannerParts.join(\"\\n\\n\");\n\n\tif (bannerText) {\n\t\treturn `/*\n${bannerText}\n*\n* @preserve\t\t\t\n*/`;\n\t}\n\n\treturn undefined;\n};\n"],"names":["logPackageMessage","name","step","index","total","numLength","undefined","toString","length","indexString","padStart","identifierString","padEnd","console","log","tryReadTsConfig","location","config","ts","readConfigFile","path","join","scriptsDir","fs","readFileSync","build","outputDir","compilerOptions","lib","result","convertCompilerOptionsFromJson","options","removeComments","declaration","sourceMap","outFile","target","ScriptTarget","ES5","noEmitOnError","host","createCompilerHost","getCurrentDirectory","js","definitions","writeFile","fileName","data","writeByteOrderMark","endsWith","files","getPackageTypescriptFiles","Error","programOptions","rootNames","program","createProgram","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","emitSkipped","map","createErrorMessage","error","diagnostic","file","flattenDiagnosticMessageText","messageText","line","character","getLineAndCharacterOfPosition","start","message","generateDocs","declarationFile","outFolder","app","typedoc","Application","mediaDir","manifestDir","bootstrap","entryPoints","media","out","tsconfig","skipErrorChecking","setCompilerOptions","setValue","readmePath","glob","sync","absolute","cwd","project","convert","toposort","packages","queue","Object","getOwnPropertyNames","queueEntry","dependencies","dependencyQueued","some","dependency","includes","splice","push","buildFolders","outDir","clean","rmSync","recursive","workspace","folders","sortedPackages","sortPackagesByBuildOrder","skipPackagesWithoutTsFiles","filter","ensureTsConfig","readPackageCreatorManifest","logStep","Package","outputDirectory","mkdirSync","buildResult","tscBuild","banner","createBannerComment","writeFileSync","encoding","minimize","minifyResult","terser","minify","ecma","minifiedPath","code","docs","tsconfigPath","existsSync","content","applyTsConfigOption","JSON","stringify","parse","Array","from","reduce","acc","readPackageNpmManifest","packageDependencies","packageName","packageData","devDependencies","peerDependencies","unshift","bannerParts","text","details","version","commit","commitDirty","date","toISOString","detailsText","bannerText"],"mappings":";;;;;;;;;;;;;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;;ACwBK,MAAMiF,YAAe,GAAA,OAAO/E,OAAiC,GAAA;AACnE,IAAA,IAAIA,QAAQgF,MAAM,KAAKzG,SAAayB,IAAAA,OAAAA,CAAQiF,KAAK,EAAE;AAClDzF,QAAAA,EAAAA,CAAG0F,MAAM,CAAClF,OAAQgF,CAAAA,MAAM,EAAE;AAAEG,YAAAA,SAAAA,EAAW,IAAI;AAAC,SAAA,CAAA,CAAA;KAC5C;IAED,MAAMC,SAAAA,GAAYpF,QAAQoF,SAAS,CAAA;IACnC,MAAMC,OAAAA,GAAUrF,QAAQmE,QAAQ,CAAA;AAEhC,IAAA,IAAImB,iBAAiBC,wBAAyBF,CAAAA,OAAAA,CAAAA,CAAAA;IAE9C,IAAIrF,OAAAA,CAAQwF,0BAA0B,EAAE;QACvCF,cAAiBA,GAAAA,cAAAA,CAAeG,MAAM,CACrC,CAACxG,WAAamC,yBAA0BnC,CAAAA,QAAAA,CAAAA,CAAUR,MAAM,GAAG,CAAA,CAAA,CAAA;KAE5D;AAED,IAAA,IAAIL,KAAQ,GAAA,CAAA,CAAA;IAEZ,KAAK,MAAMa,YAAYqG,cAAgB,CAAA;QACtCI,cAAezG,CAAAA,QAAAA,CAAAA,CAAAA;AAEf,QAAA,MAAM+B,OAAO2E,0BAA2B1G,CAAAA,QAAAA,CAAAA,CAAAA;QAExC,MAAM2G,OAAAA,GAAU,CAACzH,IAAAA,GAChBF,iBAAkB+C,CAAAA,IAAAA,CAAK6E,OAAO,EAAE1H,IAAAA,EAAMC,KAAOiH,EAAAA,OAAAA,CAAQ5G,MAAM,CAAA,CAAA;QAE5DmH,OAAQ,CAAA,oCAAA,CAAA,CAAA;AAER,QAAA,MAAME,eAAkB9F,GAAAA,OAAAA,CAAQgF,MAAM,IAAI/F,SAASM,UAAU,CAAA;QAC7DC,EAAGuG,CAAAA,SAAS,CAACD,eAAiB,EAAA;AAAEX,YAAAA,SAAAA,EAAW,IAAI;AAAC,SAAA,CAAA,CAAA;QAEhD,MAAMa,WAAAA,GAAc,MAAMC,KAAAA,CAAShH,QAAU6G,EAAAA,eAAAA,CAAAA,CAAAA;QAC7C,MAAMI,MAAAA,GAASlG,QAAQkG,MAAM,GAC1BC,oBAAoBnG,OAAQkG,CAAAA,MAAM,IAClC3H,SAAS,CAAA;AAEZ,QAAA,IAAI2H,MAAQ,EAAA;AACXF,YAAAA,WAAAA,CAAYpF,EAAE,GAAGsF,MAAS,GAAA,IAAA,GAAOF,YAAYpF,EAAE,CAAA;AAC/CoF,YAAAA,WAAAA,CAAYnF,WAAW,GAAGqF,MAAS,GAAA,IAAA,GAAOF,YAAYnF,WAAW,CAAA;SACjE;AAEDrB,QAAAA,EAAAA,CAAG4G,aAAa,CACf/G,IAAAA,CAAKC,IAAI,CAACwG,iBAAiB,CAAC,EAAE9E,IAAK6E,CAAAA,OAAO,CAAC,GAAG,CAAC,CAC/CG,EAAAA,WAAAA,CAAYpF,EAAE,EACd;YAAEyF,QAAU,EAAA,MAAA;AAAO,SAAA,CAAA,CAAA;AAEpB7G,QAAAA,EAAAA,CAAG4G,aAAa,CACf/G,IAAAA,CAAKC,IAAI,CAACwG,iBAAiB,CAAC,EAAE9E,IAAK6E,CAAAA,OAAO,CAAC,KAAK,CAAC,CACjDG,EAAAA,WAAAA,CAAYnF,WAAW,EACvB;YAAEwF,QAAU,EAAA,MAAA;AAAO,SAAA,CAAA,CAAA;QAGpB,IAAIrG,OAAAA,CAAQsG,QAAQ,EAAE;AACrB,YAAA,MAAMC,eAAe,MAAMC,MAAAA,CAAOC,MAAM,CAACT,WAAAA,CAAYpF,EAAE,EAAE;gBACxD8F,IAAM,EAAA,CAAA;AACP,aAAA,CAAA,CAAA;YAEA,MAAMC,YAAAA,GAAetH,IAAKC,CAAAA,IAAI,CAC7BwG,eAAAA,EACA,CAAC,EAAE9E,IAAK6E,CAAAA,OAAO,CAAC,OAAO,CAAC,CAAA,CAAA;AAEzBrG,YAAAA,EAAAA,CAAG4G,aAAa,CAACO,YAAcJ,EAAAA,YAAAA,CAAaK,IAAI,EAAG;gBAClDP,QAAU,EAAA,MAAA;AACX,aAAA,CAAA,CAAA;SACA;AAED,QAAA,IAAIpH,QAASI,CAAAA,IAAI,CAACuF,QAAQ,CAAC,QAAW,CAAA,EAAA;YACrCpF,EAAGuG,CAAAA,SAAS,CAAC1G,IAAKC,CAAAA,IAAI,CAAC8F,SAAU/F,CAAAA,IAAI,EAAE,KAAQ,CAAA,EAAA;AAC9C8F,gBAAAA,SAAAA,EAAW,IAAI;AAChB,aAAA,CAAA,CAAA;YAEAS,OAAQ,CAAA,kDAAA,CAAA,CAAA;AACRpG,YAAAA,EAAAA,CAAG4G,aAAa,CACf/G,IAAAA,CAAKC,IAAI,CAAC8F,SAAAA,CAAU/F,IAAI,EAAE,KAAA,EAAO,CAAC,EAAE2B,IAAAA,CAAK6E,OAAO,CAAC,KAAK,CAAC,CACvDG,EAAAA,WAAAA,CAAYnF,WAAW,EACvB;gBAAEwF,QAAU,EAAA,MAAA;AAAO,aAAA,CAAA,CAAA;SAEpB;QAED,IAAIrG,OAAAA,CAAQ6G,IAAI,EAAE;YACjBjB,OAAQ,CAAA,kCAAA,CAAA,CAAA;YACR,MAAMjD,YAAAA,CACL1D,QACAI,EAAAA,IAAAA,CAAKC,IAAI,CAACwG,iBAAiB,CAAC,EAAE9E,IAAK6E,CAAAA,OAAO,CAAC,KAAK,CAAC,CACjDxG,EAAAA,IAAAA,CAAKC,IAAI,CAAC8F,SAAU/F,CAAAA,IAAI,EAAE,MAAA,EAAQ2B,IAAK6E,CAAAA,OAAO,CAC9C7E,EAAAA,IAAAA,CAAK6E,OAAO,CAAA,CAAA;SAEb;AAEDzH,QAAAA,KAAAA,EAAAA,CAAAA;AACD,KAAA;AACD,EAAE;AAEF,MAAMsH,cAAAA,GAAiB,CAACzG,QAA8B,GAAA;AACrD,IAAA,MAAM6H,eAAezH,IAAKC,CAAAA,IAAI,CAACL,QAAAA,CAASM,UAAU,EAAE,eAAA,CAAA,CAAA;AAEpD,IAAA,IAAI,CAACC,EAAAA,CAAGuH,UAAU,CAACD,YAAe,CAAA,EAAA;AACjC,QAAA,MAAME,UAAU,EAAC,CAAA;QACjBC,mBAAoBD,CAAAA,OAAAA,CAAAA,CAAAA;QAEpBxH,EAAG4G,CAAAA,aAAa,CACfU,YACAI,EAAAA,IAAAA,CAAKC,SAAS,CAACH,OAAAA,EAASzI,WAAW,IACnC,CAAA,EAAA,MAAA,CAAA,CAAA;KAEK,MAAA;AACN,QAAA,MAAMyI,UAAUE,IAAKE,CAAAA,KAAK,CAAC5H,EAAGC,CAAAA,YAAY,CAACqH,YAAc,EAAA,MAAA,CAAA,CAAA,CAAA;QACzDG,mBAAoBD,CAAAA,OAAAA,CAAAA,CAAAA;QACpBxH,EAAG4G,CAAAA,aAAa,CACfU,YACAI,EAAAA,IAAAA,CAAKC,SAAS,CAACH,OAAAA,EAASzI,WAAW,IACnC,CAAA,EAAA,MAAA,CAAA,CAAA;KAED;AACF,CAAA,CAAA;AAEA,MAAM0I,mBAAAA,GAAsB,CAACjG,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,MAAM0F,wBAAAA,GAA2B,CAChCF,OACuB,GAAA;IACvB,MAAMlB,QAAAA,GAAWkD,MAAMC,IAAI,CAACjC,SAASkC,MAAM,CAC1C,CACCC,GAAAA,EACAvI,QACgC,GAAA;AAChC,QAAA,MAAM+B,OAAOyG,sBAAuBxI,CAAAA,QAAAA,CAAAA,CAAAA;AAEpC,QAAA,IAAI+B,SAASzC,SAAW,EAAA;AACvBiJ,YAAAA,GAAG,CAACxG,IAAAA,CAAK9C,IAAI,CAAC,GAAG;AAChB8C,gBAAAA,IAAAA;AACA/B,gBAAAA,QAAAA;AACD,aAAA,CAAA;SACM,MAAA;AACNuI,YAAAA,GAAG,CAACvI,QAAAA,CAASI,IAAI,CAAC,GAAG;gBACpB2B,IAAMzC,EAAAA,SAAAA;AACNU,gBAAAA,QAAAA;AACD,aAAA,CAAA;SACA;QAED,OAAOuI,GAAAA,CAAAA;AACR,KAAA,EACA,EAAC,CAAA,CAAA;IAGF,MAAME,mBAAAA,GAAsBrD,OAAOC,mBAAmB,CAACH,UAAUoD,MAAM,CACtE,CAACC,GAAAA,EAAKG,WAAgB,GAAA;QACrB,MAAMC,WAAAA,GAAczD,QAAQ,CAACwD,WAAY,CAAA,CAAA;QAEzC,IAAIC,WAAAA,CAAY5G,IAAI,KAAKzC,SAAW,EAAA;YACnCiJ,GAAG,CAACG,WAAY,CAAA,GAAG,EAAE,CAAA;SACf,MAAA;AACNH,YAAAA,GAAG,CAACG,WAAAA,CAAY,GAAGtD,MAAAA,CAAOC,mBAAmB,CAAC;gBAC7C,GAAGsD,WAAAA,CAAY5G,IAAI,CAAC6G,eAAe;gBACnC,GAAGD,WAAAA,CAAY5G,IAAI,CAACwD,YAAY;gBAChC,GAAGoD,WAAAA,CAAY5G,IAAI,CAAC8G,gBAAgB;AACrC,aAAA,CAAA,CAAGrC,MAAM,CAAC,CAACkC,cAAgBxD,QAAQ,CAACwD,YAAY,KAAKpJ,SAAAA,CAAAA,CAAAA;SACrD;QAED,OAAOiJ,GAAAA,CAAAA;AACR,KAAA,EACA,EAAC,CAAA,CAAA;AAGF,IAAA,MAAMlC,iBAAiBpB,QAASwD,CAAAA,mBAAAA,CAAAA,CAAAA;AAChC,IAAA,MAAM5H,SAA4B,EAAE,CAAA;IAEpC,KAAK,MAAM6H,eAAerC,cAAgB,CAAA;AACzC,QAAA,MAAMrG,QAAWkF,GAAAA,QAAQ,CAACwD,WAAAA,CAAY,CAAC1I,QAAQ,CAAA;AAE/C,QAAA,IAAI0G,2BAA2B1G,QAAU4G,CAAAA,CAAAA,OAAO,CAAC3E,QAAQ,CAAC,SAAY,CAAA,EAAA;AACrEpB,YAAAA,MAAAA,CAAOiI,OAAO,CAAC9I,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,MAAMqG,mBAAAA,GAAsB,CAACD,MAA0B,GAAA;AACtD,IAAA,MAAM8B,cAAwB,EAAE,CAAA;IAEhC,IAAI9B,MAAAA,CAAO+B,IAAI,EAAE;AAChBD,QAAAA,WAAAA,CAAYlD,IAAI,CAAC,KAAQoB,GAAAA,MAAAA,CAAO+B,IAAI,CAAA,CAAA;KACpC;AAED,IAAA;AACC,QAAA,MAAMC,UAAoB,EAAE,CAAA;QAE5B,IAAIhC,MAAAA,CAAOiC,OAAO,EAAE;YACnBD,OAAQpD,CAAAA,IAAI,CAAC,CAAC,SAAS,EAAEoB,MAAOiC,CAAAA,OAAO,CAAC,CAAC,CAAA,CAAA;SACzC;QACD,IAAIjC,MAAAA,CAAOkC,MAAM,EAAE;YAClB,IAAIlC,MAAAA,CAAOmC,WAAW,EAAE;gBACvBH,OAAQpD,CAAAA,IAAI,CAAC,CAAC,QAAQ,EAAEoB,MAAOkC,CAAAA,MAAM,CAAC,QAAQ,CAAC,CAAA,CAAA;aACzC,MAAA;gBACNF,OAAQpD,CAAAA,IAAI,CAAC,CAAC,QAAQ,EAAEoB,MAAOkC,CAAAA,MAAM,CAAC,CAAC,CAAA,CAAA;aACvC;SACD;QACD,IAAIlC,MAAAA,CAAOoC,IAAI,EAAE;YAChBJ,OAAQpD,CAAAA,IAAI,CAAC,CAAC,MAAM,EAAEoB,OAAOoC,IAAI,CAACC,WAAW,EAAA,CAAG,CAAC,CAAA,CAAA;SACjD;AAED,QAAA,MAAMC,WAAcN,GAAAA,OAAAA,CAAQnG,GAAG,CAAC,CAACO,IAAAA,GAAS,CAAC,GAAG,EAAEA,IAAAA,CAAK,CAAC,CAAA,CAAEhD,IAAI,CAAC,IAAA,CAAA,CAAA;AAC7D,QAAA,IAAIkJ,WAAa,EAAA;AAChBR,YAAAA,WAAAA,CAAYlD,IAAI,CAAC0D,WAAAA,CAAAA,CAAAA;SACjB;AACF,KAAA;IAEA,MAAMC,UAAAA,GAAaT,WAAY1I,CAAAA,IAAI,CAAC,MAAA,CAAA,CAAA;AAEpC,IAAA,IAAImJ,UAAY,EAAA;AACf,QAAA,OAAO,CAAC;AACV,EAAEA,UAAW,CAAA;;;EAGX,CAAC,CAAA;KACD;IAED,OAAOlK,SAAAA,CAAAA;AACR,CAAA;;;;;;;;;"}
@@ -2,15 +2,15 @@ import * as path from 'path';
2
2
  import * as fs from 'fs';
3
3
  import { pipeline } from 'stream/promises';
4
4
  import { execSync } from 'child_process';
5
- import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from './dependencies-2565d80c.js';
6
- import { P as PACKAGE_FILE, I as INDEX_FILE, p as parseCreatorPackageName, g as getWorkspaceOutputPath, r as readPackageCreatorManifest, w as writePackageCreatorManifest, a as readPackageAnimationList, i as isErrorENOENT, b as readPackageCreatorIndex, c as readWorkspaceNpmManifest, u as uploadPackage, d as getPackageReleasesDirectory, e as getExistingPackages, s as startSession, f as closeSession } from './cli-cb85e4b5.js';
7
- import { l as logPackageMessage, b as buildFolders } from './index-67a112b8.js';
5
+ import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from './dependencies-a8a9faba.mjs';
6
+ import { P as PACKAGE_FILE, I as INDEX_FILE, p as parseCreatorPackageName, g as getWorkspaceOutputPath, r as readPackageCreatorManifest, w as writePackageCreatorManifest, a as readPackageAnimationList, i as isErrorENOENT, b as readPackageCreatorIndex, c as readWorkspaceNpmManifest, u as uploadPackage, d as getPackageReleasesDirectory, e as getExistingPackages, s as startSession, f as closeSession } from './cli-2ce0c074.mjs';
7
+ import { l as logPackageMessage, b as buildFolders } from './index-2cdef238.mjs';
8
8
  import 'write-pkg';
9
9
  import 'glob';
10
10
  import 'node:path';
11
11
  import 'node:fs';
12
12
  import axios from 'axios';
13
- import { g as getVersionFileHandler, p as parseVersionFromString, a as getVersionInformationFromGit, b as getWorkspaceBannerText, c as parseVersionFromNumericVersion, P as PackageVersion } from './versionFile-cf6657c8.js';
13
+ import { g as getVersionFileHandler, p as parseVersionFromString, a as getVersionInformationFromGit, b as getWorkspaceBannerText, c as parseVersionFromNumericVersion, P as PackageVersion } from './versionFile-e8fdf88c.mjs';
14
14
  import Ajv from 'ajv';
15
15
  import JSZip from 'jszip';
16
16
  import * as terser from 'terser';
@@ -136,11 +136,11 @@ Packaging without a javascript file is only allowed when animation json files ar
136
136
  * Copyright (C) ${date.getFullYear()} intelligentgraphics. All Rights Reserved. */`;
137
137
  }
138
138
  if (animations.size > 0) {
139
- const scopeParts = data.Scope.split(".");
140
- const scope = data.Scope;
139
+ const scope = data.Scope ?? data.Package;
140
+ const scopeParts = scope.split(".");
141
141
  library += createNamespace(scopeParts);
142
142
  for (const [name, data] of animations){
143
- library += `${scope}.${name} = ` + data + ";";
143
+ library += `${scope}["${name}"] = ` + data + ";";
144
144
  logPackageMessage(manifest.Package, `Added animation ${scope}.${name}`);
145
145
  }
146
146
  }
@@ -198,6 +198,10 @@ const releaseFolder = async (options)=>{
198
198
  } catch (err) {
199
199
  throw new Error(`Please enter a version in this format 1.0.0.100`);
200
200
  }
201
+ packageDescription.Version = newVersion.toVersionString({
202
+ buildNumber: true
203
+ });
204
+ writePackageCreatorManifest(location, packageDescription);
201
205
  if (newVersion.buildNumber < 100) {
202
206
  newVersion.preRelease = {
203
207
  type: "beta",
@@ -272,7 +276,7 @@ const releaseFolder = async (options)=>{
272
276
  var _workspaceManifest_dependencies;
273
277
  const workspaceManifest = readWorkspaceNpmManifest(workspace);
274
278
  if (!((_workspaceManifest_dependencies = workspaceManifest.dependencies) == null ? void 0 : _workspaceManifest_dependencies["@intelligentgraphics/3d.ig.gfx.standard"])) {
275
- const install = await options.prompter.confirm(`Animation.json files require the library 'IG.GFX.Standard' to be available, but it is not registered as a dependency. Do you want to install it now?`);
279
+ const install = await options.prompter.confirm(`Animation.json files expect the library 'IG.GFX.Standard' to be available, but it is not registered as a dependency. Do you want it to be added now?`);
276
280
  if (install) {
277
281
  execSync(`npm install @intelligentgraphics/3d.ig.gfx.standard`, {
278
282
  encoding: "utf-8",
@@ -390,38 +394,50 @@ const ensureRequiredVersions = async (workspaceLocation, creatorPackage, session
390
394
  }
391
395
  continue;
392
396
  }
393
- logPackageMessage(creatorPackage.Package, `Requested at least version ${libraryVersion.toVersionString({
394
- buildNumber: true
395
- })} for package ${libraryCreatorPackage.Package}`);
396
- if (targetSession.subDomain !== "Basics" && uploadedPackageInTarget) {
397
- const version = uploadedPackageInTarget.version.toVersionString({
398
- buildNumber: true
399
- });
400
- logPackageMessage(creatorPackage.Package, `Found invalid version ${version} for package ${libraryCreatorPackage.Package} in ${targetSession.subDomain}`);
401
- }
397
+ const possibleTargets = [];
402
398
  if (uploadedPackageInBasics) {
403
399
  const version = uploadedPackageInBasics.version.toVersionString({
404
400
  buildNumber: true
405
401
  });
406
- let message = `Found invalid version ${version} for package ${libraryCreatorPackage.Package} in Basics`;
407
- if (targetSession.subDomain !== "Basics" && uploadedPackageInTarget) {
408
- message += `. This version will not be used since the package also exists in ${targetSession.subDomain}`;
409
- }
410
- logPackageMessage(creatorPackage.Package, message);
402
+ possibleTargets.push({
403
+ value: "Basics",
404
+ name: `Basics (Current: ${version})`
405
+ });
406
+ } else {
407
+ possibleTargets.push({
408
+ value: "Basics",
409
+ name: "Basics (Current: None)"
410
+ });
411
411
  }
412
- const possibleTargets = [
413
- "Basics"
414
- ];
415
412
  if (targetSession.subDomain !== "Basics") {
416
- possibleTargets.push(targetSession.subDomain);
413
+ if (uploadedPackageInTarget) {
414
+ const version = uploadedPackageInTarget.version.toVersionString({
415
+ buildNumber: true
416
+ });
417
+ possibleTargets.push({
418
+ value: targetSession.subDomain,
419
+ name: `${targetSession.subDomain} (Current: ${version})`
420
+ });
421
+ } else {
422
+ possibleTargets.push({
423
+ value: targetSession.subDomain,
424
+ name: `${targetSession.subDomain} (Current: None)`
425
+ });
426
+ }
417
427
  }
428
+ const libraryVersionString = libraryVersion.toVersionString({
429
+ buildNumber: true
430
+ });
418
431
  const uploadTargetScope = await prompter.ask({
419
- message: `Select the scope to upload the required version of ${libraryCreatorPackage.Package} to or select "skip" to skip the upload.`,
432
+ message: `Version ${libraryVersionString} of dependency ${libraryCreatorPackage.Package} is required but not available. Please select a subdomain to upload the correct dependency version to`,
420
433
  options: [
421
434
  ...possibleTargets,
422
- "Skip"
435
+ {
436
+ name: "Skip upload",
437
+ value: "Skip"
438
+ }
423
439
  ],
424
- default: possibleTargets[0]
440
+ default: possibleTargets[0].value
425
441
  });
426
442
  if (uploadTargetScope === "Skip") {
427
443
  continue;
@@ -476,4 +492,4 @@ const createSessionManager = async (params)=>{
476
492
  };
477
493
 
478
494
  export { releaseFolder };
479
- //# sourceMappingURL=index-7a955335.js.map
495
+ //# sourceMappingURL=index-2fa7b516.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-2fa7b516.mjs","sources":["../src/commands/publish/zip.ts","../src/commands/publish/index.ts"],"sourcesContent":["import Ajv, { ValidateFunction } from \"ajv\";\nimport axios from \"axios\";\nimport JSZip from \"jszip\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\nimport * as terser from \"terser\";\n\nimport { isErrorENOENT } from \"../../lib/error\";\nimport { logPackageMessage } from \"../../lib/log\";\nimport {\n\tCreatorPackage,\n\treadPackageCreatorManifest,\n\twritePackageCreatorManifest,\n\treadPackageAnimationList,\n\treadPackageCreatorIndex,\n\tparseCreatorPackageName,\n\tPackageLocation,\n\tPackageNpmManifest,\n\tINDEX_FILE,\n\tPACKAGE_FILE,\n} from \"../../lib/package\";\nimport { getWorkspaceOutputPath, WorkspaceLocation } from \"../../lib/workspace\";\nimport {\n\tPublishedPackageLocation,\n\treadPublishedPackageCreatorIndex,\n} from \"../../lib/publishedPackage\";\n\nexport const buildArchiveFromPublishedPackage = (\n\tlocation: PublishedPackageLocation,\n\tmanifest: PackageNpmManifest,\n\tcreatorPackage: CreatorPackage,\n) => {\n\tconst archive = new JSZip();\n\n\tarchive.file(PACKAGE_FILE, JSON.stringify(creatorPackage, null, 2));\n\n\tconst index = readPublishedPackageCreatorIndex(location);\n\n\tif (index !== undefined) {\n\t\tarchive.file(INDEX_FILE, JSON.stringify(index, null, 2));\n\t}\n\n\tarchive.file(\n\t\tmanifest.main,\n\t\tfs.createReadStream(path.join(location.path, manifest.main)),\n\t);\n\n\treturn archive;\n};\n\nlet validateSchema: ValidateFunction | undefined;\n\nconst runtimeScripts: CreatorPackage[\"Type\"][] = [\n\t\"Interactor\",\n\t\"Core\",\n\t\"Mixed\",\n];\n\nconst notRuntimeScripts: CreatorPackage[\"Type\"][] = [\"Context\", \"Evaluator\"];\n\nexport const buildArchiveFromPackage = async (\n\tworkspaceLocation: WorkspaceLocation,\n\tpackageLocation: PackageLocation,\n\tdata: CreatorPackage,\n) => {\n\tconst { domain, subdomain } = parseCreatorPackageName(data);\n\n\tconst logStep = (step: string) => logPackageMessage(data.Package, step);\n\n\tif (validateSchema === undefined) {\n\t\tvalidateSchema = await axios\n\t\t\t.get(\n\t\t\t\t\"https://archive.intelligentgraphics.biz/schemas/gfx/animation.json\",\n\t\t\t)\n\t\t\t.then(({ data }) =>\n\t\t\t\tnew Ajv({\n\t\t\t\t\tcoerceTypes: true,\n\t\t\t\t\tallErrors: true,\n\t\t\t\t\tremoveAdditional: true,\n\t\t\t\t\tuseDefaults: \"empty\",\n\t\t\t\t\tvalidateSchema: \"log\",\n\t\t\t\t}).compile(data),\n\t\t\t);\n\t}\n\n\tconst libFilePath = path.join(\n\t\tgetWorkspaceOutputPath(workspaceLocation),\n\t\t`${data.Package}.min.js`,\n\t);\n\n\tconst scriptDirectories: string[] = [\n\t\tpackageLocation.path,\n\t\tpackageLocation.scriptsDir,\n\t];\n\n\tif (subdomain === \"GFX.Standard\") {\n\t\tlogStep(`Including Images folder`);\n\t\tscriptDirectories.push(path.join(packageLocation.path, \"Images\"));\n\t}\n\n\tconst manifest = readPackageCreatorManifest(packageLocation);\n\n\tif (manifest !== undefined) {\n\t\tif (manifest.RunTime && notRuntimeScripts.includes(manifest.Type)) {\n\t\t\tlogStep(\"Setting script RunTime to false because of script type\");\n\t\t\twritePackageCreatorManifest(packageLocation, {\n\t\t\t\t...manifest,\n\t\t\t\tRunTime: false,\n\t\t\t});\n\t\t} else if (\n\t\t\t!manifest.RunTime &&\n\t\t\truntimeScripts.includes(manifest.Type)\n\t\t) {\n\t\t\tlogStep(\"Setting script RunTime to true because of script type\");\n\t\t\twritePackageCreatorManifest(packageLocation, {\n\t\t\t\t...manifest,\n\t\t\t\tRunTime: true,\n\t\t\t});\n\t\t}\n\t}\n\n\t// if (index === undefined) {\n\t// \tthrow new Error(\n\t// \t\t`Could not find an \"${INDEX_FILE}\" file in \"${primaryScriptDir}\"`,\n\t// \t);\n\t// }\n\n\tconst animations = new Map<string, string>();\n\n\tfor (const scriptFilePath of readPackageAnimationList(packageLocation)) {\n\t\tconst content = fs.readFileSync(scriptFilePath, { encoding: \"utf8\" })!;\n\n\t\tlet data: { Id: string };\n\n\t\ttry {\n\t\t\tdata = JSON.parse(content);\n\t\t} catch (err) {\n\t\t\tconst relativePath = path.relative(\n\t\t\t\tworkspaceLocation.path,\n\t\t\t\tscriptFilePath,\n\t\t\t);\n\n\t\t\tif (err instanceof SyntaxError) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Encountered invalid syntax in file \"${relativePath}\": ${String(\n\t\t\t\t\t\terr,\n\t\t\t\t\t)}`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tthrow new Error(\n\t\t\t\t`Encountered an unexpected error while parsing animation json file at path \"${relativePath}\"`,\n\t\t\t\t{\n\t\t\t\t\tcause: err,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\n\t\tvalidateSchema!(data);\n\n\t\tanimations.set(data.Id, JSON.stringify(data));\n\t}\n\n\tlet libFile: string | undefined;\n\n\ttry {\n\t\tlibFile = fs.readFileSync(libFilePath, { encoding: \"utf8\" });\n\t} catch (err) {\n\t\tif (!isErrorENOENT(err)) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\n\tif (libFile === undefined) {\n\t\tif (animations.size === 0) {\n\t\t\tthrow new Error(`Could not find a javascript file at \"${libFilePath}\".\nPackaging without a javascript file is only allowed when animation json files are available`);\n\t\t}\n\t}\n\n\tconst archive = new JSZip();\n\n\tlet library: string = \"\";\n\n\tif (libFile) {\n\t\tlibrary = libFile;\n\t}\n\n\tif (!library) {\n\t\tconst date = new Date(Date.now());\n\t\tlibrary = `/* This file is part of the ${domain} Data Packages.\n\t\t* Copyright (C) ${date.getFullYear()} intelligentgraphics. All Rights Reserved. */`;\n\t}\n\n\tif (animations.size > 0) {\n\t\tconst scope = data.Scope ?? data.Package;\n\t\tconst scopeParts = scope.split(\".\");\n\n\t\tlibrary += createNamespace(scopeParts);\n\n\t\tfor (const [name, data] of animations) {\n\t\t\tlibrary += `${scope}[\"${name}\"] = ` + data + \";\";\n\t\t\tlogPackageMessage(\n\t\t\t\tmanifest.Package,\n\t\t\t\t`Added animation ${scope}.${name}`,\n\t\t\t);\n\t\t}\n\t}\n\n\tconst minifyResult = await terser.minify(library, { ecma: 5 });\n\n\tarchive.file(`${data.Package}.js`, minifyResult.code!);\n\tarchive.file(PACKAGE_FILE, JSON.stringify(data, null, 2));\n\n\tconst creatorIndex = readPackageCreatorIndex(packageLocation);\n\n\tif (creatorIndex !== undefined) {\n\t\tarchive.file(INDEX_FILE, JSON.stringify(creatorIndex, null, 2));\n\t}\n\n\tfor (const directory of scriptDirectories) {\n\t\ttry {\n\t\t\tfor (const file of fs.readdirSync(directory)) {\n\t\t\t\tconst { ext } = path.parse(file);\n\n\t\t\t\tswitch (ext) {\n\t\t\t\t\tcase \".png\":\n\t\t\t\t\tcase \".jpeg\":\n\t\t\t\t\tcase \".jpg\":\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tarchive.file(\n\t\t\t\t\tfile,\n\t\t\t\t\tfs.createReadStream(path.join(directory, file)),\n\t\t\t\t);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconsole.error(`Script directory \"${directory}\" does not exist`);\n\t\t}\n\t}\n\n\treturn archive;\n};\n\nconst createNamespace = (parts: string[]) => {\n\tlet code = `var ${parts[0]};`;\n\n\tfor (let index = 0; index < parts.length; index++) {\n\t\tconst path = parts.slice(0, index + 1).join(\".\");\n\n\t\tcode += `\\n(${path} = ${path} || {});`;\n\t}\n\n\treturn code;\n};\n","import * as path from \"path\";\nimport * as fs from \"fs\";\nimport { pipeline } from \"stream/promises\";\nimport { execSync } from \"child_process\";\n\nimport {\n\tAssetService,\n\twritePackageCreatorManifest,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nimport { logPackageMessage } from \"../../lib/log\";\nimport {\n\tCreatorPackage,\n\tgetPackageReleasesDirectory,\n\tPackageLocation,\n\tparseCreatorPackageName,\n\treadPackageAnimationList,\n\treadPackageCreatorManifest,\n} from \"../../lib/package\";\nimport {\n\tgetWorkspaceOutputPath,\n\treadWorkspaceNpmManifest,\n\tWorkspaceLocation,\n} from \"../../lib/workspace\";\nimport { getVersionInformationFromGit } from \"../../lib/git\";\nimport { getWorkspaceBannerText } from \"../../lib/banner\";\nimport {\n\tparseVersionFromNumericVersion,\n\tparseVersionFromString,\n} from \"../../lib/parseVersion\";\nimport { getVersionFileHandler } from \"../../lib/versionFile\";\nimport { isErrorENOENT } from \"../../lib/error\";\nimport { determineWorkspaceIGLibraries } from \"../../lib/dependencies\";\nimport {\n\treadPublishedPackageCreatorManifest,\n\treadPublishedPackageNpmManifest,\n} from \"../../lib/publishedPackage\";\nimport { Prompter, PrompterOption } from \"../../lib/prompter\";\nimport { PackageVersion } from \"../../lib/packageVersion\";\n\nimport { BuildFoldersOptions, buildFolders } from \"../build\";\nimport {\n\tbuildArchiveFromPackage,\n\tbuildArchiveFromPublishedPackage,\n} from \"./zip\";\n\nexport interface ReleaseFolderOptions\n\textends Omit<\n\t\tBuildFoldersOptions,\n\t\t\"skipPackagesWithoutTsFiles\" | \"banner\" | \"packages\"\n\t> {\n\tdirectory: PackageLocation;\n\tnoUpload: boolean;\n\tnewVersion: string;\n\tdomain?: string;\n\tsubdomain?: string;\n\taddress?: string;\n\tservice: string;\n\tauthentication?: AssetService.Authentication;\n\tpushOnly: boolean;\n\tbanner?: boolean;\n\tprompter: Prompter;\n\tskipDependencies?: boolean;\n}\n\nexport const releaseFolder = async (options: ReleaseFolderOptions) => {\n\tconst workspace = options.workspace;\n\tconst location = options.directory;\n\n\tconst { write: writeVersionFile, reset: resetVersionFile } =\n\t\tgetVersionFileHandler(location);\n\n\tconst packageDescription = readPackageCreatorManifest(location);\n\tconst fullPackageName = packageDescription.Package;\n\tconst { domain, subdomain } = parseCreatorPackageName(packageDescription);\n\n\tconst publishDomain = options.domain ?? domain;\n\tconst publishSubdomain = options.subdomain ?? subdomain;\n\n\tconst sharedPackageJson = readWorkspaceNpmManifest(workspace);\n\n\tlet newVersion: PackageVersion;\n\ttry {\n\t\tnewVersion = parseVersionFromString(options.newVersion);\n\t} catch (err) {\n\t\tthrow new Error(`Please enter a version in this format 1.0.0.100`);\n\t}\n\n\tpackageDescription.Version = newVersion.toVersionString({\n\t\tbuildNumber: true,\n\t});\n\twritePackageCreatorManifest(location, packageDescription);\n\n\tif (newVersion.buildNumber < 100) {\n\t\tnewVersion.preRelease = {\n\t\t\ttype: \"beta\",\n\t\t\tversion: newVersion.buildNumber,\n\t\t};\n\t} else if (newVersion.buildNumber > 100) {\n\t\tnewVersion.preRelease = {\n\t\t\ttype: \"patch\",\n\t\t\tversion: newVersion.buildNumber - 100,\n\t\t};\n\t}\n\n\tif (sharedPackageJson !== undefined) {\n\t\tlogPackageMessage(\n\t\t\tpackageDescription.Package,\n\t\t\t`Running npm install to make sure all dependencies are up to date`,\n\t\t);\n\t\texecSync(`npm install`, { encoding: \"utf-8\", cwd: workspace.path });\n\t}\n\n\tconst binDir = getWorkspaceOutputPath(workspace);\n\tfs.mkdirSync(binDir, { recursive: true });\n\n\tlet assetServerPackageDetails: AssetService.UploadPackageDetails;\n\n\tlet packageNameWithVersion: string;\n\n\t{\n\t\tconst versionWithoutPrelease = newVersion.clone();\n\t\tversionWithoutPrelease.preRelease = undefined;\n\t\tconst newVersionString = versionWithoutPrelease.toVersionString({\n\t\t\tbuildNumber: true,\n\t\t});\n\t\tpackageNameWithVersion = `${packageDescription.Package}_${newVersionString}`;\n\n\t\tassetServerPackageDetails = {\n\t\t\tname: packageDescription.Package,\n\t\t\tversion: newVersionString,\n\t\t};\n\t}\n\n\tconst zipFilePath = path.join(binDir, packageNameWithVersion + \".zip\");\n\n\ttry {\n\t\tif (options.pushOnly) {\n\t\t\tif (!fs.existsSync(zipFilePath)) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Expected a zip file to exist at path ${zipFilePath} since pushOnly is specified`,\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tconst gitVersionInformation = await getVersionInformationFromGit(\n\t\t\t\tworkspace,\n\t\t\t\tlocation,\n\t\t\t);\n\n\t\t\twriteVersionFile(fullPackageName, newVersion);\n\n\t\t\tconst bannerText =\n\t\t\t\tsharedPackageJson !== undefined\n\t\t\t\t\t? getWorkspaceBannerText(sharedPackageJson)\n\t\t\t\t\t: undefined;\n\n\t\t\tawait buildFolders({\n\t\t\t\t...options,\n\t\t\t\tpackages: [location],\n\t\t\t\tskipPackagesWithoutTsFiles: true,\n\t\t\t\tbanner: options.banner\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttext: bannerText,\n\t\t\t\t\t\t\tcommit: gitVersionInformation.commit,\n\t\t\t\t\t\t\tcommitDirty: gitVersionInformation.dirty,\n\t\t\t\t\t\t\tversion: newVersion.toVersionString({\n\t\t\t\t\t\t\t\tbuildNumber: true,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tdate: new Date(Date.now()),\n\t\t\t\t\t\t\t// gitVersionInformation.commitDate\n\t\t\t\t\t\t\t// \t? new Date(gitVersionInformation.commitDate)\n\t\t\t\t\t\t\t// \t: new Date(Date.now()),\n\t\t\t\t\t }\n\t\t\t\t\t: undefined,\n\t\t\t});\n\n\t\t\tnewVersion.preRelease = undefined;\n\n\t\t\ttry {\n\t\t\t\tfs.rmSync(zipFilePath);\n\t\t\t} catch (err) {\n\t\t\t\tif (!isErrorENOENT(err)) {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (readPackageAnimationList(location).length > 0) {\n\t\t\t\tconst workspaceManifest = readWorkspaceNpmManifest(workspace);\n\n\t\t\t\tif (\n\t\t\t\t\t!workspaceManifest.dependencies?.[\n\t\t\t\t\t\t\"@intelligentgraphics/3d.ig.gfx.standard\"\n\t\t\t\t\t]\n\t\t\t\t) {\n\t\t\t\t\tconst install = await options.prompter.confirm(\n\t\t\t\t\t\t`Animation.json files expect the library 'IG.GFX.Standard' to be available, but it is not registered as a dependency. Do you want it to be added now?`,\n\t\t\t\t\t);\n\n\t\t\t\t\tif (install) {\n\t\t\t\t\t\texecSync(\n\t\t\t\t\t\t\t`npm install @intelligentgraphics/3d.ig.gfx.standard`,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tencoding: \"utf-8\",\n\t\t\t\t\t\t\t\tcwd: workspace.path,\n\t\t\t\t\t\t\t\tstdio: \"inherit\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\texecSync(`npm run postinstall`, {\n\t\t\t\t\t\t\tcwd: workspace.path,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst archive = await buildArchiveFromPackage(\n\t\t\t\tworkspace,\n\t\t\t\tlocation,\n\t\t\t\tpackageDescription,\n\t\t\t);\n\n\t\t\tconst zipOutputStream = fs.createWriteStream(zipFilePath);\n\t\t\tawait pipeline(archive.generateNodeStream(), zipOutputStream);\n\t\t}\n\n\t\tif (!options.noUpload) {\n\t\t\tif (!options.authentication) {\n\t\t\t\tthrow new Error(`Expected authentication to be available`);\n\t\t\t}\n\n\t\t\tlogPackageMessage(\n\t\t\t\tpackageDescription.Package,\n\t\t\t\t`Opening connection to IG.Asset.Server`,\n\t\t\t);\n\n\t\t\tconst sessionManager = await createSessionManager({\n\t\t\t\turl: options.service,\n\t\t\t\taddress: options.address,\n\t\t\t\tdomain: publishDomain,\n\t\t\t\tsubDomain: publishSubdomain,\n\t\t\t\tauthentication: options.authentication,\n\t\t\t});\n\n\t\t\ttry {\n\t\t\t\tif (!options.skipDependencies) {\n\t\t\t\t\tawait ensureRequiredVersions(\n\t\t\t\t\t\tworkspace,\n\t\t\t\t\t\tpackageDescription,\n\t\t\t\t\t\tsessionManager,\n\t\t\t\t\t\toptions.prompter,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tlogPackageMessage(\n\t\t\t\t\tpackageDescription.Package,\n\t\t\t\t\t`Uploading package to ${publishDomain}.${publishSubdomain}`,\n\t\t\t\t);\n\n\t\t\t\tawait AssetService.uploadPackage(\n\t\t\t\t\tsessionManager.getTargetSession(),\n\t\t\t\t\tassetServerPackageDetails,\n\t\t\t\t\tzipFilePath,\n\t\t\t\t);\n\t\t\t} finally {\n\t\t\t\tawait sessionManager.destroy().catch((err) => {\n\t\t\t\t\tlogPackageMessage(\n\t\t\t\t\t\tpackageDescription.Package,\n\t\t\t\t\t\t`Failed to close IG.Asset.Server session(s): ${err}`,\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\tresetVersionFile();\n\t\tthrow err;\n\t}\n\n\tif (newVersion.buildNumber >= 100 && !options.pushOnly) {\n\t\tlogPackageMessage(fullPackageName, \"Copying zip to releases folder\");\n\n\t\tconst zipFileName = `${packageNameWithVersion}.zip`;\n\t\tconst releasesPath = getPackageReleasesDirectory(location);\n\n\t\tfs.mkdirSync(releasesPath, { recursive: true });\n\t\tfs.copyFileSync(zipFilePath, path.join(releasesPath, zipFileName));\n\t}\n};\n\nconst ensureRequiredVersions = async (\n\tworkspaceLocation: WorkspaceLocation,\n\tcreatorPackage: CreatorPackage,\n\tsessionManager: SessionManager,\n\tprompter: Prompter,\n) => {\n\tinterface UploadedPackage\n\t\textends Omit<AssetService.ExistingPackage, \"version\"> {\n\t\tversion: PackageVersion;\n\t}\n\n\tconst libraries = determineWorkspaceIGLibraries(workspaceLocation);\n\n\t// If there are no libraries, we don't need to check for required versions\n\tif (libraries.length === 0) {\n\t\treturn true;\n\t}\n\n\tconst targetSession = sessionManager.getTargetSession();\n\n\tconst rawUploadedPackages = await AssetService.getExistingPackages(\n\t\ttargetSession,\n\t);\n\n\tconst uploadedPackages = rawUploadedPackages.map(\n\t\t(entry): UploadedPackage => {\n\t\t\tlet version: PackageVersion;\n\n\t\t\ttry {\n\t\t\t\tversion = parseVersionFromNumericVersion(entry.numericVersion);\n\t\t\t} catch (err) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Encountered invalid format for version ${entry.numericVersion}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (version.buildNumber < 100) {\n\t\t\t\tversion.preRelease = {\n\t\t\t\t\ttype: \"beta\",\n\t\t\t\t\tversion: version.buildNumber,\n\t\t\t\t};\n\t\t\t} else if (version.buildNumber > 100) {\n\t\t\t\tversion.preRelease = {\n\t\t\t\t\ttype: \"patch\",\n\t\t\t\t\tversion: version.buildNumber - 100,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...entry,\n\t\t\t\tversion,\n\t\t\t};\n\t\t},\n\t);\n\n\tfor (const libraryLocation of libraries) {\n\t\tconst libraryManifest =\n\t\t\treadPublishedPackageNpmManifest(libraryLocation);\n\t\tconst libraryCreatorPackage =\n\t\t\treadPublishedPackageCreatorManifest(libraryLocation);\n\n\t\tif (\n\t\t\tlibraryCreatorPackage === undefined ||\n\t\t\tlibraryManifest.main === undefined ||\n\t\t\tlibraryCreatorPackage.Package === creatorPackage.Package\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst libraryVersion = PackageVersion.extractFromLine(\n\t\t\tlibraryManifest.version,\n\t\t);\n\n\t\tif (libraryVersion.preRelease) {\n\t\t\tlibraryVersion.buildNumber = libraryVersion.preRelease.version;\n\t\t\tlibraryVersion.preRelease = undefined;\n\t\t} else {\n\t\t\tlibraryVersion.buildNumber = 100;\n\t\t}\n\n\t\tlet uploadedPackageInBasics: UploadedPackage | undefined;\n\t\tlet uploadedPackageInTarget: UploadedPackage | undefined;\n\n\t\tfor (const uploadedPackage of uploadedPackages) {\n\t\t\tif (uploadedPackage.scope === libraryCreatorPackage.Package) {\n\t\t\t\tif (uploadedPackage.support) {\n\t\t\t\t\tuploadedPackageInBasics = uploadedPackage;\n\t\t\t\t} else {\n\t\t\t\t\tuploadedPackageInTarget = uploadedPackage;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst validInBasics =\n\t\t\tuploadedPackageInBasics !== undefined &&\n\t\t\t!uploadedPackageInBasics.version.isLesserThan(libraryVersion);\n\t\tconst validInTarget =\n\t\t\tuploadedPackageInTarget !== undefined &&\n\t\t\t!uploadedPackageInTarget.version.isLesserThan(libraryVersion);\n\n\t\tif (validInBasics || validInTarget) {\n\t\t\tif (\n\t\t\t\ttargetSession.subDomain !== \"Basics\" &&\n\t\t\t\tuploadedPackageInBasics !== undefined &&\n\t\t\t\tuploadedPackageInTarget !== undefined\n\t\t\t) {\n\t\t\t\tlogPackageMessage(\n\t\t\t\t\tcreatorPackage.Package,\n\t\t\t\t\t`Package ${libraryCreatorPackage.Package} is uploaded both for Basics and ${targetSession.subDomain}. The package within ${targetSession.subDomain} will be used.`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst possibleTargets: PrompterOption[] = [];\n\n\t\tif (uploadedPackageInBasics) {\n\t\t\tconst version = uploadedPackageInBasics.version.toVersionString({\n\t\t\t\tbuildNumber: true,\n\t\t\t});\n\n\t\t\tpossibleTargets.push({\n\t\t\t\tvalue: \"Basics\",\n\t\t\t\tname: `Basics (Current: ${version})`,\n\t\t\t});\n\t\t} else {\n\t\t\tpossibleTargets.push({\n\t\t\t\tvalue: \"Basics\",\n\t\t\t\tname: \"Basics (Current: None)\",\n\t\t\t});\n\t\t}\n\n\t\tif (targetSession.subDomain !== \"Basics\") {\n\t\t\tif (uploadedPackageInTarget) {\n\t\t\t\tconst version = uploadedPackageInTarget.version.toVersionString(\n\t\t\t\t\t{\n\t\t\t\t\t\tbuildNumber: true,\n\t\t\t\t\t},\n\t\t\t\t);\n\n\t\t\t\tpossibleTargets.push({\n\t\t\t\t\tvalue: targetSession.subDomain,\n\t\t\t\t\tname: `${targetSession.subDomain} (Current: ${version})`,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tpossibleTargets.push({\n\t\t\t\t\tvalue: targetSession.subDomain,\n\t\t\t\t\tname: `${targetSession.subDomain} (Current: None)`,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tconst libraryVersionString = libraryVersion.toVersionString({\n\t\t\tbuildNumber: true,\n\t\t});\n\n\t\tconst uploadTargetScope = await prompter.ask({\n\t\t\tmessage: `Version ${libraryVersionString} of dependency ${libraryCreatorPackage.Package} is required but not available. Please select a subdomain to upload the correct dependency version to`,\n\t\t\toptions: [\n\t\t\t\t...possibleTargets,\n\t\t\t\t{ name: \"Skip upload\", value: \"Skip\" },\n\t\t\t],\n\t\t\tdefault: possibleTargets[0].value,\n\t\t});\n\n\t\tif (uploadTargetScope === \"Skip\") {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst archive = buildArchiveFromPublishedPackage(\n\t\t\tlibraryLocation,\n\t\t\tlibraryManifest,\n\t\t\tlibraryCreatorPackage,\n\t\t);\n\n\t\tconst newVersionString = libraryVersion.toVersionString({\n\t\t\tbuildNumber: true,\n\t\t});\n\t\tconst packageNameWithVersion = `${libraryCreatorPackage.Package}_${newVersionString}`;\n\n\t\tconst zipFilePath = path.join(\n\t\t\tgetWorkspaceOutputPath(workspaceLocation),\n\t\t\t`${packageNameWithVersion}.zip`,\n\t\t);\n\n\t\ttry {\n\t\t\tfs.rmSync(zipFilePath);\n\t\t} catch (err) {\n\t\t\tif (!isErrorENOENT(err)) {\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t}\n\n\t\tconst zipOutputStream = fs.createWriteStream(zipFilePath);\n\t\tawait pipeline(archive.generateNodeStream(), zipOutputStream);\n\n\t\tconst session =\n\t\t\tuploadTargetScope === \"Basics\"\n\t\t\t\t? await sessionManager.getBasicsSession()\n\t\t\t\t: targetSession;\n\n\t\tlogPackageMessage(\n\t\t\tcreatorPackage.Package,\n\t\t\t`Uploading package ${libraryCreatorPackage.Package} with version ${newVersionString} to ${session.domain}.${session.subDomain}`,\n\t\t);\n\n\t\tawait AssetService.uploadPackage(\n\t\t\tsession,\n\t\t\t{\n\t\t\t\tname: libraryCreatorPackage.Package,\n\t\t\t\tversion: newVersionString,\n\t\t\t},\n\t\t\tzipFilePath,\n\t\t);\n\t}\n};\n\ninterface SessionManager {\n\tgetBasicsSession: () => Promise<AssetService.Session>;\n\tgetTargetSession: () => AssetService.Session;\n\tdestroy: () => Promise<void>;\n}\n\nconst createSessionManager = async (\n\tparams: AssetService.SessionStartParams,\n): Promise<SessionManager> => {\n\tconst targetSession = await AssetService.startSession(params);\n\tlet basicsSession: AssetService.Session | undefined;\n\n\treturn {\n\t\tgetBasicsSession: async () => {\n\t\t\tif (targetSession.subDomain === \"Basics\") {\n\t\t\t\treturn targetSession;\n\t\t\t}\n\n\t\t\tif (basicsSession === undefined) {\n\t\t\t\tbasicsSession = await AssetService.startSession({\n\t\t\t\t\t...params,\n\t\t\t\t\tsubDomain: \"Basics\",\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn basicsSession;\n\t\t},\n\n\t\tgetTargetSession: () => targetSession,\n\n\t\tdestroy: async () => {\n\t\t\tawait AssetService.closeSession(targetSession);\n\n\t\t\tif (basicsSession !== undefined) {\n\t\t\t\tawait AssetService.closeSession(basicsSession);\n\t\t\t}\n\t\t},\n\t};\n};\n"],"names":["buildArchiveFromPublishedPackage","location","manifest","creatorPackage","archive","JSZip","file","PACKAGE_FILE","JSON","stringify","index","readPublishedPackageCreatorIndex","undefined","INDEX_FILE","main","fs","createReadStream","path","join","validateSchema","runtimeScripts","notRuntimeScripts","buildArchiveFromPackage","workspaceLocation","packageLocation","data","domain","subdomain","parseCreatorPackageName","logStep","step","logPackageMessage","Package","axios","get","then","Ajv","coerceTypes","allErrors","removeAdditional","useDefaults","compile","libFilePath","getWorkspaceOutputPath","scriptDirectories","scriptsDir","push","readPackageCreatorManifest","RunTime","includes","Type","writePackageCreatorManifest","animations","Map","scriptFilePath","readPackageAnimationList","content","readFileSync","encoding","parse","err","relativePath","relative","SyntaxError","Error","String","cause","set","Id","libFile","isErrorENOENT","size","library","date","Date","now","getFullYear","scope","Scope","scopeParts","split","createNamespace","name","minifyResult","terser","minify","ecma","code","creatorIndex","readPackageCreatorIndex","directory","readdirSync","ext","console","error","parts","length","slice","releaseFolder","options","workspace","write","writeVersionFile","reset","resetVersionFile","getVersionFileHandler","packageDescription","fullPackageName","publishDomain","publishSubdomain","sharedPackageJson","readWorkspaceNpmManifest","newVersion","parseVersionFromString","Version","toVersionString","buildNumber","preRelease","type","version","execSync","cwd","binDir","mkdirSync","recursive","assetServerPackageDetails","packageNameWithVersion","versionWithoutPrelease","clone","newVersionString","zipFilePath","pushOnly","existsSync","gitVersionInformation","getVersionInformationFromGit","bannerText","getWorkspaceBannerText","buildFolders","packages","skipPackagesWithoutTsFiles","banner","text","commit","commitDirty","dirty","rmSync","workspaceManifest","dependencies","install","prompter","confirm","stdio","zipOutputStream","createWriteStream","pipeline","generateNodeStream","noUpload","authentication","sessionManager","createSessionManager","url","service","address","subDomain","skipDependencies","ensureRequiredVersions","AssetService","getTargetSession","destroy","catch","zipFileName","releasesPath","getPackageReleasesDirectory","copyFileSync","libraries","determineWorkspaceIGLibraries","targetSession","rawUploadedPackages","uploadedPackages","map","entry","parseVersionFromNumericVersion","numericVersion","libraryLocation","libraryManifest","readPublishedPackageNpmManifest","libraryCreatorPackage","readPublishedPackageCreatorManifest","libraryVersion","PackageVersion","extractFromLine","uploadedPackageInBasics","uploadedPackageInTarget","uploadedPackage","support","validInBasics","isLesserThan","validInTarget","possibleTargets","value","libraryVersionString","uploadTargetScope","ask","message","default","session","getBasicsSession","params","basicsSession"],"mappings":"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"}
@@ -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-2565d80c.js';
5
+ import { d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest } from './dependencies-a8a9faba.mjs';
6
6
  import 'write-pkg';
7
- import { c as readWorkspaceNpmManifest, l as getWorkspaceLibPath } from './cli-cb85e4b5.js';
7
+ import { c as readWorkspaceNpmManifest, l as getWorkspaceLibPath } from './cli-2ce0c074.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-962af586.js.map
67
+ //# sourceMappingURL=postinstall-0ffa4499.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postinstall-0ffa4499.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;;;;"}
@@ -3,13 +3,13 @@ import * as fs from 'fs';
3
3
  import { spawnSync } from 'child_process';
4
4
  import 'resolve';
5
5
  import 'write-pkg';
6
- import { c as readWorkspaceNpmManifest, g as getWorkspaceOutputPath, r as readPackageCreatorManifest, o as readPackageNpmManifest, q as writePackageNpmManifest, P as PACKAGE_FILE, b as readPackageCreatorIndex, I as INDEX_FILE, t as iterateWorkspacePackages } from './cli-cb85e4b5.js';
7
- import { b as buildFolders, l as logPackageMessage } from './index-67a112b8.js';
6
+ import { c as readWorkspaceNpmManifest, g as getWorkspaceOutputPath, r as readPackageCreatorManifest, o as readPackageNpmManifest, q as writePackageNpmManifest, P as PACKAGE_FILE, b as readPackageCreatorIndex, I as INDEX_FILE, t as iterateWorkspacePackages } from './cli-2ce0c074.mjs';
7
+ import { b as buildFolders, l as logPackageMessage } from './index-2cdef238.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-cf6657c8.js';
12
+ import { p as parseVersionFromString, g as getVersionFileHandler, a as getVersionInformationFromGit, b as getWorkspaceBannerText } from './versionFile-e8fdf88c.mjs';
13
13
  import 'update-notifier';
14
14
  import 'yargs/yargs';
15
15
  import 'url';
@@ -131,4 +131,4 @@ const publishToNpm = async ({ workspace , location , version: providedVersion ,
131
131
  };
132
132
 
133
133
  export { publishToNpm };
134
- //# sourceMappingURL=publishNpm-1838e45c.js.map
134
+ //# sourceMappingURL=publishNpm-2b3321c5.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishNpm-2b3321c5.mjs","sources":["../src/commands/publishNpm.ts"],"sourcesContent":["import * as path from \"path\";\nimport * as fs from \"fs\";\nimport { spawnSync } 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\tspawnSync(\"npm\", [\"publish\", ...npmPublishArgs], {\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","spawnSync","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-cb85e4b5.js';
6
+ import { i as isErrorENOENT } from './cli-2ce0c074.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-cf6657c8.js.map
384
+ //# sourceMappingURL=versionFile-e8fdf88c.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versionFile-e8fdf88c.mjs","sources":["../../tools.core/build/fs.mjs","../src/lib/git.ts","../src/lib/banner.ts","../src/lib/packageVersion.ts","../src/lib/parseVersion.ts","../src/lib/versionFile.ts"],"sourcesContent":["import * as fs from 'fs';\nimport { isErrorENOENT } from './error.mjs';\n\nconst readStringFromFile = (filePath)=>fs.readFileSync(filePath, {\n encoding: \"utf8\"\n });\nconst readStringFromFileOrUndefined = (filePath)=>{\n try {\n return readStringFromFile(filePath);\n } catch (err) {\n if (!isErrorENOENT(err)) {\n throw err;\n }\n return undefined;\n }\n};\n\nexport { readStringFromFile, readStringFromFileOrUndefined };\n//# sourceMappingURL=fs.mjs.map\n","import simpleGit from \"simple-git\";\nimport * as path from \"path\";\n\nimport { WorkspaceLocation } from \"./workspace\";\nimport { PackageLocation } from \"./package\";\n\nexport const getVersionInformationFromGit = async (\n\tworkspaceLocation: WorkspaceLocation,\n\tpackageLocation: PackageLocation,\n) => {\n\ttry {\n\t\tconst git = simpleGit({\n\t\t\tbaseDir: workspaceLocation.path,\n\t\t});\n\n\t\t// check wether the files for a folder are changed\n\t\t// if so, mark as dirty\n\t\tconst diff = await git.diffSummary();\n\n\t\tconst dirty = diff.files.some((file) => {\n\t\t\tif (\n\t\t\t\tfile.file.toLowerCase().includes(\"releases\") ||\n\t\t\t\tfile.file.toLowerCase().endsWith(\"version.ts\") ||\n\t\t\t\tfile.file.toLowerCase().endsWith(\"package.json\")\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst fullPath = path.resolve(workspaceLocation.path, file.file);\n\t\t\tconst relativePath = path.relative(packageLocation.path, fullPath);\n\n\t\t\treturn !relativePath.startsWith(\"..\");\n\t\t});\n\n\t\tconst log = await git.log({ maxCount: 1 });\n\t\tconst commit = !log.latest?.hash\n\t\t\t? undefined\n\t\t\t: log.latest.hash.substring(0, 7);\n\n\t\treturn {\n\t\t\tcommit,\n\t\t\tdirty,\n\t\t\tcommitDate: log.latest?.date,\n\t\t};\n\t} catch (err) {\n\t\treturn {};\n\t}\n};\n","import { WorkspacePackageJSON } from \"./workspace\";\n\nexport const getWorkspaceBannerText = (manifest: WorkspacePackageJSON) => {\n\tlet bannerText = manifest?.packager?.banner;\n\n\tif (bannerText) {\n\t\tconst match = bannerText.match(/Copyright \\(C\\) (\\d+)( ?- ?(\\d+))?/);\n\n\t\tif (match !== null) {\n\t\t\tconst startYear = parseInt(match[1]);\n\t\t\tconst endYear = new Date().getFullYear();\n\n\t\t\tif (startYear !== endYear) {\n\t\t\t\tbannerText = bannerText.replace(\n\t\t\t\t\tmatch[0],\n\t\t\t\t\t`Copyright (C) ${startYear} - ${endYear}`,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tbannerText = bannerText.replace(\n\t\t\t\t\tmatch[0],\n\t\t\t\t\t`Copyright (C) ${startYear}`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn bannerText;\n};\n","// Stolen from ig.tools.core\n\nexport interface PackageVersionToVersionStringParams {\n\tbuildNumber?: boolean;\n}\n\nexport class PackageVersion {\n\t// https://regex101.com/r/90PEY9/1\n\tpublic static fullTextMatcher =\n\t\t/(\\d+)(\\.(\\d+)(\\.(\\d+)(\\.(\\d+))?(-([^\\.]+)\\.(\\d+))?)?)?/;\n\tpublic static lineMatcher =\n\t\t/^(\\d+)(\\.(\\d+)(\\.(\\d+)(\\.(\\d+))?(-([^\\.]+)\\.(\\d+))?)?)?$/;\n\n\tpublic static extractFromText(input: string, description?: string) {\n\t\tif (input === undefined) {\n\t\t\tthrow new Error(`Can not parse version from undefined`);\n\t\t}\n\n\t\tconst match = input.match(PackageVersion.fullTextMatcher);\n\n\t\tif (!match) {\n\t\t\tthrow new Error(`Could not extract a version from input: ${input}`);\n\t\t}\n\n\t\treturn PackageVersion.fromMatch(match, description);\n\t}\n\n\tpublic static extractFromLine(input: string, description?: string) {\n\t\tif (input === undefined) {\n\t\t\tthrow new Error(`Can not parse version from undefined`);\n\t\t}\n\n\t\tconst match = input.match(PackageVersion.lineMatcher);\n\n\t\tif (!match) {\n\t\t\tthrow new Error(`Could not parse version from input: ${input}`);\n\t\t}\n\n\t\treturn PackageVersion.fromMatch(match, description);\n\t}\n\n\tpublic static equals(\n\t\ta: PackageVersion,\n\t\tb: PackageVersion,\n\t\tcheckPrerelease = false,\n\t) {\n\t\tif (a.major !== b.major || a.minor !== b.minor || a.patch !== b.patch) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (checkPrerelease === false) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (a.preRelease === b.preRelease) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (a.preRelease === undefined || b.preRelease === undefined) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn (\n\t\t\ta.preRelease.type === b.preRelease.type &&\n\t\t\ta.preRelease.version === b.preRelease.version\n\t\t);\n\t}\n\n\tprivate static fromMatch(\n\t\t[\n\t\t\t,\n\t\t\tmajor,\n\t\t\t,\n\t\t\tminor = \"0\",\n\t\t\t,\n\t\t\tpatch = \"0\",\n\t\t\t,\n\t\t\tbuild,\n\t\t\t,\n\t\t\tpreReleaseType,\n\t\t\tpreReleaseNumber,\n\t\t]: RegExpMatchArray,\n\t\tdescription?: string,\n\t) {\n\t\tlet preRelease: PackageVersion[\"preRelease\"] = undefined;\n\t\tlet buildNumber = 100;\n\n\t\tif (preReleaseType && preReleaseNumber) {\n\t\t\tpreRelease = {\n\t\t\t\ttype: preReleaseType,\n\t\t\t\tversion: parseInt(preReleaseNumber),\n\t\t\t};\n\t\t}\n\n\t\tif (build) {\n\t\t\tbuildNumber = Number(build);\n\t\t} else if (description) {\n\t\t\tconst descriptionMatch = description.match(/(\\d+)\\)$/);\n\n\t\t\tif (descriptionMatch) {\n\t\t\t\tbuildNumber = parseInt(descriptionMatch[1]);\n\t\t\t}\n\t\t}\n\n\t\treturn new PackageVersion(\n\t\t\tparseInt(major),\n\t\t\tparseInt(minor),\n\t\t\tparseInt(patch),\n\t\t\tpreRelease,\n\t\t\tbuildNumber,\n\t\t);\n\t}\n\n\tpublic static sort(\n\t\ta: PackageVersion,\n\t\tb: PackageVersion,\n\t\tascending: boolean = true,\n\t) {\n\t\tconst createSortResult = (a: number, b: number) =>\n\t\t\tascending ? a - b : b - a;\n\n\t\tif (a.major !== b.major) {\n\t\t\treturn createSortResult(a.major, b.major);\n\t\t}\n\n\t\tif (a.minor !== b.minor) {\n\t\t\treturn createSortResult(a.minor, b.minor);\n\t\t}\n\n\t\tif (a.patch !== b.patch) {\n\t\t\treturn createSortResult(a.patch, b.patch);\n\t\t}\n\n\t\treturn createSortResult(\n\t\t\ta.preRelease ? a.preRelease.version : 0,\n\t\t\tb.preRelease ? b.preRelease.version : 0,\n\t\t);\n\t}\n\n\tprivate static toNumber(version: PackageVersion) {\n\t\treturn (\n\t\t\t((version.major * 1000 + version.minor) * 1000 + version.patch) *\n\t\t\t\t1000 +\n\t\t\tversion.buildNumber\n\t\t);\n\t}\n\n\tconstructor(\n\t\tpublic major: number,\n\t\tpublic minor: number,\n\t\tpublic patch: number,\n\t\tpublic preRelease: { type: string; version: number } | undefined,\n\t\tpublic buildNumber: number,\n\t) {}\n\n\tpublic isPreRelease() {\n\t\treturn this.preRelease !== undefined;\n\t}\n\n\tpublic clone() {\n\t\treturn new PackageVersion(\n\t\t\tthis.major,\n\t\t\tthis.minor,\n\t\t\tthis.patch,\n\t\t\tthis.preRelease ? { ...this.preRelease } : undefined,\n\t\t\tthis.buildNumber,\n\t\t);\n\t}\n\n\tpublic incrementMajor() {\n\t\tthis.preRelease = undefined;\n\t\tthis.patch = 0;\n\t\tthis.minor = 0;\n\t\tthis.major++;\n\t}\n\n\tpublic incrementMinor() {\n\t\tthis.preRelease = undefined;\n\t\tthis.patch = 0;\n\t\tthis.minor++;\n\t}\n\n\tpublic incrementPatch() {\n\t\tthis.preRelease = undefined;\n\t\tthis.patch++;\n\t}\n\n\tpublic createPreRelease(type: string) {\n\t\tif (!this.preRelease) {\n\t\t\tthis.buildNumber = 1;\n\t\t} else {\n\t\t\tthis.buildNumber++;\n\t\t}\n\n\t\tif (this.preRelease && type === this.preRelease.type) {\n\t\t\tthis.preRelease.version++;\n\t\t\treturn;\n\t\t}\n\n\t\tthis.preRelease = {\n\t\t\tversion: 0,\n\t\t\ttype,\n\t\t};\n\t}\n\n\tpublic createRelease() {\n\t\tthis.preRelease = undefined;\n\t\tthis.buildNumber = 100;\n\t}\n\n\tpublic toVersionString({\n\t\tbuildNumber,\n\t}: PackageVersionToVersionStringParams = {}) {\n\t\tlet version = [this.major, this.minor, this.patch].join(\".\");\n\n\t\tif (buildNumber) {\n\t\t\tversion += \".\" + this.buildNumber;\n\t\t}\n\n\t\tif (this.preRelease) {\n\t\t\tversion += `-${this.preRelease.type}.${this.preRelease.version}`;\n\t\t}\n\n\t\treturn version;\n\t}\n\n\tpublic toDescriptionString(packageName: string) {\n\t\tconst base = [this.major, this.minor, this.patch].join(\".\");\n\t\tconst parts: (number | string)[] = [packageName, base];\n\n\t\tif (this.preRelease) {\n\t\t\tparts.push(upperCaseFirst(this.preRelease.type));\n\t\t\tparts.push(this.preRelease.version);\n\t\t}\n\n\t\tparts.push(`(${base}.${this.buildNumber})`);\n\n\t\treturn parts.join(\" \");\n\t}\n\n\t/**\n\t * Determines wether the version is lesser than the input version\n\t *\n\t * @param {PackageVersion} version\n\t * @returns\n\t */\n\tpublic isLesserThan(version: PackageVersion) {\n\t\treturn PackageVersion.toNumber(this) < PackageVersion.toNumber(version);\n\t}\n\n\t/**\n\t * Determines wether the version is greater than the input version\n\t *\n\t * @param {PackageVersion} version\n\t * @returns\n\t */\n\tpublic isGreaterThan(version: PackageVersion) {\n\t\treturn PackageVersion.toNumber(this) > PackageVersion.toNumber(version);\n\t}\n}\n\nconst upperCaseFirst = (input: string) => {\n\treturn input.slice(0, 1).toUpperCase() + input.slice(1);\n};\n","import { PackageVersion } from \"./packageVersion\";\n\nexport const parseVersionFromString = (input: string) => {\n\tif (input === undefined) {\n\t\tthrow new Error(`Can not parse version from undefined`);\n\t}\n\n\tlet match: RegExpMatchArray | null;\n\n\tlet major!: string;\n\tlet minor!: string;\n\tlet patch!: string;\n\tlet build: string | undefined;\n\tlet preReleaseType: string | undefined;\n\tlet preReleaseNumber: string | undefined;\n\n\tif (\n\t\t// first try to find a full match with build number\n\t\t(match = input.match(\n\t\t\t/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)(-([^\\.]+)\\.(\\d+))?/,\n\t\t)) !== null\n\t) {\n\t\t[, major, minor, patch, build, preReleaseType, preReleaseNumber] =\n\t\t\tmatch;\n\t} else if (\n\t\t(match = input.match(/(\\d+)\\.(\\d+)\\.(\\d+)(-([^\\.]+)\\.(\\d+))?/)) !== null\n\t) {\n\t\t[, major, minor, patch, , preReleaseType, preReleaseNumber] = match;\n\t}\n\n\tif (match === null) {\n\t\tthrow new Error(`Could not parse version from input: ${input}`);\n\t}\n\n\tlet preRelease: PackageVersion[\"preRelease\"] = undefined;\n\tlet buildNumber = 100;\n\n\tif (preReleaseType && preReleaseNumber) {\n\t\tpreRelease = {\n\t\t\ttype: preReleaseType,\n\t\t\tversion: parseInt(preReleaseNumber),\n\t\t};\n\t}\n\n\tif (build) {\n\t\tbuildNumber = Number(build);\n\t} else if (input) {\n\t\tconst descriptionMatch = input.match(/(\\d+)\\)$/);\n\n\t\tif (descriptionMatch) {\n\t\t\tbuildNumber = parseInt(descriptionMatch[1]);\n\t\t}\n\t}\n\n\treturn new PackageVersion(\n\t\tparseInt(major),\n\t\tparseInt(minor),\n\t\tparseInt(patch),\n\t\tpreRelease,\n\t\tbuildNumber,\n\t);\n};\n\n// 1000001001 -> 1.0.1.1\n// 1002017001 -> 1.2.17.1\nexport const parseVersionFromNumericVersion = (\n\tversion: number,\n): PackageVersion => {\n\tconst major = Math.floor(version / 1000000000);\n\tconst minor = Math.floor((version % 1000000000) / 1000000);\n\tconst patch = Math.floor((version % 1000000) / 1000);\n\tconst buildNumber = version % 1000;\n\n\treturn new PackageVersion(major, minor, patch, undefined, buildNumber);\n};\n","import * as fs from \"fs\";\nimport * as path from \"path\";\n\nimport { isErrorENOENT } from \"./error\";\nimport { readStringFromFileOrUndefined } from \"./fs\";\nimport { PackageLocation } from \"./package\";\nimport { PackageVersion } from \"./packageVersion\";\n\n// https://regex101.com/r/LtGAu5/1\nconst logRegex =\n\t/console\\.log\\(\\s*\"([\\w\\s\\.\\(\\)]+)\\ *Copyright[\\w\\s\\(\\)\\.]+(\\d{4}|\\d{4} - \\d{4})([\\w\\s\\(\\)\\.]+)?\",?\\s*\\)/i;\nconst currentYear = new Date(Date.now()).getFullYear();\n\nexport const getVersionFileHandler = (location: PackageLocation) => {\n\tconst filePath = path.join(location.scriptsDir, \"Version.ts\");\n\n\tconst invalidVersionFile = (versionFile: string | undefined) => ({\n\t\tversion: undefined,\n\t\twrite: (name: string, newVersion: PackageVersion) => {\n\t\t\tconst scriptsContent = fs.readdirSync(location.scriptsDir);\n\t\t\tconst tsFiles = scriptsContent.filter((file) =>\n\t\t\t\tfile.endsWith(\".ts\"),\n\t\t\t);\n\n\t\t\tif (tsFiles.length > 0) {\n\t\t\t\treturn createVersionFileWriter([currentYear], \"\")(\n\t\t\t\t\tname,\n\t\t\t\t\tnewVersion,\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\treset: () => {\n\t\t\tif (versionFile !== undefined) {\n\t\t\t\tfs.writeFileSync(filePath, versionFile, { encoding: \"utf8\" });\n\t\t\t} else {\n\t\t\t\ttry {\n\t\t\t\t\tfs.rmSync(filePath);\n\t\t\t\t} catch (err) {\n\t\t\t\t\tif (!isErrorENOENT(err)) {\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t});\n\n\ttype CopyrightRange = [number, number?];\n\n\tconst createVersionFileWriter =\n\t\t(\n\t\t\tcopyright: CopyrightRange = [currentYear],\n\t\t\tcopyrightStuff: string = \"\",\n\t\t) =>\n\t\t(name: string, newVersion: PackageVersion) => {\n\t\t\tconst descriptionText = newVersion.toDescriptionString(name);\n\t\t\tconst copyrightText = createYearString(copyright);\n\n\t\t\tconst result = `console.log(\"${descriptionText}. Copyright (C) ${copyrightText}${copyrightStuff}\");`;\n\n\t\t\tfs.writeFileSync(filePath, result, { encoding: \"utf-8\" });\n\t\t};\n\n\tlet rawVersionFile = readStringFromFileOrUndefined(filePath);\n\n\tif (rawVersionFile === undefined) {\n\t\treturn invalidVersionFile(rawVersionFile);\n\t}\n\n\tconst versionFile = rawVersionFile.replace(/\\n/g, \"\");\n\n\tconst match = versionFile.match(logRegex);\n\n\tif (!match) {\n\t\treturn invalidVersionFile(versionFile);\n\t}\n\n\tconst [_full, _description, copyright, copyrightStuff] = match as [\n\t\tstring,\n\t\tstring,\n\t\tstring,\n\t\tstring?,\n\t];\n\n\tconst copyrightYears = copyright.match(/^(\\d+)( ?- ?(\\d+))?$/);\n\n\tlet years: [number, number?];\n\n\tif (copyrightYears === null) {\n\t\tyears = [currentYear];\n\t} else {\n\t\tyears = [Number(copyrightYears[1]), currentYear];\n\t}\n\n\treturn {\n\t\twrite: createVersionFileWriter(years, copyrightStuff),\n\t\treset: () => {\n\t\t\tfs.writeFileSync(filePath, versionFile, { encoding: \"utf8\" });\n\t\t},\n\t};\n};\n\nconst createYearString = (years: [number, number?]) => {\n\tif (years[1] === undefined || years[0] === years[1]) {\n\t\treturn years[0].toString();\n\t}\n\n\treturn `${years[0]} - ${years[1]}`;\n};\n"],"names":["readStringFromFile","filePath","fs","readFileSync","encoding","readStringFromFileOrUndefined","err","isErrorENOENT","undefined","getVersionInformationFromGit","workspaceLocation","packageLocation","log","git","simpleGit","baseDir","path","diff","diffSummary","dirty","files","some","file","toLowerCase","includes","endsWith","fullPath","resolve","relativePath","relative","startsWith","maxCount","commit","latest","hash","substring","commitDate","date","getWorkspaceBannerText","manifest","bannerText","packager","banner","match","startYear","parseInt","endYear","Date","getFullYear","replace","PackageVersion","fullTextMatcher","lineMatcher","extractFromText","input","description","Error","fromMatch","extractFromLine","equals","a","b","checkPrerelease","major","minor","patch","preRelease","type","version","build","preReleaseType","preReleaseNumber","buildNumber","Number","descriptionMatch","sort","ascending","createSortResult","toNumber","constructor","isPreRelease","clone","incrementMajor","incrementMinor","incrementPatch","createPreRelease","createRelease","toVersionString","join","toDescriptionString","packageName","base","parts","push","upperCaseFirst","isLesserThan","isGreaterThan","slice","toUpperCase","parseVersionFromString","parseVersionFromNumericVersion","Math","floor","logRegex","currentYear","now","getVersionFileHandler","location","scriptsDir","invalidVersionFile","versionFile","write","name","newVersion","scriptsContent","readdirSync","tsFiles","filter","length","createVersionFileWriter","reset","writeFileSync","rmSync","copyright","copyrightStuff","descriptionText","copyrightText","createYearString","result","rawVersionFile","_full","_description","copyrightYears","years","toString"],"mappings":"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"}