@intelligentgraphics/ig.gfx.packager 3.1.0-alpha.5 → 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.
- package/build/bin.mjs +1 -1
- package/build/{cli-sBIEQH_m.mjs → cli-CRt1pnL8.mjs} +17 -10
- package/build/cli-CRt1pnL8.mjs.map +1 -0
- package/build/{dependencies-DHQlbmdd.mjs → dependencies-DzwnAMHr.mjs} +2 -2
- package/build/{dependencies-DHQlbmdd.mjs.map → dependencies-DzwnAMHr.mjs.map} +1 -1
- package/build/docs-BlCIta3Y.mjs +37 -0
- package/build/docs-BlCIta3Y.mjs.map +1 -0
- package/build/{generateIndex-C--2euvA.mjs → generateIndex-1_US73VT.mjs} +2 -2
- package/build/{generateIndex-C--2euvA.mjs.map → generateIndex-1_US73VT.mjs.map} +1 -1
- package/build/{generateParameterType-BHVKwPrn.mjs → generateParameterType-DSWCBqzV.mjs} +2 -2
- package/build/{generateParameterType-BHVKwPrn.mjs.map → generateParameterType-DSWCBqzV.mjs.map} +1 -1
- package/build/{index-50hVP5ou.mjs → index-BIqEoSQH.mjs} +5 -6
- package/build/{index-50hVP5ou.mjs.map → index-BIqEoSQH.mjs.map} +1 -1
- package/build/{index-BsakORqB.mjs → index-Sj6AX2Pu.mjs} +14 -38
- package/build/index-Sj6AX2Pu.mjs.map +1 -0
- package/build/{postinstall-DBSj4Bwh.mjs → postinstall-DLxLg3tD.mjs} +3 -3
- package/build/{postinstall-DBSj4Bwh.mjs.map → postinstall-DLxLg3tD.mjs.map} +1 -1
- package/build/{publishNpm-CBY7sxWk.mjs → publishNpm-ByIPsGI3.mjs} +4 -5
- package/build/{publishNpm-CBY7sxWk.mjs.map → publishNpm-ByIPsGI3.mjs.map} +1 -1
- package/build/{rollup-DakgWejt.mjs → rollup-Dspsy6kv.mjs} +114 -8
- package/build/rollup-Dspsy6kv.mjs.map +1 -0
- package/build/{versionFile-DLMeLtg7.mjs → versionFile-CK9FMt3L.mjs} +3 -3
- package/build/{versionFile-DLMeLtg7.mjs.map → versionFile-CK9FMt3L.mjs.map} +1 -1
- package/lib/lib.mjs +11 -35
- package/package.json +4 -5
- package/readme.md +4 -0
- package/build/cli-sBIEQH_m.mjs.map +0 -1
- package/build/index-BsakORqB.mjs.map +0 -1
- package/build/rollup-DakgWejt.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli-sBIEQH_m.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","../../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","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 * as 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 } =\n\t\t\tawait import(\"./commands/build\");\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 } =\n\t\t\tawait import(\"./commands/generateParameterType\");\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","PLUGIN_ID","startSession","url","authentication","params","payload","user","password","license","plugin","username","data","session","sessionId","state","response","axios","post","baseURL","message","subDomain","closeSession","get","uploadPackageFromBuffer","version","buffer","uploadPackageToUrl","AxiosError","status","objectBody","text_1","key","getExistingPackages","validateStatus","catch","createDefaultPrompter","confirm","inquirer","prompt","ask","question","answer","choices","options","default","__filename","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","arg","glob","sync","absolute","forEach","folder","set","Array","from","values","command","watch","directories","length","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","toString","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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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-BsakORqB.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\";\nimport { EOL } from \"os\";\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\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:\n\t\t\t\t\t\t\tgetDeclarationFileReferences(\n\t\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t\t\tprogram,\n\t\t\t\t\t\t\t\toutputDir,\n\t\t\t\t\t\t\t) + 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:\n\t\t\t\t\t\t\t\tgetDeclarationFileReferences(\n\t\t\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t\t\t\twatchProgram.getProgram(),\n\t\t\t\t\t\t\t\t\toutputDir,\n\t\t\t\t\t\t\t\t) + 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\nfunction getDeclarationFileReferences(\n\tlocation: PackageLocation,\n\tprogram: Pick<ts.Program, \"getSourceFiles\">,\n\toutputDir: string,\n): string {\n\tconst references = new Set<string>();\n\n\tfor (const file of program.getSourceFiles()) {\n\t\tfor (const reference of file.referencedFiles) {\n\t\t\tif (reference.preserve) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst dir = path.dirname(file.fileName);\n\t\t\tconst absolute = path.resolve(dir, reference.fileName);\n\t\t\tif (!absolute.startsWith(location.scriptsDir)) {\n\t\t\t\treferences.add(absolute);\n\t\t\t}\n\t\t}\n\t}\n\n\tlet referenceString = Array.from(\n\t\treferences,\n\t\t(reference) =>\n\t\t\t`/// <reference path=\"${path.relative(outputDir, reference)}\" />`,\n\t).join(EOL);\n\n\tif (referenceString) {\n\t\treferenceString += EOL;\n\t}\n\n\treturn referenceString;\n}\n","import * as typedoc from \"typedoc\";\nimport * as glob from \"glob\";\nimport ts from \"typescript\";\nimport * as path from \"path\";\n\nimport { PackageLocation } from \"../../lib/package\";\n\nexport async function generateDocs(\n\tlocation: PackageLocation,\n\tdeclarationFile: string,\n\toutFolder: string,\n\tname: string,\n) {\n\tconst mediaDir = path.join(location.manifestDir, \"Media\");\n\n\tconst app = await typedoc.Application.bootstrap({\n\t\tentryPoints: [declarationFile],\n\t\tout: outFolder,\n\t\ttsconfig: path.join(location.scriptsDir, \"tsconfig.json\"),\n\t\tskipErrorChecking: \"true\",\n\t\tbasePath: mediaDir,\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 = await 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","getDeclarationFileReferences","err","destroy","createTSCWatchBuildParticipant","state","diagnostics","customSys","sys","registerDiagnostic","diagnostic","code","push","reportWatchStatusChanged","emitState","formattingHost","watchProgram","getProgram","createWatchCompilerHost","createSemanticDiagnosticsBuilderProgram","getCanonicalFileName","getNewLine","newLine","createWatchProgram","close","lib","result","convertCompilerOptionsFromJson","removeComments","declaration","inlineSources","outFile","target","ScriptTarget","ES5","noEmitOnError","references","Set","file","getSourceFiles","reference","referencedFiles","preserve","dir","dirname","absolute","resolve","startsWith","add","referenceString","Array","from","relative","EOL","generateDocs","declarationFile","outFolder","name","mediaDir","manifestDir","app","typedoc","Application","bootstrap","entryPoints","out","tsconfig","skipErrorChecking","basePath","setCompilerOptions","setValue","readmePath","glob","sync","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","eachMapping","mapping","addMapping","generated","line","generatedLine","column","generatedColumn","original","originalLine","originalColumn","source","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","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","values","reduce","acc","Math","max","tsConfig","ensureTsConfig","get","preparedReporter","outputDirectory","mkdir","manager","writeBuildResult","minimize","banner","createBannerCommentBuildParticipant","typescriptFiles","toLowerCase","createVersionLogBuildParticipant","isScriptPackageModules","createRollupBuildParticipant","Promise","reject","addListener","docs","buildFoldersWatch","createRollupWatchBuildParticipant","buildResult","minifyResult","terser","minify","ecma","includeSources","minifiedPath","parsedVersion","Version","logText","Copyright","createBannerComment","tsconfigPath","applyTsConfigOptions","parseJsonConfigFileContent","isErrorENOENT","module","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":"rollup-DakgWejt.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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"}
|