@intelligentgraphics/ig.gfx.packager 3.1.0-alpha.6 → 3.1.0-alpha.7
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 -2
- package/build/bin.mjs.map +1 -1
- package/build/{cli-CRt1pnL8.mjs → cli-IlMWNOvf.mjs} +8 -13
- package/build/cli-IlMWNOvf.mjs.map +1 -0
- package/build/{dependencies-DzwnAMHr.mjs → dependencies-CPZzEh3z.mjs} +2 -2
- package/build/{dependencies-DzwnAMHr.mjs.map → dependencies-CPZzEh3z.mjs.map} +1 -1
- package/build/{generateIndex-1_US73VT.mjs → generateIndex-Cf7p2QcW.mjs} +4 -4
- package/build/{generateIndex-1_US73VT.mjs.map → generateIndex-Cf7p2QcW.mjs.map} +1 -1
- package/build/{generateParameterType-DSWCBqzV.mjs → generateParameterType-Cdp9a31q.mjs} +3 -3
- package/build/{generateParameterType-DSWCBqzV.mjs.map → generateParameterType-Cdp9a31q.mjs.map} +1 -1
- package/build/{index-BIqEoSQH.mjs → index-Dcu2jMcl.mjs} +7 -7
- package/build/{index-BIqEoSQH.mjs.map → index-Dcu2jMcl.mjs.map} +1 -1
- package/build/{index-Sj6AX2Pu.mjs → index-w4ax9Zlz.mjs} +44 -16
- package/build/index-w4ax9Zlz.mjs.map +1 -0
- package/build/{postinstall-DLxLg3tD.mjs → postinstall-Cb7g6gsR.mjs} +4 -4
- package/build/{postinstall-DLxLg3tD.mjs.map → postinstall-Cb7g6gsR.mjs.map} +1 -1
- package/build/{publishNpm-ByIPsGI3.mjs → publishNpm-29blnfYN.mjs} +6 -6
- package/build/{publishNpm-ByIPsGI3.mjs.map → publishNpm-29blnfYN.mjs.map} +1 -1
- package/build/{rollup-Dspsy6kv.mjs → rollup-DoDZFLyJ.mjs} +17 -119
- package/build/rollup-DoDZFLyJ.mjs.map +1 -0
- package/build/{scripts-BmQnbRem.mjs → scripts-B3noxiX3.mjs} +2 -2
- package/build/{scripts-BmQnbRem.mjs.map → scripts-B3noxiX3.mjs.map} +1 -1
- package/build/{versionFile-CK9FMt3L.mjs → versionFile-_S1eIMrS.mjs} +4 -4
- package/build/{versionFile-CK9FMt3L.mjs.map → versionFile-_S1eIMrS.mjs.map} +1 -1
- package/lib/lib.mjs +41 -14
- package/package.json +4 -5
- package/readme.md +6 -0
- package/build/cli-CRt1pnL8.mjs.map +0 -1
- package/build/index-Sj6AX2Pu.mjs.map +0 -1
- package/build/rollup-Dspsy6kv.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-Sj6AX2Pu.mjs","sources":["../../tools.core/build/log.mjs","../src/commands/build/tsc.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","// 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 {\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\tdocsHandler?(\n\t\tlocation: PackageLocation,\n\t\tdeclarationFile: string,\n\t\toutFolder: string,\n\t\tname: string,\n\t): Promise<void>;\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 } =\n\t\t\t\t\tawait import(\"./rollup\");\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\tif (!options.docsHandler) {\n\t\t\t\tthrow new Error(\"Handler for typescript docs not available\");\n\t\t\t}\n\n\t\t\treporter.log(\"Generating typedoc documentation\");\n\t\t\tawait options.docsHandler(\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 } =\n\t\t\t\t\tawait import(\"./rollup\");\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\n\t\tlet code = minifyResult.code!;\n\n\t\tif (minifyResult.map) {\n\t\t\tcode += `\\n//# sourceMappingURL=${manifest.Package}.min.js.map`;\n\t\t}\n\n\t\tawait fs.writeFile(minifiedPath, 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","toposort","packages","queue","Object","getOwnPropertyNames","queueEntry","dependencies","dependencyQueued","some","dependency","includes","splice","BuildManager","EventEmitter","manifest","writer","participants","Map","states","addParticipant","name","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","docsHandler","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-Dspsy6kv.mjs","sources":["../../packager-babel-preset-es5/src/availablePlugins.js","../../packager-babel-preset-es5/src/index.js","../src/commands/build/rollup.ts"],"sourcesContent":["//@ts-check\n\nimport transformAsyncGeneratorFunctions from \"@babel/plugin-transform-async-generator-functions\";\nimport transformAsyncToGenerator from \"@babel/plugin-transform-async-to-generator\";\nimport transformArrowFunctions from \"@babel/plugin-transform-arrow-functions\";\nimport transformBlockScopedFunctions from \"@babel/plugin-transform-block-scoped-functions\";\nimport transformBlockScoping from \"@babel/plugin-transform-block-scoping\";\nimport transformClasses from \"@babel/plugin-transform-classes\";\nimport transformClassProperties from \"@babel/plugin-transform-class-properties\";\nimport transformClassStaticBlock from \"@babel/plugin-transform-class-static-block\";\nimport transformComputedProperties from \"@babel/plugin-transform-computed-properties\";\nimport transformDestructuring from \"@babel/plugin-transform-destructuring\";\nimport transformDotallRegex from \"@babel/plugin-transform-dotall-regex\";\nimport transformDuplicateKeys from \"@babel/plugin-transform-duplicate-keys\";\nimport transformDuplicateNamedCapturingGroupsRegex from \"@babel/plugin-transform-duplicate-named-capturing-groups-regex\";\nimport transformExplicitResourceManagement from \"@babel/plugin-transform-explicit-resource-management\";\nimport transformExponentialOperator from \"@babel/plugin-transform-exponentiation-operator\";\nimport transformForOf from \"@babel/plugin-transform-for-of\";\nimport transformFunctionName from \"@babel/plugin-transform-function-name\";\nimport transformJsonStrings from \"@babel/plugin-transform-json-strings\";\nimport transformLiterals from \"@babel/plugin-transform-literals\";\nimport transformLogicalAssignmentOperators from \"@babel/plugin-transform-logical-assignment-operators\";\nimport transformMemberExpressionLiterals from \"@babel/plugin-transform-member-expression-literals\";\nimport transformNamedCapturingGroupsRegex from \"@babel/plugin-transform-named-capturing-groups-regex\";\nimport transformNewTarget from \"@babel/plugin-transform-new-target\";\nimport transformNullishCoalescingOperator from \"@babel/plugin-transform-nullish-coalescing-operator\";\nimport transformNumericSeparator from \"@babel/plugin-transform-numeric-separator\";\nimport transformObjectRestSpread from \"@babel/plugin-transform-object-rest-spread\";\nimport transformObjectSuper from \"@babel/plugin-transform-object-super\";\nimport transformOptionalCatchBinding from \"@babel/plugin-transform-optional-catch-binding\";\nimport transformOptionalChaining from \"@babel/plugin-transform-optional-chaining\";\nimport transformParameters from \"@babel/plugin-transform-parameters\";\nimport transformPrivateMethods from \"@babel/plugin-transform-private-methods\";\nimport transformPrivatePropertyInObject from \"@babel/plugin-transform-private-property-in-object\";\nimport transformPropertyLiterals from \"@babel/plugin-transform-property-literals\";\nimport transformRegenerator from \"@babel/plugin-transform-regenerator\";\nimport transformRegExpModifiers from \"@babel/plugin-transform-regexp-modifiers\";\nimport transformReservedWords from \"@babel/plugin-transform-reserved-words\";\nimport transformShorthandProperties from \"@babel/plugin-transform-shorthand-properties\";\nimport transformSpread from \"@babel/plugin-transform-spread\";\nimport transformStickyRegex from \"@babel/plugin-transform-sticky-regex\";\nimport transformTemplateLiterals from \"@babel/plugin-transform-template-literals\";\nimport transformTypeofSymbol from \"@babel/plugin-transform-typeof-symbol\";\nimport transformUnicodeEscapes from \"@babel/plugin-transform-unicode-escapes\";\nimport transformUnicodePropertyRegex from \"@babel/plugin-transform-unicode-property-regex\";\nimport transformUnicodeRegex from \"@babel/plugin-transform-unicode-regex\";\nimport transformUnicodeSetsRegex from \"@babel/plugin-transform-unicode-sets-regex\";\n\nexport { availablePlugins as default };\nconst availablePlugins = {\n\t\"transform-arrow-functions\": () => transformArrowFunctions,\n\t\"transform-async-generator-functions\": () =>\n\t\ttransformAsyncGeneratorFunctions,\n\t\"transform-async-to-generator\": () => transformAsyncToGenerator,\n\t\"transform-block-scoped-functions\": () => transformBlockScopedFunctions,\n\t\"transform-block-scoping\": () => transformBlockScoping,\n\t\"transform-class-properties\": () => transformClassProperties,\n\t\"transform-class-static-block\": () => transformClassStaticBlock,\n\t\"transform-classes\": () => transformClasses,\n\t\"transform-computed-properties\": () => transformComputedProperties,\n\t\"transform-destructuring\": () => transformDestructuring,\n\t\"transform-dotall-regex\": () => transformDotallRegex,\n\t\"transform-duplicate-keys\": () => transformDuplicateKeys,\n\t\"transform-duplicate-named-capturing-groups-regex\": () =>\n\t\ttransformDuplicateNamedCapturingGroupsRegex,\n\t\"transform-explicit-resource-management\": () =>\n\t\ttransformExplicitResourceManagement,\n\t\"transform-exponentiation-operator\": () => transformExponentialOperator,\n\t\"transform-for-of\": () => transformForOf,\n\t\"transform-function-name\": () => transformFunctionName,\n\t\"transform-json-strings\": () => transformJsonStrings,\n\t\"transform-literals\": () => transformLiterals,\n\t\"transform-logical-assignment-operators\": () =>\n\t\ttransformLogicalAssignmentOperators,\n\t\"transform-member-expression-literals\": () =>\n\t\ttransformMemberExpressionLiterals,\n\t\"transform-named-capturing-groups-regex\": () =>\n\t\ttransformNamedCapturingGroupsRegex,\n\t\"transform-new-target\": () => transformNewTarget,\n\t\"transform-nullish-coalescing-operator\": () =>\n\t\ttransformNullishCoalescingOperator,\n\t\"transform-numeric-separator\": () => transformNumericSeparator,\n\t\"transform-object-rest-spread\": () => transformObjectRestSpread,\n\t\"transform-object-super\": () => transformObjectSuper,\n\t\"transform-optional-catch-binding\": () => transformOptionalCatchBinding,\n\t\"transform-optional-chaining\": () => transformOptionalChaining,\n\t\"transform-parameters\": () => transformParameters,\n\t\"transform-private-methods\": () => transformPrivateMethods,\n\t\"transform-private-property-in-object\": () =>\n\t\ttransformPrivatePropertyInObject,\n\t\"transform-property-literals\": () => transformPropertyLiterals,\n\t\"transform-regenerator\": () => transformRegenerator,\n\t\"transform-regexp-modifiers\": () => transformRegExpModifiers,\n\t\"transform-reserved-words\": () => transformReservedWords,\n\t\"transform-shorthand-properties\": () => transformShorthandProperties,\n\t\"transform-spread\": () => transformSpread,\n\t\"transform-sticky-regex\": () => transformStickyRegex,\n\t\"transform-template-literals\": () => transformTemplateLiterals,\n\t\"transform-typeof-symbol\": () => transformTypeofSymbol,\n\t\"transform-unicode-escapes\": () => transformUnicodeEscapes,\n\t\"transform-unicode-property-regex\": () => transformUnicodePropertyRegex,\n\t\"transform-unicode-regex\": () => transformUnicodeRegex,\n\t\"transform-unicode-sets-regex\": () => transformUnicodeSetsRegex,\n};\n","import { declarePreset } from \"@babel/helper-plugin-utils\";\nimport coreJs from \"babel-plugin-polyfill-corejs3\";\n\nimport availablePlugins from \"./availablePlugins\";\n\nexport default declarePreset((api, options) => {\n\tconst plugins = [\n\t\t...Object.values(availablePlugins).map((plugin) => plugin()),\n\t\t[coreJs, { method: \"usage-global\" }],\n\t];\n\n\treturn {\n\t\tplugins,\n\t};\n});\n","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\";\nimport babelPresetEs5 from \"@intelligentgraphics/ig.gfx.packager-babel-preset-es5\";\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: [[babelPresetEs5, {}]],\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":["availablePlugins","transformArrowFunctions","transformAsyncGeneratorFunctions","transformAsyncToGenerator","transformBlockScopedFunctions","transformBlockScoping","transformClassProperties","transformClassStaticBlock","transformClasses","transformComputedProperties","transformDestructuring","transformDotallRegex","transformDuplicateKeys","transformDuplicateNamedCapturingGroupsRegex","transformExplicitResourceManagement","transformExponentialOperator","transformForOf","transformFunctionName","transformJsonStrings","transformLiterals","transformLogicalAssignmentOperators","transformMemberExpressionLiterals","transformNamedCapturingGroupsRegex","transformNewTarget","transformNullishCoalescingOperator","transformNumericSeparator","transformObjectRestSpread","transformObjectSuper","transformOptionalCatchBinding","transformOptionalChaining","transformParameters","transformPrivateMethods","transformPrivatePropertyInObject","transformPropertyLiterals","transformRegenerator","transformRegExpModifiers","transformReservedWords","transformShorthandProperties","transformSpread","transformStickyRegex","transformTemplateLiterals","transformTypeofSymbol","transformUnicodeEscapes","transformUnicodePropertyRegex","transformUnicodeRegex","transformUnicodeSetsRegex","declarePreset","api","options","plugins","Object","values","map","plugin","coreJs","method","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","assign","Error","message","entryModule","resolveScriptPackageEntryModule","undefined","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","babelPresetEs5","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","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","rootNames","mainFile","getSourceFile","bundleFromEntryFile"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAiDA,MAAMA,gBAAAA,GAAmB;AACxB,IAAA,2BAAA,EAA6B,IAAMC,uBAAAA;AACnC,IAAA,qCAAA,EAAuC,IACtCC,gCAAAA;AACD,IAAA,8BAAA,EAAgC,IAAMC,yBAAAA;AACtC,IAAA,kCAAA,EAAoC,IAAMC,6BAAAA;AAC1C,IAAA,yBAAA,EAA2B,IAAMC,qBAAAA;AACjC,IAAA,4BAAA,EAA8B,IAAMC,wBAAAA;AACpC,IAAA,8BAAA,EAAgC,IAAMC,yBAAAA;AACtC,IAAA,mBAAA,EAAqB,IAAMC,gBAAAA;AAC3B,IAAA,+BAAA,EAAiC,IAAMC,2BAAAA;AACvC,IAAA,yBAAA,EAA2B,IAAMC,sBAAAA;AACjC,IAAA,wBAAA,EAA0B,IAAMC,oBAAAA;AAChC,IAAA,0BAAA,EAA4B,IAAMC,sBAAAA;AAClC,IAAA,kDAAA,EAAoD,IACnDC,2CAAAA;AACD,IAAA,wCAAA,EAA0C,IACzCC,mCAAAA;AACD,IAAA,mCAAA,EAAqC,IAAMC,4BAAAA;AAC3C,IAAA,kBAAA,EAAoB,IAAMC,cAAAA;AAC1B,IAAA,yBAAA,EAA2B,IAAMC,qBAAAA;AACjC,IAAA,wBAAA,EAA0B,IAAMC,oBAAAA;AAChC,IAAA,oBAAA,EAAsB,IAAMC,iBAAAA;AAC5B,IAAA,wCAAA,EAA0C,IACzCC,mCAAAA;AACD,IAAA,sCAAA,EAAwC,IACvCC,iCAAAA;AACD,IAAA,wCAAA,EAA0C,IACzCC,kCAAAA;AACD,IAAA,sBAAA,EAAwB,IAAMC,kBAAAA;AAC9B,IAAA,uCAAA,EAAyC,IACxCC,kCAAAA;AACD,IAAA,6BAAA,EAA+B,IAAMC,yBAAAA;AACrC,IAAA,8BAAA,EAAgC,IAAMC,yBAAAA;AACtC,IAAA,wBAAA,EAA0B,IAAMC,oBAAAA;AAChC,IAAA,kCAAA,EAAoC,IAAMC,6BAAAA;AAC1C,IAAA,6BAAA,EAA+B,IAAMC,yBAAAA;AACrC,IAAA,sBAAA,EAAwB,IAAMC,mBAAAA;AAC9B,IAAA,2BAAA,EAA6B,IAAMC,uBAAAA;AACnC,IAAA,sCAAA,EAAwC,IACvCC,gCAAAA;AACD,IAAA,6BAAA,EAA+B,IAAMC,yBAAAA;AACrC,IAAA,uBAAA,EAAyB,IAAMC,oBAAAA;AAC/B,IAAA,4BAAA,EAA8B,IAAMC,wBAAAA;AACpC,IAAA,0BAAA,EAA4B,IAAMC,sBAAAA;AAClC,IAAA,gCAAA,EAAkC,IAAMC,4BAAAA;AACxC,IAAA,kBAAA,EAAoB,IAAMC,eAAAA;AAC1B,IAAA,wBAAA,EAA0B,IAAMC,oBAAAA;AAChC,IAAA,6BAAA,EAA+B,IAAMC,yBAAAA;AACrC,IAAA,yBAAA,EAA2B,IAAMC,qBAAAA;AACjC,IAAA,2BAAA,EAA6B,IAAMC,uBAAAA;AACnC,IAAA,kCAAA,EAAoC,IAAMC,6BAAAA;AAC1C,IAAA,yBAAA,EAA2B,IAAMC,qBAAAA;AACjC,IAAA,8BAAA,EAAgC,IAAMC;AACvC,CAAA;;AClGA,qBAAeC,aAAAA,CAAc,CAACC,GAAAA,EAAKC,OAAAA,GAAAA;AAClC,IAAA,MAAMC,OAAAA,GAAU;AACZC,QAAAA,GAAAA,MAAAA,CAAOC,MAAM,CAACnD,gBAAAA,CAAAA,CAAkBoD,GAAG,CAAC,CAACC,MAAAA,GAAWA,MAAAA,EAAAA,CAAAA;AACnD,QAAA;AAACC,YAAAA,MAAAA;AAAQ,YAAA;gBAAEC,MAAAA,EAAQ;AAAe;AAAE;AACpC,KAAA;IAED,OAAO;AACNN,QAAAA;AACD,KAAA;AACD,CAAA,CAAA;;ACKO,SAASO,6BACfC,QAAyB,EACzBC,QAAwB,EACxBC,MAAc,EACdC,gBAAyB,EAAA;AAEzB,IAAA,OAAO,CAACC,GAAAA,GAAAA;AACPA,QAAAA,GAAAA,CAAIC,YAAY,EAAA;QAEf,CAAA,UAAA;YACA,IAAI;AACH,gBAAA,MAAMC,YAAAA,GAAeC,eAAAA,CACpBP,QAAAA,EACAC,QAAAA,EACAC,MAAAA,EACAC,gBAAAA,CAAAA;gBAGD,MAAMK,KAAAA,GAAQ,MAAMC,MAAAA,CAAOH,YAAAA,CAAAA;AAE3B,gBAAA,MAAMI,SAAS,MAAMF,KAAAA,CAAMG,QAAQ,CAACL,aAAaI,MAAM,CAAA;AAEvDN,gBAAAA,GAAAA,CAAIQ,UAAU,CAAC;oBACdC,IAAAA,EAAM,SAAA;AACNC,oBAAAA,SAAAA,EAAWC,oBACVL,MAAAA,EACAV,QAAAA,EACAC,QAAAA,EACAK,YAAAA,CAAaU,KAAK,EAClBb,gBAAAA;AAEF,iBAAA,CAAA;AACD,YAAA,CAAA,CAAE,OAAOc,GAAAA,EAAK;AACbb,gBAAAA,GAAAA,CAAIQ,UAAU,CAAC;oBAAEC,IAAAA,EAAM,OAAA;oBAASK,KAAAA,EAAOD;AAAI,iBAAA,CAAA;AAC5C,YAAA;QACD,CAAA,GAAA;QAEA,OAAO;AACNE,YAAAA,OAAAA,EAAS,IAAA,CAAO;AACjB,SAAA;AACD,IAAA,CAAA;AACD;AAEO,SAASC,kCACfpB,QAAyB,EACzBC,QAAwB,EACxBC,MAAc,EACdC,gBAAgB,EAAA;AAEhB,IAAA,OAAO,CAACC,GAAAA,GAAAA;AACPA,QAAAA,GAAAA,CAAIC,YAAY,EAAA;AAEhB,QAAA,MAAMC,YAAAA,GAAeC,eAAAA,CACpBP,QAAAA,EACAC,QAAAA,EACAC,MAAAA,EACAC,gBAAAA,CAAAA;AAGD,QAAA,MAAMkB,UAAUC,KAAAA,CAAM;AACrB,YAAA,GAAGhB,YAAY;YACfgB,KAAAA,EAAO;gBACNC,SAAAA,EAAW;AACZ;AACD,SAAA,CAAA;QAEAF,OAAAA,CAAQG,EAAE,CAAC,OAAA,EAAS,OAAOC,KAAAA,GAAAA;AAC1B,YAAA,OAAQA,MAAMC,IAAI;gBACjB,KAAK,cAAA;AACJtB,oBAAAA,GAAAA,CAAIC,YAAY,EAAA;AAChB,oBAAA;gBACD,KAAK,YAAA;oBACJ,MAAMK,MAAAA,GAAS,MAAMe,KAAAA,CAAME,MAAM,CAAChB,QAAQ,CACzCL,aAAaI,MAAM,CAAA;oBAEpB,IAAI;AACHN,wBAAAA,GAAAA,CAAIQ,UAAU,CAAC;4BACdC,IAAAA,EAAM,SAAA;AACNC,4BAAAA,SAAAA,EAAWC,oBACVL,MAAAA,EACAV,QAAAA,EACAC,QAAAA,EACAK,YAAAA,CAAaU,KAAK,EAClBb,gBAAAA;AAEF,yBAAA,CAAA;AACD,oBAAA,CAAA,CAAE,OAAOc,GAAAA,EAAK;AACbb,wBAAAA,GAAAA,CAAIQ,UAAU,CAAC;4BACdC,IAAAA,EAAM,OAAA;4BACNK,KAAAA,EAAOD;AACR,yBAAA,CAAA;AACD,oBAAA;oBAEAQ,KAAAA,CAAME,MAAM,CAACC,KAAK,EAAA;AAClB,oBAAA;gBACD,KAAK,OAAA;AACJxB,oBAAAA,GAAAA,CAAIQ,UAAU,CAAC;wBACdC,IAAAA,EAAM,OAAA;wBACNK,KAAAA,EAAOzB,MAAAA,CAAOoC,MAAM,CACnB,IAAIC,KAAAA,CAAML,KAAAA,CAAMP,KAAK,CAACa,OAAO,CAAA,EAC7BN,KAAAA,CAAMP,KAAK;AAEb,qBAAA,CAAA;AACA,oBAAA;AACF;AACD,QAAA,CAAA,CAAA;QAEA,OAAO;YACNC,OAAAA,EAAS,IAAME,QAAQO,KAAK;AAC7B,SAAA;AACD,IAAA,CAAA;AACD;AAEA,SAASrB,gBACRP,QAAyB,EACzBC,QAAwB,EACxBC,MAAc,EACdC,gBAAyB,EAAA;IAEzB,MAAM6B,WAAAA,GAAcC,gCAAgCjC,QAAAA,EAAUC,QAAAA,CAAAA;AAE9D,IAAA,IAAI+B,gBAAgBE,SAAAA,EAAW;AAC9B,QAAA,MAAM,IAAIJ,KAAAA,CAAM,CAAC,8BAA8B,CAAC,CAAA;AACjD,IAAA;IAEA,OAAO;QACNd,KAAAA,EAAOgB,WAAAA;QACPxC,OAAAA,EAAS;AACR2C,YAAAA,uBAAAA,EAAAA;AACAC,YAAAA,oBAAAA,EAAAA;AACAC,YAAAA,gBAAAA,EAAAA;YACAC,iBAAAA,CAAkB;gBACjBC,OAAAA,EAAS;AACR,oBAAA;wBACCC,IAAAA,EAAM,cAAA;wBACNC,WAAAA,EAAaC,IAAAA,CAAKC,IAAI,CACrBD,IAAAA,CAAKE,OAAO,CACXC,OAAAA,CAAQC,IAAI,CAAC,SAAA,EAAW;AACvBC,4BAAAA,OAAAA,EAAS,YAAYH;yBACtB,CAAA,CAAA,EAED,KAAA;AAEF;AACA;AACF,aAAA,CAAA;YACAI,sBAAAA,CAAuB;gBACtBC,eAAAA,EAAiB;oBAChBC,OAAAA,EAAS/C,gBAAAA,GAAmB+B,SAAAA,GAAYlC,QAAAA,CAASmD,UAAU;AAC3DC,oBAAAA,WAAAA,EAAa,CAACjD,gBAAAA;AACdkD,oBAAAA,cAAAA,EAAgBlD,mBAAmB+B,SAAAA,GAAYhC,MAAAA;oBAC/CoD,MAAAA,EAAQ,QAAA;oBACRC,MAAAA,EAAQ;AACT,iBAAA;AACAC,gBAAAA,QAAAA,EAAUd,IAAAA,CAAKC,IAAI,CAAC3C,QAAAA,CAASmD,UAAU,EAAE,eAAA,CAAA;gBACzCM,cAAAA,EAAgB,KAAA;AAChBC,gBAAAA,UAAAA,EAAYvD,mBAAmB,KAAA,GAAQ+B;AACxC,aAAA,CAAA;YACAyB,iBAAAA,CAAkB;gBACjBC,OAAAA,EAAS;AAAC,oBAAA;AAACC,wBAAAA,cAAAA;wBAAgB;AAAG;AAAC,iBAAA;gBAC/BC,OAAAA,EAAS;oBACRC,EAAAA,EAAI;AACL,iBAAA;gBACAC,YAAAA,EAAc,SAAA;gBACdC,UAAAA,EAAY;AAAC,oBAAA,KAAA;AAAO,oBAAA;AAAM,iBAAA;gBAC1BC,UAAAA,EAAY,IAAA;gBACZC,OAAAA,EAAS;AACV,aAAA;AACA,SAAA;QACDzD,MAAAA,EAAQ;YACP0D,MAAAA,EAAQ,MAAA;AACRC,YAAAA,IAAAA,EAAMpE,QAAAA,CAASqE,KAAK,IAAIrE,QAAAA,CAASsE,OAAO;YACxCC,GAAAA,EAAKtE,MAAAA;YACLuE,SAAAA,EAAW;AACZ;AACD,KAAA;AACD;AAEA,SAAS1D,mBAAAA,CACRL,MAAoB,EACpBV,QAAyB,EACzBC,QAAwB,EACxByE,eAAuB,EACvBvE,gBAAyB,EAAA;AAEzB,IAAA,MAAM,CAACwE,YAAAA,EAAc,GAAGC,YAAAA,CAAa,GAAGlE,OAAOA,MAAM;IAErD,MAAMmE,MAAAA,GAASD,aAAaE,MAAM,CAAC,CAACC,KAAAA,GAAUA,KAAAA,CAAMlE,IAAI,KAAK,OAAA,CAAA;IAE7D,MAAMmE,SAAAA,GAAYH,MAAAA,CAAOrC,IAAI,CAAC,CAACyC,QAC9BA,KAAAA,CAAMC,QAAQ,CAACC,QAAQ,CAAC,SAAA,CAAA,CAAA;IAGzB,IAAIC,YAAAA;AAEJ,IAAA,IAAI,CAACjF,gBAAAA,EAAkB;AACtB,QAAA,MAAMkF,qBAAqB,IAAIC,GAAAA,CAC9BT,MAAAA,CACEC,MAAM,CAAC,CAACG,KAAAA,GAAUA,KAAAA,CAAMC,QAAQ,CAACC,QAAQ,CAAC,OAAA,CAAA,CAAA,CAC1CxF,GAAG,CAAC,CAACsF,KAAAA,GAAAA;YACL,OAAO;gBACNvC,IAAAA,CACEG,OAAO,CAAC7C,QAAAA,CAASmD,UAAU,EAAE8B,MAAMC,QAAQ,CAAA,CAC3CK,UAAU,CAAC,IAAA,EAAM,GAAA,CAAA;AACnBN,gBAAAA,KAAAA,CAAMO;AACN,aAAA;AACF,QAAA,CAAA,CAAA,CAAA;AAGF,QAAA,MAAMC,sBAAAA,GAAyB/C,IAAAA,CAAKC,IAAI,CACvCD,KAAKE,OAAO,CAAC8B,eAAAA,CAAAA,EACbhC,IAAAA,CAAKgD,QAAQ,CAAChB,eAAAA,EAAiBhC,IAAAA,CAAKiD,OAAO,CAACjB,eAAAA,CAAAA,CAAAA,GAC3C,OAAA,CAAA;AAGFU,QAAAA,YAAAA,GAAeQ,qBACdP,kBAAAA,EACAI,sBAAAA,EACAxF,SAASqE,KAAK,IAAIrE,SAASsE,OAAO,CAAA;AAEpC,IAAA;IAEA,OAAO;AACNsB,QAAAA,EAAAA,EAAIlB,aAAajD,IAAI;AACrB0D,QAAAA,YAAAA;AACAJ,QAAAA,SAAAA,EAAWA,SAAAA,EAAWQ;AACvB,KAAA;AACD;AAEA,MAAMM,cAAAA,GAAiB,6BAAA;AAEvB,SAASF,oBAAAA,CACRG,KAA0B,EAC1BC,aAAqB,EACrBC,SAAiB,EAAA;AAEjB,IAAA,MAAMC,aAAuB,EAAE;AAE/B,IAAA,KAAK,MAAM,CAACC,SAAAA,EAAWC,OAAAA,CAAQ,IAAIL,KAAAA,CAAO;AACzC,QAAA,IAAIK,OAAAA,CAAQC,OAAO,CAAC,WAAA,CAAA,KAAiB,EAAC,EAAG;AACxC,YAAA;AACD,QAAA;AAEA,QAAA,MAAMC,KAAAA,GAAQF,OAAAA,CAAQG,KAAK,CAACC,GAAGC,GAAG,CAAA;AAElC,QAAA,IAAK,IAAIC,KAAAA,GAAQ,CAAA,EAAGA,QAAQJ,KAAAA,CAAMK,MAAM,EAAED,KAAAA,EAAAA,CAAS;YAClD,MAAME,IAAAA,GAAON,KAAK,CAACI,KAAAA,CAAM;YACzB,MAAMG,KAAAA,GAAQD,IAAAA,CAAKC,KAAK,CAACf,cAAAA,CAAAA;AAEzB,YAAA,IAAIe,UAAU,IAAA,EAAM;AACnB,gBAAA;AACD,YAAA;AAEA,YAAA,IAAI,CAACX,UAAAA,CAAWY,QAAQ,CAACD,KAAK,CAAC,EAAE,CAAA,EAAG;AACnCX,gBAAAA,UAAAA,CAAWa,IAAI,CAACF,KAAK,CAAC,CAAA,CAAE,CAAA;AACzB,YAAA;AACD,QAAA;AACD,IAAA;AAEA,IAAA,MAAM5D,eAAAA,GAAsC;QAC3CQ,cAAAA,EAAgB;AACjB,KAAA;AAEA,IAAA,MAAMuD,IAAAA,GAAOC,EAAAA,CAAGC,kBAAkB,CAACjE,eAAAA,EAAiB,IAAA,CAAA;AACpD+D,IAAAA,IAAAA,CAAKG,UAAU,GAAG,CAACjC,QAAAA,GAAaa,KAAAA,CAAMqB,GAAG,CAAClC,QAAAA,CAAAA;AAC1C8B,IAAAA,IAAAA,CAAKK,QAAQ,GAAG,CAACnC,QAAAA,GAAaa,KAAAA,CAAMuB,GAAG,CAACpC,QAAAA,CAAAA;IAExC,MAAMqC,OAAAA,GAAUN,EAAAA,CAAGO,aAAa,CAAC;AAChCR,QAAAA,IAAAA;QACAzH,OAAAA,EAAS0D,eAAAA;QACTwE,SAAAA,EAAW;AAACzB,YAAAA;AAAc;AAC3B,KAAA,CAAA;IAEA,MAAM0B,QAAAA,GAAWH,OAAAA,CAAQI,aAAa,CAAC3B,aAAAA,CAAAA;AAEvC,IAAA,IAAI0B,aAAaxF,SAAAA,EAAW;AAC3B,QAAA,MAAM,IAAIJ,KAAAA,CACT,CAAC,4DAA4D,CAAC,CAAA;AAEhE,IAAA;AAEA,IAAA,MAAMH,MAAAA,GAASiG,mBAAAA,CACd3B,SAAAA,EACAyB,QAAAA,EACAH,SACAP,IAAAA,EACA/D,eAAAA,CAAAA;IAED,OAAO;AAAIiD,QAAAA,GAAAA,UAAAA;AAAYvE,QAAAA;KAAO,CAACgB,IAAI,CAAC6D,EAAAA,CAAGC,GAAG,CAAA;AAC3C;;;;"}
|