@intelligentgraphics/ig.gfx.packager 3.1.0-alpha.4 → 3.1.0-alpha.6

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 (33) hide show
  1. package/build/bin.mjs +1 -1
  2. package/build/{cli-DLGFANVF.mjs → cli-CRt1pnL8.mjs} +49 -639
  3. package/build/cli-CRt1pnL8.mjs.map +1 -0
  4. package/build/{dependencies-M5HDPf46.mjs → dependencies-DzwnAMHr.mjs} +2 -2
  5. package/build/{dependencies-M5HDPf46.mjs.map → dependencies-DzwnAMHr.mjs.map} +1 -1
  6. package/build/docs-BlCIta3Y.mjs +37 -0
  7. package/build/docs-BlCIta3Y.mjs.map +1 -0
  8. package/build/{generateIndex-DRNwzIyR.mjs → generateIndex-1_US73VT.mjs} +3 -8
  9. package/build/{generateIndex-DRNwzIyR.mjs.map → generateIndex-1_US73VT.mjs.map} +1 -1
  10. package/build/{generateParameterType-9-1z1US9.mjs → generateParameterType-DSWCBqzV.mjs} +2 -7
  11. package/build/{generateParameterType-9-1z1US9.mjs.map → generateParameterType-DSWCBqzV.mjs.map} +1 -1
  12. package/build/{index-DV88vk2r.mjs → index-BIqEoSQH.mjs} +7 -11
  13. package/build/{index-DV88vk2r.mjs.map → index-BIqEoSQH.mjs.map} +1 -1
  14. package/build/{index-8OmlN_-6.mjs → index-Sj6AX2Pu.mjs} +37 -44
  15. package/build/index-Sj6AX2Pu.mjs.map +1 -0
  16. package/build/{postinstall-DleNm8LR.mjs → postinstall-DLxLg3tD.mjs} +4 -9
  17. package/build/postinstall-DLxLg3tD.mjs.map +1 -0
  18. package/build/{publishNpm-BecgvGe3.mjs → publishNpm-ByIPsGI3.mjs} +6 -11
  19. package/build/{publishNpm-BecgvGe3.mjs.map → publishNpm-ByIPsGI3.mjs.map} +1 -1
  20. package/build/{rollup-DXNQ8zID.mjs → rollup-Dspsy6kv.mjs} +115 -19
  21. package/build/rollup-Dspsy6kv.mjs.map +1 -0
  22. package/build/{scripts-DOxdNSgU.mjs → scripts-BmQnbRem.mjs} +2 -5
  23. package/build/scripts-BmQnbRem.mjs.map +1 -0
  24. package/build/{versionFile-LnFvSbd9.mjs → versionFile-CK9FMt3L.mjs} +3 -5
  25. package/build/{versionFile-LnFvSbd9.mjs.map → versionFile-CK9FMt3L.mjs.map} +1 -1
  26. package/lib/lib.mjs +32 -37
  27. package/package.json +15 -17
  28. package/readme.md +185 -176
  29. package/build/cli-DLGFANVF.mjs.map +0 -1
  30. package/build/index-8OmlN_-6.mjs.map +0 -1
  31. package/build/postinstall-DleNm8LR.mjs.map +0 -1
  32. package/build/rollup-DXNQ8zID.mjs.map +0 -1
  33. package/build/scripts-DOxdNSgU.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-DLGFANVF.mjs","sources":["../../tools.core/build/stripUtf8Bom.mjs","../../tools.core/build/npmPackage.mjs","../../tools.core/build/error.mjs","../../tools.core/build/package.mjs","../../tools.core/build/workspace.mjs","../../node_modules/imurmurhash/imurmurhash.js","../../node_modules/signal-exit/signals.js","../../node_modules/signal-exit/index.js","../../node_modules/is-typedarray/index.js","../../node_modules/typedarray-to-buffer/index.js","../../node_modules/write-file-atomic/index.js","../../tools.core/build/assetService.mjs","../src/lib/prompter.ts","../src/cli.ts"],"sourcesContent":["const stripUtf8Bom = (text)=>{\n // Catches EFBBBF (UTF-8 BOM) because the buffer-to-string\n // conversion translates it to FEFF (UTF-16 BOM).\n if (text.charCodeAt(0) === 0xfeff) {\n return text.slice(1);\n }\n return text;\n};\n\nexport { stripUtf8Bom };\n//# sourceMappingURL=stripUtf8Bom.mjs.map\n","import * as fs from 'fs';\nimport * as path from 'path';\nimport { writePackageSync } from 'write-pkg';\nimport { stripUtf8Bom } from './stripUtf8Bom.mjs';\n\nconst readNpmManifest = (directory)=>{\n const packageJsonPath = path.join(directory, \"package.json\");\n const packageJson = stripUtf8Bom(fs.readFileSync(packageJsonPath, {\n encoding: \"utf8\"\n }));\n return JSON.parse(packageJson);\n};\nconst writeNpmManifest = (directory, packageJson)=>{\n const packageJsonPath = path.join(directory, \"package.json\");\n writePackageSync(packageJsonPath, packageJson);\n};\n\nexport { readNpmManifest, writeNpmManifest };\n//# sourceMappingURL=npmPackage.mjs.map\n","const getNodeErrorCode = (error)=>{\n if (error !== null && typeof error === \"object\" && error.code !== undefined) {\n return error.code;\n }\n};\n/**\n * Permission denied: An attempt was made to access a file in a way forbidden by its file access permissions.\n *\n * @param {unknown} error\n */ const isErrorEACCES = (error)=>getNodeErrorCode(error) === \"EACCES\";\n/**\n * No such file or directory: Commonly raised by fs operations to indicate that a component of the specified pathname does not exist. No entity (file or directory) could be found by the given path.\n *\n * @param {unknown} error\n */ const isErrorENOENT = (error)=>getNodeErrorCode(error) === \"ENOENT\";\nconst isErrorEPERM = (error)=>getNodeErrorCode(error) === \"EPERM\";\n\nexport { getNodeErrorCode, isErrorEACCES, isErrorENOENT, isErrorEPERM };\n//# sourceMappingURL=error.mjs.map\n","import * as path from 'path';\nimport * as fs from 'fs';\nimport { isErrorENOENT } from './error.mjs';\nimport { readNpmManifest, writeNpmManifest } from './npmPackage.mjs';\nimport { stripUtf8Bom } from './stripUtf8Bom.mjs';\n\n// Functionality related to working with a single package.\nconst PACKAGE_FILE = \"_Package.json\";\nconst INDEX_FILE = \"_Index.json\";\nconst ANIMATION_FILE_SUFFIX = \".animation.json\";\nconst getCreatorIndexParameterPrimaryJSType = (type)=>{\n switch(type){\n case \"LengthM\":\n case \"ArcDEG\":\n case \"Integer\":\n case \"Int\":\n case \"Float\":\n return \"number\";\n case \"Boolean\":\n case \"Bool\":\n return \"boolean\";\n case \"String\":\n case \"Material\":\n case \"Geometry\":\n case \"Animation\":\n case \"Interactor\":\n case \"Evaluator\":\n default:\n return \"string\";\n }\n};\nfunction parseCreatorPackageName(manifest) {\n const [domain, subdomain] = manifest.Package.split(\".\");\n if (subdomain === undefined) {\n throw new Error(`Expected \"Package\" field of the _Package.json file to contain a value in the form of Domain.SubDomain`);\n }\n return {\n domain,\n subdomain\n };\n}\n/**\n * Detects the package at the given directory.\n *\n * @param {string} directory\n * @returns {PackageLocation}\n */ const detectPackage = (workspace, directory)=>{\n directory = path.resolve(workspace.path, directory);\n const scriptsPath = path.join(directory, \"Scripts\");\n const tsPath = path.join(directory, \"ts\");\n let location;\n if (fs.existsSync(scriptsPath)) {\n location = {\n _kind: \"PackageLocation\",\n path: directory,\n scriptsDir: scriptsPath,\n manifestDir: scriptsPath\n };\n } else if (fs.existsSync(tsPath)) {\n location = {\n _kind: \"PackageLocation\",\n path: directory,\n scriptsDir: tsPath,\n manifestDir: directory\n };\n } else {\n location = {\n _kind: \"PackageLocation\",\n path: directory,\n scriptsDir: directory,\n manifestDir: directory\n };\n }\n try {\n readPackageCreatorManifest(location);\n } catch (err) {\n if (isErrorENOENT(err)) {\n throw new Error(`No _Package.json found in ${location.manifestDir}`);\n }\n throw err;\n }\n return location;\n};\nconst detectPackageLocationFromCreatorWorkspaceLocation = (location)=>{\n const packageLocation = {\n _kind: \"PackageLocation\",\n path: location.path,\n scriptsDir: path.join(location.path, \"Scripts\"),\n manifestDir: path.join(location.path, \"Scripts\")\n };\n try {\n readPackageCreatorManifest(packageLocation);\n } catch (err) {\n if (isErrorENOENT(err)) {\n throw new Error(`No _Package.json found in ${packageLocation.manifestDir}`);\n }\n throw err;\n }\n return packageLocation;\n};\nconst detectPackageAsParentDirectory = (directory)=>{\n let directoryToCheck = directory;\n while(directoryToCheck !== path.dirname(directoryToCheck)){\n if (fs.existsSync(path.join(directoryToCheck, \"Scripts\"))) {\n return {\n _kind: \"PackageLocation\",\n path: directoryToCheck,\n scriptsDir: path.join(directoryToCheck, \"Scripts\"),\n manifestDir: path.join(directoryToCheck, \"Scripts\")\n };\n }\n directoryToCheck = path.dirname(directoryToCheck);\n }\n return undefined;\n};\nconst readPackageCreatorManifest = (location)=>{\n const packageJsonPath = path.join(location.manifestDir, PACKAGE_FILE);\n const packageJson = stripUtf8Bom(fs.readFileSync(packageJsonPath, {\n encoding: \"utf8\"\n }));\n return JSON.parse(packageJson);\n};\nconst writePackageCreatorManifest = (location, creatorPackage)=>{\n const packageJsonPath = path.join(location.manifestDir, PACKAGE_FILE);\n fs.writeFileSync(packageJsonPath, JSON.stringify(creatorPackage, null, \"\\t\") + \"\\n\");\n};\nconst getPackageCreatorIndexPath = (location)=>path.join(location.manifestDir, INDEX_FILE);\nconst readPackageCreatorIndex = (location)=>{\n try {\n const indexPath = getPackageCreatorIndexPath(location);\n const index = stripUtf8Bom(fs.readFileSync(indexPath, {\n encoding: \"utf8\"\n }));\n return JSON.parse(index);\n } catch (err) {\n if (isErrorENOENT(err)) {\n return undefined;\n }\n throw err;\n }\n};\nconst writePackageCreatorIndex = (location, index)=>{\n const indexPath = getPackageCreatorIndexPath(location);\n fs.writeFileSync(indexPath, JSON.stringify(index, null, \"\\t\") + \"\\n\");\n};\nconst readPackageNpmManifest = (location)=>{\n try {\n return readNpmManifest(location.manifestDir);\n } catch (err) {\n if (isErrorENOENT(err)) {\n return undefined;\n }\n throw err;\n }\n};\nconst writePackageNpmManifest = (location, packageJson)=>{\n writeNpmManifest(location.manifestDir, packageJson);\n};\nconst readPackageAnimationList = (location)=>{\n const directoryContent = fs.readdirSync(location.manifestDir);\n const animationPathList = [];\n for (const entry of directoryContent){\n if (entry.endsWith(ANIMATION_FILE_SUFFIX)) {\n const animationPath = path.join(location.manifestDir, entry);\n animationPathList.push(animationPath);\n }\n }\n return animationPathList;\n};\nconst getPackageReleasesDirectory = (location)=>path.join(location.path, \"Releases\");\nconst arePackageLocationsEqual = (a, b)=>a.path === b.path;\n\nexport { INDEX_FILE, PACKAGE_FILE, arePackageLocationsEqual, detectPackage, detectPackageAsParentDirectory, detectPackageLocationFromCreatorWorkspaceLocation, getCreatorIndexParameterPrimaryJSType, getPackageCreatorIndexPath, getPackageReleasesDirectory, parseCreatorPackageName, readPackageAnimationList, readPackageCreatorIndex, readPackageCreatorManifest, readPackageNpmManifest, writePackageCreatorIndex, writePackageCreatorManifest, writePackageNpmManifest };\n//# sourceMappingURL=package.mjs.map\n","import * as path from 'path';\nimport * as fs from 'fs';\nimport { isErrorENOENT } from './error.mjs';\nimport { writeNpmManifest, readNpmManifest } from './npmPackage.mjs';\nimport { detectPackage } from './package.mjs';\nimport { detectCreatorWorkspaceAsParentDirectory } from './creatorWorkspace.mjs';\n\n// Functionality related to working with a workspace consisting of multiple packages.\nconst detectWorkspace = (directory)=>{\n directory = path.resolve(process.cwd(), directory);\n return {\n _kind: \"WorkspaceLocation\",\n path: directory\n };\n};\nconst detectWorkspaceByPackageJsonLocation = (directory)=>{\n while(directory !== path.dirname(directory)){\n if (fs.existsSync(path.join(directory, \"package.json\"))) {\n return detectWorkspace(directory);\n }\n directory = path.dirname(directory);\n }\n return undefined;\n};\nconst readWorkspaceNpmManifest = (workspace)=>{\n try {\n return readNpmManifest(workspace.path);\n } catch (err) {\n if (isErrorENOENT(err)) {\n throw new Error(`Expected a package.json file to exist in ${workspace.path}. See packager readme for instructions on how to create the package.json.`);\n }\n throw err;\n }\n};\nconst writeWorkspaceNpmManifest = (workspace, packageJson)=>writeNpmManifest(workspace.path, packageJson);\nconst getWorkspaceOutputPath = (workspace)=>path.join(workspace.path, \"bin\");\nconst getWorkspaceLibPath = (workspace)=>path.join(workspace.path, \"lib\");\nfunction* iterateWorkspacePackages(workspace) {\n const entries = fs.readdirSync(workspace.path, {\n withFileTypes: true\n });\n for (const entry of entries){\n if (!entry.isDirectory()) {\n continue;\n }\n try {\n yield detectPackage(workspace, entry.name);\n } catch {}\n }\n}\nfunction* iterateWorkspaceCreatorWorkspaces(workspace) {\n const entries = fs.readdirSync(workspace.path, {\n withFileTypes: true\n });\n for (const entry of entries){\n if (!entry.isDirectory()) {\n continue;\n }\n const detected = detectCreatorWorkspaceAsParentDirectory(path.join(workspace.path, entry.name));\n if (detected !== undefined) {\n yield detected;\n }\n }\n}\n\nexport { detectWorkspace, detectWorkspaceByPackageJsonLocation, getWorkspaceLibPath, getWorkspaceOutputPath, iterateWorkspaceCreatorWorkspaces, iterateWorkspacePackages, readWorkspaceNpmManifest, writeWorkspaceNpmManifest };\n//# sourceMappingURL=workspace.mjs.map\n","/**\n * @preserve\n * JS Implementation of incremental MurmurHash3 (r150) (as of May 10, 2013)\n *\n * @author <a href=\"mailto:jensyt@gmail.com\">Jens Taylor</a>\n * @see http://github.com/homebrewing/brauhaus-diff\n * @author <a href=\"mailto:gary.court@gmail.com\">Gary Court</a>\n * @see http://github.com/garycourt/murmurhash-js\n * @author <a href=\"mailto:aappleby@gmail.com\">Austin Appleby</a>\n * @see http://sites.google.com/site/murmurhash/\n */\n(function(){\n var cache;\n\n // Call this function without `new` to use the cached object (good for\n // single-threaded environments), or with `new` to create a new object.\n //\n // @param {string} key A UTF-16 or ASCII string\n // @param {number} seed An optional positive integer\n // @return {object} A MurmurHash3 object for incremental hashing\n function MurmurHash3(key, seed) {\n var m = this instanceof MurmurHash3 ? this : cache;\n m.reset(seed)\n if (typeof key === 'string' && key.length > 0) {\n m.hash(key);\n }\n\n if (m !== this) {\n return m;\n }\n };\n\n // Incrementally add a string to this hash\n //\n // @param {string} key A UTF-16 or ASCII string\n // @return {object} this\n MurmurHash3.prototype.hash = function(key) {\n var h1, k1, i, top, len;\n\n len = key.length;\n this.len += len;\n\n k1 = this.k1;\n i = 0;\n switch (this.rem) {\n case 0: k1 ^= len > i ? (key.charCodeAt(i++) & 0xffff) : 0;\n case 1: k1 ^= len > i ? (key.charCodeAt(i++) & 0xffff) << 8 : 0;\n case 2: k1 ^= len > i ? (key.charCodeAt(i++) & 0xffff) << 16 : 0;\n case 3:\n k1 ^= len > i ? (key.charCodeAt(i) & 0xff) << 24 : 0;\n k1 ^= len > i ? (key.charCodeAt(i++) & 0xff00) >> 8 : 0;\n }\n\n this.rem = (len + this.rem) & 3; // & 3 is same as % 4\n len -= this.rem;\n if (len > 0) {\n h1 = this.h1;\n while (1) {\n k1 = (k1 * 0x2d51 + (k1 & 0xffff) * 0xcc9e0000) & 0xffffffff;\n k1 = (k1 << 15) | (k1 >>> 17);\n k1 = (k1 * 0x3593 + (k1 & 0xffff) * 0x1b870000) & 0xffffffff;\n\n h1 ^= k1;\n h1 = (h1 << 13) | (h1 >>> 19);\n h1 = (h1 * 5 + 0xe6546b64) & 0xffffffff;\n\n if (i >= len) {\n break;\n }\n\n k1 = ((key.charCodeAt(i++) & 0xffff)) ^\n ((key.charCodeAt(i++) & 0xffff) << 8) ^\n ((key.charCodeAt(i++) & 0xffff) << 16);\n top = key.charCodeAt(i++);\n k1 ^= ((top & 0xff) << 24) ^\n ((top & 0xff00) >> 8);\n }\n\n k1 = 0;\n switch (this.rem) {\n case 3: k1 ^= (key.charCodeAt(i + 2) & 0xffff) << 16;\n case 2: k1 ^= (key.charCodeAt(i + 1) & 0xffff) << 8;\n case 1: k1 ^= (key.charCodeAt(i) & 0xffff);\n }\n\n this.h1 = h1;\n }\n\n this.k1 = k1;\n return this;\n };\n\n // Get the result of this hash\n //\n // @return {number} The 32-bit hash\n MurmurHash3.prototype.result = function() {\n var k1, h1;\n \n k1 = this.k1;\n h1 = this.h1;\n\n if (k1 > 0) {\n k1 = (k1 * 0x2d51 + (k1 & 0xffff) * 0xcc9e0000) & 0xffffffff;\n k1 = (k1 << 15) | (k1 >>> 17);\n k1 = (k1 * 0x3593 + (k1 & 0xffff) * 0x1b870000) & 0xffffffff;\n h1 ^= k1;\n }\n\n h1 ^= this.len;\n\n h1 ^= h1 >>> 16;\n h1 = (h1 * 0xca6b + (h1 & 0xffff) * 0x85eb0000) & 0xffffffff;\n h1 ^= h1 >>> 13;\n h1 = (h1 * 0xae35 + (h1 & 0xffff) * 0xc2b20000) & 0xffffffff;\n h1 ^= h1 >>> 16;\n\n return h1 >>> 0;\n };\n\n // Reset the hash object for reuse\n //\n // @param {number} seed An optional positive integer\n MurmurHash3.prototype.reset = function(seed) {\n this.h1 = typeof seed === 'number' ? seed : 0;\n this.rem = this.k1 = this.len = 0;\n return this;\n };\n\n // A cached object to use. This can be safely used if you're in a single-\n // threaded environment, otherwise you need to create new hashes to use.\n cache = new MurmurHash3();\n\n if (typeof(module) != 'undefined') {\n module.exports = MurmurHash3;\n } else {\n this.MurmurHash3 = MurmurHash3;\n }\n}());\n","// This is not the set of all possible signals.\n//\n// It IS, however, the set of all signals that trigger\n// an exit on either Linux or BSD systems. Linux is a\n// superset of the signal names supported on BSD, and\n// the unknown signals just fail to register, so we can\n// catch that easily enough.\n//\n// Don't bother with SIGKILL. It's uncatchable, which\n// means that we can't fire any callbacks anyway.\n//\n// If a user does happen to register a handler on a non-\n// fatal signal like SIGWINCH or something, and then\n// exit, it'll end up firing `process.emit('exit')`, so\n// the handler will be fired anyway.\n//\n// SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised\n// artificially, inherently leave the process in a\n// state from which it is not safe to try and enter JS\n// listeners.\nmodule.exports = [\n 'SIGABRT',\n 'SIGALRM',\n 'SIGHUP',\n 'SIGINT',\n 'SIGTERM'\n]\n\nif (process.platform !== 'win32') {\n module.exports.push(\n 'SIGVTALRM',\n 'SIGXCPU',\n 'SIGXFSZ',\n 'SIGUSR2',\n 'SIGTRAP',\n 'SIGSYS',\n 'SIGQUIT',\n 'SIGIOT'\n // should detect profiler and enable/disable accordingly.\n // see #21\n // 'SIGPROF'\n )\n}\n\nif (process.platform === 'linux') {\n module.exports.push(\n 'SIGIO',\n 'SIGPOLL',\n 'SIGPWR',\n 'SIGSTKFLT',\n 'SIGUNUSED'\n )\n}\n","// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\n// grab a reference to node's real process object right away\nvar process = global.process\n\nconst processOk = function (process) {\n return process &&\n typeof process === 'object' &&\n typeof process.removeListener === 'function' &&\n typeof process.emit === 'function' &&\n typeof process.reallyExit === 'function' &&\n typeof process.listeners === 'function' &&\n typeof process.kill === 'function' &&\n typeof process.pid === 'number' &&\n typeof process.on === 'function'\n}\n\n// some kind of non-node environment, just no-op\n/* istanbul ignore if */\nif (!processOk(process)) {\n module.exports = function () {\n return function () {}\n }\n} else {\n var assert = require('assert')\n var signals = require('./signals.js')\n var isWin = /^win/i.test(process.platform)\n\n var EE = require('events')\n /* istanbul ignore if */\n if (typeof EE !== 'function') {\n EE = EE.EventEmitter\n }\n\n var emitter\n if (process.__signal_exit_emitter__) {\n emitter = process.__signal_exit_emitter__\n } else {\n emitter = process.__signal_exit_emitter__ = new EE()\n emitter.count = 0\n emitter.emitted = {}\n }\n\n // Because this emitter is a global, we have to check to see if a\n // previous version of this library failed to enable infinite listeners.\n // I know what you're about to say. But literally everything about\n // signal-exit is a compromise with evil. Get used to it.\n if (!emitter.infinite) {\n emitter.setMaxListeners(Infinity)\n emitter.infinite = true\n }\n\n module.exports = function (cb, opts) {\n /* istanbul ignore if */\n if (!processOk(global.process)) {\n return function () {}\n }\n assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler')\n\n if (loaded === false) {\n load()\n }\n\n var ev = 'exit'\n if (opts && opts.alwaysLast) {\n ev = 'afterexit'\n }\n\n var remove = function () {\n emitter.removeListener(ev, cb)\n if (emitter.listeners('exit').length === 0 &&\n emitter.listeners('afterexit').length === 0) {\n unload()\n }\n }\n emitter.on(ev, cb)\n\n return remove\n }\n\n var unload = function unload () {\n if (!loaded || !processOk(global.process)) {\n return\n }\n loaded = false\n\n signals.forEach(function (sig) {\n try {\n process.removeListener(sig, sigListeners[sig])\n } catch (er) {}\n })\n process.emit = originalProcessEmit\n process.reallyExit = originalProcessReallyExit\n emitter.count -= 1\n }\n module.exports.unload = unload\n\n var emit = function emit (event, code, signal) {\n /* istanbul ignore if */\n if (emitter.emitted[event]) {\n return\n }\n emitter.emitted[event] = true\n emitter.emit(event, code, signal)\n }\n\n // { <signal>: <listener fn>, ... }\n var sigListeners = {}\n signals.forEach(function (sig) {\n sigListeners[sig] = function listener () {\n /* istanbul ignore if */\n if (!processOk(global.process)) {\n return\n }\n // If there are no other listeners, an exit is coming!\n // Simplest way: remove us and then re-send the signal.\n // We know that this will kill the process, so we can\n // safely emit now.\n var listeners = process.listeners(sig)\n if (listeners.length === emitter.count) {\n unload()\n emit('exit', null, sig)\n /* istanbul ignore next */\n emit('afterexit', null, sig)\n /* istanbul ignore next */\n if (isWin && sig === 'SIGHUP') {\n // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n // so use a supported signal instead\n sig = 'SIGINT'\n }\n /* istanbul ignore next */\n process.kill(process.pid, sig)\n }\n }\n })\n\n module.exports.signals = function () {\n return signals\n }\n\n var loaded = false\n\n var load = function load () {\n if (loaded || !processOk(global.process)) {\n return\n }\n loaded = true\n\n // This is the number of onSignalExit's that are in play.\n // It's important so that we can count the correct number of\n // listeners on signals, and don't wait for the other one to\n // handle it instead of us.\n emitter.count += 1\n\n signals = signals.filter(function (sig) {\n try {\n process.on(sig, sigListeners[sig])\n return true\n } catch (er) {\n return false\n }\n })\n\n process.emit = processEmit\n process.reallyExit = processReallyExit\n }\n module.exports.load = load\n\n var originalProcessReallyExit = process.reallyExit\n var processReallyExit = function processReallyExit (code) {\n /* istanbul ignore if */\n if (!processOk(global.process)) {\n return\n }\n process.exitCode = code || /* istanbul ignore next */ 0\n emit('exit', process.exitCode, null)\n /* istanbul ignore next */\n emit('afterexit', process.exitCode, null)\n /* istanbul ignore next */\n originalProcessReallyExit.call(process, process.exitCode)\n }\n\n var originalProcessEmit = process.emit\n var processEmit = function processEmit (ev, arg) {\n if (ev === 'exit' && processOk(global.process)) {\n /* istanbul ignore else */\n if (arg !== undefined) {\n process.exitCode = arg\n }\n var ret = originalProcessEmit.apply(this, arguments)\n /* istanbul ignore next */\n emit('exit', process.exitCode, null)\n /* istanbul ignore next */\n emit('afterexit', process.exitCode, null)\n /* istanbul ignore next */\n return ret\n } else {\n return originalProcessEmit.apply(this, arguments)\n }\n }\n}\n","module.exports = isTypedArray\nisTypedArray.strict = isStrictTypedArray\nisTypedArray.loose = isLooseTypedArray\n\nvar toString = Object.prototype.toString\nvar names = {\n '[object Int8Array]': true\n , '[object Int16Array]': true\n , '[object Int32Array]': true\n , '[object Uint8Array]': true\n , '[object Uint8ClampedArray]': true\n , '[object Uint16Array]': true\n , '[object Uint32Array]': true\n , '[object Float32Array]': true\n , '[object Float64Array]': true\n}\n\nfunction isTypedArray(arr) {\n return (\n isStrictTypedArray(arr)\n || isLooseTypedArray(arr)\n )\n}\n\nfunction isStrictTypedArray(arr) {\n return (\n arr instanceof Int8Array\n || arr instanceof Int16Array\n || arr instanceof Int32Array\n || arr instanceof Uint8Array\n || arr instanceof Uint8ClampedArray\n || arr instanceof Uint16Array\n || arr instanceof Uint32Array\n || arr instanceof Float32Array\n || arr instanceof Float64Array\n )\n}\n\nfunction isLooseTypedArray(arr) {\n return names[toString.call(arr)]\n}\n","/**\n * Convert a typed array to a Buffer without a copy\n *\n * Author: Feross Aboukhadijeh <https://feross.org>\n * License: MIT\n *\n * `npm install typedarray-to-buffer`\n */\n\nvar isTypedArray = require('is-typedarray').strict\n\nmodule.exports = function typedarrayToBuffer (arr) {\n if (isTypedArray(arr)) {\n // To avoid a copy, use the typed array's underlying ArrayBuffer to back new Buffer\n var buf = Buffer.from(arr.buffer)\n if (arr.byteLength !== arr.buffer.byteLength) {\n // Respect the \"view\", i.e. byteOffset and byteLength, without doing a copy\n buf = buf.slice(arr.byteOffset, arr.byteOffset + arr.byteLength)\n }\n return buf\n } else {\n // Pass through all other types to `Buffer.from`\n return Buffer.from(arr)\n }\n}\n","'use strict'\nmodule.exports = writeFile\nmodule.exports.sync = writeFileSync\nmodule.exports._getTmpname = getTmpname // for testing\nmodule.exports._cleanupOnExit = cleanupOnExit\n\nconst fs = require('fs')\nconst MurmurHash3 = require('imurmurhash')\nconst onExit = require('signal-exit')\nconst path = require('path')\nconst isTypedArray = require('is-typedarray')\nconst typedArrayToBuffer = require('typedarray-to-buffer')\nconst { promisify } = require('util')\nconst activeFiles = {}\n\n// if we run inside of a worker_thread, `process.pid` is not unique\n/* istanbul ignore next */\nconst threadId = (function getId () {\n try {\n const workerThreads = require('worker_threads')\n\n /// if we are in main thread, this is set to `0`\n return workerThreads.threadId\n } catch (e) {\n // worker_threads are not available, fallback to 0\n return 0\n }\n})()\n\nlet invocations = 0\nfunction getTmpname (filename) {\n return filename + '.' +\n MurmurHash3(__filename)\n .hash(String(process.pid))\n .hash(String(threadId))\n .hash(String(++invocations))\n .result()\n}\n\nfunction cleanupOnExit (tmpfile) {\n return () => {\n try {\n fs.unlinkSync(typeof tmpfile === 'function' ? tmpfile() : tmpfile)\n } catch (_) {}\n }\n}\n\nfunction serializeActiveFile (absoluteName) {\n return new Promise(resolve => {\n // make a queue if it doesn't already exist\n if (!activeFiles[absoluteName]) activeFiles[absoluteName] = []\n\n activeFiles[absoluteName].push(resolve) // add this job to the queue\n if (activeFiles[absoluteName].length === 1) resolve() // kick off the first one\n })\n}\n\n// https://github.com/isaacs/node-graceful-fs/blob/master/polyfills.js#L315-L342\nfunction isChownErrOk (err) {\n if (err.code === 'ENOSYS') {\n return true\n }\n\n const nonroot = !process.getuid || process.getuid() !== 0\n if (nonroot) {\n if (err.code === 'EINVAL' || err.code === 'EPERM') {\n return true\n }\n }\n\n return false\n}\n\nasync function writeFileAsync (filename, data, options = {}) {\n if (typeof options === 'string') {\n options = { encoding: options }\n }\n\n let fd\n let tmpfile\n /* istanbul ignore next -- The closure only gets called when onExit triggers */\n const removeOnExitHandler = onExit(cleanupOnExit(() => tmpfile))\n const absoluteName = path.resolve(filename)\n\n try {\n await serializeActiveFile(absoluteName)\n const truename = await promisify(fs.realpath)(filename).catch(() => filename)\n tmpfile = getTmpname(truename)\n\n if (!options.mode || !options.chown) {\n // Either mode or chown is not explicitly set\n // Default behavior is to copy it from original file\n const stats = await promisify(fs.stat)(truename).catch(() => {})\n if (stats) {\n if (options.mode == null) {\n options.mode = stats.mode\n }\n\n if (options.chown == null && process.getuid) {\n options.chown = { uid: stats.uid, gid: stats.gid }\n }\n }\n }\n\n fd = await promisify(fs.open)(tmpfile, 'w', options.mode)\n if (options.tmpfileCreated) {\n await options.tmpfileCreated(tmpfile)\n }\n if (isTypedArray(data)) {\n data = typedArrayToBuffer(data)\n }\n if (Buffer.isBuffer(data)) {\n await promisify(fs.write)(fd, data, 0, data.length, 0)\n } else if (data != null) {\n await promisify(fs.write)(fd, String(data), 0, String(options.encoding || 'utf8'))\n }\n\n if (options.fsync !== false) {\n await promisify(fs.fsync)(fd)\n }\n\n await promisify(fs.close)(fd)\n fd = null\n\n if (options.chown) {\n await promisify(fs.chown)(tmpfile, options.chown.uid, options.chown.gid).catch(err => {\n if (!isChownErrOk(err)) {\n throw err\n }\n })\n }\n\n if (options.mode) {\n await promisify(fs.chmod)(tmpfile, options.mode).catch(err => {\n if (!isChownErrOk(err)) {\n throw err\n }\n })\n }\n\n await promisify(fs.rename)(tmpfile, truename)\n } finally {\n if (fd) {\n await promisify(fs.close)(fd).catch(\n /* istanbul ignore next */\n () => {}\n )\n }\n removeOnExitHandler()\n await promisify(fs.unlink)(tmpfile).catch(() => {})\n activeFiles[absoluteName].shift() // remove the element added by serializeSameFile\n if (activeFiles[absoluteName].length > 0) {\n activeFiles[absoluteName][0]() // start next job if one is pending\n } else delete activeFiles[absoluteName]\n }\n}\n\nfunction writeFile (filename, data, options, callback) {\n if (options instanceof Function) {\n callback = options\n options = {}\n }\n\n const promise = writeFileAsync(filename, data, options)\n if (callback) {\n promise.then(callback, callback)\n }\n\n return promise\n}\n\nfunction writeFileSync (filename, data, options) {\n if (typeof options === 'string') options = { encoding: options }\n else if (!options) options = {}\n try {\n filename = fs.realpathSync(filename)\n } catch (ex) {\n // it's ok, it'll happen on a not yet existing file\n }\n const tmpfile = getTmpname(filename)\n\n if (!options.mode || !options.chown) {\n // Either mode or chown is not explicitly set\n // Default behavior is to copy it from original file\n try {\n const stats = fs.statSync(filename)\n options = Object.assign({}, options)\n if (!options.mode) {\n options.mode = stats.mode\n }\n if (!options.chown && process.getuid) {\n options.chown = { uid: stats.uid, gid: stats.gid }\n }\n } catch (ex) {\n // ignore stat errors\n }\n }\n\n let fd\n const cleanup = cleanupOnExit(tmpfile)\n const removeOnExitHandler = onExit(cleanup)\n\n let threw = true\n try {\n fd = fs.openSync(tmpfile, 'w', options.mode || 0o666)\n if (options.tmpfileCreated) {\n options.tmpfileCreated(tmpfile)\n }\n if (isTypedArray(data)) {\n data = typedArrayToBuffer(data)\n }\n if (Buffer.isBuffer(data)) {\n fs.writeSync(fd, data, 0, data.length, 0)\n } else if (data != null) {\n fs.writeSync(fd, String(data), 0, String(options.encoding || 'utf8'))\n }\n if (options.fsync !== false) {\n fs.fsyncSync(fd)\n }\n\n fs.closeSync(fd)\n fd = null\n\n if (options.chown) {\n try {\n fs.chownSync(tmpfile, options.chown.uid, options.chown.gid)\n } catch (err) {\n if (!isChownErrOk(err)) {\n throw err\n }\n }\n }\n\n if (options.mode) {\n try {\n fs.chmodSync(tmpfile, options.mode)\n } catch (err) {\n if (!isChownErrOk(err)) {\n throw err\n }\n }\n }\n\n fs.renameSync(tmpfile, filename)\n threw = false\n } finally {\n if (fd) {\n try {\n fs.closeSync(fd)\n } catch (ex) {\n // ignore close errors at this stage, error may have closed fd already.\n }\n }\n removeOnExitHandler()\n if (threw) {\n cleanup()\n }\n }\n}\n","import axios, { AxiosError } from 'axios';\n\nconst PLUGIN_ID = \"0feba3a0-b6d1-11e6-9598-0800200c9a66\";\n/**\n * Starts an IG.Asset.Server session and returns the sessionId\n *\n * @param {SessionStartParams} params\n * @returns\n */ const startSession = async ({ url, authentication, ...params })=>{\n const payload = {\n ...params,\n user: undefined,\n password: undefined,\n license: undefined,\n plugin: PLUGIN_ID\n };\n if (authentication.type === \"credentials\") {\n payload.user = authentication.username;\n payload.password = authentication.password;\n } else if (authentication.type === \"license\") {\n payload.license = authentication.license;\n }\n const { data: { session: sessionId, state, response } } = await axios.post(`Session/Start2`, JSON.stringify(payload), {\n baseURL: url\n });\n if (state !== \"SUCCESS\") {\n let message = `Could not start session. IG.Asset.Server responded with ${state}`;\n if (response) {\n message += `: ${response}`;\n }\n throw new Error(message);\n }\n return {\n _kind: \"AssetService\",\n url,\n sessionId,\n domain: params.domain,\n subDomain: params.subDomain\n };\n};\nconst closeSession = async (session)=>{\n await axios.get(`Session/Close/${session.sessionId}`, {\n baseURL: session.url\n });\n};\nconst uploadPackageFromBuffer = async (session, { name, version }, buffer)=>{\n try {\n await uploadPackageToUrl(session.url, `UploadPackage/${session.sessionId}/${name}_${version}`, buffer);\n } catch (err) {\n if (err instanceof AxiosError) {\n var _err_response;\n if (((_err_response = err.response) == null ? void 0 : _err_response.status) === 404) {\n await uploadPackageToUrl(session.url, `UploadPackage/${session.sessionId}/${name}_${version}/`, buffer);\n return;\n }\n throw new Error(`Failed to upload package: ${err.message}`);\n }\n throw err;\n }\n};\nconst uploadPackageToUrl = async (url, path, buffer)=>{\n const { data, status } = await axios.post(path, buffer, {\n baseURL: url\n });\n let objectBody;\n if (typeof data === \"string\") {\n try {\n objectBody = JSON.parse(data);\n } catch (err) {}\n } else if (typeof data === \"object\") {\n objectBody = data;\n }\n if (objectBody !== undefined) {\n if (\"state\" in objectBody && objectBody.state !== \"SUCCESS\") {\n throw new Error(objectBody.response ?? objectBody.state);\n }\n }\n if (status >= 400) {\n if (objectBody !== undefined) {\n let text_1 = \"\";\n for(const key in objectBody){\n text_1 += key + \": \\n\";\n if (typeof objectBody[key] === \"object\") {\n text_1 += JSON.stringify(objectBody[key], undefined, 2);\n } else {\n text_1 += objectBody[key];\n }\n text_1 += \"\\n\\n\";\n }\n throw new Error(text_1);\n }\n throw new Error(data);\n }\n return data;\n};\nconst getExistingPackages = async (session)=>{\n const { data } = await axios.get(`Script/GetInformation/${session.sessionId}`, {\n baseURL: session.url,\n validateStatus: (status)=>status === 404 || status === 200\n }).catch((err)=>{\n throw new Error(`Failed to get existing packages: ${err.message}`);\n });\n return data;\n};\nconst getMaterials = async (session)=>{\n const response = await axios.get(`Material/Get/${session.sessionId}`, {\n baseURL: session.url\n });\n const data = response.data;\n return data.materials;\n};\nconst getGeometries = async (session)=>{\n const response = await axios.get(`Geometry/Get/${session.sessionId}`, {\n baseURL: session.url\n });\n const data = response.data;\n return data.geometries;\n};\n\nexport { closeSession, getExistingPackages, getGeometries, getMaterials, startSession, uploadPackageFromBuffer };\n//# sourceMappingURL=assetService.mjs.map\n","import inquirer from \"inquirer\";\n\nexport interface PrompterOption {\n\tname: string;\n\tvalue: string;\n}\n\nexport interface PrompterQuestion {\n\tmessage: string;\n\toptions: PrompterOption[];\n\tdefault?: string;\n}\n\nexport interface Prompter {\n\tconfirm(message: string): Promise<boolean>;\n\n\task(question: PrompterQuestion): Promise<string>;\n}\n\nexport const createDefaultPrompter = (): Prompter => {\n\treturn {\n\t\tconfirm: async (message) => {\n\t\t\tconst { confirm } = await inquirer.prompt([\n\t\t\t\t{\n\t\t\t\t\ttype: \"confirm\",\n\t\t\t\t\tmessage,\n\t\t\t\t\tname: \"confirm\",\n\t\t\t\t},\n\t\t\t]);\n\t\t\treturn confirm as boolean;\n\t\t},\n\n\t\task: async (question) => {\n\t\t\tconst { answer } = await inquirer.prompt([\n\t\t\t\t{\n\t\t\t\t\ttype: \"list\",\n\t\t\t\t\tmessage: question.message,\n\t\t\t\t\tname: \"answer\",\n\t\t\t\t\tchoices: question.options,\n\t\t\t\t\tdefault: question.default,\n\t\t\t\t},\n\t\t\t]);\n\t\t\treturn answer as string;\n\t\t},\n\t};\n};\n","import updateNotifier from \"update-notifier\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport yargs from \"yargs/yargs\";\nimport { fileURLToPath } from \"url\";\nimport glob from \"glob\";\n\nimport { AssetService } from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nimport {\n\tdetectPackage,\n\tPackageLocation,\n\tparseCreatorPackageName,\n\treadPackageCreatorManifest,\n} from \"./lib/package\";\nimport {\n\tdetectWorkspace,\n\treadWorkspaceNpmManifest,\n\tWorkspaceLocation,\n\twriteWorkspaceNpmManifest,\n} from \"./lib/workspace\";\nimport type { ReleaseFolderOptions } from \"./commands/publish\";\nimport { createDefaultPrompter } from \"./lib/prompter\";\nimport { PackageJSON } from \"./lib/packageJSON\";\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\nconst pjson: PackageJSON = JSON.parse(\n\tfs.readFileSync(path.join(__dirname, \"..\", \"package.json\"), \"utf8\"),\n);\n\nconst captureError = (err: Error) => {\n\tconsole.log(\"\");\n\n\tif (process.env.NODE_ENV !== \"production\") {\n\t\tconsole.error(err);\n\t} else {\n\t\tconsole.error(\n\t\t\t\"Stopped execution because of the following error: \" + err.message,\n\t\t);\n\t}\n\n\tprocess.exit(1);\n};\n\nconst buildOptions = {\n\toutDir: {\n\t\tdescription: \"Output directory\",\n\t\ttype: \"string\",\n\t\tdefault: \"bin\",\n\t\tcoerce: (input: string | undefined | null) =>\n\t\t\tinput === undefined || input === null\n\t\t\t\t? undefined\n\t\t\t\t: path.resolve(process.cwd(), input),\n\t},\n\tminimize: {\n\t\tdescription: \"Minify output\",\n\t\ttype: \"boolean\",\n\t\tdefault: true,\n\t},\n\tcwd: {\n\t\tdescription: \"Working directory\",\n\t\ttype: \"string\",\n\t\tdefault: process.cwd(),\n\t},\n\tclean: {\n\t\tdescription: \"Empty output dir before compiling\",\n\t\ttype: \"boolean\",\n\t\tdefault: false,\n\t},\n\tdocs: {\n\t\ttype: \"boolean\",\n\t\tdefault: false,\n\t},\n\tskipDeclarations: {\n\t\tdescription: \"Skips the creation of typescript declaration files\",\n\t\ttype: \"boolean\",\n\t\tdefault: false,\n\t},\n} as const;\n\nconst preCommandCheck = async (workspaceLocation: WorkspaceLocation) => {\n\tconst executedLocalPackager = __filename.startsWith(workspaceLocation.path);\n\tconst repositoryPackage = readWorkspaceNpmManifest(workspaceLocation);\n\n\tif (\n\t\trepositoryPackage?.dependencies?.[\n\t\t\t\"@intelligentgraphics/ig.gfx.packager\"\n\t\t] ||\n\t\trepositoryPackage?.devDependencies?.[\n\t\t\t\"@intelligentgraphics/ig.gfx.packager\"\n\t\t]\n\t) {\n\t\tconst parts = [\"Detected locally installed ig.gfx.packager.\"];\n\n\t\tif (executedLocalPackager) {\n\t\t\tparts.push(\n\t\t\t\t'Run \"npm install -g @intelligentgraphics/ig.gfx.packager@latest\" to install the global version, if it is not yet installed.',\n\t\t\t);\n\t\t}\n\t\tparts.push(\n\t\t\t'Run \"npm uninstall @intelligentgraphics/ig.gfx.packager\" to remove the local version.',\n\t\t);\n\n\t\tconsole.error(parts.join(\"\\n\"));\n\t\tprocess.exit(1);\n\t}\n\n\tif (executedLocalPackager) {\n\t\tconsole.error(`Detected locally installed ig.gfx.packager.\nRun \"npm install -g @intelligentgraphics/ig.gfx.packager@latest\" to install the global version, if it is not yet installed.\nRun \"npm install\" to get rid of the local packager version.`);\n\t\tprocess.exit(1);\n\t}\n\n\tconst notifier = updateNotifier({\n\t\tpkg: pjson,\n\t\tshouldNotifyInNpmScript: true,\n\t\tupdateCheckInterval: 1000 * 60,\n\t});\n\n\tnotifier.notify({\n\t\tisGlobal: true,\n\t\tdefer: true,\n\t});\n\n\tif (repositoryPackage === undefined) {\n\t\tthrow new Error(\n\t\t\t\"Could not load package.json file in current directory\",\n\t\t);\n\t}\n\n\trepositoryPackage.scripts ??= {};\n\trepositoryPackage.scripts.postinstall = \"packager postinstall\";\n\n\twriteWorkspaceNpmManifest(workspaceLocation, repositoryPackage);\n};\n\nconst yargsInstance = yargs(process.argv.slice(2));\n\nconst resolvePackagesFromMaybePatterns = (\n\targs: string[] = [],\n\tworkspace: WorkspaceLocation,\n) => {\n\tconst folders = new Map<string, PackageLocation>();\n\n\tfor (const arg of args) {\n\t\tglob.sync(arg, { cwd: workspace.path, absolute: true }).forEach(\n\t\t\t(folder) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst location = detectPackage(workspace, folder);\n\n\t\t\t\t\tfolders.set(folder, location);\n\t\t\t\t} catch (err) {}\n\t\t\t},\n\t\t);\n\t}\n\n\treturn Array.from(folders.values());\n};\n\nyargsInstance.command(\n\t\"build [directories...]\",\n\t\"Builds the specified directories\",\n\t(argv) =>\n\t\targv.options({\n\t\t\t...buildOptions,\n\t\t\twatch: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t}),\n\tasync ({ directories = [], watch, ...options }) => {\n\t\tconst workspace = detectWorkspace(options.cwd);\n\t\tconst folders = resolvePackagesFromMaybePatterns(\n\t\t\tdirectories as string[],\n\t\t\tworkspace,\n\t\t);\n\n\t\tawait preCommandCheck(workspace);\n\n\t\tif (folders.length === 0) {\n\t\t\treturn console.log(\n\t\t\t\t\"No build targets found. Please check wether a folder with the provided name exists and wether it has _Package.json.\",\n\t\t\t);\n\t\t}\n\n\t\tconst { buildFolders, buildFoldersWatch } = await import(\n\t\t\t\"./commands/build\"\n\t\t);\n\n\t\tif (watch) {\n\t\t\tawait buildFoldersWatch({\n\t\t\t\t...options,\n\t\t\t\tpackages: folders,\n\t\t\t\tworkspace,\n\t\t\t}).catch(captureError);\n\t\t\treturn;\n\t\t}\n\n\t\tawait buildFolders({\n\t\t\t...options,\n\t\t\tpackages: folders,\n\t\t\tworkspace,\n\t\t}).catch(captureError);\n\t},\n);\n\nyargsInstance.command(\n\t\"publish [directory]\",\n\t\"Publishes the specified directory\",\n\t(argv) =>\n\t\targv.options({\n\t\t\t...buildOptions,\n\t\t\tnoUpload: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t\tdescription: \"Only zip built files and do not upload them\",\n\t\t\t},\n\t\t\tdomain: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"Overwrite the publish domain. Defaults to the one in the _Package.json\",\n\t\t\t},\n\t\t\tsubdomain: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"Overwrite the publish subdomain. Defaults to the one in the _Package.json\",\n\t\t\t},\n\t\t\tnewVersion: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"The name of the new version\",\n\t\t\t\tdefault: process.env.VERSION,\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t\taddress: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"Address\",\n\t\t\t\tdefault: \"localhost\",\n\t\t\t},\n\t\t\tservice: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"IG.Asset.Server url\",\n\t\t\t\tdefault: process.env.IG_GFX_ASSET_SERVICE,\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"User\",\n\t\t\t\tdefault: process.env.IG_GFX_USER,\n\t\t\t},\n\t\t\tpassword: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"Password\",\n\t\t\t\tdefault: process.env.IG_GFX_PWD,\n\t\t\t},\n\t\t\tdocs: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t\tdescription: \"Generate typedoc documentation\",\n\t\t\t},\n\t\t\tpushOnly: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t\tdescription:\n\t\t\t\t\t\"Try to upload an existing zip file without building and validating the version number\",\n\t\t\t},\n\t\t\tlicense: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"Path to a license file\",\n\t\t\t\tdefault: process.env.IG_GFX_LICENSE,\n\t\t\t},\n\t\t\tskipDependencies: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t\tdescription: \"Skip dependency checks\",\n\t\t\t},\n\t\t}),\n\tasync ({ directory, user, password, service, license, ...options }) => {\n\t\tconst workspace = detectWorkspace(options.cwd);\n\t\tconst folder = detectPackage(workspace, directory as string);\n\n\t\tawait preCommandCheck(workspace);\n\n\t\tif (!options.noUpload) {\n\t\t\tif (!service) {\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t'The IG.Asset.Server url has to either be provided using the option --service or through the \"IG_GFX_ASSET_SERVICE\" environment variable',\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!license && (!user || !password)) {\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t`Expected authentication to be provided through either of the following methods:\n\t - as a path to a license file using the --license option or the IG_GFX_LICENSE environment variable\n\t - as a username and password using the --user and --password options, or the IG_GFX_USER and IG_GFX_PWD environment variables`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (license && !license.endsWith(\".iglic\")) {\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t`Expected the license path to end with the extension .iglic. Received the path \"${license}\". You may need to reload your environment variables by restarting the program you're using to execute the packager.`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tlet authentication: AssetService.Authentication | undefined;\n\n\t\tif (license) {\n\t\t\tconst fullLicensePath = path.resolve(process.cwd(), license);\n\t\t\ttry {\n\t\t\t\tconst content = fs.readFileSync(fullLicensePath);\n\t\t\t\tauthentication = {\n\t\t\t\t\ttype: \"license\",\n\t\t\t\t\tlicense: content.toString(\"base64\"),\n\t\t\t\t};\n\t\t\t} catch (err) {\n\t\t\t\tif (err?.code === \"ENOENT\") {\n\t\t\t\t\tcaptureError(\n\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t`Expected to find a license file at path: ${fullLicensePath}`,\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t`Failed to read license file at path: ${fullLicensePath}`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (user && password) {\n\t\t\tconsole.log(\n\t\t\t\t`Detected usage of username and password authentication. Please migrate to the new license file based authentication.`,\n\t\t\t);\n\t\t\tauthentication = {\n\t\t\t\ttype: \"credentials\",\n\t\t\t\tusername: user,\n\t\t\t\tpassword,\n\t\t\t};\n\t\t}\n\n\t\tconst { releaseFolder } = await import(\"./commands/publish\");\n\n\t\tconst prompter = createDefaultPrompter();\n\n\t\tconst fullOptions: ReleaseFolderOptions = {\n\t\t\t...options,\n\t\t\tauthentication,\n\t\t\tservice: service!,\n\t\t\tdirectory: folder,\n\t\t\tbanner: true,\n\t\t\tprompter,\n\t\t\tnewVersion: options.newVersion!,\n\t\t\tworkspace,\n\t\t};\n\n\t\tawait releaseFolder(fullOptions).catch(captureError);\n\t},\n);\n\nyargsInstance.command(\n\t\"testConnection [directory]\",\n\t\"Tests connection to asset service\",\n\t(argv) =>\n\t\targv.options({\n\t\t\tdomain: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"Overwrite the publish domain. Defaults to the one in the _Package.json\",\n\t\t\t},\n\t\t\tsubdomain: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"Overwrite the publish subdomain. Defaults to the one in the _Package.json\",\n\t\t\t},\n\t\t\taddress: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"Address\",\n\t\t\t\tdefault: \"localhost\",\n\t\t\t},\n\t\t\tservice: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"IG.Asset.Server url\",\n\t\t\t\tdefault: process.env.IG_GFX_ASSET_SERVICE,\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"User\",\n\t\t\t\tdefault: process.env.IG_GFX_USER,\n\t\t\t},\n\t\t\tpassword: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"Password\",\n\t\t\t\tdefault: process.env.IG_GFX_PWD,\n\t\t\t},\n\t\t\tlicense: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"Path to a license file\",\n\t\t\t\tdefault: process.env.IG_GFX_LICENSE,\n\t\t\t},\n\t\t}),\n\tasync ({\n\t\tuser,\n\t\tpassword,\n\t\tservice,\n\t\tlicense,\n\t\tsubdomain,\n\t\tdomain,\n\t\taddress,\n\t\tdirectory,\n\t}) => {\n\t\tif (!service) {\n\t\t\tcaptureError(\n\t\t\t\tnew Error(\n\t\t\t\t\t'The IG.Asset.Server url has to either be provided using the option --service or through the \"IG_GFX_ASSET_SERVICE\" environment variable',\n\t\t\t\t),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!license && (!user || !password)) {\n\t\t\tcaptureError(\n\t\t\t\tnew Error(\n\t\t\t\t\t`Expected authentication to be provided through either of the following methods:\n\t - as a path to a license file using the --license option or the IG_GFX_LICENSE environment variable\n\t - as a username and password using the --user and --password options, or the IG_GFX_USER and IG_GFX_PWD environment variables`,\n\t\t\t\t),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tif (license && !license.endsWith(\".iglic\")) {\n\t\t\tcaptureError(\n\t\t\t\tnew Error(\n\t\t\t\t\t`Expected the license path to end with the extension .iglic. Received the path \"${license}\". You may need to reload your environment variables by restarting the program you're using to execute the packager.`,\n\t\t\t\t),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tlet authentication: AssetService.Authentication | undefined;\n\n\t\tif (license) {\n\t\t\tconst fullLicensePath = path.resolve(process.cwd(), license);\n\t\t\ttry {\n\t\t\t\tconst content = fs.readFileSync(fullLicensePath);\n\t\t\t\tauthentication = {\n\t\t\t\t\ttype: \"license\",\n\t\t\t\t\tlicense: content.toString(\"base64\"),\n\t\t\t\t};\n\t\t\t} catch (err) {\n\t\t\t\tif (err?.code === \"ENOENT\") {\n\t\t\t\t\tcaptureError(\n\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t`Expected to find a license file at path: ${fullLicensePath}`,\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t`Failed to read license file at path: ${fullLicensePath}`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (user && password) {\n\t\t\tconsole.log(\n\t\t\t\t`Detected usage of username and password authentication. Please migrate to the new license file based authentication.`,\n\t\t\t);\n\t\t\tauthentication = {\n\t\t\t\ttype: \"credentials\",\n\t\t\t\tusername: user,\n\t\t\t\tpassword,\n\t\t\t};\n\t\t}\n\n\t\tif (authentication === undefined) {\n\t\t\tthrow new Error(`Expected authentication to be available`);\n\t\t}\n\n\t\tif (typeof directory === \"string\") {\n\t\t\tconst workspace = detectWorkspace(process.cwd());\n\t\t\tconst folder = detectPackage(workspace, directory as string);\n\t\t\tconst manifest = readPackageCreatorManifest(folder);\n\t\t\tconst parsedName = parseCreatorPackageName(manifest);\n\n\t\t\tif (domain === undefined) {\n\t\t\t\tdomain = parsedName.domain;\n\t\t\t}\n\t\t\tif (subdomain === undefined) {\n\t\t\t\tsubdomain = parsedName.subdomain;\n\t\t\t}\n\t\t}\n\n\t\tif (domain === undefined || subdomain === undefined) {\n\t\t\tthrow new Error(\n\t\t\t\t`Expected either domain and subdomain to be provided through options or to be executed for a specific package directory`,\n\t\t\t);\n\t\t}\n\n\t\tconst session = await AssetService.startSession({\n\t\t\turl: service,\n\t\t\taddress,\n\t\t\tdomain,\n\t\t\tsubDomain: subdomain,\n\t\t\tauthentication,\n\t\t});\n\n\t\tawait AssetService.closeSession(session);\n\n\t\tconsole.log(`Asset service session successfully started and closed`);\n\t},\n);\n\nyargsInstance.command({\n\tcommand: \"generateIndex [directory]\",\n\tbuilder: (argv) =>\n\t\targv\n\t\t\t.option(\"ignore\", {\n\t\t\t\ttype: \"array\",\n\t\t\t\tdefault: [],\n\t\t\t\tdescription: \"Files to ignore while generating index\",\n\t\t\t})\n\t\t\t.option(\"strictOptional\", {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t\tdescription:\n\t\t\t\t\t\"Marks non optional parameter object properties as required\",\n\t\t\t}),\n\thandler: async ({ directory, ignore, strictOptional }) => {\n\t\tconst workspace = detectWorkspace(process.cwd());\n\n\t\tawait preCommandCheck(workspace);\n\n\t\tconst { generateIndex } = await import(\"./commands/generateIndex\");\n\n\t\tconst location = detectPackage(workspace, directory as string);\n\n\t\tgenerateIndex({\n\t\t\tlocation,\n\t\t\tignore: ignore as string[],\n\t\t\tstrictOptional,\n\t\t});\n\t},\n\tdescribe: \"Generates an index file for a package based on typescript types\",\n});\n\nyargsInstance.command({\n\tcommand: \"generateParameterType [directory] [name]\",\n\thandler: async ({ directory, name }) => {\n\t\tconst workspace = detectWorkspace(process.cwd());\n\n\t\tawait preCommandCheck(workspace);\n\n\t\tconst { generateParameterType } = await import(\n\t\t\t\"./commands/generateParameterType\"\n\t\t);\n\n\t\tconst location = detectPackage(workspace, directory as string);\n\n\t\tgenerateParameterType({\n\t\t\tlocation,\n\t\t\tname,\n\t\t});\n\t},\n\tdescribe: \"Generates a parameter type for an interactor or evaluator\",\n});\n\nyargsInstance.command({\n\tcommand: \"postinstall\",\n\tbuilder: (argv) => argv,\n\thandler: async () => {\n\t\tconst { executePostInstall } = await import(\"./commands/postinstall\");\n\n\t\texecutePostInstall(detectWorkspace(process.cwd()));\n\t},\n\tdescribe: \"Runs postinstall tasks\",\n});\n\nyargsInstance.command({\n\tcommand: \"publishNpm [directory]\",\n\tbuilder: (argv) =>\n\t\targv.options({\n\t\t\tnewVersion: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"Name of the new version\",\n\t\t\t\tdefault: process.env.VERSION,\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t\tdryRun: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t},\n\t\t}),\n\thandler: async ({ directory, newVersion, dryRun }) => {\n\t\tconst workspace = detectWorkspace(process.cwd());\n\n\t\tconst { publishToNpm } = await import(\"./commands/publishNpm\");\n\n\t\tawait publishToNpm({\n\t\t\tworkspace,\n\t\t\tlocation: detectPackage(workspace, directory as string),\n\t\t\tversion: newVersion,\n\t\t\tdryRun,\n\t\t}).catch(captureError);\n\t},\n\tdescribe: \"Publishes the package to npm\",\n});\n\nyargsInstance\n\t.demandCommand()\n\t.pkgConf(\"packager\")\n\t.showHelpOnFail(false)\n\t.version(pjson.version).argv;\n"],"names":["stripUtf8Bom","text","charCodeAt","slice","readNpmManifest","directory","packageJsonPath","path","join","packageJson","fs","readFileSync","encoding","JSON","parse","writeNpmManifest","writePackageSync","getNodeErrorCode","error","code","undefined","isErrorEACCES","isErrorENOENT","isErrorEPERM","PACKAGE_FILE","INDEX_FILE","ANIMATION_FILE_SUFFIX","getCreatorIndexParameterPrimaryJSType","type","parseCreatorPackageName","manifest","domain","subdomain","Package","split","Error","detectPackage","workspace","resolve","scriptsPath","tsPath","location","existsSync","_kind","scriptsDir","manifestDir","readPackageCreatorManifest","err","writePackageCreatorManifest","creatorPackage","writeFileSync","stringify","getPackageCreatorIndexPath","readPackageCreatorIndex","indexPath","index","writePackageCreatorIndex","readPackageNpmManifest","writePackageNpmManifest","readPackageAnimationList","directoryContent","readdirSync","animationPathList","entry","endsWith","animationPath","push","getPackageReleasesDirectory","detectWorkspace","process","cwd","readWorkspaceNpmManifest","writeWorkspaceNpmManifest","getWorkspaceOutputPath","getWorkspaceLibPath","iterateWorkspacePackages","entries","withFileTypes","isDirectory","name","cache","MurmurHash3","key","seed","m","reset","length","hash","prototype","h1","k1","i","top","len","rem","result","module","exports","platform","global","processOk","removeListener","emit","reallyExit","listeners","kill","pid","on","signalExitModule","assert","require$$0","signals","require$$1","isWin","test","EE","require$$2","EventEmitter","emitter","__signal_exit_emitter__","count","emitted","infinite","setMaxListeners","Infinity","cb","opts","equal","loaded","load","ev","alwaysLast","remove","unload","forEach","sig","sigListeners","er","originalProcessEmit","originalProcessReallyExit","unload_1","event","signal","listener","signals_1","filter","processEmit","processReallyExit","load_1","exitCode","call","arg","ret","apply","arguments","isTypedarray","isTypedArray","strict","isStrictTypedArray","loose","isLooseTypedArray","toString","Object","names","arr","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","Float32Array","Float64Array","typedarrayToBuffer","buf","Buffer","from","buffer","byteLength","byteOffset","writeFileAtomicModule","writeFile","sync","_getTmpname","getTmpname","_cleanupOnExit","cleanupOnExit","onExit","require$$3","require$$4","typedArrayToBuffer","require$$5","promisify","require$$6","activeFiles","threadId","getId","workerThreads","require","e","invocations","filename","__filename","String","tmpfile","unlinkSync","_","serializeActiveFile","absoluteName","Promise","isChownErrOk","nonroot","getuid","writeFileAsync","data","options","fd","removeOnExitHandler","truename","realpath","catch","mode","chown","stats","stat","uid","gid","open","tmpfileCreated","isBuffer","write","fsync","close","chmod","rename","unlink","shift","callback","Function","promise","then","realpathSync","ex","statSync","assign","cleanup","threw","openSync","writeSync","fsyncSync","closeSync","chownSync","chmodSync","renameSync","PLUGIN_ID","startSession","url","authentication","params","payload","user","password","license","plugin","username","session","sessionId","state","response","axios","post","baseURL","message","subDomain","closeSession","get","uploadPackageFromBuffer","version","uploadPackageToUrl","AxiosError","_err_response","status","objectBody","text_1","getExistingPackages","validateStatus","createDefaultPrompter","confirm","inquirer","prompt","ask","question","answer","choices","default","fileURLToPath","__dirname","dirname","pjson","captureError","console","log","env","NODE_ENV","exit","buildOptions","outDir","description","coerce","input","minimize","clean","docs","skipDeclarations","preCommandCheck","workspaceLocation","executedLocalPackager","startsWith","repositoryPackage","dependencies","devDependencies","parts","notifier","updateNotifier","pkg","shouldNotifyInNpmScript","updateCheckInterval","notify","isGlobal","defer","scripts","postinstall","yargsInstance","yargs","argv","resolvePackagesFromMaybePatterns","args","folders","Map","glob","absolute","folder","set","Array","values","command","watch","directories","buildFolders","buildFoldersWatch","packages","noUpload","newVersion","VERSION","required","address","service","IG_GFX_ASSET_SERVICE","IG_GFX_USER","IG_GFX_PWD","pushOnly","IG_GFX_LICENSE","skipDependencies","fullLicensePath","content","releaseFolder","prompter","fullOptions","banner","parsedName","AssetService","builder","option","handler","ignore","strictOptional","generateIndex","describe","generateParameterType","executePostInstall","dryRun","publishToNpm","demandCommand","pkgConf","showHelpOnFail"],"mappings":"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","x_google_ignoreList":[5,6,7,8,9,10]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-8OmlN_-6.mjs","sources":["../../tools.core/build/log.mjs","../src/commands/build/tsc.ts","../src/commands/build/docs.ts","../src/lib/toposort.ts","../src/commands/build/manager.ts","../src/commands/build/animation.schema.ts","../src/commands/build/animations.ts","../src/lib/packageVersion.ts","../src/commands/build/index.ts"],"sourcesContent":["const consoleReporter = {\n log (message) {\n console.log(message);\n },\n error (message, _error) {\n console.error(message);\n }\n};\nconst createPackageScopedReporter = (reporter, scope, index, total, maxNameLength = 15)=>{\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}${scope.padEnd(maxNameLength)}`;\n return {\n log (message) {\n reporter.log(`${identifierString} >> ${message}`);\n },\n error (message, error) {\n reporter.error(`${identifierString} >> ${message}`, error);\n }\n };\n};\n\nexport { consoleReporter, createPackageScopedReporter };\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 { getPackageTypescriptFiles } from \"../../lib/scripts\";\nimport { BuildParticipant, BuilderEnvironment } from \"./types\";\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 createTSCBuildParticipant =\n\t(\n\t\tlocation: PackageLocation,\n\t\toutputDir: string,\n\t\tskipDeclarations: boolean,\n\t): BuildParticipant =>\n\t(env: BuilderEnvironment) => {\n\t\tconst files = getPackageTypescriptFiles(location);\n\n\t\ttry {\n\t\t\tenv.onBuildStart();\n\n\t\t\tenv.log(\"Compiling typescript files\");\n\n\t\t\tconst compilerOptions = getCompilerOptions(\n\t\t\t\tlocation,\n\t\t\t\toutputDir,\n\t\t\t\tskipDeclarations,\n\t\t\t);\n\n\t\t\tconst host = ts.createCompilerHost(compilerOptions);\n\t\t\thost.getCurrentDirectory = () => location.scriptsDir;\n\n\t\t\tlet js: string | undefined;\n\t\t\tlet definitions: string | undefined;\n\t\t\tlet sourceMap: string | undefined;\n\n\t\t\thost.writeFile = (fileName, data, writeByteOrderMark) => {\n\t\t\t\tif (fileName.endsWith(\".js\")) {\n\t\t\t\t\tjs = data;\n\t\t\t\t} else if (fileName.endsWith(\".d.ts\")) {\n\t\t\t\t\tdefinitions = data;\n\t\t\t\t} else if (fileName.endsWith(\".js.map\")) {\n\t\t\t\t\tsourceMap = data;\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst programOptions: ts.CreateProgramOptions = {\n\t\t\t\trootNames: files,\n\t\t\t\toptions: compilerOptions,\n\t\t\t\thost,\n\t\t\t};\n\n\t\t\tconst program = ts.createProgram(programOptions);\n\t\t\tconst emitResult = program.emit();\n\t\t\tconst allDiagnostics = ts.getPreEmitDiagnostics(program);\n\n\t\t\tif (!emitResult.emitSkipped) {\n\t\t\t\tif (allDiagnostics.length > 0) {\n\t\t\t\t\tconsole.log(ts.formatDiagnostics(allDiagnostics, host));\n\t\t\t\t}\n\n\t\t\t\tif (js === undefined || definitions === undefined) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Unexpected: no js or definitions were created`,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\ttype: \"success\",\n\t\t\t\t\tartefacts: {\n\t\t\t\t\t\tjs: js.replace(`//# sourceMappingURL=out.js.map`, \"\"),\n\t\t\t\t\t\tdeclarations: definitions,\n\t\t\t\t\t\tsourceMap,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst error = ts.formatDiagnostics(allDiagnostics, host);\n\n\t\t\t\tthrow new Error(error);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tenv.onBuildEnd({\n\t\t\t\ttype: \"error\",\n\t\t\t\terror: err.message,\n\t\t\t});\n\t\t}\n\n\t\treturn {\n\t\t\tdestroy: () => {},\n\t\t};\n\t};\n\nexport const createTSCWatchBuildParticipant = (\n\tlocation: PackageLocation,\n\toutputDir: string,\n\tskipDeclarations: boolean,\n): BuildParticipant => {\n\treturn ({ onBuildStart, onBuildEnd }: BuilderEnvironment) => {\n\t\ttype State = {\n\t\t\tjs: string | undefined;\n\t\t\tdefinitions: string | undefined;\n\t\t\tdiagnostics: ts.Diagnostic[];\n\t\t\tsourceMap: string | undefined;\n\t\t};\n\n\t\tlet state: State = {\n\t\t\tdiagnostics: [],\n\t\t\tjs: undefined,\n\t\t\tdefinitions: undefined,\n\t\t\tsourceMap: undefined,\n\t\t};\n\n\t\tconst customSys: ts.System = {\n\t\t\t...ts.sys,\n\t\t\twriteFile: (fileName, data, writeByteOrderMark) => {\n\t\t\t\tif (fileName.endsWith(\".js\")) {\n\t\t\t\t\tstate.js = data;\n\t\t\t\t} else if (fileName.endsWith(\".d.ts\")) {\n\t\t\t\t\tstate.definitions = data;\n\t\t\t\t} else if (fileName.endsWith(\".js.map\")) {\n\t\t\t\t\tstate.sourceMap = data;\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\n\t\tconst registerDiagnostic = (diagnostic: ts.Diagnostic) => {\n\t\t\tswitch (diagnostic.code) {\n\t\t\t\t// file not found - https://github.com/microsoft/TypeScript/blob/93e6b9da0c4cb164ca90a5a1b07415e81e97f2b1/src/compiler/diagnosticMessages.json#L4640\n\t\t\t\t// probably deleted -> ignore\n\t\t\t\tcase 6053:\n\t\t\t\t\treturn;\n\n\t\t\t\t// no inputs were found - https://github.com/microsoft/TypeScript/blob/93e6b9da0c4cb164ca90a5a1b07415e81e97f2b1/src/compiler/diagnosticMessages.json#L6838\n\t\t\t\t// we don't care about this error. a user might have temporarily deleted the last ts file and will readd one later.\n\t\t\t\tcase 18003:\n\t\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tstate.diagnostics.push(diagnostic);\n\t\t};\n\n\t\tconst reportWatchStatusChanged = (diagnostic: ts.Diagnostic) => {\n\t\t\tswitch (diagnostic.code) {\n\t\t\t\t// regular watch mode - https://github.com/microsoft/TypeScript/blob/93e6b9da0c4cb164ca90a5a1b07415e81e97f2b1/src/compiler/diagnosticMessages.json#L4567\n\t\t\t\tcase 6031:\n\t\t\t\t// incremental watch mode - https://github.com/microsoft/TypeScript/blob/93e6b9da0c4cb164ca90a5a1b07415e81e97f2b1/src/compiler/diagnosticMessages.json#L4571\n\t\t\t\tcase 6032:\n\t\t\t\t\t// build start\n\t\t\t\t\tonBuildStart();\n\t\t\t\t\tbreak;\n\n\t\t\t\t// found one error - https://github.com/microsoft/TypeScript/blob/93e6b9da0c4cb164ca90a5a1b07415e81e97f2b1/src/compiler/diagnosticMessages.json#L5119\n\t\t\t\tcase 6193:\n\t\t\t\t// found n or 0 errors - https://github.com/microsoft/TypeScript/blob/93e6b9da0c4cb164ca90a5a1b07415e81e97f2b1/src/compiler/diagnosticMessages.json#L5123\n\t\t\t\tcase 6194:\n\t\t\t\t\t// build end\n\t\t\t\t\tconst emitState = state;\n\t\t\t\t\tstate = {\n\t\t\t\t\t\tdiagnostics: [],\n\t\t\t\t\t\tjs: undefined,\n\t\t\t\t\t\tdefinitions: undefined,\n\t\t\t\t\t\tsourceMap: undefined,\n\t\t\t\t\t};\n\n\t\t\t\t\tif (emitState.diagnostics.length > 0) {\n\t\t\t\t\t\tconst message = ts.formatDiagnostics(\n\t\t\t\t\t\t\temitState.diagnostics,\n\t\t\t\t\t\t\tformattingHost,\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tonBuildEnd({\n\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\terror: new Error(message),\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\temitState.js === undefined ||\n\t\t\t\t\t\temitState.definitions === undefined\n\t\t\t\t\t) {\n\t\t\t\t\t\tonBuildEnd({\n\t\t\t\t\t\t\ttype: \"success\",\n\t\t\t\t\t\t\tartefacts: {\n\t\t\t\t\t\t\t\tjs: \"\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tonBuildEnd({\n\t\t\t\t\t\ttype: \"success\",\n\t\t\t\t\t\tartefacts: {\n\t\t\t\t\t\t\tjs: emitState.js.replace(\n\t\t\t\t\t\t\t\t`//# sourceMappingURL=out.js.map`,\n\t\t\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tdeclarations: emitState.definitions,\n\t\t\t\t\t\t\tsourceMap: emitState.sourceMap,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t};\n\n\t\tconst host = ts.createWatchCompilerHost(\n\t\t\tpath.join(location.scriptsDir, \"tsconfig.json\"),\n\t\t\tgetCompilerOptions(location, outputDir, skipDeclarations),\n\t\t\tcustomSys,\n\t\t\tts.createSemanticDiagnosticsBuilderProgram,\n\t\t\tregisterDiagnostic,\n\t\t\treportWatchStatusChanged,\n\t\t);\n\n\t\tconst formattingHost: ts.FormatDiagnosticsHost = {\n\t\t\tgetCanonicalFileName: (path) => path,\n\t\t\tgetCurrentDirectory: host.getCurrentDirectory,\n\t\t\tgetNewLine: () => ts.sys.newLine,\n\t\t};\n\n\t\tconst watchProgram = ts.createWatchProgram(host);\n\n\t\treturn {\n\t\t\tdestroy: () => {\n\t\t\t\twatchProgram.close();\n\t\t\t},\n\t\t};\n\t};\n};\n\nconst getCompilerOptions = (\n\tlocation: PackageLocation,\n\toutputDir: string,\n\tskipDeclarations: boolean,\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: !skipDeclarations,\n\t\tsourceMap: true,\n\t\tinlineSources: 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\treturn compilerOptions;\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 {\n\tCreatorPackage,\n\tReporter,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\nimport {\n\tBuildArtefacts,\n\tBuildParticipant,\n\tBuildResult,\n\tBuildSuccessResult,\n} from \"./types\";\nimport EventEmitter from \"events\";\nimport { SourceMapConsumer, SourceMapGenerator } from \"source-map-js\";\n\ntype State =\n\t| {\n\t\t\ttype: \"busy\";\n\t }\n\t| BuildResult;\n\nexport class BuildManager extends EventEmitter {\n\tprivate readonly participants = new Map<string, BuildParticipant>();\n\tprivate readonly states = new Map<string, State>();\n\n\tconstructor(\n\t\tprivate readonly manifest: CreatorPackage,\n\t\tprivate readonly writer: (result: BuildArtefacts) => Promise<void>,\n\t\tprivate readonly reporter: Reporter,\n\t) {\n\t\tsuper();\n\t}\n\n\tpublic addParticipant(name: string, participant: BuildParticipant) {\n\t\tthis.participants.set(name, participant);\n\t}\n\n\tpublic run() {\n\t\tfor (const [name] of this.participants) {\n\t\t\tthis.states.set(name, { type: \"busy\" });\n\t\t}\n\n\t\tthis.emit(\"start\");\n\n\t\tfor (const [name, participant] of this.participants) {\n\t\t\tparticipant({\n\t\t\t\tonBuildStart: () => {\n\t\t\t\t\tlet alreadyBusy = false;\n\n\t\t\t\t\tfor (const [name, state] of this.states) {\n\t\t\t\t\t\tif (state.type === \"busy\") {\n\t\t\t\t\t\t\talreadyBusy = true;\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.states.set(name, { type: \"busy\" });\n\n\t\t\t\t\tif (!alreadyBusy) {\n\t\t\t\t\t\tthis.emit(\"start\");\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tonBuildEnd: (result) => {\n\t\t\t\t\tthis.states.set(name, result);\n\n\t\t\t\t\tthis.maybeEmit();\n\t\t\t\t},\n\t\t\t\tlog: (message) => this.reporter.log(message),\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate maybeEmit() {\n\t\tconst errors: Error[] = [];\n\t\tconst results: BuildSuccessResult[] = [];\n\n\t\tfor (const [_, state] of this.states) {\n\t\t\tif (state.type === \"busy\") {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (state.type === \"success\") {\n\t\t\t\tresults.push(state);\n\t\t\t} else if (state.type === \"error\") {\n\t\t\t\terrors.push(state.error);\n\t\t\t}\n\t\t}\n\n\t\tif (errors.length > 0) {\n\t\t\tthis.emit(\n\t\t\t\t\"error\",\n\t\t\t\terrors.length === 1 ? errors[0] : new AggregateError(errors),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst completeResult: BuildArtefacts = {\n\t\t\tjs: \"\",\n\t\t};\n\n\t\tconst sourceMapGenerator = new SourceMapGenerator();\n\n\t\tfor (const result of results) {\n\t\t\tif (result.artefacts.js) {\n\t\t\t\tif (completeResult.js) {\n\t\t\t\t\tcompleteResult.js += \"\\n\";\n\t\t\t\t}\n\n\t\t\t\tif (result.artefacts.sourceMap) {\n\t\t\t\t\tconst lines = completeResult.js.split(\"\\n\").length - 1;\n\t\t\t\t\tconst sourceMap = new SourceMapConsumer(\n\t\t\t\t\t\tJSON.parse(result.artefacts.sourceMap),\n\t\t\t\t\t);\n\n\t\t\t\t\tconst sources = new Set<string>();\n\t\t\t\t\tsourceMap.eachMapping((mapping) => {\n\t\t\t\t\t\tsourceMapGenerator.addMapping({\n\t\t\t\t\t\t\tgenerated: {\n\t\t\t\t\t\t\t\tline: lines + mapping.generatedLine,\n\t\t\t\t\t\t\t\tcolumn: mapping.generatedColumn,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\toriginal:\n\t\t\t\t\t\t\t\tmapping.originalLine !== null &&\n\t\t\t\t\t\t\t\tmapping.originalColumn !== null\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\tline: mapping.originalLine,\n\t\t\t\t\t\t\t\t\t\t\tcolumn: mapping.originalColumn,\n\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\tsource: mapping.source,\n\t\t\t\t\t\t\tname: mapping.name,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tif (mapping.source !== null) {\n\t\t\t\t\t\t\tsources.add(mapping.source);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tfor (const source of sources) {\n\t\t\t\t\t\tconst content = sourceMap.sourceContentFor(source);\n\n\t\t\t\t\t\tif (content !== null) {\n\t\t\t\t\t\t\tsourceMapGenerator.setSourceContent(\n\t\t\t\t\t\t\t\tsource,\n\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcompleteResult.js += result.artefacts.js;\n\t\t\t}\n\n\t\t\tif (result.artefacts.declarations) {\n\t\t\t\tif (completeResult.declarations) {\n\t\t\t\t\tcompleteResult.declarations += \"\\n\";\n\t\t\t\t} else {\n\t\t\t\t\tcompleteResult.declarations = \"\";\n\t\t\t\t}\n\n\t\t\t\tcompleteResult.declarations += result.artefacts.declarations;\n\t\t\t}\n\t\t}\n\n\t\tcompleteResult.sourceMap = sourceMapGenerator.toString();\n\n\t\tthis.writer(completeResult).then(() => {\n\t\t\tthis.emit(\"build\");\n\t\t});\n\t}\n}\n","export default {\n\t$schema: \"http://json-schema.org/draft-07/schema\",\n\t$id: \"https://archive.intelligentgraphics.biz/schemas/gfx/animation.json\",\n\t$comment: \"Version 2023-02-17, Source: ig.data.gfx/Specs/animation.json\",\n\ttitle: \"Animation description format\",\n\tadditionalProperties: false,\n\ttype: \"object\",\n\tproperties: {\n\t\t$schema: {\n\t\t\ttype: \"string\",\n\t\t},\n\t\tId: {\n\t\t\ttype: \"string\",\n\t\t\tdescription:\n\t\t\t\t\"Animation id, to be unique in the project scope. Needs to be a valid JavaScript identifier.\",\n\t\t},\n\t\tAnimations: {\n\t\t\ttype: \"array\",\n\t\t\tdescription: \"Declaration of animation states for gfx objects\",\n\t\t\titems: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tadditionalProperties: false,\n\t\t\t\tproperties: {\n\t\t\t\t\t_: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdescription: \"Comment\",\n\t\t\t\t\t},\n\t\t\t\t\tPath: {\n\t\t\t\t\t\t$ref: \"#/definitions/igxcPath\",\n\t\t\t\t\t},\n\t\t\t\t\tStates: {\n\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\tadditionalProperties: {\n\t\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tPosition: {\n\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/vec3\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tRotation: {\n\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/rotation\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tScaling: {\n\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/vec3\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tVisibility: {\n\t\t\t\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tDeformation: {\n\t\t\t\t\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tKinematics: {\n\t\t\toneOf: [\n\t\t\t\t{\n\t\t\t\t\t$ref: \"#/definitions/kinematicChain\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttype: \"array\",\n\t\t\t\t\titems: {\n\t\t\t\t\t\t$ref: \"#/definitions/kinematicChain\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tLinkedPoints: {\n\t\t\ttype: \"object\",\n\t\t\tadditionalProperties: {\n\t\t\t\ttype: \"array\",\n\t\t\t\titems: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t_: {\n\t\t\ttype: \"string\",\n\t\t\tdescription: \"Comment\",\n\t\t},\n\t},\n\tdefinitions: {\n\t\tvec3: {\n\t\t\ttype: \"object\",\n\t\t\tadditionalProperties: false,\n\t\t\tproperties: {\n\t\t\t\tX: {\n\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\tY: {\n\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\tZ: {\n\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t_: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Comment\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\trotation: {\n\t\t\ttype: \"object\",\n\t\t\tadditionalProperties: false,\n\t\t\tproperties: {\n\t\t\t\tQ: {\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t\"If true, the rotation is considered to be a Quaternion. Otherwise, it's interpreted as Euler arcs and W will be ignored.\",\n\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t},\n\t\t\t\tX: {\n\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\tY: {\n\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\tZ: {\n\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\tW: {\n\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t_: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Comment\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tigxcPath: {\n\t\t\ttype: \"string\",\n\t\t\tdescription: \"Relative path of the target object\",\n\t\t\tpattern: \"^((o|e)\\\\d+(\\\\.(o|e)\\\\d+)*|\\\\.)$\",\n\t\t},\n\t\tparam: {\n\t\t\ttype: \"string\",\n\t\t\tpattern: \"^Param\\\\d+$\",\n\t\t},\n\t\tkinematicChain: {\n\t\t\ttype: \"object\",\n\t\t\tadditionalProperties: false,\n\t\t\tproperties: {\n\t\t\t\tGeometryBase: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t},\n\t\t\t\tJoints: {\n\t\t\t\t\ttype: \"array\",\n\t\t\t\t\titems: {\n\t\t\t\t\t\ttype: \"object\",\n\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tName: {\n\t\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/param\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tHeadX: {\n\t\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/param\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/igxcPath\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tHeadY: {\n\t\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/param\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/igxcPath\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tHeadZ: {\n\t\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/param\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/igxcPath\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTail: {\n\t\t\t\t\t\t\t\toneOf: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/param\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t$ref: \"#/definitions/igxcPath\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tLimitLeft: {\n\t\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tLimitRight: {\n\t\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tLimitUp: {\n\t\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tLimitDown: {\n\t\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tFollowJointNode: {\n\t\t\t\t\t\t\t\t$ref: \"#/definitions/igxcPath\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t_TargetNodeForFollow: {\n\t\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tTarget: {\n\t\t\t\t\toneOf: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$ref: \"#/definitions/igxcPath\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$ref: \"#/definitions/param\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\tenum: [\"subbase\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\tParent: {\n\t\t\t\t\toneOf: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$ref: \"#/definitions/igxcPath\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\t\tenum: [\"root\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\tTolerance: {\n\t\t\t\t\ttype: \"number\",\n\t\t\t\t},\n\t\t\t\tMaxIterations: {\n\t\t\t\t\ttype: \"integer\",\n\t\t\t\t},\n\t\t\t\t_: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Comment\",\n\t\t\t\t},\n\t\t\t\t__: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tdescription: \"Super Comment\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n};\n","import * as path from \"path\";\nimport * as fs from \"fs/promises\";\n\nimport {\n\tPackageLocation,\n\tCreatorPackage,\n\treadPackageAnimationList,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nimport { BuildParticipant, BuilderEnvironment } from \"./types\";\nimport Ajv, { ValidateFunction } from \"ajv\";\nimport animationSchema from \"./animation.schema\";\n\nexport const createAnimationBuildParticipant = (\n\tlocation: PackageLocation,\n\tmanifest: CreatorPackage,\n): BuildParticipant => {\n\treturn (env: BuilderEnvironment) => {\n\t\tenv.onBuildStart();\n\n\t\tbundleAnimations(location, manifest, env.log)\n\t\t\t.then((result) => {\n\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\ttype: \"success\",\n\t\t\t\t\tartefacts: {\n\t\t\t\t\t\tjs: result?.js ?? \"\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\ttype: \"error\",\n\t\t\t\t\terror: err.message,\n\t\t\t\t});\n\t\t\t});\n\n\t\treturn {\n\t\t\tdestroy: () => {},\n\t\t};\n\t};\n};\n\nexport const createAnimationWatchBuildParticipant =\n\t(location: PackageLocation, manifest: CreatorPackage): BuildParticipant =>\n\t(env) => {\n\t\tenv.onBuildStart();\n\n\t\tbundleAnimations(location, manifest, env.log)\n\t\t\t.then((result) => {\n\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\ttype: \"success\",\n\t\t\t\t\tartefacts: {\n\t\t\t\t\t\tjs: result?.js ?? \"\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\ttype: \"error\",\n\t\t\t\t\terror: err.message,\n\t\t\t\t});\n\t\t\t});\n\n\t\t(async () => {\n\t\t\tfor await (const event of fs.watch(location.scriptsDir)) {\n\t\t\t\tif (event.filename?.endsWith(\".animation.json\")) {\n\t\t\t\t\tenv.onBuildStart();\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst result = await bundleAnimations(\n\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t\tmanifest,\n\t\t\t\t\t\t\tenv.log,\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\t\t\ttype: \"success\",\n\t\t\t\t\t\t\tartefacts: {\n\t\t\t\t\t\t\t\tjs: result?.js ?? \"\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\terror: err.message,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})();\n\n\t\treturn {\n\t\t\tdestroy: () => {},\n\t\t};\n\t};\n\nconst bundleAnimations = async (\n\tlocation: PackageLocation,\n\tmanifest: CreatorPackage,\n\tlogStep: (message: string) => void,\n) => {\n\tconst animations = new Map<string, string>();\n\n\tfor (const scriptFilePath of readPackageAnimationList(location)) {\n\t\tconst content = await fs.readFile(scriptFilePath, {\n\t\t\tencoding: \"utf8\",\n\t\t})!;\n\n\t\tlet data: { Id: string; $schema?: string };\n\n\t\ttry {\n\t\t\tdata = JSON.parse(content);\n\t\t} catch (err) {\n\t\t\tconst relativePath = path.relative(location.path, scriptFilePath);\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\tif (!data.Id) {\n\t\t\tconst fileName = path.basename(scriptFilePath, \".animation.json\");\n\t\t\tdata.Id = fileName;\n\t\t}\n\n\t\t(await getAnimationJsonValidation())(data);\n\t\tdelete data.$schema;\n\t\tanimations.set(data.Id, JSON.stringify(data));\n\t}\n\n\tif (animations.size > 0) {\n\t\tconst scope = manifest.Scope ?? manifest.Package;\n\t\tconst scopeParts = scope.split(\".\");\n\n\t\tlet js = createNamespace(scopeParts);\n\n\t\tfor (const [name, content] of animations) {\n\t\t\tjs += `${scope}[\"${name}\"] = ` + content + \";\";\n\t\t\tlogStep(`Adding animation ${scope}.${name}`);\n\t\t}\n\n\t\treturn {\n\t\t\tjs,\n\t\t};\n\t}\n\n\treturn undefined;\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\nlet validateAnimationJson: ValidateFunction | undefined;\n\nconst getAnimationJsonValidation = async () => {\n\tif (validateAnimationJson === undefined) {\n\t\tvalidateAnimationJson = new Ajv({\n\t\t\tcoerceTypes: true,\n\t\t\tallErrors: true,\n\t\t\tremoveAdditional: true,\n\t\t\tuseDefaults: \"empty\",\n\t\t\tvalidateSchema: \"log\",\n\t\t}).compile(animationSchema);\n\t}\n\n\treturn validateAnimationJson!;\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 * as path from \"path\";\nimport * as fs from \"fs/promises\";\nimport * as terser from \"terser\";\nimport { EOL } from \"os\";\nimport ts from \"typescript\";\n\nimport {\n\tconsoleReporter,\n\tcreatePackageScopedReporter,\n\tgetPackageTypescriptFiles,\n\tisErrorENOENT,\n\tReporter,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nimport {\n\tcreateTSCBuildParticipant,\n\tcreateTSCWatchBuildParticipant,\n} from \"./tsc\";\nimport { generateDocs } from \"./docs\";\nimport {\n\tCreatorPackage,\n\tPackageLocation,\n\treadPackageCreatorManifest,\n\treadPackageNpmManifest,\n} from \"../../lib/package\";\nimport { WorkspaceLocation } from \"../../lib/workspace\";\nimport { toposort } from \"../../lib/toposort\";\nimport { PackageJSON } from \"../../lib/packageJSON\";\nimport { BuildArtefacts, BuildParticipant } from \"./types\";\nimport { BuildManager } from \"./manager\";\nimport {\n\tcreateAnimationBuildParticipant,\n\tcreateAnimationWatchBuildParticipant,\n} from \"./animations\";\nimport { isScriptPackageModules } from \"../../lib/scripts\";\nimport { PackageVersion } from \"../../lib/packageVersion\";\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\treporter?: Reporter;\n\tpreparedReporter?: Reporter;\n\tskipDeclarations?: 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 async function buildFolders(options: BuildFoldersOptions) {\n\tif (options.outDir !== undefined && options.clean) {\n\t\tawait fs.rm(options.outDir, { recursive: true });\n\t}\n\n\tconst baseReporter = options.reporter ?? consoleReporter;\n\tconst workspace = options.workspace;\n\tconst folders = options.packages;\n\n\tlet sortedPackages = sortPackagesByBuildOrder(folders);\n\n\tlet index = 1;\n\n\tconst manifests = new Map(\n\t\tsortedPackages.map(\n\t\t\t(location) =>\n\t\t\t\t[location, readPackageCreatorManifest(location)] as const,\n\t\t),\n\t);\n\n\tconst maxNameLength = Array.from(\n\t\tmanifests.values(),\n\t\t(manifest) => manifest.Package.length,\n\t).reduce((acc, length) => Math.max(acc, length), 0);\n\n\tconst managers: BuildManager[] = [];\n\n\tfor (const location of sortedPackages) {\n\t\tconst tsConfig = await ensureTsConfig(location);\n\n\t\tconst data = manifests.get(location)!;\n\n\t\tconst reporter =\n\t\t\toptions.preparedReporter ??\n\t\t\tcreatePackageScopedReporter(\n\t\t\t\tbaseReporter,\n\t\t\t\tdata.Package,\n\t\t\t\tindex,\n\t\t\t\tfolders.length,\n\t\t\t\tmaxNameLength,\n\t\t\t);\n\n\t\tconst outputDirectory = options.outDir || location.scriptsDir;\n\t\tawait fs.mkdir(outputDirectory, { recursive: true });\n\n\t\tconst manager = new BuildManager(\n\t\t\tdata,\n\t\t\t(result) =>\n\t\t\t\twriteBuildResult(\n\t\t\t\t\tresult,\n\t\t\t\t\tdata,\n\t\t\t\t\tlocation,\n\t\t\t\t\tworkspace,\n\t\t\t\t\toutputDirectory,\n\t\t\t\t\toptions.minimize,\n\t\t\t\t\treporter,\n\t\t\t\t),\n\t\t\treporter,\n\t\t);\n\n\t\tif (options.banner) {\n\t\t\tmanager.addParticipant(\n\t\t\t\t\"banner\",\n\t\t\t\tcreateBannerCommentBuildParticipant(options.banner),\n\t\t\t);\n\t\t}\n\n\t\tconst typescriptFiles = getPackageTypescriptFiles(location);\n\n\t\tif (\n\t\t\t!typescriptFiles.some(\n\t\t\t\t(file) => path.basename(file).toLowerCase() === \"version.ts\",\n\t\t\t)\n\t\t) {\n\t\t\tmanager.addParticipant(\n\t\t\t\t\"version\",\n\t\t\t\tcreateVersionLogBuildParticipant(data),\n\t\t\t);\n\t\t}\n\n\t\tif (typescriptFiles.length > 0) {\n\t\t\tif (isScriptPackageModules(tsConfig.options)) {\n\t\t\t\tconst { createRollupBuildParticipant } = await import(\n\t\t\t\t\t\"./rollup\"\n\t\t\t\t);\n\n\t\t\t\tmanager.addParticipant(\n\t\t\t\t\t\"rollup\",\n\t\t\t\t\tcreateRollupBuildParticipant(\n\t\t\t\t\t\tlocation,\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\toutputDirectory,\n\t\t\t\t\t\toptions.skipDeclarations ?? false,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmanager.addParticipant(\n\t\t\t\t\t\"tsc\",\n\t\t\t\t\tcreateTSCBuildParticipant(\n\t\t\t\t\t\tlocation,\n\t\t\t\t\t\toutputDirectory,\n\t\t\t\t\t\toptions.skipDeclarations ?? false,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tmanager.addParticipant(\n\t\t\t\"animation\",\n\t\t\tcreateAnimationBuildParticipant(location, data),\n\t\t);\n\n\t\tawait new Promise<void>((resolve, reject) => {\n\t\t\tmanager.addListener(\"start\", () => {\n\t\t\t\treporter.log(`Build started`);\n\t\t\t});\n\t\t\tmanager.addListener(\"error\", (error: Error) => {\n\t\t\t\treject(error);\n\t\t\t});\n\t\t\tmanager.addListener(\"build\", () => {\n\t\t\t\treporter.log(`Build complete`);\n\t\t\t\tresolve();\n\t\t\t});\n\t\t\tmanager.run();\n\t\t});\n\n\t\tmanagers.push(manager);\n\n\t\tif (options.docs) {\n\t\t\treporter.log(\"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\nexport async function buildFoldersWatch(options: BuildFoldersOptions) {\n\tif (options.outDir !== undefined && options.clean) {\n\t\tawait fs.rm(options.outDir, { recursive: true });\n\t}\n\n\tconst workspace = options.workspace;\n\tconst folders = options.packages;\n\n\tlet sortedPackages = sortPackagesByBuildOrder(folders);\n\n\tlet index = 1;\n\n\tconst manifests = new Map(\n\t\tsortedPackages.map(\n\t\t\t(location) =>\n\t\t\t\t[location, readPackageCreatorManifest(location)] as const,\n\t\t),\n\t);\n\n\tconst maxNameLength = Array.from(\n\t\tmanifests.values(),\n\t\t(manifest) => manifest.Package.length,\n\t).reduce((acc, length) => Math.max(acc, length), 0);\n\n\tconst managers: BuildManager[] = [];\n\n\tfor (const location of sortedPackages) {\n\t\tconst tsConfig = await ensureTsConfig(location);\n\n\t\tconst baseReporter = options.reporter ?? consoleReporter;\n\n\t\tconst data = manifests.get(location)!;\n\n\t\tconst reporter = createPackageScopedReporter(\n\t\t\tbaseReporter,\n\t\t\tdata.Package,\n\t\t\tindex,\n\t\t\tfolders.length,\n\t\t\tmaxNameLength,\n\t\t);\n\n\t\tconst outputDirectory = options.outDir || location.scriptsDir;\n\t\tawait fs.mkdir(outputDirectory, { recursive: true });\n\n\t\tconst manager = new BuildManager(\n\t\t\tdata,\n\t\t\t(result) =>\n\t\t\t\twriteBuildResult(\n\t\t\t\t\tresult,\n\t\t\t\t\tdata,\n\t\t\t\t\tlocation,\n\t\t\t\t\tworkspace,\n\t\t\t\t\toutputDirectory,\n\t\t\t\t\toptions.minimize,\n\t\t\t\t\treporter,\n\t\t\t\t),\n\t\t\treporter,\n\t\t);\n\n\t\tif (options.banner) {\n\t\t\tmanager.addParticipant(\n\t\t\t\t\"banner\",\n\t\t\t\tcreateBannerCommentBuildParticipant(options.banner),\n\t\t\t);\n\t\t}\n\n\t\tconst typescriptFiles = getPackageTypescriptFiles(location);\n\n\t\tif (\n\t\t\t!typescriptFiles.some(\n\t\t\t\t(file) => path.basename(file).toLowerCase() === \"version.ts\",\n\t\t\t)\n\t\t) {\n\t\t\tmanager.addParticipant(\n\t\t\t\t\"version\",\n\t\t\t\tcreateVersionLogBuildParticipant(data),\n\t\t\t);\n\t\t}\n\n\t\tif (typescriptFiles.length > 0) {\n\t\t\tif (isScriptPackageModules(tsConfig.options)) {\n\t\t\t\tconst { createRollupWatchBuildParticipant } = await import(\n\t\t\t\t\t\"./rollup\"\n\t\t\t\t);\n\n\t\t\t\tmanager.addParticipant(\n\t\t\t\t\t\"rollup\",\n\t\t\t\t\tcreateRollupWatchBuildParticipant(\n\t\t\t\t\t\tlocation,\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\toutputDirectory,\n\t\t\t\t\t\toptions.skipDeclarations ?? false,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmanager.addParticipant(\n\t\t\t\t\t\"tsc\",\n\t\t\t\t\tcreateTSCWatchBuildParticipant(\n\t\t\t\t\t\tlocation,\n\t\t\t\t\t\toutputDirectory,\n\t\t\t\t\t\toptions.skipDeclarations ?? false,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tmanager.addParticipant(\n\t\t\t\"animation\",\n\t\t\tcreateAnimationWatchBuildParticipant(location, data),\n\t\t);\n\n\t\tawait new Promise<void>((resolve, reject) => {\n\t\t\tmanager.addListener(\"start\", () => {\n\t\t\t\treporter.log(`Build started`);\n\t\t\t});\n\t\t\tmanager.addListener(\"error\", (error: string) => {\n\t\t\t\treporter.log(`Build failed: ${EOL}${error}`);\n\t\t\t\tresolve();\n\t\t\t});\n\t\t\tmanager.addListener(\"build\", () => {\n\t\t\t\treporter.log(`Build complete`);\n\t\t\t\tresolve();\n\t\t\t});\n\t\t\tmanager.run();\n\t\t});\n\n\t\tmanagers.push(manager);\n\n\t\tindex++;\n\t}\n\n\tawait new Promise(() => {});\n}\n\nasync function writeBuildResult(\n\tbuildResult: BuildArtefacts,\n\tmanifest: CreatorPackage,\n\tlocation: PackageLocation,\n\tworkspace: WorkspaceLocation,\n\toutputDirectory: string,\n\tminimize: boolean,\n\treporter: Reporter,\n) {\n\tlet js = buildResult.js;\n\n\tif (buildResult.sourceMap) {\n\t\tjs += `\\n//# sourceMappingURL=${manifest.Package}.js.map`;\n\t}\n\n\tawait fs.writeFile(\n\t\tpath.join(outputDirectory, `${manifest.Package}.js`),\n\t\tjs,\n\t\t{ encoding: \"utf8\" },\n\t);\n\tif (buildResult.declarations !== undefined) {\n\t\tawait fs.writeFile(\n\t\t\tpath.join(outputDirectory, `${manifest.Package}.d.ts`),\n\t\t\tbuildResult.declarations,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\t}\n\tif (buildResult.sourceMap !== undefined) {\n\t\tawait fs.writeFile(\n\t\t\tpath.join(outputDirectory, `${manifest.Package}.js.map`),\n\t\t\tbuildResult.sourceMap,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\t}\n\n\tif (minimize) {\n\t\treporter.log(\"Minifying the output\");\n\n\t\tconst minifyResult = await terser.minify(js, {\n\t\t\tecma: 5,\n\t\t\tsourceMap: {\n\t\t\t\tcontent: buildResult.sourceMap,\n\t\t\t\tincludeSources: false,\n\t\t\t},\n\t\t});\n\n\t\tconst minifiedPath = path.join(\n\t\t\toutputDirectory,\n\t\t\t`${manifest.Package}.min.js`,\n\t\t);\n\t\tawait fs.writeFile(minifiedPath, minifyResult.code!, {\n\t\t\tencoding: \"utf8\",\n\t\t});\n\t\tif (minifyResult.map !== undefined) {\n\t\t\tawait fs.writeFile(\n\t\t\t\tminifiedPath + \".map\",\n\t\t\t\ttypeof minifyResult.map === \"string\"\n\t\t\t\t\t? minifyResult.map\n\t\t\t\t\t: JSON.stringify(minifyResult.map),\n\t\t\t\t{ encoding: \"utf8\" },\n\t\t\t);\n\t\t}\n\t}\n\n\tif (\n\t\tlocation.path.includes(\"Basics\") &&\n\t\tbuildResult.declarations !== undefined\n\t) {\n\t\tawait fs.mkdir(path.join(workspace.path, \"lib\"), {\n\t\t\trecursive: true,\n\t\t});\n\n\t\treporter.log(\"Copying basics definition file to the lib folder\");\n\t\tawait fs.writeFile(\n\t\t\tpath.join(workspace.path, \"lib\", `${manifest.Package}.d.ts`),\n\t\t\tbuildResult.declarations,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\t}\n}\n\nfunction createVersionLogBuildParticipant(\n\tmanifest: CreatorPackage,\n): BuildParticipant {\n\treturn (env) => {\n\t\tenv.onBuildStart();\n\n\t\tconst parsedVersion =\n\t\t\tmanifest.Version !== undefined\n\t\t\t\t? PackageVersion.extractFromLine(manifest.Version)\n\t\t\t\t: undefined;\n\n\t\tlet logText: string;\n\n\t\tif (parsedVersion !== undefined) {\n\t\t\tlogText = parsedVersion.toDescriptionString(manifest.Package);\n\t\t} else {\n\t\t\tlogText = manifest.Package;\n\t\t}\n\n\t\tlogText += \".\";\n\n\t\tif (manifest.Copyright !== undefined) {\n\t\t\tlogText += \" \" + manifest.Copyright;\n\t\t}\n\n\t\tenv.onBuildEnd({\n\t\t\ttype: \"success\",\n\t\t\tartefacts: {\n\t\t\t\tjs: `console.log(${JSON.stringify(logText)})`,\n\t\t\t},\n\t\t});\n\n\t\treturn {\n\t\t\tdestroy: () => {},\n\t\t};\n\t};\n}\n\nfunction createBannerCommentBuildParticipant(\n\toptions: BannerOptions,\n): BuildParticipant {\n\treturn (env) => {\n\t\tenv.onBuildStart();\n\n\t\tconst banner = createBannerComment(options);\n\n\t\tenv.onBuildEnd({\n\t\t\ttype: \"success\",\n\t\t\tartefacts: {\n\t\t\t\tjs: banner ?? \"\",\n\t\t\t\tdeclarations: banner ?? \"\",\n\t\t\t},\n\t\t});\n\n\t\treturn {\n\t\t\tdestroy: () => {},\n\t\t};\n\t};\n}\n\nasync function ensureTsConfig(location: PackageLocation) {\n\tconst tsconfigPath = path.join(location.scriptsDir, \"tsconfig.json\");\n\n\ttry {\n\t\tconst content = JSON.parse(await fs.readFile(tsconfigPath, \"utf8\"));\n\t\tapplyTsConfigOptions(content);\n\t\tawait fs.writeFile(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\n\t\treturn ts.parseJsonConfigFileContent(\n\t\t\tcontent,\n\t\t\tts.sys,\n\t\t\tlocation.scriptsDir,\n\t\t);\n\t} catch (err) {\n\t\tif (!isErrorENOENT(err)) {\n\t\t\tthrow err;\n\t\t}\n\n\t\tconst content = {};\n\t\tapplyTsConfigOptions(content);\n\n\t\tawait fs.writeFile(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\n\t\treturn ts.parseJsonConfigFileContent(\n\t\t\tcontent,\n\t\t\tts.sys,\n\t\t\tlocation.scriptsDir,\n\t\t);\n\t}\n}\n\nfunction applyTsConfigOptions(data: {\n\tcompilerOptions?: {\n\t\ttarget?: string;\n\t\tlib?: string[];\n\t\tmodule?: string;\n\t\tmoduleResolution?: string;\n\t};\n}) {\n\tif (data.compilerOptions?.module?.toLowerCase().startsWith(\"es\")) {\n\t\tdata.compilerOptions = data.compilerOptions ?? {};\n\t\tdata.compilerOptions.target = \"esnext\";\n\t\tdata.compilerOptions.lib = [\"esnext\", \"dom\"];\n\t\tdata.compilerOptions.module = \"es2015\";\n\t\tdata.compilerOptions.moduleResolution = \"node\";\n\t} else {\n\t\tdata.compilerOptions = data.compilerOptions ?? {};\n\t\tdata.compilerOptions.target = \"es5\";\n\t\tdata.compilerOptions.lib = [\"es5\", \"dom\"];\n\t}\n}\n\nfunction 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\nfunction 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":["consoleReporter","log","message","console","error","_error","createPackageScopedReporter","reporter","scope","index","total","maxNameLength","numLength","undefined","toString","length","indexString","padStart","identifierString","padEnd","tryReadTsConfig","location","config","ts","readConfigFile","path","join","scriptsDir","fs","readFileSync","createTSCBuildParticipant","outputDir","skipDeclarations","env","files","getPackageTypescriptFiles","onBuildStart","compilerOptions","getCompilerOptions","host","createCompilerHost","getCurrentDirectory","js","definitions","sourceMap","writeFile","fileName","data","writeByteOrderMark","endsWith","programOptions","rootNames","options","program","createProgram","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","emitSkipped","formatDiagnostics","Error","onBuildEnd","type","artefacts","replace","declarations","err","destroy","createTSCWatchBuildParticipant","state","diagnostics","customSys","sys","registerDiagnostic","diagnostic","code","push","reportWatchStatusChanged","emitState","formattingHost","createWatchCompilerHost","createSemanticDiagnosticsBuilderProgram","getCanonicalFileName","getNewLine","newLine","watchProgram","createWatchProgram","close","lib","result","convertCompilerOptionsFromJson","removeComments","declaration","inlineSources","outFile","target","ScriptTarget","ES5","noEmitOnError","generateDocs","declarationFile","outFolder","name","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","BuildManager","EventEmitter","manifest","writer","participants","Map","states","addParticipant","participant","set","run","alreadyBusy","maybeEmit","errors","results","_","AggregateError","completeResult","sourceMapGenerator","SourceMapGenerator","lines","split","SourceMapConsumer","JSON","parse","sources","Set","eachMapping","mapping","addMapping","generated","line","generatedLine","column","generatedColumn","original","originalLine","originalColumn","source","add","content","sourceContentFor","setSourceContent","then","$schema","$id","$comment","title","additionalProperties","properties","Id","description","Animations","items","Path","$ref","States","Position","Rotation","Scaling","Visibility","Deformation","anyOf","Kinematics","oneOf","LinkedPoints","vec3","X","Y","Z","rotation","Q","W","igxcPath","pattern","param","kinematicChain","GeometryBase","Joints","Name","HeadX","HeadY","HeadZ","Tail","LimitLeft","LimitRight","LimitUp","LimitDown","FollowJointNode","_TargetNodeForFollow","Target","enum","Parent","Tolerance","MaxIterations","__","createAnimationBuildParticipant","bundleAnimations","catch","createAnimationWatchBuildParticipant","event","watch","filename","logStep","animations","scriptFilePath","readPackageAnimationList","readFile","encoding","relativePath","relative","SyntaxError","String","cause","basename","getAnimationJsonValidation","stringify","size","Scope","Package","scopeParts","createNamespace","parts","slice","validateAnimationJson","Ajv","coerceTypes","allErrors","removeAdditional","useDefaults","validateSchema","compile","animationSchema","PackageVersion","fullTextMatcher","lineMatcher","extractFromText","input","match","fromMatch","extractFromLine","equals","a","b","checkPrerelease","major","minor","patch","preRelease","version","build","preReleaseType","preReleaseNumber","buildNumber","parseInt","Number","descriptionMatch","sort","ascending","createSortResult","toNumber","isPreRelease","clone","incrementMajor","incrementMinor","incrementPatch","createPreRelease","createRelease","toVersionString","toDescriptionString","packageName","base","upperCaseFirst","isLesserThan","isGreaterThan","toUpperCase","buildFolders","outDir","clean","rm","recursive","baseReporter","workspace","folders","sortedPackages","sortPackagesByBuildOrder","manifests","map","readPackageCreatorManifest","Array","from","values","reduce","acc","Math","max","tsConfig","ensureTsConfig","get","preparedReporter","outputDirectory","mkdir","manager","writeBuildResult","minimize","banner","createBannerCommentBuildParticipant","typescriptFiles","file","toLowerCase","createVersionLogBuildParticipant","isScriptPackageModules","createRollupBuildParticipant","Promise","resolve","reject","addListener","docs","buildFoldersWatch","createRollupWatchBuildParticipant","EOL","buildResult","minifyResult","terser","minify","ecma","includeSources","minifiedPath","parsedVersion","Version","logText","Copyright","createBannerComment","tsconfigPath","applyTsConfigOptions","parseJsonConfigFileContent","isErrorENOENT","module","startsWith","moduleResolution","readPackageNpmManifest","packageDependencies","packageData","devDependencies","peerDependencies","filter","unshift","bannerParts","text","details","commit","commitDirty","date","toISOString","detailsText","bannerText"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"postinstall-DleNm8LR.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,oBAAAA,GACL,+DAAA;AAEM,MAAMC,qBAAqB,CAACC,SAAAA,GAAAA;AAClC,IAAiBC,wBAAAA,CAAyBD,SAAAA;AAE1C,IAAA,MAAME,UAAUC,mBAAAA,CAAoBH,SAAAA,CAAAA;IAEpCI,EAAAA,CAAGC,SAAS,CAACH,OAAAA,EAAS;QAAEI,SAAAA,EAAW;AAAK,KAAA,CAAA;AAExC,IAAA,MAAMC,mBAAAA,GAAsBC,IAAAA,CAAKC,IAAI,CAAC,WAAA,EAAa;QAClDC,GAAAA,EAAKR,OAAAA;QACLS,QAAAA,EAAU;AACX,KAAA,CAAA;;;IAIA,KAAK,MAAMC,0BAA0BL,mBAAAA,CAAqB;AACzD,QAAA,MAAMM,OAAAA,GAAUT,EAAAA,CAAGU,YAAY,CAACF,sBAAAA,EAAwB;YACvDG,QAAAA,EAAU;AACX,SAAA,CAAA;QAEA,IAAIF,OAAAA,CAAQG,UAAU,CAAClB,oBAAAA,CAAAA,EAAuB;AAC7CM,YAAAA,EAAAA,CAAGa,MAAM,CAACL,sBAAAA,CAAAA;AACX,QAAA;AACD,IAAA;AAEA,IAAA,MAAMM,mBAAmBC,6BAAAA,CAA8BnB,SAAAA,CAAAA;IAEvD,KAAK,MAAMoB,YAAYF,gBAAAA,CAAkB;AACxC,QAAA,MAAMG,WAAWC,+BAAAA,CAAgCF,QAAAA,CAAAA;QAEjD,KAAK,MAAMR,0BAA0BL,mBAAAA,CAAqB;YACzD,MAAMgB,QAAAA,GAAWC,IAAAA,CAAKD,QAAQ,CAACX,sBAAAA,CAAAA;YAE/B,IAAIW,QAAAA,KAAaF,QAAAA,CAASI,KAAK,EAAE;gBAChCrB,EAAAA,CAAGa,MAAM,CAACL,sBAAAA,EAAwB;oBAAEc,KAAAA,EAAO;AAAK,iBAAA,CAAA;AACjD,YAAA;AACD,QAAA;;AAIA,QAAA,MAAMb,OAAAA,GAAU;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;SAC3C,CAACC,IAAI,CAACC,EAAAA,CAAGC,GAAG,CAAA;QAEb3B,EAAAA,CAAG4B,aAAa,CACfR,IAAAA,CAAKK,IAAI,CAAC1B,oBAAoBH,SAAAA,CAAAA,EAAYqB,QAAAA,CAASI,KAAK,CAAA,EACxDZ,OAAAA,EACA;YACCE,QAAAA,EAAU;AACX,SAAA,CAAA;AAEF,IAAA;AACD;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rollup-DXNQ8zID.mjs","sources":["../src/commands/build/rollup.ts"],"sourcesContent":["import * as path from \"path\";\nimport ts from \"typescript\";\nimport * as os from \"os\";\nimport resolve from \"resolve\";\nimport { rollup, watch, RollupOutput, RollupOptions } from \"rollup\";\nimport rollupPluginNodeResolve from \"@rollup/plugin-node-resolve\";\nimport rollupPluginTypescript from \"@rollup/plugin-typescript\";\nimport rollupPluginBabel from \"@rollup/plugin-babel\";\nimport rollupPluginCommonJs from \"@rollup/plugin-commonjs\";\nimport rollupPluginJson from \"@rollup/plugin-json\";\nimport rollupPluginAlias from \"@rollup/plugin-alias\";\n\nimport { bundleFromEntryFile } from \"@intelligentgraphics/declarationbundler\";\n\nimport { CreatorPackage, PackageLocation } from \"../../lib/package\";\nimport { BuildArtefacts, BuilderEnvironment, BuildParticipant } from \"./types\";\nimport { resolveScriptPackageEntryModule } from \"../../lib/scripts\";\n\nexport function createRollupBuildParticipant(\n\tlocation: PackageLocation,\n\tmanifest: CreatorPackage,\n\toutDir: string,\n\tskipDeclarations: boolean,\n): BuildParticipant {\n\treturn (env: BuilderEnvironment) => {\n\t\tenv.onBuildStart();\n\n\t\t(async () => {\n\t\t\ttry {\n\t\t\t\tconst rollupConfig = getRollupConfig(\n\t\t\t\t\tlocation,\n\t\t\t\t\tmanifest,\n\t\t\t\t\toutDir,\n\t\t\t\t\tskipDeclarations,\n\t\t\t\t);\n\n\t\t\t\tconst build = await rollup(rollupConfig);\n\n\t\t\t\tconst output = await build.generate(rollupConfig.output);\n\n\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\ttype: \"success\",\n\t\t\t\t\tartefacts: processRollupOutput(\n\t\t\t\t\t\toutput,\n\t\t\t\t\t\tlocation,\n\t\t\t\t\t\tmanifest,\n\t\t\t\t\t\trollupConfig.input,\n\t\t\t\t\t\tskipDeclarations,\n\t\t\t\t\t),\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\tenv.onBuildEnd({ type: \"error\", error: err });\n\t\t\t}\n\t\t})();\n\n\t\treturn {\n\t\t\tdestroy: () => {},\n\t\t};\n\t};\n}\n\nexport function createRollupWatchBuildParticipant(\n\tlocation: PackageLocation,\n\tmanifest: CreatorPackage,\n\toutDir: string,\n\tskipDeclarations,\n): BuildParticipant {\n\treturn (env: BuilderEnvironment) => {\n\t\tenv.onBuildStart();\n\n\t\tconst rollupConfig = getRollupConfig(\n\t\t\tlocation,\n\t\t\tmanifest,\n\t\t\toutDir,\n\t\t\tskipDeclarations,\n\t\t);\n\n\t\tconst watcher = watch({\n\t\t\t...rollupConfig,\n\t\t\twatch: {\n\t\t\t\tskipWrite: true,\n\t\t\t},\n\t\t});\n\n\t\twatcher.on(\"event\", async (event) => {\n\t\t\tswitch (event.code) {\n\t\t\t\tcase \"BUNDLE_START\":\n\t\t\t\t\tenv.onBuildStart();\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"BUNDLE_END\":\n\t\t\t\t\tconst output = await event.result.generate(\n\t\t\t\t\t\trollupConfig.output!,\n\t\t\t\t\t);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\t\t\ttype: \"success\",\n\t\t\t\t\t\t\tartefacts: processRollupOutput(\n\t\t\t\t\t\t\t\toutput,\n\t\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t\t\tmanifest,\n\t\t\t\t\t\t\t\trollupConfig.input,\n\t\t\t\t\t\t\t\tskipDeclarations,\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t});\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\terror: err,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tevent.result.close();\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"ERROR\":\n\t\t\t\t\tenv.onBuildEnd({\n\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\terror: Object.assign(\n\t\t\t\t\t\t\tnew Error(event.error.message),\n\t\t\t\t\t\t\tevent.error,\n\t\t\t\t\t\t),\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\tdestroy: () => watcher.close(),\n\t\t};\n\t};\n}\n\nfunction getRollupConfig(\n\tlocation: PackageLocation,\n\tmanifest: CreatorPackage,\n\toutDir: string,\n\tskipDeclarations: boolean,\n) {\n\tconst entryModule = resolveScriptPackageEntryModule(location, manifest);\n\n\tif (entryModule === undefined) {\n\t\tthrow new Error(`Could not find an entry module`);\n\t}\n\n\treturn {\n\t\tinput: entryModule,\n\t\tplugins: [\n\t\t\trollupPluginNodeResolve(),\n\t\t\trollupPluginCommonJs(),\n\t\t\trollupPluginJson(),\n\t\t\trollupPluginAlias({\n\t\t\t\tentries: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfind: /^core-js(.*)/,\n\t\t\t\t\t\treplacement: path.join(\n\t\t\t\t\t\t\tpath.dirname(\n\t\t\t\t\t\t\t\tresolve.sync(\"core-js\", {\n\t\t\t\t\t\t\t\t\tbasedir: import.meta.dirname,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\"/$1\",\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}),\n\t\t\trollupPluginTypescript({\n\t\t\t\tcompilerOptions: {\n\t\t\t\t\trootDir: skipDeclarations ? undefined : location.scriptsDir,\n\t\t\t\t\tdeclaration: !skipDeclarations,\n\t\t\t\t\tdeclarationDir: skipDeclarations ? undefined : outDir,\n\t\t\t\t\tmodule: \"esnext\",\n\t\t\t\t\ttarget: \"esnext\",\n\t\t\t\t},\n\t\t\t\ttsconfig: path.join(location.scriptsDir, \"tsconfig.json\"),\n\t\t\t\tremoveComments: false,\n\t\t\t\tfilterRoot: skipDeclarations ? false : undefined,\n\t\t\t}),\n\t\t\trollupPluginBabel({\n\t\t\t\tpresets: [\n\t\t\t\t\t[\n\t\t\t\t\t\tresolve.sync(\"@babel/preset-env\", {\n\t\t\t\t\t\t\tbasedir: import.meta.dirname,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcorejs: \"3\",\n\t\t\t\t\t\t\tuseBuiltIns: \"usage\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t],\n\t\t\t\ttargets: {\n\t\t\t\t\tie: \"11\",\n\t\t\t\t},\n\t\t\t\tbabelHelpers: \"bundled\",\n\t\t\t\textensions: [\".ts\", \".js\"],\n\t\t\t\tsourceMaps: true,\n\t\t\t\texclude: /core-js/,\n\t\t\t}),\n\t\t],\n\t\toutput: {\n\t\t\tformat: \"iife\",\n\t\t\tname: manifest.Scope ?? manifest.Package,\n\t\t\tdir: outDir,\n\t\t\tsourcemap: \"hidden\",\n\t\t},\n\t} satisfies RollupOptions;\n}\n\nfunction processRollupOutput(\n\toutput: RollupOutput,\n\tlocation: PackageLocation,\n\tmanifest: CreatorPackage,\n\tentryModulePath: string,\n\tskipDeclarations: boolean,\n): BuildArtefacts {\n\tconst [primaryChunk, ...otherOutputs] = output.output;\n\n\tconst assets = otherOutputs.filter((chunk) => chunk.type === \"asset\");\n\n\tconst sourceMap = assets.find((asset) =>\n\t\tasset.fileName.endsWith(\".js.map\"),\n\t);\n\n\tlet declarations: string | undefined;\n\n\tif (!skipDeclarations) {\n\t\tconst declarationFileMap = new Map(\n\t\t\tassets\n\t\t\t\t.filter((asset) => asset.fileName.endsWith(\".d.ts\"))\n\t\t\t\t.map((asset) => {\n\t\t\t\t\treturn [\n\t\t\t\t\t\tpath\n\t\t\t\t\t\t\t.resolve(location.scriptsDir, asset.fileName)\n\t\t\t\t\t\t\t.replaceAll(\"\\\\\", \"/\"),\n\t\t\t\t\t\tasset.source as string,\n\t\t\t\t\t];\n\t\t\t\t}),\n\t\t);\n\n\t\tconst entryModulePathWithDts = path.join(\n\t\t\tpath.dirname(entryModulePath),\n\t\t\tpath.basename(entryModulePath, path.extname(entryModulePath)) +\n\t\t\t\t\".d.ts\",\n\t\t);\n\n\t\tdeclarations = bundleTSDeclarations(\n\t\t\tdeclarationFileMap,\n\t\t\tentryModulePathWithDts,\n\t\t\tmanifest.Scope ?? manifest.Package,\n\t\t);\n\t}\n\n\treturn {\n\t\tjs: primaryChunk.code,\n\t\tdeclarations,\n\t\tsourceMap: sourceMap?.source as string,\n\t};\n}\n\nconst referenceRegex = /(\\/\\/\\/ ?<reference .+\\/>$)/;\n\nfunction bundleTSDeclarations(\n\tfiles: Map<string, string>,\n\tentryFileName: string,\n\tnamespace: string,\n) {\n\tconst references: string[] = [];\n\n\tfor (const [_fileName, content] of files) {\n\t\tif (content.indexOf(\"reference\") === -1) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst lines = content.split(os.EOL);\n\n\t\tfor (let index = 0; index < lines.length; index++) {\n\t\t\tconst line = lines[index];\n\t\t\tconst match = line.match(referenceRegex);\n\n\t\t\tif (match === null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (!references.includes(match[1])) {\n\t\t\t\treferences.push(match[1]);\n\t\t\t}\n\t\t}\n\t}\n\n\tconst compilerOptions: ts.CompilerOptions = {\n\t\tremoveComments: false,\n\t};\n\n\tconst host = ts.createCompilerHost(compilerOptions, true);\n\thost.fileExists = (fileName) => files.has(fileName);\n\thost.readFile = (fileName) => files.get(fileName);\n\n\tconst program = ts.createProgram({\n\t\thost,\n\t\toptions: compilerOptions,\n\t\trootNames: [entryFileName],\n\t});\n\n\tconst mainFile = program.getSourceFile(entryFileName);\n\n\tif (mainFile === undefined) {\n\t\tthrow new Error(\n\t\t\t`Unexpected: Failed to find compiled declaration entry module`,\n\t\t);\n\t}\n\n\tconst result = bundleFromEntryFile(\n\t\tnamespace,\n\t\tmainFile,\n\t\tprogram,\n\t\thost,\n\t\tcompilerOptions,\n\t);\n\treturn [...references, result].join(os.EOL);\n}\n"],"names":["createRollupBuildParticipant","location","manifest","outDir","skipDeclarations","env","onBuildStart","rollupConfig","getRollupConfig","build","rollup","output","generate","onBuildEnd","type","artefacts","processRollupOutput","input","err","error","destroy","createRollupWatchBuildParticipant","watcher","watch","skipWrite","on","event","code","result","close","Object","assign","Error","message","entryModule","resolveScriptPackageEntryModule","undefined","plugins","rollupPluginNodeResolve","rollupPluginCommonJs","rollupPluginJson","rollupPluginAlias","entries","find","replacement","path","join","dirname","resolve","sync","basedir","rollupPluginTypescript","compilerOptions","rootDir","scriptsDir","declaration","declarationDir","module","target","tsconfig","removeComments","filterRoot","rollupPluginBabel","presets","corejs","useBuiltIns","targets","ie","babelHelpers","extensions","sourceMaps","exclude","format","name","Scope","Package","dir","sourcemap","entryModulePath","primaryChunk","otherOutputs","assets","filter","chunk","sourceMap","asset","fileName","endsWith","declarations","declarationFileMap","Map","map","replaceAll","source","entryModulePathWithDts","basename","extname","bundleTSDeclarations","js","referenceRegex","files","entryFileName","namespace","references","_fileName","content","indexOf","lines","split","os","EOL","index","length","line","match","includes","push","host","ts","createCompilerHost","fileExists","has","readFile","get","program","createProgram","options","rootNames","mainFile","getSourceFile","bundleFromEntryFile"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"scripts-DOxdNSgU.mjs","sources":["../../tools.core/build/scripts.mjs","../src/lib/scripts.ts"],"sourcesContent":["import glob from 'glob';\n\nconst getPackageTypescriptFiles = (location)=>glob.sync(\"**/*.ts\", {\n absolute: true,\n cwd: location.scriptsDir,\n ignore: \"node_modules/**/*\"\n });\n\nexport { getPackageTypescriptFiles };\n//# sourceMappingURL=scripts.mjs.map\n","import * as fs from \"fs\";\nimport * as path from \"path\";\nimport ts from \"typescript\";\n\nimport {\n\tCreatorPackage,\n\tPackageLocation,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nexport { getPackageTypescriptFiles } from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nexport function resolveScriptPackageEntryModule(\n\tlocation: PackageLocation,\n\tmanifest: CreatorPackage,\n) {\n\tlet candidates = [\"index.ts\"];\n\n\tif (manifest.Type === \"Context\") {\n\t\tcandidates.push(\"Context.ts\");\n\t}\n\n\tfor (const candidate of candidates) {\n\t\tconst candidatePath = path.join(location.scriptsDir, candidate);\n\n\t\tif (fs.existsSync(candidatePath)) {\n\t\t\treturn candidatePath;\n\t\t}\n\t}\n}\n\nexport function readScriptPackageTSConfig(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\tconst parsedTsConfig = ts.parseJsonConfigFileContent(\n\t\tconfig,\n\t\tts.sys,\n\t\tlocation.scriptsDir,\n\t);\n\n\treturn parsedTsConfig;\n}\n\nexport function isScriptPackageModules(options: ts.CompilerOptions) {\n\treturn options.module === ts.ModuleKind.ES2015;\n}\n"],"names":["getPackageTypescriptFiles","location","glob","sync","absolute","cwd","scriptsDir","ignore","resolveScriptPackageEntryModule","manifest","candidates","Type","push","candidate","candidatePath","path","join","fs","existsSync","readScriptPackageTSConfig","config","ts","readConfigFile","readFileSync","undefined","parsedTsConfig","parseJsonConfigFileContent","sys","isScriptPackageModules","options","module","ModuleKind","ES2015"],"mappings":";;;;;;;;;;;AAEA,MAAMA,4BAA4B,CAACC,QAAAA,GAAWC,IAAAA,CAAKC,IAAI,CAAC,SAAA,EAAW;QAC3DC,QAAAA,EAAU,IAAA;AACVC,QAAAA,GAAAA,EAAKJ,SAASK,UAAU;QACxBC,MAAAA,EAAQ;AACZ,KAAA;;ACKG,SAASC,+BAAAA,CACfP,QAAyB,EACzBQ,QAAwB,EAAA;AAExB,IAAA,IAAIC,UAAAA,GAAa;AAAC,QAAA;AAAW,KAAA;IAE7B,IAAID,QAAAA,CAASE,IAAI,KAAK,SAAA,EAAW;AAChCD,QAAAA,UAAAA,CAAWE,IAAI,CAAC,YAAA,CAAA;AACjB,IAAA;IAEA,KAAK,MAAMC,aAAaH,UAAAA,CAAY;AACnC,QAAA,MAAMI,gBAAgBC,IAAAA,CAAKC,IAAI,CAACf,QAAAA,CAASK,UAAU,EAAEO,SAAAA,CAAAA;QAErD,IAAII,EAAAA,CAAGC,UAAU,CAACJ,aAAAA,CAAAA,EAAgB;YACjC,OAAOA,aAAAA;AACR,QAAA;AACD,IAAA;AACD;AAEO,SAASK,0BAA0BlB,QAAyB,EAAA;AAClE,IAAA,MAAM,EAAEmB,MAAM,EAAE,GAAGC,GAAGC,cAAc,CACnCP,IAAAA,CAAKC,IAAI,CAACf,QAAAA,CAASK,UAAU,EAAE,kBAC/B,CAACS,IAAAA,GAAAA;QACA,IAAI;YACH,OAAOE,EAAAA,CAAGM,YAAY,CAACR,IAAAA,EAAM,MAAA,CAAA;AAC9B,QAAA,CAAA,CAAE,OAAM;YACP,OAAOS,SAAAA;AACR,QAAA;AACD,IAAA,CAAA,CAAA;IAGD,MAAMC,cAAAA,GAAiBJ,GAAGK,0BAA0B,CACnDN,QACAC,EAAAA,CAAGM,GAAG,EACN1B,QAAAA,CAASK,UAAU,CAAA;IAGpB,OAAOmB,cAAAA;AACR;AAEO,SAASG,uBAAuBC,OAA2B,EAAA;AACjE,IAAA,OAAOA,QAAQC,MAAM,KAAKT,EAAAA,CAAGU,UAAU,CAACC,MAAM;AAC/C;;;;"}