@intelligentgraphics/ig.gfx.packager 3.0.16 → 3.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/build/bin.mjs +1 -1
  2. package/build/bin.mjs.map +1 -1
  3. package/build/{cli-1ce4d998.mjs → cli-69a2e2f1.mjs} +32 -32
  4. package/build/cli-69a2e2f1.mjs.map +1 -0
  5. package/build/{dependencies-030fd607.mjs → dependencies-4e6ba0ea.mjs} +15 -15
  6. package/build/dependencies-4e6ba0ea.mjs.map +1 -0
  7. package/build/{generateIndex-80e7628e.mjs → generateIndex-e1304f50.mjs} +11 -11
  8. package/build/generateIndex-e1304f50.mjs.map +1 -0
  9. package/build/{generateParameterType-523072c2.mjs → generateParameterType-a547b489.mjs} +2 -2
  10. package/build/generateParameterType-a547b489.mjs.map +1 -0
  11. package/build/{index-48221d57.mjs → index-aecc36ad.mjs} +6 -6
  12. package/build/index-aecc36ad.mjs.map +1 -0
  13. package/build/{index-0012fcaa.mjs → index-ce491f2d.mjs} +10 -19
  14. package/build/index-ce491f2d.mjs.map +1 -0
  15. package/build/{postinstall-79673f29.mjs → postinstall-6366aa29.mjs} +3 -3
  16. package/build/postinstall-6366aa29.mjs.map +1 -0
  17. package/build/{publishNpm-bfd4eb6a.mjs → publishNpm-7fe8b8ec.mjs} +4 -4
  18. package/build/publishNpm-7fe8b8ec.mjs.map +1 -0
  19. package/build/{versionFile-562e5692.mjs → versionFile-28e7ec79.mjs} +12 -12
  20. package/build/versionFile-28e7ec79.mjs.map +1 -0
  21. package/lib/lib.mjs +54 -63
  22. package/package.json +4 -3
  23. package/readme.md +4 -0
  24. package/build/cli-1ce4d998.mjs.map +0 -1
  25. package/build/dependencies-030fd607.mjs.map +0 -1
  26. package/build/generateIndex-80e7628e.mjs.map +0 -1
  27. package/build/generateParameterType-523072c2.mjs.map +0 -1
  28. package/build/index-0012fcaa.mjs.map +0 -1
  29. package/build/index-48221d57.mjs.map +0 -1
  30. package/build/postinstall-79673f29.mjs.map +0 -1
  31. package/build/publishNpm-bfd4eb6a.mjs.map +0 -1
  32. package/build/versionFile-562e5692.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-0012fcaa.mjs","sources":["../src/commands/publish/zip.ts","../src/commands/publish/index.ts"],"sourcesContent":["import JSZip from \"jszip\";\r\nimport * as path from \"path\";\r\nimport * as fs from \"fs\";\r\nimport * as terser from \"terser\";\r\n\r\nimport { isErrorENOENT } from \"../../lib/error\";\r\nimport { logPackageMessage } from \"../../lib/log\";\r\nimport {\r\n\tCreatorPackage,\r\n\treadPackageCreatorManifest,\r\n\twritePackageCreatorManifest,\r\n\treadPackageCreatorIndex,\r\n\tparseCreatorPackageName,\r\n\tPackageLocation,\r\n\tPackageNpmManifest,\r\n\tINDEX_FILE,\r\n\tPACKAGE_FILE,\r\n} from \"../../lib/package\";\r\nimport { getWorkspaceOutputPath, WorkspaceLocation } from \"../../lib/workspace\";\r\nimport {\r\n\tPublishedPackageLocation,\r\n\treadPublishedPackageCreatorIndex,\r\n} from \"../../lib/publishedPackage\";\r\n\r\nexport const buildArchiveFromPublishedPackage = (\r\n\tlocation: PublishedPackageLocation,\r\n\tmanifest: PackageNpmManifest,\r\n\tcreatorPackage: CreatorPackage,\r\n) => {\r\n\tconst archive = new JSZip();\r\n\r\n\tarchive.file(PACKAGE_FILE, JSON.stringify(creatorPackage, null, 2));\r\n\r\n\tconst index = readPublishedPackageCreatorIndex(location);\r\n\r\n\tif (index !== undefined) {\r\n\t\tarchive.file(INDEX_FILE, JSON.stringify(index, null, 2));\r\n\t}\r\n\r\n\tarchive.file(\r\n\t\tmanifest.main,\r\n\t\tfs.createReadStream(path.join(location.path, manifest.main)),\r\n\t);\r\n\r\n\treturn archive;\r\n};\r\n\r\nconst runtimeScripts: CreatorPackage[\"Type\"][] = [\r\n\t\"Interactor\",\r\n\t\"Core\",\r\n\t\"Mixed\",\r\n];\r\n\r\nconst notRuntimeScripts: CreatorPackage[\"Type\"][] = [\"Context\", \"Evaluator\"];\r\n\r\nexport const buildArchiveFromPackage = async (\r\n\tworkspaceLocation: WorkspaceLocation,\r\n\tpackageLocation: PackageLocation,\r\n\tdata: CreatorPackage,\r\n) => {\r\n\tconst { domain, subdomain } = parseCreatorPackageName(data);\r\n\r\n\tconst logStep = (step: string) => logPackageMessage(data.Package, step);\r\n\r\n\tconst libFilePath = path.join(\r\n\t\tgetWorkspaceOutputPath(workspaceLocation),\r\n\t\t`${data.Package}.min.js`,\r\n\t);\r\n\r\n\tconst scriptDirectories: string[] = [\r\n\t\tpackageLocation.path,\r\n\t\tpackageLocation.scriptsDir,\r\n\t];\r\n\r\n\tif (subdomain === \"GFX.Standard\") {\r\n\t\tlogStep(`Including Images folder`);\r\n\t\tscriptDirectories.push(path.join(packageLocation.path, \"Images\"));\r\n\t}\r\n\r\n\tconst manifest = readPackageCreatorManifest(packageLocation);\r\n\r\n\tif (manifest !== undefined) {\r\n\t\tif (manifest.RunTime && notRuntimeScripts.includes(manifest.Type)) {\r\n\t\t\tlogStep(\"Setting script RunTime to false because of script type\");\r\n\t\t\twritePackageCreatorManifest(packageLocation, {\r\n\t\t\t\t...manifest,\r\n\t\t\t\tRunTime: false,\r\n\t\t\t});\r\n\t\t} else if (\r\n\t\t\t!manifest.RunTime &&\r\n\t\t\truntimeScripts.includes(manifest.Type)\r\n\t\t) {\r\n\t\t\tlogStep(\"Setting script RunTime to true because of script type\");\r\n\t\t\twritePackageCreatorManifest(packageLocation, {\r\n\t\t\t\t...manifest,\r\n\t\t\t\tRunTime: true,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tlet libFile: string | undefined;\r\n\r\n\ttry {\r\n\t\tlibFile = fs.readFileSync(libFilePath, { encoding: \"utf8\" });\r\n\t} catch (err) {\r\n\t\tif (!isErrorENOENT(err)) {\r\n\t\t\tthrow err;\r\n\t\t}\r\n\t}\r\n\r\n\tconst archive = new JSZip();\r\n\r\n\tlet library: string = \"\";\r\n\r\n\tif (libFile) {\r\n\t\tlibrary = libFile;\r\n\t}\r\n\r\n\tif (!library) {\r\n\t\tconst date = new Date(Date.now());\r\n\t\tlibrary = `/* This file is part of the ${domain} Data Packages.\r\n\t\t* Copyright (C) ${date.getFullYear()} intelligentgraphics. All Rights Reserved. */`;\r\n\t}\r\n\r\n\tconst minifyResult = await terser.minify(library, { ecma: 5 });\r\n\r\n\tarchive.file(`${data.Package}.js`, minifyResult.code!);\r\n\tarchive.file(PACKAGE_FILE, JSON.stringify(data, null, 2));\r\n\r\n\tconst creatorIndex = readPackageCreatorIndex(packageLocation);\r\n\r\n\tif (creatorIndex !== undefined) {\r\n\t\tarchive.file(INDEX_FILE, JSON.stringify(creatorIndex, null, 2));\r\n\t}\r\n\r\n\tfor (const directory of scriptDirectories) {\r\n\t\ttry {\r\n\t\t\tfor (const file of fs.readdirSync(directory)) {\r\n\t\t\t\tconst { ext } = path.parse(file);\r\n\r\n\t\t\t\tswitch (ext) {\r\n\t\t\t\t\tcase \".png\":\r\n\t\t\t\t\tcase \".jpeg\":\r\n\t\t\t\t\tcase \".jpg\":\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tarchive.file(\r\n\t\t\t\t\tfile,\r\n\t\t\t\t\tfs.createReadStream(path.join(directory, file)),\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tconsole.error(`Script directory \"${directory}\" does not exist`);\r\n\t\t}\r\n\t}\r\n\r\n\treturn archive;\r\n};\r\n","import * as path from \"path\";\r\nimport * as fs from \"fs/promises\";\r\nimport { createReadStream, createWriteStream } from \"fs\";\r\nimport { pipeline } from \"stream/promises\";\r\nimport { exec } from \"child_process\";\r\nimport { promisify } from \"util\";\r\n\r\nimport {\r\n\tAssetService,\r\n\tisErrorEACCES,\r\n\tisErrorEPERM,\r\n\twritePackageCreatorManifest,\r\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\r\n\r\nimport { logPackageMessage } from \"../../lib/log\";\r\nimport {\r\n\tCreatorPackage,\r\n\tgetPackageReleasesDirectory,\r\n\tPackageLocation,\r\n\tparseCreatorPackageName,\r\n\treadPackageAnimationList,\r\n\treadPackageCreatorManifest,\r\n} from \"../../lib/package\";\r\nimport {\r\n\tgetWorkspaceOutputPath,\r\n\treadWorkspaceNpmManifest,\r\n\tWorkspaceLocation,\r\n} from \"../../lib/workspace\";\r\nimport { getVersionInformationFromGit } from \"../../lib/git\";\r\nimport { getWorkspaceBannerText } from \"../../lib/banner\";\r\nimport {\r\n\tparseVersionFromNumericVersion,\r\n\tparseVersionFromString,\r\n} from \"../../lib/parseVersion\";\r\nimport { getVersionFileHandler } from \"../../lib/versionFile\";\r\nimport { isErrorENOENT } from \"../../lib/error\";\r\nimport { determineWorkspaceIGLibraries } from \"../../lib/dependencies\";\r\nimport {\r\n\treadPublishedPackageCreatorManifest,\r\n\treadPublishedPackageNpmManifest,\r\n} from \"../../lib/publishedPackage\";\r\nimport { Prompter, PrompterOption } from \"../../lib/prompter\";\r\nimport { PackageVersion } from \"../../lib/packageVersion\";\r\n\r\nimport { BuildFoldersOptions, buildFolders } from \"../build\";\r\nimport {\r\n\tbuildArchiveFromPackage,\r\n\tbuildArchiveFromPublishedPackage,\r\n} from \"./zip\";\r\n\r\nexport interface ReleaseFolderOptions\r\n\textends Omit<\r\n\t\tBuildFoldersOptions,\r\n\t\t\"skipPackagesWithoutTsFiles\" | \"banner\" | \"packages\"\r\n\t> {\r\n\tdirectory: PackageLocation;\r\n\tnoUpload: boolean;\r\n\tnewVersion: string;\r\n\tdomain?: string;\r\n\tsubdomain?: string;\r\n\taddress?: string;\r\n\tservice: string;\r\n\tauthentication?: AssetService.Authentication;\r\n\tpushOnly: boolean;\r\n\tbanner?: boolean;\r\n\tprompter: Prompter;\r\n\tskipDependencies?: boolean;\r\n}\r\n\r\nconst execAsync = promisify(exec);\r\n\r\nexport const releaseFolder = async (options: ReleaseFolderOptions) => {\r\n\tconst workspace = options.workspace;\r\n\tconst location = options.directory;\r\n\r\n\tconst { write: writeVersionFile, reset: resetVersionFile } =\r\n\t\tgetVersionFileHandler(location);\r\n\r\n\tconst packageDescription = readPackageCreatorManifest(location);\r\n\tconst fullPackageName = packageDescription.Package;\r\n\tconst { domain, subdomain } = parseCreatorPackageName(packageDescription);\r\n\r\n\tconst publishDomain = options.domain ?? domain;\r\n\tconst publishSubdomain = options.subdomain ?? subdomain;\r\n\r\n\tconst sharedPackageJson = readWorkspaceNpmManifest(workspace);\r\n\r\n\tlet newVersion: PackageVersion;\r\n\ttry {\r\n\t\tnewVersion = parseVersionFromString(options.newVersion);\r\n\t} catch (err) {\r\n\t\tthrow new Error(`Please enter a version in this format 1.0.0.100`);\r\n\t}\r\n\r\n\tpackageDescription.Version = newVersion.toVersionString({\r\n\t\tbuildNumber: true,\r\n\t});\r\n\twritePackageCreatorManifest(location, packageDescription);\r\n\r\n\tif (newVersion.buildNumber < 100) {\r\n\t\tnewVersion.preRelease = {\r\n\t\t\ttype: \"beta\",\r\n\t\t\tversion: newVersion.buildNumber,\r\n\t\t};\r\n\t} else if (newVersion.buildNumber > 100) {\r\n\t\tnewVersion.preRelease = {\r\n\t\t\ttype: \"patch\",\r\n\t\t\tversion: newVersion.buildNumber - 100,\r\n\t\t};\r\n\t}\r\n\r\n\tif (sharedPackageJson !== undefined) {\r\n\t\tlogPackageMessage(\r\n\t\t\tpackageDescription.Package,\r\n\t\t\t`Running npm install to make sure all dependencies are up to date`,\r\n\t\t);\r\n\t\tawait execAsync(`npm install`, {\r\n\t\t\tencoding: \"utf-8\",\r\n\t\t\tcwd: workspace.path,\r\n\t\t});\r\n\t}\r\n\r\n\tconst binDir = getWorkspaceOutputPath(workspace);\r\n\tawait fs.mkdir(binDir, { recursive: true });\r\n\r\n\tlet assetServerPackageDetails: AssetService.UploadPackageDetails;\r\n\r\n\tlet packageNameWithVersion: string;\r\n\r\n\t{\r\n\t\tconst versionWithoutPrelease = newVersion.clone();\r\n\t\tversionWithoutPrelease.preRelease = undefined;\r\n\t\tconst newVersionString = versionWithoutPrelease.toVersionString({\r\n\t\t\tbuildNumber: true,\r\n\t\t});\r\n\t\tpackageNameWithVersion = `${packageDescription.Package}_${newVersionString}`;\r\n\r\n\t\tassetServerPackageDetails = {\r\n\t\t\tname: packageDescription.Package,\r\n\t\t\tversion: newVersionString,\r\n\t\t};\r\n\t}\r\n\r\n\tlet zipFilePath = path.join(binDir, packageNameWithVersion + \".zip\");\r\n\tinterface Uploadable {\r\n\t\tgetStream: () => NodeJS.ReadableStream;\r\n\t}\r\n\r\n\tlet uploadable: Uploadable = {\r\n\t\tgetStream: () => createReadStream(zipFilePath),\r\n\t};\r\n\r\n\ttry {\r\n\t\tif (options.pushOnly) {\r\n\t\t\tconst zipFileExists = await fs.stat(zipFilePath).catch((err) => {\r\n\t\t\t\tif (isErrorENOENT(err)) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\treturn Promise.reject(err);\r\n\t\t\t});\r\n\r\n\t\t\tif (zipFileExists) {\r\n\t\t\t\tthrow new Error(\r\n\t\t\t\t\t`Expected a zip file to exist at path ${zipFilePath} since pushOnly is specified`,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tconst gitVersionInformation = await getVersionInformationFromGit(\r\n\t\t\t\tworkspace,\r\n\t\t\t\tlocation,\r\n\t\t\t);\r\n\r\n\t\t\twriteVersionFile(fullPackageName, newVersion);\r\n\r\n\t\t\tconst bannerText =\r\n\t\t\t\tsharedPackageJson !== undefined\r\n\t\t\t\t\t? getWorkspaceBannerText(sharedPackageJson)\r\n\t\t\t\t\t: undefined;\r\n\r\n\t\t\tawait buildFolders({\r\n\t\t\t\t...options,\r\n\t\t\t\tpackages: [location],\r\n\t\t\t\tbanner: options.banner\r\n\t\t\t\t\t? {\r\n\t\t\t\t\t\t\ttext: bannerText,\r\n\t\t\t\t\t\t\tcommit: gitVersionInformation.commit,\r\n\t\t\t\t\t\t\tcommitDirty: gitVersionInformation.dirty,\r\n\t\t\t\t\t\t\tversion: newVersion.toVersionString({\r\n\t\t\t\t\t\t\t\tbuildNumber: true,\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\tdate: new Date(Date.now()),\r\n\t\t\t\t\t\t\t// gitVersionInformation.commitDate\r\n\t\t\t\t\t\t\t// \t? new Date(gitVersionInformation.commitDate)\r\n\t\t\t\t\t\t\t// \t: new Date(Date.now()),\r\n\t\t\t\t\t }\r\n\t\t\t\t\t: undefined,\r\n\t\t\t});\r\n\r\n\t\t\tnewVersion.preRelease = undefined;\r\n\r\n\t\t\ttry {\r\n\t\t\t\tawait fs.rm(zipFilePath);\r\n\t\t\t} catch (err) {\r\n\t\t\t\tif (!isErrorENOENT(err)) {\r\n\t\t\t\t\tthrow err;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (readPackageAnimationList(location).length > 0) {\r\n\t\t\t\tconst workspaceManifest = readWorkspaceNpmManifest(workspace);\r\n\r\n\t\t\t\tif (\r\n\t\t\t\t\t!workspaceManifest.dependencies?.[\r\n\t\t\t\t\t\t\"@intelligentgraphics/3d.ig.gfx.standard\"\r\n\t\t\t\t\t]\r\n\t\t\t\t) {\r\n\t\t\t\t\tconst install = await options.prompter.confirm(\r\n\t\t\t\t\t\t`The IG.GFX.Standard package should be added as a dependency to provide the 'AnimationInteractor' used to display animations. Do you wish to add it now?`,\r\n\t\t\t\t\t);\r\n\r\n\t\t\t\t\tif (install) {\r\n\t\t\t\t\t\tawait execAsync(\r\n\t\t\t\t\t\t\t`npm install @intelligentgraphics/3d.ig.gfx.standard`,\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tencoding: \"utf-8\",\r\n\t\t\t\t\t\t\t\tcwd: workspace.path,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\tawait execAsync(`npm run postinstall`, {\r\n\t\t\t\t\t\t\tcwd: workspace.path,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tconst archive = await buildArchiveFromPackage(\r\n\t\t\t\tworkspace,\r\n\t\t\t\tlocation,\r\n\t\t\t\tpackageDescription,\r\n\t\t\t);\r\n\r\n\t\t\ttry {\r\n\t\t\t\tconst zipOutputStream = createWriteStream(zipFilePath);\r\n\t\t\t\tawait pipeline(archive.generateNodeStream(), zipOutputStream);\r\n\t\t\t} catch (err) {\r\n\t\t\t\tif (isErrorEACCES(err) || isErrorEPERM(err)) {\r\n\t\t\t\t\tlogPackageMessage(\r\n\t\t\t\t\t\tpackageDescription.Package,\r\n\t\t\t\t\t\t`Could not create zip file in the bin directory because of a permissions error. Only using it in-memory`,\r\n\t\t\t\t\t);\r\n\t\t\t\t\tuploadable = {\r\n\t\t\t\t\t\tgetStream: () => archive.generateNodeStream(),\r\n\t\t\t\t\t};\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthrow err;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!options.noUpload) {\r\n\t\t\tif (!options.authentication) {\r\n\t\t\t\tthrow new Error(`Expected authentication to be available`);\r\n\t\t\t}\r\n\r\n\t\t\tlogPackageMessage(\r\n\t\t\t\tpackageDescription.Package,\r\n\t\t\t\t`Opening connection to IG.Asset.Server`,\r\n\t\t\t);\r\n\r\n\t\t\tconst sessionManager = await createSessionManager({\r\n\t\t\t\turl: options.service,\r\n\t\t\t\taddress: options.address,\r\n\t\t\t\tdomain: publishDomain,\r\n\t\t\t\tsubDomain: publishSubdomain,\r\n\t\t\t\tauthentication: options.authentication,\r\n\t\t\t});\r\n\r\n\t\t\ttry {\r\n\t\t\t\tif (!options.skipDependencies) {\r\n\t\t\t\t\tawait ensureRequiredVersions(\r\n\t\t\t\t\t\tworkspace,\r\n\t\t\t\t\t\tpackageDescription,\r\n\t\t\t\t\t\tsessionManager,\r\n\t\t\t\t\t\toptions.prompter,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlogPackageMessage(\r\n\t\t\t\t\tpackageDescription.Package,\r\n\t\t\t\t\t`Uploading package to ${publishDomain}.${publishSubdomain}`,\r\n\t\t\t\t);\r\n\r\n\t\t\t\tawait AssetService.uploadPackageFromStream(\r\n\t\t\t\t\tsessionManager.getTargetSession(),\r\n\t\t\t\t\tassetServerPackageDetails,\r\n\t\t\t\t\tuploadable.getStream(),\r\n\t\t\t\t);\r\n\t\t\t} finally {\r\n\t\t\t\tawait sessionManager.destroy().catch((err) => {\r\n\t\t\t\t\tlogPackageMessage(\r\n\t\t\t\t\t\tpackageDescription.Package,\r\n\t\t\t\t\t\t`Failed to close IG.Asset.Server session(s): ${err}`,\r\n\t\t\t\t\t);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t} catch (err) {\r\n\t\tresetVersionFile();\r\n\t\tthrow err;\r\n\t}\r\n\r\n\tif (newVersion.buildNumber >= 100 && !options.pushOnly) {\r\n\t\tlogPackageMessage(fullPackageName, \"Copying zip to releases folder\");\r\n\r\n\t\tconst zipFileName = `${packageNameWithVersion}.zip`;\r\n\t\tconst releasesPath = getPackageReleasesDirectory(location);\r\n\r\n\t\tawait fs.mkdir(releasesPath, { recursive: true });\r\n\t\tawait pipeline(\r\n\t\t\tuploadable.getStream(),\r\n\t\t\tcreateWriteStream(path.join(releasesPath, zipFileName)),\r\n\t\t);\r\n\t}\r\n};\r\n\r\nconst ensureRequiredVersions = async (\r\n\tworkspaceLocation: WorkspaceLocation,\r\n\tcreatorPackage: CreatorPackage,\r\n\tsessionManager: SessionManager,\r\n\tprompter: Prompter,\r\n) => {\r\n\tinterface UploadedPackage\r\n\t\textends Omit<AssetService.ExistingPackage, \"version\"> {\r\n\t\tversion: PackageVersion;\r\n\t}\r\n\r\n\tconst libraries = determineWorkspaceIGLibraries(workspaceLocation);\r\n\r\n\t// If there are no libraries, we don't need to check for required versions\r\n\tif (libraries.length === 0) {\r\n\t\treturn true;\r\n\t}\r\n\r\n\tconst targetSession = sessionManager.getTargetSession();\r\n\r\n\tconst rawUploadedPackages = await AssetService.getExistingPackages(\r\n\t\ttargetSession,\r\n\t);\r\n\r\n\tconst uploadedPackages = rawUploadedPackages.map(\r\n\t\t(entry): UploadedPackage => {\r\n\t\t\tlet version: PackageVersion;\r\n\r\n\t\t\ttry {\r\n\t\t\t\tversion = parseVersionFromNumericVersion(entry.numericVersion);\r\n\t\t\t} catch (err) {\r\n\t\t\t\tthrow new Error(\r\n\t\t\t\t\t`Encountered invalid format for version ${entry.numericVersion}`,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tif (version.buildNumber < 100) {\r\n\t\t\t\tversion.preRelease = {\r\n\t\t\t\t\ttype: \"beta\",\r\n\t\t\t\t\tversion: version.buildNumber,\r\n\t\t\t\t};\r\n\t\t\t} else if (version.buildNumber > 100) {\r\n\t\t\t\tversion.preRelease = {\r\n\t\t\t\t\ttype: \"patch\",\r\n\t\t\t\t\tversion: version.buildNumber - 100,\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...entry,\r\n\t\t\t\tversion,\r\n\t\t\t};\r\n\t\t},\r\n\t);\r\n\r\n\tfor (const libraryLocation of libraries) {\r\n\t\tconst libraryManifest =\r\n\t\t\treadPublishedPackageNpmManifest(libraryLocation);\r\n\t\tconst libraryCreatorPackage =\r\n\t\t\treadPublishedPackageCreatorManifest(libraryLocation);\r\n\r\n\t\tif (\r\n\t\t\tlibraryCreatorPackage === undefined ||\r\n\t\t\tlibraryManifest.main === undefined ||\r\n\t\t\tlibraryCreatorPackage.Package === creatorPackage.Package\r\n\t\t) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tconst libraryVersion = PackageVersion.extractFromLine(\r\n\t\t\tlibraryManifest.version,\r\n\t\t);\r\n\r\n\t\tif (libraryVersion.preRelease) {\r\n\t\t\tlibraryVersion.buildNumber = libraryVersion.preRelease.version;\r\n\t\t\tlibraryVersion.preRelease = undefined;\r\n\t\t} else {\r\n\t\t\tlibraryVersion.buildNumber = 100;\r\n\t\t}\r\n\r\n\t\tlet uploadedPackageInBasics: UploadedPackage | undefined;\r\n\t\tlet uploadedPackageInTarget: UploadedPackage | undefined;\r\n\r\n\t\tfor (const uploadedPackage of uploadedPackages) {\r\n\t\t\tif (uploadedPackage.scope === libraryCreatorPackage.Package) {\r\n\t\t\t\tif (uploadedPackage.support) {\r\n\t\t\t\t\tuploadedPackageInBasics = uploadedPackage;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tuploadedPackageInTarget = uploadedPackage;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst validInBasics =\r\n\t\t\tuploadedPackageInBasics !== undefined &&\r\n\t\t\t!uploadedPackageInBasics.version.isLesserThan(libraryVersion);\r\n\t\tconst validInTarget =\r\n\t\t\tuploadedPackageInTarget !== undefined &&\r\n\t\t\t!uploadedPackageInTarget.version.isLesserThan(libraryVersion);\r\n\r\n\t\tif (validInBasics || validInTarget) {\r\n\t\t\tif (\r\n\t\t\t\ttargetSession.subDomain !== \"Basics\" &&\r\n\t\t\t\tuploadedPackageInBasics !== undefined &&\r\n\t\t\t\tuploadedPackageInTarget !== undefined\r\n\t\t\t) {\r\n\t\t\t\tlogPackageMessage(\r\n\t\t\t\t\tcreatorPackage.Package,\r\n\t\t\t\t\t`Package ${libraryCreatorPackage.Package} is uploaded both for Basics and ${targetSession.subDomain}. The package within ${targetSession.subDomain} will be used.`,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tconst possibleTargets: PrompterOption[] = [];\r\n\r\n\t\tif (uploadedPackageInBasics) {\r\n\t\t\tconst version = uploadedPackageInBasics.version.toVersionString({\r\n\t\t\t\tbuildNumber: true,\r\n\t\t\t});\r\n\r\n\t\t\tpossibleTargets.push({\r\n\t\t\t\tvalue: \"Basics\",\r\n\t\t\t\tname: `Basics (Current: ${version})`,\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tpossibleTargets.push({\r\n\t\t\t\tvalue: \"Basics\",\r\n\t\t\t\tname: \"Basics (Current: None)\",\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (targetSession.subDomain !== \"Basics\") {\r\n\t\t\tif (uploadedPackageInTarget) {\r\n\t\t\t\tconst version = uploadedPackageInTarget.version.toVersionString(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tbuildNumber: true,\r\n\t\t\t\t\t},\r\n\t\t\t\t);\r\n\r\n\t\t\t\tpossibleTargets.push({\r\n\t\t\t\t\tvalue: targetSession.subDomain,\r\n\t\t\t\t\tname: `${targetSession.subDomain} (Current: ${version})`,\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tpossibleTargets.push({\r\n\t\t\t\t\tvalue: targetSession.subDomain,\r\n\t\t\t\t\tname: `${targetSession.subDomain} (Current: None)`,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst libraryVersionString = libraryVersion.toVersionString({\r\n\t\t\tbuildNumber: true,\r\n\t\t});\r\n\r\n\t\tconst uploadTargetScope = await prompter.ask({\r\n\t\t\tmessage: `Version ${libraryVersionString} of dependency ${libraryCreatorPackage.Package} is required but not available. Please select a subdomain to upload the correct dependency version to`,\r\n\t\t\toptions: [\r\n\t\t\t\t...possibleTargets,\r\n\t\t\t\t{ name: \"Skip upload\", value: \"Skip\" },\r\n\t\t\t],\r\n\t\t\tdefault: possibleTargets[0].value,\r\n\t\t});\r\n\r\n\t\tif (uploadTargetScope === \"Skip\") {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tconst archive = buildArchiveFromPublishedPackage(\r\n\t\t\tlibraryLocation,\r\n\t\t\tlibraryManifest,\r\n\t\t\tlibraryCreatorPackage,\r\n\t\t);\r\n\r\n\t\tconst newVersionString = libraryVersion.toVersionString({\r\n\t\t\tbuildNumber: true,\r\n\t\t});\r\n\t\tconst packageNameWithVersion = `${libraryCreatorPackage.Package}_${newVersionString}`;\r\n\r\n\t\tconst zipFilePath = path.join(\r\n\t\t\tgetWorkspaceOutputPath(workspaceLocation),\r\n\t\t\t`${packageNameWithVersion}.zip`,\r\n\t\t);\r\n\r\n\t\ttry {\r\n\t\t\tawait fs.rm(zipFilePath);\r\n\t\t} catch (err) {\r\n\t\t\tif (!isErrorENOENT(err)) {\r\n\t\t\t\tthrow err;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst session =\r\n\t\t\tuploadTargetScope === \"Basics\"\r\n\t\t\t\t? await sessionManager.getBasicsSession()\r\n\t\t\t\t: targetSession;\r\n\r\n\t\tlogPackageMessage(\r\n\t\t\tcreatorPackage.Package,\r\n\t\t\t`Uploading package ${libraryCreatorPackage.Package} with version ${newVersionString} to ${session.domain}.${session.subDomain}`,\r\n\t\t);\r\n\r\n\t\tawait AssetService.uploadPackageFromStream(\r\n\t\t\tsession,\r\n\t\t\t{\r\n\t\t\t\tname: libraryCreatorPackage.Package,\r\n\t\t\t\tversion: newVersionString,\r\n\t\t\t},\r\n\t\t\tarchive.generateNodeStream(),\r\n\t\t);\r\n\t}\r\n};\r\n\r\ninterface SessionManager {\r\n\tgetBasicsSession: () => Promise<AssetService.Session>;\r\n\tgetTargetSession: () => AssetService.Session;\r\n\tdestroy: () => Promise<void>;\r\n}\r\n\r\nconst createSessionManager = async (\r\n\tparams: AssetService.SessionStartParams,\r\n): Promise<SessionManager> => {\r\n\tconst targetSession = await AssetService.startSession(params);\r\n\tlet basicsSession: AssetService.Session | undefined;\r\n\r\n\treturn {\r\n\t\tgetBasicsSession: async () => {\r\n\t\t\tif (targetSession.subDomain === \"Basics\") {\r\n\t\t\t\treturn targetSession;\r\n\t\t\t}\r\n\r\n\t\t\tif (basicsSession === undefined) {\r\n\t\t\t\tbasicsSession = await AssetService.startSession({\r\n\t\t\t\t\t...params,\r\n\t\t\t\t\tsubDomain: \"Basics\",\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\treturn basicsSession;\r\n\t\t},\r\n\r\n\t\tgetTargetSession: () => targetSession,\r\n\r\n\t\tdestroy: async () => {\r\n\t\t\tawait AssetService.closeSession(targetSession);\r\n\r\n\t\t\tif (basicsSession !== undefined) {\r\n\t\t\t\tawait AssetService.closeSession(basicsSession);\r\n\t\t\t}\r\n\t\t},\r\n\t};\r\n};\r\n"],"names":["buildArchiveFromPublishedPackage","location","manifest","creatorPackage","archive","JSZip","file","PACKAGE_FILE","JSON","stringify","index","readPublishedPackageCreatorIndex","undefined","INDEX_FILE","main","fs","createReadStream","path","join","runtimeScripts","notRuntimeScripts","buildArchiveFromPackage","workspaceLocation","packageLocation","data","domain","subdomain","parseCreatorPackageName","logStep","step","logPackageMessage","Package","libFilePath","getWorkspaceOutputPath","scriptDirectories","scriptsDir","push","readPackageCreatorManifest","RunTime","includes","Type","writePackageCreatorManifest","libFile","readFileSync","encoding","err","isErrorENOENT","library","date","Date","now","getFullYear","minifyResult","terser","minify","ecma","code","creatorIndex","readPackageCreatorIndex","directory","readdirSync","ext","parse","console","error","execAsync","promisify","exec","releaseFolder","options","workspace","write","writeVersionFile","reset","resetVersionFile","getVersionFileHandler","packageDescription","fullPackageName","publishDomain","publishSubdomain","sharedPackageJson","readWorkspaceNpmManifest","newVersion","parseVersionFromString","Error","Version","toVersionString","buildNumber","preRelease","type","version","cwd","binDir","mkdir","recursive","assetServerPackageDetails","packageNameWithVersion","versionWithoutPrelease","clone","newVersionString","name","zipFilePath","uploadable","getStream","pushOnly","zipFileExists","stat","catch","Promise","reject","gitVersionInformation","getVersionInformationFromGit","bannerText","getWorkspaceBannerText","buildFolders","packages","banner","text","commit","commitDirty","dirty","rm","readPackageAnimationList","length","workspaceManifest","dependencies","install","prompter","confirm","zipOutputStream","createWriteStream","pipeline","generateNodeStream","isErrorEACCES","isErrorEPERM","noUpload","authentication","sessionManager","createSessionManager","url","service","address","subDomain","skipDependencies","ensureRequiredVersions","AssetService","getTargetSession","destroy","zipFileName","releasesPath","getPackageReleasesDirectory","libraries","determineWorkspaceIGLibraries","targetSession","rawUploadedPackages","uploadedPackages","map","entry","parseVersionFromNumericVersion","numericVersion","libraryLocation","libraryManifest","readPublishedPackageNpmManifest","libraryCreatorPackage","readPublishedPackageCreatorManifest","libraryVersion","PackageVersion","extractFromLine","uploadedPackageInBasics","uploadedPackageInTarget","uploadedPackage","scope","support","validInBasics","isLesserThan","validInTarget","possibleTargets","value","libraryVersionString","uploadTargetScope","ask","message","default","session","getBasicsSession","params","basicsSession"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBO,MAAMA,gCAAAA,GAAmC,CAC/CC,QAAAA,EACAC,UACAC,cACI,GAAA;AACJ,IAAA,MAAMC,UAAU,IAAIC,KAAAA,EAAAA,CAAAA;IAEpBD,OAAQE,CAAAA,IAAI,CAACC,YAAcC,EAAAA,IAAAA,CAAKC,SAAS,CAACN,cAAAA,EAAgB,IAAI,EAAE,CAAA,CAAA,CAAA,CAAA;AAEhE,IAAA,MAAMO,QAAQC,gCAAiCV,CAAAA,QAAAA,CAAAA,CAAAA;AAE/C,IAAA,IAAIS,UAAUE,SAAW,EAAA;QACxBR,OAAQE,CAAAA,IAAI,CAACO,UAAYL,EAAAA,IAAAA,CAAKC,SAAS,CAACC,KAAAA,EAAO,IAAI,EAAE,CAAA,CAAA,CAAA,CAAA;KACrD;AAEDN,IAAAA,OAAAA,CAAQE,IAAI,CACXJ,QAASY,CAAAA,IAAI,EACbC,EAAGC,CAAAA,gBAAgB,CAACC,IAAAA,CAAKC,IAAI,CAACjB,QAAAA,CAASgB,IAAI,EAAEf,SAASY,IAAI,CAAA,CAAA,CAAA,CAAA;IAG3D,OAAOV,OAAAA,CAAAA;AACR,CAAE,CAAA;AAEF,MAAMe,cAA2C,GAAA;AAChD,IAAA,YAAA;AACA,IAAA,MAAA;AACA,IAAA,OAAA;AACA,CAAA,CAAA;AAED,MAAMC,iBAA8C,GAAA;AAAC,IAAA,SAAA;AAAW,IAAA,WAAA;AAAY,CAAA,CAAA;AAErE,MAAMC,uBAAAA,GAA0B,OACtCC,iBAAAA,EACAC,iBACAC,IACI,GAAA;AACJ,IAAA,MAAM,EAAEC,MAAM,GAAEC,SAAS,GAAE,GAAGC,uBAAwBH,CAAAA,IAAAA,CAAAA,CAAAA;AAEtD,IAAA,MAAMI,UAAU,CAACC,IAAAA,GAAiBC,iBAAkBN,CAAAA,IAAAA,CAAKO,OAAO,EAAEF,IAAAA,CAAAA,CAAAA;AAElE,IAAA,MAAMG,WAAcf,GAAAA,IAAAA,CAAKC,IAAI,CAC5Be,sBAAuBX,CAAAA,iBAAAA,CAAAA,EACvB,CAAC,EAAEE,IAAKO,CAAAA,OAAO,CAAC,OAAO,CAAC,CAAA,CAAA;AAGzB,IAAA,MAAMG,iBAA8B,GAAA;AACnCX,QAAAA,eAAAA,CAAgBN,IAAI;AACpBM,QAAAA,eAAAA,CAAgBY,UAAU;AAC1B,KAAA,CAAA;AAED,IAAA,IAAIT,cAAc,cAAgB,EAAA;QACjCE,OAAQ,CAAA,CAAC,uBAAuB,CAAC,CAAA,CAAA;AACjCM,QAAAA,iBAAAA,CAAkBE,IAAI,CAACnB,IAAAA,CAAKC,IAAI,CAACK,eAAAA,CAAgBN,IAAI,EAAE,QAAA,CAAA,CAAA,CAAA;KACvD;AAED,IAAA,MAAMf,WAAWmC,0BAA2Bd,CAAAA,eAAAA,CAAAA,CAAAA;AAE5C,IAAA,IAAIrB,aAAaU,SAAW,EAAA;QAC3B,IAAIV,QAAAA,CAASoC,OAAO,IAAIlB,iBAAAA,CAAkBmB,QAAQ,CAACrC,QAAAA,CAASsC,IAAI,CAAG,EAAA;YAClEZ,OAAQ,CAAA,wDAAA,CAAA,CAAA;AACRa,YAAAA,2BAAAA,CAA4BlB,eAAiB,EAAA;AAC5C,gBAAA,GAAGrB,QAAQ;AACXoC,gBAAAA,OAAAA,EAAS,KAAK;AACf,aAAA,CAAA,CAAA;SACM,MAAA,IACN,CAACpC,QAAAA,CAASoC,OAAO,IACjBnB,eAAeoB,QAAQ,CAACrC,QAASsC,CAAAA,IAAI,CACpC,EAAA;YACDZ,OAAQ,CAAA,uDAAA,CAAA,CAAA;AACRa,YAAAA,2BAAAA,CAA4BlB,eAAiB,EAAA;AAC5C,gBAAA,GAAGrB,QAAQ;AACXoC,gBAAAA,OAAAA,EAAS,IAAI;AACd,aAAA,CAAA,CAAA;SACA;KACD;IAED,IAAII,OAAAA,CAAAA;IAEJ,IAAI;QACHA,OAAU3B,GAAAA,EAAAA,CAAG4B,YAAY,CAACX,WAAa,EAAA;YAAEY,QAAU,EAAA,MAAA;AAAO,SAAA,CAAA,CAAA;AAC3D,KAAA,CAAE,OAAOC,GAAK,EAAA;QACb,IAAI,CAACC,cAAcD,GAAM,CAAA,EAAA;AACxB,YAAA,MAAMA,GAAI,CAAA;SACV;AACF,KAAA;AAEA,IAAA,MAAMzC,UAAU,IAAIC,KAAAA,EAAAA,CAAAA;AAEpB,IAAA,IAAI0C,OAAkB,GAAA,EAAA,CAAA;AAEtB,IAAA,IAAIL,OAAS,EAAA;QACZK,OAAUL,GAAAA,OAAAA,CAAAA;KACV;AAED,IAAA,IAAI,CAACK,OAAS,EAAA;AACb,QAAA,MAAMC,IAAO,GAAA,IAAIC,IAAKA,CAAAA,IAAAA,CAAKC,GAAG,EAAA,CAAA,CAAA;QAC9BH,OAAU,GAAA,CAAC,4BAA4B,EAAEtB,MAAO,CAAA;AAChC,kBAAA,EAAEuB,IAAKG,CAAAA,WAAW,EAAG,CAAA,6CAA6C,CAAC,CAAA;KACnF;AAED,IAAA,MAAMC,YAAe,GAAA,MAAMC,MAAOC,CAAAA,MAAM,CAACP,OAAS,EAAA;QAAEQ,IAAM,EAAA,CAAA;AAAE,KAAA,CAAA,CAAA;IAE5DnD,OAAQE,CAAAA,IAAI,CAAC,CAAC,EAAEkB,IAAAA,CAAKO,OAAO,CAAC,GAAG,CAAC,EAAEqB,YAAAA,CAAaI,IAAI,CAAA,CAAA;IACpDpD,OAAQE,CAAAA,IAAI,CAACC,YAAcC,EAAAA,IAAAA,CAAKC,SAAS,CAACe,IAAAA,EAAM,IAAI,EAAE,CAAA,CAAA,CAAA,CAAA;AAEtD,IAAA,MAAMiC,eAAeC,uBAAwBnC,CAAAA,eAAAA,CAAAA,CAAAA;AAE7C,IAAA,IAAIkC,iBAAiB7C,SAAW,EAAA;QAC/BR,OAAQE,CAAAA,IAAI,CAACO,UAAYL,EAAAA,IAAAA,CAAKC,SAAS,CAACgD,YAAAA,EAAc,IAAI,EAAE,CAAA,CAAA,CAAA,CAAA;KAC5D;IAED,KAAK,MAAME,aAAazB,iBAAmB,CAAA;QAC1C,IAAI;AACH,YAAA,KAAK,MAAM5B,IAAAA,IAAQS,EAAG6C,CAAAA,WAAW,CAACD,SAAY,CAAA,CAAA;AAC7C,gBAAA,MAAM,EAAEE,GAAG,GAAE,GAAG5C,IAAAA,CAAK6C,KAAK,CAACxD,IAAAA,CAAAA,CAAAA;gBAE3B,OAAQuD,GAAAA;oBACP,KAAK,MAAA,CAAA;oBACL,KAAK,OAAA,CAAA;oBACL,KAAK,MAAA;wBACJ,MAAM;AACP,oBAAA;wBACC,SAAS;AACX,iBAAA;gBAEAzD,OAAQE,CAAAA,IAAI,CACXA,IACAS,EAAAA,EAAAA,CAAGC,gBAAgB,CAACC,IAAAA,CAAKC,IAAI,CAACyC,SAAWrD,EAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAE3C,aAAA;AACD,SAAA,CAAE,OAAOuC,GAAK,EAAA;AACbkB,YAAAA,OAAAA,CAAQC,KAAK,CAAC,CAAC,kBAAkB,EAAEL,SAAAA,CAAU,gBAAgB,CAAC,CAAA,CAAA;AAC/D,SAAA;AACD,KAAA;IAEA,OAAOvD,OAAAA,CAAAA;AACR,CAAE;;AC3FF,MAAM6D,YAAYC,SAAUC,CAAAA,IAAAA,CAAAA,CAAAA;AAErB,MAAMC,aAAgB,GAAA,OAAOC,OAAkC,GAAA;IACrE,MAAMC,SAAAA,GAAYD,QAAQC,SAAS,CAAA;IACnC,MAAMrE,QAAAA,GAAWoE,QAAQV,SAAS,CAAA;IAElC,MAAM,EAAEY,OAAOC,gBAAgB,GAAEC,OAAOC,gBAAgB,GAAE,GACzDC,qBAAsB1E,CAAAA,QAAAA,CAAAA,CAAAA;AAEvB,IAAA,MAAM2E,qBAAqBvC,0BAA2BpC,CAAAA,QAAAA,CAAAA,CAAAA;IACtD,MAAM4E,eAAAA,GAAkBD,mBAAmB7C,OAAO,CAAA;AAClD,IAAA,MAAM,EAAEN,MAAM,GAAEC,SAAS,GAAE,GAAGC,uBAAwBiD,CAAAA,kBAAAA,CAAAA,CAAAA;IAEtD,MAAME,aAAAA,GAAgBT,OAAQ5C,CAAAA,MAAM,IAAIA,MAAAA,CAAAA;IACxC,MAAMsD,gBAAAA,GAAmBV,OAAQ3C,CAAAA,SAAS,IAAIA,SAAAA,CAAAA;AAE9C,IAAA,MAAMsD,oBAAoBC,wBAAyBX,CAAAA,SAAAA,CAAAA,CAAAA;IAEnD,IAAIY,UAAAA,CAAAA;IACJ,IAAI;QACHA,UAAaC,GAAAA,sBAAAA,CAAuBd,QAAQa,UAAU,CAAA,CAAA;AACvD,KAAA,CAAE,OAAOrC,GAAK,EAAA;AACb,QAAA,MAAM,IAAIuC,KAAAA,CAAM,CAAC,+CAA+C,CAAC,CAAE,CAAA;AACpE,KAAA;AAEAR,IAAAA,kBAAAA,CAAmBS,OAAO,GAAGH,UAAWI,CAAAA,eAAe,CAAC;AACvDC,QAAAA,WAAAA,EAAa,IAAI;AAClB,KAAA,CAAA,CAAA;AACA9C,IAAAA,2BAAAA,CAA4BxC,QAAU2E,EAAAA,kBAAAA,CAAAA,CAAAA;IAEtC,IAAIM,UAAAA,CAAWK,WAAW,GAAG,GAAK,EAAA;AACjCL,QAAAA,UAAAA,CAAWM,UAAU,GAAG;YACvBC,IAAM,EAAA,MAAA;AACNC,YAAAA,OAAAA,EAASR,WAAWK,WAAW;AAChC,SAAA,CAAA;AACD,KAAA,MAAO,IAAIL,UAAAA,CAAWK,WAAW,GAAG,GAAK,EAAA;AACxCL,QAAAA,UAAAA,CAAWM,UAAU,GAAG;YACvBC,IAAM,EAAA,OAAA;YACNC,OAASR,EAAAA,UAAAA,CAAWK,WAAW,GAAG,GAAA;AACnC,SAAA,CAAA;KACA;AAED,IAAA,IAAIP,sBAAsBpE,SAAW,EAAA;AACpCkB,QAAAA,iBAAAA,CACC8C,kBAAmB7C,CAAAA,OAAO,EAC1B,CAAC,gEAAgE,CAAC,CAAA,CAAA;AAEnE,QAAA,MAAMkC,SAAU,CAAA,CAAC,WAAW,CAAC,EAAE;YAC9BrB,QAAU,EAAA,OAAA;AACV+C,YAAAA,GAAAA,EAAKrB,UAAUrD,IAAI;AACpB,SAAA,CAAA,CAAA;KACA;AAED,IAAA,MAAM2E,SAAS3D,sBAAuBqC,CAAAA,SAAAA,CAAAA,CAAAA;IACtC,MAAMvD,IAAAA,CAAG8E,KAAK,CAACD,MAAQ,EAAA;AAAEE,QAAAA,SAAAA,EAAW,IAAI;AAAC,KAAA,CAAA,CAAA;IAEzC,IAAIC,yBAAAA,CAAAA;IAEJ,IAAIC,sBAAAA,CAAAA;AAEJ,IAAA;QACC,MAAMC,sBAAAA,GAAyBf,WAAWgB,KAAK,EAAA,CAAA;AAC/CD,QAAAA,sBAAAA,CAAuBT,UAAU,GAAG5E,SAAAA,CAAAA;QACpC,MAAMuF,gBAAAA,GAAmBF,sBAAuBX,CAAAA,eAAe,CAAC;AAC/DC,YAAAA,WAAAA,EAAa,IAAI;AAClB,SAAA,CAAA,CAAA;QACAS,sBAAyB,GAAA,CAAC,EAAEpB,kBAAmB7C,CAAAA,OAAO,CAAC,CAAC,EAAEoE,iBAAiB,CAAC,CAAA;QAE5EJ,yBAA4B,GAAA;AAC3BK,YAAAA,IAAAA,EAAMxB,mBAAmB7C,OAAO;YAChC2D,OAASS,EAAAA,gBAAAA;AACV,SAAA,CAAA;AACD,KAAA;AAEA,IAAA,IAAIE,WAAcpF,GAAAA,IAAAA,CAAKC,IAAI,CAAC0E,QAAQI,sBAAyB,GAAA,MAAA,CAAA,CAAA;AAK7D,IAAA,IAAIM,UAAyB,GAAA;AAC5BC,QAAAA,SAAAA,EAAW,IAAMvF,gBAAiBqF,CAAAA,WAAAA,CAAAA;AACnC,KAAA,CAAA;IAEA,IAAI;QACH,IAAIhC,OAAAA,CAAQmC,QAAQ,EAAE;YACrB,MAAMC,aAAAA,GAAgB,MAAM1F,IAAG2F,CAAAA,IAAI,CAACL,WAAaM,CAAAA,CAAAA,KAAK,CAAC,CAAC9D,GAAQ,GAAA;AAC/D,gBAAA,IAAIC,cAAcD,GAAM,CAAA,EAAA;AACvB,oBAAA,OAAO,KAAK,CAAA;iBACZ;gBACD,OAAO+D,OAAAA,CAAQC,MAAM,CAAChE,GAAAA,CAAAA,CAAAA;AACvB,aAAA,CAAA,CAAA;AAEA,YAAA,IAAI4D,aAAe,EAAA;gBAClB,MAAM,IAAIrB,MACT,CAAC,qCAAqC,EAAEiB,WAAY,CAAA,4BAA4B,CAAC,CAChF,CAAA;aACF;SACK,MAAA;YACN,MAAMS,qBAAAA,GAAwB,MAAMC,4BAAAA,CACnCzC,SACArE,EAAAA,QAAAA,CAAAA,CAAAA;AAGDuE,YAAAA,gBAAAA,CAAiBK,eAAiBK,EAAAA,UAAAA,CAAAA,CAAAA;AAElC,YAAA,MAAM8B,UACLhC,GAAAA,iBAAAA,KAAsBpE,SACnBqG,GAAAA,sBAAAA,CAAuBjC,qBACvBpE,SAAS,CAAA;AAEb,YAAA,MAAMsG,YAAa,CAAA;AAClB,gBAAA,GAAG7C,OAAO;gBACV8C,QAAU,EAAA;AAAClH,oBAAAA,QAAAA;AAAS,iBAAA;gBACpBmH,MAAQ/C,EAAAA,OAAAA,CAAQ+C,MAAM,GACnB;oBACAC,IAAML,EAAAA,UAAAA;AACNM,oBAAAA,MAAAA,EAAQR,sBAAsBQ,MAAM;AACpCC,oBAAAA,WAAAA,EAAaT,sBAAsBU,KAAK;oBACxC9B,OAASR,EAAAA,UAAAA,CAAWI,eAAe,CAAC;AACnCC,wBAAAA,WAAAA,EAAa,IAAI;AAClB,qBAAA,CAAA;oBACAvC,IAAM,EAAA,IAAIC,IAAKA,CAAAA,IAAAA,CAAKC,GAAG,EAAA,CAAA;AAIvB,iBAAA,GACAtC,SAAS;AACb,aAAA,CAAA,CAAA;AAEAsE,YAAAA,UAAAA,CAAWM,UAAU,GAAG5E,SAAAA,CAAAA;YAExB,IAAI;gBACH,MAAMG,IAAAA,CAAG0G,EAAE,CAACpB,WAAAA,CAAAA,CAAAA;AACb,aAAA,CAAE,OAAOxD,GAAK,EAAA;gBACb,IAAI,CAACC,cAAcD,GAAM,CAAA,EAAA;AACxB,oBAAA,MAAMA,GAAI,CAAA;iBACV;AACF,aAAA;AAEA,YAAA,IAAI6E,wBAAyBzH,CAAAA,QAAAA,CAAAA,CAAU0H,MAAM,GAAG,CAAG,EAAA;AAIhDC,gBAAAA,IAAAA,+BAAAA,CAAAA;AAHF,gBAAA,MAAMA,oBAAoB3C,wBAAyBX,CAAAA,SAAAA,CAAAA,CAAAA;AAEnD,gBAAA,IACC,EAACsD,CAAAA,+BAAAA,GAAAA,iBAAkBC,CAAAA,YAAY,KAA9BD,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,+BAAgC,CAChC,yCAAA,CACA,CACA,EAAA;oBACD,MAAME,OAAAA,GAAU,MAAMzD,OAAQ0D,CAAAA,QAAQ,CAACC,OAAO,CAC7C,CAAC,uJAAuJ,CAAC,CAAA,CAAA;AAG1J,oBAAA,IAAIF,OAAS,EAAA;AACZ,wBAAA,MAAM7D,SACL,CAAA,CAAC,mDAAmD,CAAC,EACrD;4BACCrB,QAAU,EAAA,OAAA;AACV+C,4BAAAA,GAAAA,EAAKrB,UAAUrD,IAAI;AACpB,yBAAA,CAAA,CAAA;AAGD,wBAAA,MAAMgD,SAAU,CAAA,CAAC,mBAAmB,CAAC,EAAE;AACtC0B,4BAAAA,GAAAA,EAAKrB,UAAUrD,IAAI;AACpB,yBAAA,CAAA,CAAA;qBACA;iBACD;aACD;AAED,YAAA,MAAMb,OAAU,GAAA,MAAMiB,uBACrBiD,CAAAA,SAAAA,EACArE,QACA2E,EAAAA,kBAAAA,CAAAA,CAAAA;YAGD,IAAI;AACH,gBAAA,MAAMqD,kBAAkBC,iBAAkB7B,CAAAA,WAAAA,CAAAA,CAAAA;gBAC1C,MAAM8B,QAAAA,CAAS/H,OAAQgI,CAAAA,kBAAkB,EAAIH,EAAAA,eAAAA,CAAAA,CAAAA;AAC9C,aAAA,CAAE,OAAOpF,GAAK,EAAA;gBACb,IAAIwF,aAAAA,CAAcxF,GAAQyF,CAAAA,IAAAA,YAAAA,CAAazF,GAAM,CAAA,EAAA;AAC5Cf,oBAAAA,iBAAAA,CACC8C,kBAAmB7C,CAAAA,OAAO,EAC1B,CAAC,sGAAsG,CAAC,CAAA,CAAA;oBAEzGuE,UAAa,GAAA;wBACZC,SAAW,EAAA,IAAMnG,QAAQgI,kBAAkB,EAAA;AAC5C,qBAAA,CAAA;iBACM,MAAA;AACN,oBAAA,MAAMvF,GAAI,CAAA;iBACV;AACF,aAAA;SACA;QAED,IAAI,CAACwB,OAAQkE,CAAAA,QAAQ,EAAE;YACtB,IAAI,CAAClE,OAAQmE,CAAAA,cAAc,EAAE;AAC5B,gBAAA,MAAM,IAAIpD,KAAAA,CAAM,CAAC,uCAAuC,CAAC,CAAE,CAAA;aAC3D;AAEDtD,YAAAA,iBAAAA,CACC8C,kBAAmB7C,CAAAA,OAAO,EAC1B,CAAC,qCAAqC,CAAC,CAAA,CAAA;YAGxC,MAAM0G,cAAAA,GAAiB,MAAMC,oBAAqB,CAAA;AACjDC,gBAAAA,GAAAA,EAAKtE,QAAQuE,OAAO;AACpBC,gBAAAA,OAAAA,EAASxE,QAAQwE,OAAO;gBACxBpH,MAAQqD,EAAAA,aAAAA;gBACRgE,SAAW/D,EAAAA,gBAAAA;AACXyD,gBAAAA,cAAAA,EAAgBnE,QAAQmE,cAAc;AACvC,aAAA,CAAA,CAAA;YAEA,IAAI;gBACH,IAAI,CAACnE,OAAQ0E,CAAAA,gBAAgB,EAAE;AAC9B,oBAAA,MAAMC,sBACL1E,CAAAA,SAAAA,EACAM,kBACA6D,EAAAA,cAAAA,EACApE,QAAQ0D,QAAQ,CAAA,CAAA;iBAEjB;gBAEDjG,iBACC8C,CAAAA,kBAAAA,CAAmB7C,OAAO,EAC1B,CAAC,qBAAqB,EAAE+C,aAAc,CAAA,CAAC,EAAEC,gBAAAA,CAAiB,CAAC,CAAA,CAAA;gBAG5D,MAAMkE,uBAAoC,CACzCR,cAAAA,CAAeS,gBAAgB,EAC/BnD,EAAAA,yBAAAA,EACAO,WAAWC,SAAS,EAAA,CAAA,CAAA;aAEZ,QAAA;AACT,gBAAA,MAAMkC,eAAeU,OAAO,EAAA,CAAGxC,KAAK,CAAC,CAAC9D,GAAQ,GAAA;AAC7Cf,oBAAAA,iBAAAA,CACC8C,mBAAmB7C,OAAO,EAC1B,CAAC,4CAA4C,EAAEc,IAAI,CAAC,CAAA,CAAA;AAEtD,iBAAA,CAAA,CAAA;AACD,aAAA;SACA;AACF,KAAA,CAAE,OAAOA,GAAK,EAAA;AACb6B,QAAAA,gBAAAA,EAAAA,CAAAA;AACA,QAAA,MAAM7B,GAAI,CAAA;AACX,KAAA;AAEA,IAAA,IAAIqC,WAAWK,WAAW,IAAI,OAAO,CAAClB,OAAAA,CAAQmC,QAAQ,EAAE;AACvD1E,QAAAA,iBAAAA,CAAkB+C,eAAiB,EAAA,gCAAA,CAAA,CAAA;AAEnC,QAAA,MAAMuE,WAAc,GAAA,CAAC,EAAEpD,sBAAAA,CAAuB,IAAI,CAAC,CAAA;AACnD,QAAA,MAAMqD,eAAeC,2BAA4BrJ,CAAAA,QAAAA,CAAAA,CAAAA;QAEjD,MAAMc,IAAAA,CAAG8E,KAAK,CAACwD,YAAc,EAAA;AAAEvD,YAAAA,SAAAA,EAAW,IAAI;AAAC,SAAA,CAAA,CAAA;QAC/C,MAAMqC,QAAAA,CACL7B,WAAWC,SAAS,EAAA,EACpB2B,kBAAkBjH,IAAKC,CAAAA,IAAI,CAACmI,YAAcD,EAAAA,WAAAA,CAAAA,CAAAA,CAAAA,CAAAA;KAE3C;AACF,EAAE;AAEF,MAAMJ,sBAAyB,GAAA,OAC9B1H,iBACAnB,EAAAA,cAAAA,EACAsI,gBACAV,QACI,GAAA;AAMJ,IAAA,MAAMwB,YAAYC,6BAA8BlI,CAAAA,iBAAAA,CAAAA,CAAAA;;IAGhD,IAAIiI,SAAAA,CAAU5B,MAAM,KAAK,CAAG,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAA;KACX;IAED,MAAM8B,aAAAA,GAAgBhB,eAAeS,gBAAgB,EAAA,CAAA;AAErD,IAAA,MAAMQ,mBAAsB,GAAA,MAAMT,mBAAgC,CACjEQ,aAAAA,CAAAA,CAAAA;AAGD,IAAA,MAAME,gBAAmBD,GAAAA,mBAAAA,CAAoBE,GAAG,CAC/C,CAACC,KAA2B,GAAA;QAC3B,IAAInE,OAAAA,CAAAA;QAEJ,IAAI;YACHA,OAAUoE,GAAAA,8BAAAA,CAA+BD,MAAME,cAAc,CAAA,CAAA;AAC9D,SAAA,CAAE,OAAOlH,GAAK,EAAA;YACb,MAAM,IAAIuC,MACT,CAAC,uCAAuC,EAAEyE,KAAME,CAAAA,cAAc,CAAC,CAAC,CAC/D,CAAA;AACH,SAAA;QAEA,IAAIrE,OAAAA,CAAQH,WAAW,GAAG,GAAK,EAAA;AAC9BG,YAAAA,OAAAA,CAAQF,UAAU,GAAG;gBACpBC,IAAM,EAAA,MAAA;AACNC,gBAAAA,OAAAA,EAASA,QAAQH,WAAW;AAC7B,aAAA,CAAA;AACD,SAAA,MAAO,IAAIG,OAAAA,CAAQH,WAAW,GAAG,GAAK,EAAA;AACrCG,YAAAA,OAAAA,CAAQF,UAAU,GAAG;gBACpBC,IAAM,EAAA,OAAA;gBACNC,OAASA,EAAAA,OAAAA,CAAQH,WAAW,GAAG,GAAA;AAChC,aAAA,CAAA;SACA;QAED,OAAO;AACN,YAAA,GAAGsE,KAAK;AACRnE,YAAAA,OAAAA;AACD,SAAA,CAAA;AACD,KAAA,CAAA,CAAA;IAGD,KAAK,MAAMsE,mBAAmBT,SAAW,CAAA;AACxC,QAAA,MAAMU,kBACLC,+BAAgCF,CAAAA,eAAAA,CAAAA,CAAAA;AACjC,QAAA,MAAMG,wBACLC,mCAAoCJ,CAAAA,eAAAA,CAAAA,CAAAA;QAErC,IACCG,qBAAAA,KAA0BvJ,SAC1BqJ,IAAAA,eAAAA,CAAgBnJ,IAAI,KAAKF,SACzBuJ,IAAAA,qBAAAA,CAAsBpI,OAAO,KAAK5B,cAAe4B,CAAAA,OAAO,EACvD;YACD,SAAS;SACT;AAED,QAAA,MAAMsI,cAAiBC,GAAAA,cAAAA,CAAeC,eAAe,CACpDN,gBAAgBvE,OAAO,CAAA,CAAA;QAGxB,IAAI2E,cAAAA,CAAe7E,UAAU,EAAE;AAC9B6E,YAAAA,cAAAA,CAAe9E,WAAW,GAAG8E,cAAe7E,CAAAA,UAAU,CAACE,OAAO,CAAA;AAC9D2E,YAAAA,cAAAA,CAAe7E,UAAU,GAAG5E,SAAAA,CAAAA;SACtB,MAAA;AACNyJ,YAAAA,cAAAA,CAAe9E,WAAW,GAAG,GAAA,CAAA;SAC7B;QAED,IAAIiF,uBAAAA,CAAAA;QACJ,IAAIC,uBAAAA,CAAAA;QAEJ,KAAK,MAAMC,mBAAmBf,gBAAkB,CAAA;AAC/C,YAAA,IAAIe,eAAgBC,CAAAA,KAAK,KAAKR,qBAAAA,CAAsBpI,OAAO,EAAE;gBAC5D,IAAI2I,eAAAA,CAAgBE,OAAO,EAAE;oBAC5BJ,uBAA0BE,GAAAA,eAAAA,CAAAA;iBACpB,MAAA;oBACND,uBAA0BC,GAAAA,eAAAA,CAAAA;iBAC1B;aACD;AACF,SAAA;QAEA,MAAMG,aAAAA,GACLL,4BAA4B5J,SAC5B,IAAA,CAAC4J,wBAAwB9E,OAAO,CAACoF,YAAY,CAACT,cAAAA,CAAAA,CAAAA;QAC/C,MAAMU,aAAAA,GACLN,4BAA4B7J,SAC5B,IAAA,CAAC6J,wBAAwB/E,OAAO,CAACoF,YAAY,CAACT,cAAAA,CAAAA,CAAAA;AAE/C,QAAA,IAAIQ,iBAAiBE,aAAe,EAAA;AACnC,YAAA,IACCtB,cAAcX,SAAS,KAAK,YAC5B0B,uBAA4B5J,KAAAA,SAAAA,IAC5B6J,4BAA4B7J,SAC3B,EAAA;gBACDkB,iBACC3B,CAAAA,cAAAA,CAAe4B,OAAO,EACtB,CAAC,QAAQ,EAAEoI,qBAAAA,CAAsBpI,OAAO,CAAC,iCAAiC,EAAE0H,aAAcX,CAAAA,SAAS,CAAC,qBAAqB,EAAEW,cAAcX,SAAS,CAAC,cAAc,CAAC,CAAA,CAAA;aAEnK;YACD,SAAS;SACT;AAED,QAAA,MAAMkC,kBAAoC,EAAE,CAAA;AAE5C,QAAA,IAAIR,uBAAyB,EAAA;AAC5B,YAAA,MAAM9E,OAAU8E,GAAAA,uBAAAA,CAAwB9E,OAAO,CAACJ,eAAe,CAAC;AAC/DC,gBAAAA,WAAAA,EAAa,IAAI;AAClB,aAAA,CAAA,CAAA;AAEAyF,YAAAA,eAAAA,CAAgB5I,IAAI,CAAC;gBACpB6I,KAAO,EAAA,QAAA;AACP7E,gBAAAA,IAAAA,EAAM,CAAC,iBAAiB,EAAEV,OAAAA,CAAQ,CAAC,CAAC;AACrC,aAAA,CAAA,CAAA;SACM,MAAA;AACNsF,YAAAA,eAAAA,CAAgB5I,IAAI,CAAC;gBACpB6I,KAAO,EAAA,QAAA;gBACP7E,IAAM,EAAA,wBAAA;AACP,aAAA,CAAA,CAAA;SACA;QAED,IAAIqD,aAAAA,CAAcX,SAAS,KAAK,QAAU,EAAA;AACzC,YAAA,IAAI2B,uBAAyB,EAAA;AAC5B,gBAAA,MAAM/E,OAAU+E,GAAAA,uBAAAA,CAAwB/E,OAAO,CAACJ,eAAe,CAC9D;AACCC,oBAAAA,WAAAA,EAAa,IAAI;AAClB,iBAAA,CAAA,CAAA;AAGDyF,gBAAAA,eAAAA,CAAgB5I,IAAI,CAAC;AACpB6I,oBAAAA,KAAAA,EAAOxB,cAAcX,SAAS;oBAC9B1C,IAAM,EAAA,CAAC,EAAEqD,aAAcX,CAAAA,SAAS,CAAC,WAAW,EAAEpD,OAAQ,CAAA,CAAC,CAAC;AACzD,iBAAA,CAAA,CAAA;aACM,MAAA;AACNsF,gBAAAA,eAAAA,CAAgB5I,IAAI,CAAC;AACpB6I,oBAAAA,KAAAA,EAAOxB,cAAcX,SAAS;AAC9B1C,oBAAAA,IAAAA,EAAM,CAAC,EAAEqD,aAAAA,CAAcX,SAAS,CAAC,gBAAgB,CAAC;AACnD,iBAAA,CAAA,CAAA;aACA;SACD;QAED,MAAMoC,oBAAAA,GAAuBb,cAAe/E,CAAAA,eAAe,CAAC;AAC3DC,YAAAA,WAAAA,EAAa,IAAI;AAClB,SAAA,CAAA,CAAA;AAEA,QAAA,MAAM4F,iBAAoB,GAAA,MAAMpD,QAASqD,CAAAA,GAAG,CAAC;YAC5CC,OAAS,EAAA,CAAC,QAAQ,EAAEH,oBAAqB,CAAA,eAAe,EAAEf,qBAAsBpI,CAAAA,OAAO,CAAC,qGAAqG,CAAC;YAC9LsC,OAAS,EAAA;AACL2G,gBAAAA,GAAAA,eAAAA;AACH,gBAAA;oBAAE5E,IAAM,EAAA,aAAA;oBAAe6E,KAAO,EAAA,MAAA;AAAO,iBAAA;AACrC,aAAA;AACDK,YAAAA,OAAAA,EAASN,eAAe,CAAC,CAAE,CAAA,CAACC,KAAK;AAClC,SAAA,CAAA,CAAA;AAEA,QAAA,IAAIE,sBAAsB,MAAQ,EAAA;YACjC,SAAS;SACT;QAED,MAAM/K,OAAAA,GAAUJ,gCACfgK,CAAAA,eAAAA,EACAC,eACAE,EAAAA,qBAAAA,CAAAA,CAAAA;QAGD,MAAMhE,gBAAAA,GAAmBkE,cAAe/E,CAAAA,eAAe,CAAC;AACvDC,YAAAA,WAAAA,EAAa,IAAI;AAClB,SAAA,CAAA,CAAA;QACA,MAAMS,sBAAAA,GAAyB,CAAC,EAAEmE,qBAAAA,CAAsBpI,OAAO,CAAC,CAAC,EAAEoE,gBAAAA,CAAiB,CAAC,CAAA;QAErF,MAAME,WAAAA,GAAcpF,IAAKC,CAAAA,IAAI,CAC5Be,sBAAAA,CAAuBX,oBACvB,CAAC,EAAE0E,sBAAuB,CAAA,IAAI,CAAC,CAAA,CAAA;QAGhC,IAAI;YACH,MAAMjF,IAAAA,CAAG0G,EAAE,CAACpB,WAAAA,CAAAA,CAAAA;AACb,SAAA,CAAE,OAAOxD,GAAK,EAAA;YACb,IAAI,CAACC,cAAcD,GAAM,CAAA,EAAA;AACxB,gBAAA,MAAMA,GAAI,CAAA;aACV;AACF,SAAA;AAEA,QAAA,MAAM0I,UACLJ,iBAAsB,KAAA,QAAA,GACnB,MAAM1C,cAAe+C,CAAAA,gBAAgB,KACrC/B,aAAa,CAAA;QAEjB3H,iBACC3B,CAAAA,cAAAA,CAAe4B,OAAO,EACtB,CAAC,kBAAkB,EAAEoI,qBAAAA,CAAsBpI,OAAO,CAAC,cAAc,EAAEoE,iBAAiB,IAAI,EAAEoF,QAAQ9J,MAAM,CAAC,CAAC,EAAE8J,OAAAA,CAAQzC,SAAS,CAAC,CAAC,CAAA,CAAA;QAGhI,MAAMG,uBAAoC,CACzCsC,OACA,EAAA;AACCnF,YAAAA,IAAAA,EAAM+D,sBAAsBpI,OAAO;YACnC2D,OAASS,EAAAA,gBAAAA;AACV,SAAA,EACA/F,QAAQgI,kBAAkB,EAAA,CAAA,CAAA;AAE5B,KAAA;AACD,CAAA,CAAA;AAQA,MAAMM,oBAAAA,GAAuB,OAC5B+C,MAC6B,GAAA;AAC7B,IAAA,MAAMhC,aAAgB,GAAA,MAAMR,YAAyB,CAACwC,MAAAA,CAAAA,CAAAA;IACtD,IAAIC,aAAAA,CAAAA;IAEJ,OAAO;AACNF,QAAAA,gBAAAA,EAAkB,UAAY;YAC7B,IAAI/B,aAAAA,CAAcX,SAAS,KAAK,QAAU,EAAA;gBACzC,OAAOW,aAAAA,CAAAA;aACP;AAED,YAAA,IAAIiC,kBAAkB9K,SAAW,EAAA;gBAChC8K,aAAgB,GAAA,MAAMzC,YAAyB,CAAC;AAC/C,oBAAA,GAAGwC,MAAM;oBACT3C,SAAW,EAAA,QAAA;AACZ,iBAAA,CAAA,CAAA;aACA;YAED,OAAO4C,aAAAA,CAAAA;AACR,SAAA;AAEAxC,QAAAA,gBAAAA,EAAkB,IAAMO,aAAAA;AAExBN,QAAAA,OAAAA,EAAS,UAAY;YACpB,MAAMF,YAAyB,CAACQ,aAAAA,CAAAA,CAAAA;AAEhC,YAAA,IAAIiC,kBAAkB9K,SAAW,EAAA;gBAChC,MAAMqI,YAAyB,CAACyC,aAAAA,CAAAA,CAAAA;aAChC;AACF,SAAA;AACD,KAAA,CAAA;AACD,CAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-48221d57.mjs","sources":["../../tools.core/build/log.mjs","../src/commands/build/tsc.ts","../src/commands/build/docs.ts","../src/lib/toposort.ts","../src/commands/build/index.ts"],"sourcesContent":["const logPackageMessage = (name, step, index, total)=>{\n const numLength = total === undefined ? undefined : total.toString().length;\n const indexString = total === undefined || total < 2 ? \"\" : `${index.toString().padStart(numLength, \"0\")}/${total} `;\n const identifierString = `${indexString}${name.padEnd(15)}`;\n console.log(`${identifierString} >> ${step}`);\n};\n\nexport { logPackageMessage };\n//# sourceMappingURL=log.mjs.map\n","import ts from \"typescript\";\r\nimport * as path from \"path\";\r\nimport * as fs from \"fs\";\r\n\r\nimport { PackageLocation } from \"../../lib/package\";\r\n\r\nimport { FolderBuilder } from \".\";\r\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\r\n\r\nexport const tryReadTsConfig = (location: PackageLocation) => {\r\n\tconst { config } = ts.readConfigFile(\r\n\t\tpath.join(location.scriptsDir, \"tsconfig.json\"),\r\n\t\t(path) => {\r\n\t\t\ttry {\r\n\t\t\t\treturn fs.readFileSync(path, \"utf8\");\r\n\t\t\t} catch {\r\n\t\t\t\treturn undefined;\r\n\t\t\t}\r\n\t\t},\r\n\t);\r\n\r\n\treturn config as {\r\n\t\tcompilerOptions: ts.CompilerOptions;\r\n\t};\r\n};\r\n\r\nexport const build: FolderBuilder = async (\r\n\tlocation: PackageLocation,\r\n\toutputDir: string,\r\n) => {\r\n\tconst config = tryReadTsConfig(location);\r\n\r\n\tconfig.compilerOptions.lib = [\"es5\", \"dom\"];\r\n\r\n\tconst result = ts.convertCompilerOptionsFromJson(\r\n\t\tconfig.compilerOptions,\r\n\t\tlocation.scriptsDir,\r\n\t);\r\n\r\n\tconst compilerOptions: ts.CompilerOptions = {\r\n\t\t...result.options,\r\n\t\tremoveComments: false,\r\n\t\tdeclaration: true,\r\n\t\tsourceMap: false,\r\n\t\t// We don't use tsc to actually emit the files, but we still need to set the correct\r\n\t\t// output directory so the compiler can rewrite the `reference path` directives.\r\n\t\toutFile: path.join(outputDir, \"out.js\"),\r\n\t\ttarget: ts.ScriptTarget.ES5,\r\n\t\tnoEmitOnError: true,\r\n\t};\r\n\r\n\tconst host = ts.createCompilerHost(compilerOptions);\r\n\thost.getCurrentDirectory = () => location.scriptsDir;\r\n\r\n\tlet js: string | undefined;\r\n\tlet definitions: string | undefined;\r\n\r\n\thost.writeFile = (fileName, data, writeByteOrderMark) => {\r\n\t\tif (fileName.endsWith(\".js\")) {\r\n\t\t\tjs = data;\r\n\t\t} else if (fileName.endsWith(\".d.ts\")) {\r\n\t\t\tdefinitions = data;\r\n\t\t}\r\n\t};\r\n\r\n\tconst files = getPackageTypescriptFiles(location);\r\n\r\n\tif (files.length === 0) {\r\n\t\tthrow new Error(\r\n\t\t\t`Expected typescript files to exist when building a package. Packages only consisting of animation jsons do not need to be built.`,\r\n\t\t);\r\n\t}\r\n\r\n\tconst programOptions: ts.CreateProgramOptions = {\r\n\t\trootNames: files,\r\n\t\toptions: compilerOptions,\r\n\t\thost,\r\n\t};\r\n\r\n\tconst program = ts.createProgram(programOptions);\r\n\tconst emitResult = program.emit();\r\n\tconst allDiagnostics = ts.getPreEmitDiagnostics(program);\r\n\r\n\tif (!emitResult.emitSkipped) {\r\n\t\tif (allDiagnostics.length > 0) {\r\n\t\t\tconsole.log(allDiagnostics.map(createErrorMessage).join(\"\\n\"));\r\n\t\t}\r\n\r\n\t\tif (js === undefined || definitions === undefined) {\r\n\t\t\tthrow new Error(`Unexpected: no js or definitions were created`);\r\n\t\t}\r\n\r\n\t\treturn { js, definitions };\r\n\t}\r\n\r\n\tconst error = allDiagnostics.map(createErrorMessage).join(\"\\n\");\r\n\r\n\tthrow new Error(error);\r\n};\r\n\r\nconst createErrorMessage = (diagnostic: ts.Diagnostic) => {\r\n\tif (!diagnostic.file) {\r\n\t\treturn `${ts.flattenDiagnosticMessageText(\r\n\t\t\tdiagnostic.messageText,\r\n\t\t\t\"\\n\",\r\n\t\t)}`;\r\n\t}\r\n\r\n\tconst { line, character } = diagnostic.file.getLineAndCharacterOfPosition(\r\n\t\tdiagnostic.start!,\r\n\t);\r\n\r\n\tconst message = ts.flattenDiagnosticMessageText(\r\n\t\tdiagnostic.messageText,\r\n\t\t\"\\n\",\r\n\t);\r\n\r\n\treturn `${diagnostic.file.fileName} (${line + 1},${\r\n\t\tcharacter + 1\r\n\t}): ${message}`;\r\n};\r\n","import typedoc from \"typedoc\";\r\nimport glob from \"glob\";\r\nimport ts from \"typescript\";\r\nimport * as path from \"path\";\r\nimport { PackageLocation } from \"../../lib/package\";\r\n\r\nexport const generateDocs = async (\r\n\tlocation: PackageLocation,\r\n\tdeclarationFile: string,\r\n\toutFolder: string,\r\n\tname: string,\r\n) => {\r\n\tconst app = new typedoc.Application();\r\n\r\n\tconst mediaDir = path.join(location.manifestDir, \"Media\");\r\n\r\n\tapp.bootstrap({\r\n\t\tentryPoints: [declarationFile],\r\n\t\tmedia: mediaDir,\r\n\t\tout: outFolder,\r\n\t\ttsconfig: path.join(location.scriptsDir, \"tsconfig.json\"),\r\n\t\tskipErrorChecking: true,\r\n\t});\r\n\r\n\tapp.options.setCompilerOptions(\r\n\t\t[declarationFile],\r\n\t\t{\r\n\t\t\ttarget: ts.ScriptTarget.ES5,\r\n\t\t},\r\n\t\tundefined,\r\n\t);\r\n\r\n\tapp.options.setValue(\"name\", name);\r\n\r\n\tconst [readmePath] = glob.sync(\"**/readme.md\", {\r\n\t\tabsolute: true,\r\n\t\tcwd: location.manifestDir,\r\n\t});\r\n\r\n\tif (readmePath) {\r\n\t\tapp.options.setValue(\"readme\", readmePath);\r\n\t}\r\n\r\n\tconst project = app.convert();\r\n\r\n\tif (project) {\r\n\t\tawait app.generateDocs(project, outFolder);\r\n\t}\r\n};\r\n","// Stolen from ig.tools.core\r\n\r\nexport const toposort = (packages: Record<string, string[]>) => {\r\n\tconst queue = Object.getOwnPropertyNames(packages);\r\n\tconst result: string[] = [];\r\n\r\n\tlet index = 0;\r\n\r\n\twhile (queue.length > 0) {\r\n\t\tif (index >= queue.length) {\r\n\t\t\tthrow new Error(\"Packages can not have cyclic dependencies\");\r\n\t\t}\r\n\r\n\t\tconst queueEntry = queue[index];\r\n\r\n\t\tconst dependencies = packages[queueEntry];\r\n\t\tconst dependencyQueued = dependencies.some((dependency) =>\r\n\t\t\tqueue.includes(dependency),\r\n\t\t);\r\n\r\n\t\tif (dependencyQueued) {\r\n\t\t\tindex++;\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tqueue.splice(index, 1);\r\n\t\tindex = 0;\r\n\t\tresult.push(queueEntry);\r\n\t}\r\n\r\n\treturn result;\r\n};\r\n","import * as path from \"path\";\r\nimport * as fs from \"fs\";\r\nimport * as terser from \"terser\";\r\n\r\nimport { logPackageMessage } from \"../../lib/log\";\r\nimport { build as tscBuild } from \"./tsc\";\r\nimport { generateDocs } from \"./docs\";\r\nimport {\r\n\tPackageLocation,\r\n\treadPackageAnimationList,\r\n\treadPackageCreatorManifest,\r\n\treadPackageNpmManifest,\r\n} from \"../../lib/package\";\r\nimport { WorkspaceLocation } from \"../../lib/workspace\";\r\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\r\nimport { toposort } from \"../../lib/toposort\";\r\nimport { PackageJSON } from \"../../lib/packageJSON\";\r\nimport Ajv, { ValidateFunction } from \"ajv\";\r\nimport axios from \"axios\";\r\n\r\nexport interface BannerOptions {\r\n\ttext: string | undefined;\r\n\tversion: string | undefined;\r\n\tcommit: string | undefined;\r\n\tcommitDirty: boolean | undefined;\r\n\tdate: Date | undefined;\r\n}\r\n\r\nexport interface BuildFoldersOptions {\r\n\tworkspace: WorkspaceLocation;\r\n\tpackages: PackageLocation[];\r\n\toutDir?: string;\r\n\tminimize: boolean;\r\n\tbanner?: BannerOptions;\r\n\tclean?: boolean;\r\n\tdocs?: boolean;\r\n}\r\n\r\nexport interface BuildFolderOptions extends BuildFoldersOptions {\r\n\toutFile: string;\r\n}\r\n\r\nexport interface FolderBuilderResult {\r\n\tjs: string;\r\n\tdefinitions: string;\r\n}\r\n\r\nexport type FolderBuilder = (\r\n\tlocation: PackageLocation,\r\n\toutputDir: string,\r\n) => Promise<FolderBuilderResult>;\r\n\r\ntype FolderData = {\r\n\tlocation: PackageLocation;\r\n\tdata?: PackageJSON;\r\n};\r\n\r\nlet validateAnimationJson: ValidateFunction | undefined;\r\n\r\nconst getAnimationJsonValidation = async () => {\r\n\tif (validateAnimationJson === undefined) {\r\n\t\tvalidateAnimationJson = await axios\r\n\t\t\t.get(\r\n\t\t\t\t\"https://archive.intelligentgraphics.biz/schemas/gfx/animation.json\",\r\n\t\t\t)\r\n\t\t\t.then(({ data }) =>\r\n\t\t\t\tnew Ajv({\r\n\t\t\t\t\tcoerceTypes: true,\r\n\t\t\t\t\tallErrors: true,\r\n\t\t\t\t\tremoveAdditional: true,\r\n\t\t\t\t\tuseDefaults: \"empty\",\r\n\t\t\t\t\tvalidateSchema: \"log\",\r\n\t\t\t\t}).compile(data),\r\n\t\t\t);\r\n\t}\r\n\r\n\treturn validateAnimationJson!;\r\n};\r\n\r\nexport const buildFolders = async (options: BuildFoldersOptions) => {\r\n\tif (options.outDir !== undefined && options.clean) {\r\n\t\tfs.rmSync(options.outDir, { recursive: true });\r\n\t}\r\n\r\n\tconst workspace = options.workspace;\r\n\tconst folders = options.packages;\r\n\r\n\tlet sortedPackages = sortPackagesByBuildOrder(folders);\r\n\r\n\tlet index = 1;\r\n\r\n\tfor (const location of sortedPackages) {\r\n\t\tconst hasTypescript = getPackageTypescriptFiles(location).length > 0;\r\n\r\n\t\tensureTsConfig(location);\r\n\r\n\t\tconst data = readPackageCreatorManifest(location);\r\n\r\n\t\tconst logStep = (step: string) =>\r\n\t\t\tlogPackageMessage(data.Package, step, index, folders.length);\r\n\r\n\t\tconst outputDirectory = options.outDir || location.scriptsDir;\r\n\t\tfs.mkdirSync(outputDirectory, { recursive: true });\r\n\r\n\t\tlet buildResult: {\r\n\t\t\tjs: string;\r\n\t\t\tdefinitions?: string;\r\n\t\t};\r\n\r\n\t\tif (hasTypescript) {\r\n\t\t\tlogStep(\"Compiling typescript to javascript\");\r\n\t\t\tbuildResult = await tscBuild(location, outputDirectory);\r\n\t\t} else {\r\n\t\t\tbuildResult = {\r\n\t\t\t\tjs: \"\",\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tconst banner = options.banner\r\n\t\t\t? createBannerComment(options.banner)\r\n\t\t\t: undefined;\r\n\r\n\t\tif (banner) {\r\n\t\t\tbuildResult.js = banner + \"\\n\" + buildResult.js;\r\n\t\t\tif (buildResult.definitions !== undefined) {\r\n\t\t\t\tbuildResult.definitions =\r\n\t\t\t\t\tbanner + \"\\n\" + buildResult.definitions;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst animations = new Map<string, string>();\r\n\r\n\t\tfor (const scriptFilePath of readPackageAnimationList(location)) {\r\n\t\t\tconst content = fs.readFileSync(scriptFilePath, {\r\n\t\t\t\tencoding: \"utf8\",\r\n\t\t\t})!;\r\n\r\n\t\t\tlet data: { Id: string; $schema?: string };\r\n\r\n\t\t\ttry {\r\n\t\t\t\tdata = JSON.parse(content);\r\n\t\t\t} catch (err) {\r\n\t\t\t\tconst relativePath = path.relative(\r\n\t\t\t\t\toptions.workspace.path,\r\n\t\t\t\t\tscriptFilePath,\r\n\t\t\t\t);\r\n\r\n\t\t\t\tif (err instanceof SyntaxError) {\r\n\t\t\t\t\tthrow new Error(\r\n\t\t\t\t\t\t`Encountered invalid syntax in file \"${relativePath}\": ${String(\r\n\t\t\t\t\t\t\terr,\r\n\t\t\t\t\t\t)}`,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t\tthrow new Error(\r\n\t\t\t\t\t`Encountered an unexpected error while parsing animation json file at path \"${relativePath}\"`,\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcause: err,\r\n\t\t\t\t\t},\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tif (!data.Id) {\r\n\t\t\t\tconst fileName = path.basename(\r\n\t\t\t\t\tscriptFilePath,\r\n\t\t\t\t\t\".animation.json\",\r\n\t\t\t\t);\r\n\t\t\t\tdata.Id = fileName;\r\n\t\t\t}\r\n\r\n\t\t\t(await getAnimationJsonValidation())(data);\r\n\t\t\tdelete data.$schema;\r\n\t\t\tanimations.set(data.Id, JSON.stringify(data));\r\n\t\t}\r\n\r\n\t\tif (animations.size > 0) {\r\n\t\t\tconst scope = data.Scope ?? data.Package;\r\n\t\t\tconst scopeParts = scope.split(\".\");\r\n\r\n\t\t\tbuildResult.js += createNamespace(scopeParts);\r\n\r\n\t\t\tfor (const [name, content] of animations) {\r\n\t\t\t\tbuildResult.js += `${scope}[\"${name}\"] = ` + content + \";\";\r\n\t\t\t\tlogPackageMessage(\r\n\t\t\t\t\tdata.Package,\r\n\t\t\t\t\t`Adding animation ${scope}.${name}`,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t} else if (!hasTypescript) {\r\n\t\t\tthrow new Error(\r\n\t\t\t\t`Expected package to have a least one ts file or one animation.json file`,\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tfs.writeFileSync(\r\n\t\t\tpath.join(outputDirectory, `${data.Package}.js`),\r\n\t\t\tbuildResult.js,\r\n\t\t\t{ encoding: \"utf8\" },\r\n\t\t);\r\n\t\tif (buildResult.definitions !== undefined) {\r\n\t\t\tfs.writeFileSync(\r\n\t\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\r\n\t\t\t\tbuildResult.definitions,\r\n\t\t\t\t{ encoding: \"utf8\" },\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (options.minimize) {\r\n\t\t\tconst minifyResult = await terser.minify(buildResult.js, {\r\n\t\t\t\tecma: 5,\r\n\t\t\t});\r\n\r\n\t\t\tconst minifiedPath = path.join(\r\n\t\t\t\toutputDirectory,\r\n\t\t\t\t`${data.Package}.min.js`,\r\n\t\t\t);\r\n\t\t\tfs.writeFileSync(minifiedPath, minifyResult.code!, {\r\n\t\t\t\tencoding: \"utf8\",\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\tlocation.path.includes(\"Basics\") &&\r\n\t\t\tbuildResult.definitions !== undefined\r\n\t\t) {\r\n\t\t\tfs.mkdirSync(path.join(workspace.path, \"lib\"), {\r\n\t\t\t\trecursive: true,\r\n\t\t\t});\r\n\r\n\t\t\tlogStep(\"Copying basics definition file to the lib folder\");\r\n\t\t\tfs.writeFileSync(\r\n\t\t\t\tpath.join(workspace.path, \"lib\", `${data.Package}.d.ts`),\r\n\t\t\t\tbuildResult.definitions,\r\n\t\t\t\t{ encoding: \"utf8\" },\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (options.docs) {\r\n\t\t\tlogStep(\"Generating typedoc documentation\");\r\n\t\t\tawait generateDocs(\r\n\t\t\t\tlocation,\r\n\t\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\r\n\t\t\t\tpath.join(workspace.path, \"docs\", data.Package),\r\n\t\t\t\tdata.Package,\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tindex++;\r\n\t}\r\n};\r\n\r\nconst createNamespace = (parts: string[]) => {\r\n\tlet code = `var ${parts[0]};`;\r\n\r\n\tfor (let index = 0; index < parts.length; index++) {\r\n\t\tconst path = parts.slice(0, index + 1).join(\".\");\r\n\r\n\t\tcode += `\\n(${path} = ${path} || {});`;\r\n\t}\r\n\r\n\treturn code;\r\n};\r\n\r\nconst ensureTsConfig = (location: PackageLocation) => {\r\n\tconst tsconfigPath = path.join(location.scriptsDir, \"tsconfig.json\");\r\n\r\n\tif (!fs.existsSync(tsconfigPath)) {\r\n\t\tconst content = {};\r\n\t\tapplyTsConfigOption(content);\r\n\r\n\t\tfs.writeFileSync(\r\n\t\t\ttsconfigPath,\r\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\r\n\t\t\t\"utf8\",\r\n\t\t);\r\n\t} else {\r\n\t\tconst content = JSON.parse(fs.readFileSync(tsconfigPath, \"utf8\"));\r\n\t\tapplyTsConfigOption(content);\r\n\t\tfs.writeFileSync(\r\n\t\t\ttsconfigPath,\r\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\r\n\t\t\t\"utf8\",\r\n\t\t);\r\n\t}\r\n};\r\n\r\nconst applyTsConfigOption = (data: {\r\n\tcompilerOptions?: { target?: string; lib?: string[] };\r\n}) => {\r\n\tdata.compilerOptions = data.compilerOptions ?? {};\r\n\tdata.compilerOptions.target = \"es5\";\r\n\tdata.compilerOptions.lib = [\"es5\", \"dom\"];\r\n};\r\n\r\nconst sortPackagesByBuildOrder = (\r\n\tfolders: PackageLocation[],\r\n): PackageLocation[] => {\r\n\tconst packages = Array.from(folders).reduce(\r\n\t\t(\r\n\t\t\tacc: Record<string, FolderData>,\r\n\t\t\tlocation,\r\n\t\t): Record<string, FolderData> => {\r\n\t\t\tconst data = readPackageNpmManifest(location);\r\n\r\n\t\t\tif (data !== undefined) {\r\n\t\t\t\tacc[data.name] = {\r\n\t\t\t\t\tdata,\r\n\t\t\t\t\tlocation,\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\tacc[location.path] = {\r\n\t\t\t\t\tdata: undefined,\r\n\t\t\t\t\tlocation,\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\treturn acc;\r\n\t\t},\r\n\t\t{},\r\n\t);\r\n\r\n\tconst packageDependencies = Object.getOwnPropertyNames(packages).reduce(\r\n\t\t(acc, packageName) => {\r\n\t\t\tconst packageData = packages[packageName];\r\n\r\n\t\t\tif (packageData.data === undefined) {\r\n\t\t\t\tacc[packageName] = [];\r\n\t\t\t} else {\r\n\t\t\t\tacc[packageName] = Object.getOwnPropertyNames({\r\n\t\t\t\t\t...packageData.data.devDependencies,\r\n\t\t\t\t\t...packageData.data.dependencies,\r\n\t\t\t\t\t...packageData.data.peerDependencies,\r\n\t\t\t\t}).filter((packageName) => packages[packageName] !== undefined);\r\n\t\t\t}\r\n\r\n\t\t\treturn acc;\r\n\t\t},\r\n\t\t{},\r\n\t);\r\n\r\n\tconst sortedPackages = toposort(packageDependencies);\r\n\tconst result: PackageLocation[] = [];\r\n\r\n\tfor (const packageName of sortedPackages) {\r\n\t\tconst location = packages[packageName].location;\r\n\r\n\t\tif (readPackageCreatorManifest(location).Package.endsWith(\".Basics\")) {\r\n\t\t\tresult.unshift(location);\r\n\t\t} else {\r\n\t\t\tresult.push(location);\r\n\t\t}\r\n\t}\r\n\r\n\treturn result;\r\n};\r\n\r\nconst createBannerComment = (banner: BannerOptions) => {\r\n\tconst bannerParts: string[] = [];\r\n\r\n\tif (banner.text) {\r\n\t\tbannerParts.push(\" * \" + banner.text);\r\n\t}\r\n\r\n\t{\r\n\t\tconst details: string[] = [];\r\n\r\n\t\tif (banner.version) {\r\n\t\t\tdetails.push(`Version: ${banner.version}`);\r\n\t\t}\r\n\t\tif (banner.commit) {\r\n\t\t\tif (banner.commitDirty) {\r\n\t\t\t\tdetails.push(`Commit: ${banner.commit} (dirty)`);\r\n\t\t\t} else {\r\n\t\t\t\tdetails.push(`Commit: ${banner.commit}`);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (banner.date) {\r\n\t\t\tdetails.push(`Date: ${banner.date.toISOString()}`);\r\n\t\t}\r\n\r\n\t\tconst detailsText = details.map((line) => ` * ${line}`).join(\"\\n\");\r\n\t\tif (detailsText) {\r\n\t\t\tbannerParts.push(detailsText);\r\n\t\t}\r\n\t}\r\n\r\n\tconst bannerText = bannerParts.join(\"\\n\\n\");\r\n\r\n\tif (bannerText) {\r\n\t\treturn `/*\r\n${bannerText}\r\n*\r\n* @preserve\t\t\t\r\n*/`;\r\n\t}\r\n\r\n\treturn undefined;\r\n};\r\n"],"names":["logPackageMessage","name","step","index","total","numLength","undefined","toString","length","indexString","padStart","identifierString","padEnd","console","log","tryReadTsConfig","location","config","ts","readConfigFile","path","join","scriptsDir","fs","readFileSync","build","outputDir","compilerOptions","lib","result","convertCompilerOptionsFromJson","options","removeComments","declaration","sourceMap","outFile","target","ScriptTarget","ES5","noEmitOnError","host","createCompilerHost","getCurrentDirectory","js","definitions","writeFile","fileName","data","writeByteOrderMark","endsWith","files","getPackageTypescriptFiles","Error","programOptions","rootNames","program","createProgram","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","emitSkipped","map","createErrorMessage","error","diagnostic","file","flattenDiagnosticMessageText","messageText","line","character","getLineAndCharacterOfPosition","start","message","generateDocs","declarationFile","outFolder","app","typedoc","Application","mediaDir","manifestDir","bootstrap","entryPoints","media","out","tsconfig","skipErrorChecking","setCompilerOptions","setValue","readmePath","glob","sync","absolute","cwd","project","convert","toposort","packages","queue","Object","getOwnPropertyNames","queueEntry","dependencies","dependencyQueued","some","dependency","includes","splice","push","validateAnimationJson","getAnimationJsonValidation","axios","get","then","Ajv","coerceTypes","allErrors","removeAdditional","useDefaults","validateSchema","compile","buildFolders","outDir","clean","rmSync","recursive","workspace","folders","sortedPackages","sortPackagesByBuildOrder","hasTypescript","ensureTsConfig","readPackageCreatorManifest","logStep","Package","outputDirectory","mkdirSync","buildResult","tscBuild","banner","createBannerComment","animations","Map","scriptFilePath","readPackageAnimationList","content","encoding","JSON","parse","err","relativePath","relative","SyntaxError","String","cause","Id","basename","$schema","set","stringify","size","scope","Scope","scopeParts","split","createNamespace","writeFileSync","minimize","minifyResult","terser","minify","ecma","minifiedPath","code","docs","parts","slice","tsconfigPath","existsSync","applyTsConfigOption","Array","from","reduce","acc","readPackageNpmManifest","packageDependencies","packageName","packageData","devDependencies","peerDependencies","filter","unshift","bannerParts","text","details","version","commit","commitDirty","date","toISOString","detailsText","bannerText"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"postinstall-79673f29.mjs","sources":["../src/commands/postinstall.ts"],"sourcesContent":["import * as path from \"path\";\r\nimport * as fs from \"fs\";\r\nimport glob from \"glob\";\r\nimport * as os from \"os\";\r\n\r\nimport {\r\n\tgetWorkspaceLibPath,\r\n\treadWorkspaceNpmManifest,\r\n\tWorkspaceLocation,\r\n} from \"../lib/workspace\";\r\nimport { readPublishedPackageNpmManifest } from \"../lib/publishedPackage\";\r\nimport { determineWorkspaceIGLibraries } from \"../lib/dependencies\";\r\n\r\nconst DEFINITION_FILE_HINT =\r\n\t\"// This file is automatically managed by the ig.gfx.packager.\";\r\n\r\nexport const executePostInstall = (workspace: WorkspaceLocation) => {\r\n\tconst manifest = readWorkspaceNpmManifest(workspace);\r\n\r\n\tconst libPath = getWorkspaceLibPath(workspace);\r\n\r\n\tfs.mkdirSync(libPath, { recursive: true });\r\n\r\n\tconst existingDefinitions = glob.sync(\"**/*.d.ts\", {\r\n\t\tcwd: libPath,\r\n\t\tabsolute: true,\r\n\t});\r\n\r\n\t// delete all existing definition files that are managed by the packager.\r\n\t// we'll recreate all needed definitions in the next step.\r\n\tfor (const existingDefinitionPath of existingDefinitions) {\r\n\t\tconst content = fs.readFileSync(existingDefinitionPath, {\r\n\t\t\tencoding: \"utf-8\",\r\n\t\t});\r\n\r\n\t\tif (content.startsWith(DEFINITION_FILE_HINT)) {\r\n\t\t\tfs.rmSync(existingDefinitionPath);\r\n\t\t}\r\n\t}\r\n\r\n\tconst libraryLocations = determineWorkspaceIGLibraries(workspace);\r\n\r\n\tfor (const location of libraryLocations) {\r\n\t\tconst manifest = readPublishedPackageNpmManifest(location);\r\n\r\n\t\tfor (const existingDefinitionPath of existingDefinitions) {\r\n\t\t\tconst basename = path.basename(existingDefinitionPath);\r\n\r\n\t\t\tif (basename === manifest.types) {\r\n\t\t\t\tfs.rmSync(existingDefinitionPath, { force: true });\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// add a hint to the top of the file so we know it's managed by the packager.\r\n\r\n\t\tconst content = [\r\n\t\t\tDEFINITION_FILE_HINT,\r\n\t\t\t`// This is a reference to version ${manifest.version}.`,\r\n\t\t\t`// Run \"npm install\" to install the types if they are missing or not up to date.`,\r\n\t\t\t`/// <reference types=\"${manifest.name}\" />`,\r\n\t\t].join(os.EOL);\r\n\r\n\t\tfs.writeFileSync(\r\n\t\t\tpath.join(getWorkspaceLibPath(workspace), manifest.types),\r\n\t\t\tcontent,\r\n\t\t\t{\r\n\t\t\t\tencoding: \"utf8\",\r\n\t\t\t},\r\n\t\t);\r\n\t}\r\n};\r\n"],"names":["DEFINITION_FILE_HINT","executePostInstall","workspace","readWorkspaceNpmManifest","libPath","getWorkspaceLibPath","fs","mkdirSync","recursive","existingDefinitions","glob","sync","cwd","absolute","existingDefinitionPath","content","readFileSync","encoding","startsWith","rmSync","libraryLocations","determineWorkspaceIGLibraries","location","manifest","readPublishedPackageNpmManifest","basename","path","types","force","version","name","join","os","EOL","writeFileSync"],"mappings":";;;;;;;;;;;;;;;;;;;;AAaA,MAAMA,oBACL,GAAA,+DAAA,CAAA;AAEM,MAAMC,kBAAqB,GAAA,CAACC,SAAiC,GAAA;AACnE,IAAiBC,wBAAyBD,CAAAA,SAAAA,EAAAA;AAE1C,IAAA,MAAME,UAAUC,mBAAoBH,CAAAA,SAAAA,CAAAA,CAAAA;IAEpCI,EAAGC,CAAAA,SAAS,CAACH,OAAS,EAAA;AAAEI,QAAAA,SAAAA,EAAW,IAAI;AAAC,KAAA,CAAA,CAAA;AAExC,IAAA,MAAMC,mBAAsBC,GAAAA,IAAAA,CAAKC,IAAI,CAAC,WAAa,EAAA;QAClDC,GAAKR,EAAAA,OAAAA;AACLS,QAAAA,QAAAA,EAAU,IAAI;AACf,KAAA,CAAA,CAAA;;;IAIA,KAAK,MAAMC,0BAA0BL,mBAAqB,CAAA;AACzD,QAAA,MAAMM,OAAUT,GAAAA,EAAAA,CAAGU,YAAY,CAACF,sBAAwB,EAAA;YACvDG,QAAU,EAAA,OAAA;AACX,SAAA,CAAA,CAAA;QAEA,IAAIF,OAAAA,CAAQG,UAAU,CAAClB,oBAAuB,CAAA,EAAA;AAC7CM,YAAAA,EAAAA,CAAGa,MAAM,CAACL,sBAAAA,CAAAA,CAAAA;SACV;AACF,KAAA;AAEA,IAAA,MAAMM,mBAAmBC,6BAA8BnB,CAAAA,SAAAA,CAAAA,CAAAA;IAEvD,KAAK,MAAMoB,YAAYF,gBAAkB,CAAA;AACxC,QAAA,MAAMG,WAAWC,+BAAgCF,CAAAA,QAAAA,CAAAA,CAAAA;QAEjD,KAAK,MAAMR,0BAA0BL,mBAAqB,CAAA;YACzD,MAAMgB,QAAAA,GAAWC,IAAKD,CAAAA,QAAQ,CAACX,sBAAAA,CAAAA,CAAAA;YAE/B,IAAIW,QAAAA,KAAaF,QAASI,CAAAA,KAAK,EAAE;gBAChCrB,EAAGa,CAAAA,MAAM,CAACL,sBAAwB,EAAA;AAAEc,oBAAAA,KAAAA,EAAO,IAAI;AAAC,iBAAA,CAAA,CAAA;aAChD;AACF,SAAA;;AAIA,QAAA,MAAMb,OAAU,GAAA;AACff,YAAAA,oBAAAA;AACA,YAAA,CAAC,kCAAkC,EAAEuB,QAAAA,CAASM,OAAO,CAAC,CAAC,CAAC;AACxD,YAAA,CAAC,gFAAgF,CAAC;AAClF,YAAA,CAAC,sBAAsB,EAAEN,QAAAA,CAASO,IAAI,CAAC,IAAI,CAAC;SAC5C,CAACC,IAAI,CAACC,EAAAA,CAAGC,GAAG,CAAA,CAAA;QAEb3B,EAAG4B,CAAAA,aAAa,CACfR,IAAAA,CAAKK,IAAI,CAAC1B,oBAAoBH,SAAYqB,CAAAA,EAAAA,QAAAA,CAASI,KAAK,CAAA,EACxDZ,OACA,EAAA;YACCE,QAAU,EAAA,MAAA;AACX,SAAA,CAAA,CAAA;AAEF,KAAA;AACD;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"publishNpm-bfd4eb6a.mjs","sources":["../src/commands/publishNpm.ts"],"sourcesContent":["import * as path from \"path\";\r\nimport * as fs from \"fs\";\r\nimport { execSync } from \"child_process\";\r\n\r\nimport { PackageVersion } from \"../lib/packageVersion\";\r\nimport {\r\n\tINDEX_FILE,\r\n\tPackageLocation,\r\n\tPACKAGE_FILE,\r\n\treadPackageCreatorIndex,\r\n\treadPackageCreatorManifest,\r\n\treadPackageNpmManifest,\r\n\twritePackageNpmManifest,\r\n} from \"../lib/package\";\r\nimport {\r\n\tgetWorkspaceOutputPath,\r\n\titerateWorkspacePackages,\r\n\treadWorkspaceNpmManifest,\r\n\tWorkspaceLocation,\r\n} from \"../lib/workspace\";\r\nimport { getVersionInformationFromGit } from \"../lib/git\";\r\nimport { getWorkspaceBannerText } from \"../lib/banner\";\r\nimport { parseVersionFromString } from \"../lib/parseVersion\";\r\nimport { getVersionFileHandler } from \"../lib/versionFile\";\r\nimport { logPackageMessage } from \"../lib/log\";\r\n\r\nimport { buildFolders } from \"./build\";\r\n\r\nexport interface PublishToNpmSettings {\r\n\tworkspace: WorkspaceLocation;\r\n\tlocation: PackageLocation;\r\n\tversion: string;\r\n\tdryRun?: boolean;\r\n}\r\n\r\nexport const publishToNpm = async ({\r\n\tworkspace,\r\n\tlocation,\r\n\tversion: providedVersion,\r\n\tdryRun,\r\n}: PublishToNpmSettings) => {\r\n\tlet newVersion: PackageVersion;\r\n\ttry {\r\n\t\tnewVersion = parseVersionFromString(providedVersion);\r\n\t} catch (err) {\r\n\t\tthrow new Error(`Please enter a version in this format 1.0.0.100`);\r\n\t}\r\n\r\n\tif (newVersion.buildNumber < 100) {\r\n\t\tnewVersion.preRelease = {\r\n\t\t\ttype: \"beta\",\r\n\t\t\tversion: newVersion.buildNumber,\r\n\t\t};\r\n\t} else if (newVersion.buildNumber === 100) {\r\n\t\tnewVersion.preRelease = undefined;\r\n\t} else {\r\n\t\tthrow new Error(\r\n\t\t\t`Refusing to publish a package with a build version larger than 100.`,\r\n\t\t);\r\n\t}\r\n\r\n\tconst workspaceManifest = readWorkspaceNpmManifest(workspace);\r\n\tconst workspaceOutputPath = getWorkspaceOutputPath(workspace);\r\n\tconst creatorPackage = readPackageCreatorManifest(location);\r\n\tlet packageJson = readPackageNpmManifest(location);\r\n\r\n\tif (packageJson === undefined) {\r\n\t\tpackageJson = {\r\n\t\t\tname:\r\n\t\t\t\t\"@intelligentgraphics/3d\" +\r\n\t\t\t\tcreatorPackage.Package.toLowerCase(),\r\n\t\t\tversion: \"1.0.0\",\r\n\t\t\tdescription: creatorPackage.Package,\r\n\t\t};\r\n\t}\r\n\r\n\tpackageJson.version = newVersion.toVersionString({\r\n\t\tbuildNumber: false,\r\n\t});\r\n\tpackageJson.description = newVersion.toDescriptionString(\r\n\t\tcreatorPackage.Package,\r\n\t);\r\n\tpackageJson.main = `${creatorPackage.Package}.js`;\r\n\tpackageJson.types = `${creatorPackage.Package}.d.ts`;\r\n\tpackageJson.publishConfig ??= {};\r\n\tpackageJson.publishConfig.acccess = \"public\";\r\n\tpackageJson.ig = {\r\n\t\tscriptingLibrary: true,\r\n\t};\r\n\tpackageJson.files = undefined;\r\n\r\n\tconst publishDir = path.join(\r\n\t\tworkspaceOutputPath,\r\n\t\t\"publish\",\r\n\t\tcreatorPackage.Package,\r\n\t);\r\n\tfs.rmSync(publishDir, { recursive: true, force: true });\r\n\tfs.mkdirSync(publishDir, { recursive: true });\r\n\r\n\twritePackageNpmManifest(location, packageJson);\r\n\r\n\tgetVersionFileHandler(location).write(creatorPackage.Package, newVersion);\r\n\r\n\tconst gitVersionInformation = await getVersionInformationFromGit(\r\n\t\tworkspace,\r\n\t\tlocation,\r\n\t);\r\n\r\n\tconst bannerText = getWorkspaceBannerText(workspaceManifest);\r\n\r\n\tawait buildFolders({\r\n\t\tworkspace,\r\n\t\tpackages: [location],\r\n\t\tminimize: true,\r\n\t\toutDir: getWorkspaceOutputPath(workspace),\r\n\t\tbanner: {\r\n\t\t\ttext: bannerText,\r\n\t\t\tcommit: gitVersionInformation.commit,\r\n\t\t\tcommitDirty: gitVersionInformation.dirty,\r\n\t\t\tversion: newVersion.toVersionString({\r\n\t\t\t\tbuildNumber: true,\r\n\t\t\t}),\r\n\t\t\tdate: new Date(Date.now()),\r\n\t\t},\r\n\t});\r\n\r\n\tfs.copyFileSync(\r\n\t\tpath.join(\r\n\t\t\tgetWorkspaceOutputPath(workspace),\r\n\t\t\t`${creatorPackage.Package}.d.ts`,\r\n\t\t),\r\n\t\tpath.join(publishDir, `${creatorPackage.Package}.d.ts`),\r\n\t);\r\n\tfs.copyFileSync(\r\n\t\tpath.join(\r\n\t\t\tgetWorkspaceOutputPath(workspace),\r\n\t\t\t`${creatorPackage.Package}.min.js`,\r\n\t\t),\r\n\t\tpath.join(publishDir, `${creatorPackage.Package}.js`),\r\n\t);\r\n\r\n\tfs.copyFileSync(\r\n\t\tpath.join(location.manifestDir, \"package.json\"),\r\n\t\tpath.join(publishDir, \"package.json\"),\r\n\t);\r\n\r\n\tfs.writeFileSync(\r\n\t\tpath.join(publishDir, PACKAGE_FILE),\r\n\t\tJSON.stringify(creatorPackage, null, 2),\r\n\t);\r\n\r\n\tconst index = readPackageCreatorIndex(location);\r\n\r\n\tif (index !== undefined) {\r\n\t\tfs.writeFileSync(\r\n\t\t\tpath.join(publishDir, INDEX_FILE),\r\n\t\t\tJSON.stringify(index),\r\n\t\t);\r\n\t}\r\n\r\n\tconst readmeName = fs\r\n\t\t.readdirSync(location.path)\r\n\t\t.find((name) => name.toLowerCase() === \"readme.md\");\r\n\r\n\tif (readmeName !== undefined) {\r\n\t\tfs.copyFileSync(\r\n\t\t\tpath.join(location.path, readmeName),\r\n\t\t\tpath.join(publishDir, readmeName),\r\n\t\t);\r\n\t}\r\n\r\n\tconst npmPublishArgs: string[] = [];\r\n\r\n\tif (dryRun) {\r\n\t\tnpmPublishArgs.push(\"--dry-run\");\r\n\t}\r\n\r\n\tif (newVersion.preRelease) {\r\n\t\tnpmPublishArgs.push(\"--tag\", \"next\");\r\n\t}\r\n\r\n\tlogPackageMessage(\r\n\t\tcreatorPackage.Package,\r\n\t\t`Publishing to npm with version ${packageJson.version} using tag ${\r\n\t\t\tnewVersion.preRelease ? \"next\" : \"latest\"\r\n\t\t}`,\r\n\t);\r\n\r\n\texecSync([\"npm\", \"publish\", ...npmPublishArgs].join(\" \"), {\r\n\t\tstdio: \"inherit\",\r\n\t\tencoding: \"utf8\",\r\n\t\tcwd: publishDir,\r\n\t});\r\n\r\n\tfor (const packageLocation of iterateWorkspacePackages(workspace)) {\r\n\t\tconst manifest = readPackageNpmManifest(packageLocation);\r\n\r\n\t\tif (manifest?.dependencies?.[packageJson.name] !== undefined) {\r\n\t\t\tmanifest.dependencies[packageJson.name] = \"^\" + packageJson.version;\r\n\t\t\twritePackageNpmManifest(packageLocation, manifest);\r\n\t\t}\r\n\t}\r\n};\r\n"],"names":["publishToNpm","workspace","location","version","providedVersion","dryRun","newVersion","parseVersionFromString","err","Error","buildNumber","preRelease","type","undefined","workspaceManifest","readWorkspaceNpmManifest","workspaceOutputPath","getWorkspaceOutputPath","creatorPackage","readPackageCreatorManifest","packageJson","readPackageNpmManifest","name","Package","toLowerCase","description","toVersionString","toDescriptionString","main","types","publishConfig","acccess","ig","scriptingLibrary","files","publishDir","path","join","fs","rmSync","recursive","force","mkdirSync","writePackageNpmManifest","getVersionFileHandler","write","gitVersionInformation","getVersionInformationFromGit","bannerText","getWorkspaceBannerText","buildFolders","packages","minimize","outDir","banner","text","commit","commitDirty","dirty","date","Date","now","copyFileSync","manifestDir","writeFileSync","PACKAGE_FILE","JSON","stringify","index","readPackageCreatorIndex","INDEX_FILE","readmeName","readdirSync","find","npmPublishArgs","push","logPackageMessage","execSync","stdio","encoding","cwd","packageLocation","iterateWorkspacePackages","manifest","dependencies"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"versionFile-562e5692.mjs","sources":["../../tools.core/build/fs.mjs","../src/lib/git.ts","../src/lib/banner.ts","../src/lib/packageVersion.ts","../src/lib/parseVersion.ts","../src/lib/versionFile.ts"],"sourcesContent":["import * as fs from 'fs';\nimport { isErrorENOENT } from './error.mjs';\n\nconst readStringFromFile = (filePath)=>fs.readFileSync(filePath, {\n encoding: \"utf8\"\n });\nconst readStringFromFileOrUndefined = (filePath)=>{\n try {\n return readStringFromFile(filePath);\n } catch (err) {\n if (!isErrorENOENT(err)) {\n throw err;\n }\n return undefined;\n }\n};\n\nexport { readStringFromFile, readStringFromFileOrUndefined };\n//# sourceMappingURL=fs.mjs.map\n","import simpleGit from \"simple-git\";\r\nimport * as path from \"path\";\r\n\r\nimport { WorkspaceLocation } from \"./workspace\";\r\nimport { PackageLocation } from \"./package\";\r\n\r\nexport const getVersionInformationFromGit = async (\r\n\tworkspaceLocation: WorkspaceLocation,\r\n\tpackageLocation: PackageLocation,\r\n) => {\r\n\ttry {\r\n\t\tconst git = simpleGit({\r\n\t\t\tbaseDir: workspaceLocation.path,\r\n\t\t});\r\n\r\n\t\t// check wether the files for a folder are changed\r\n\t\t// if so, mark as dirty\r\n\t\tconst diff = await git.diffSummary();\r\n\r\n\t\tconst dirty = diff.files.some((file) => {\r\n\t\t\tif (\r\n\t\t\t\tfile.file.toLowerCase().includes(\"releases\") ||\r\n\t\t\t\tfile.file.toLowerCase().endsWith(\"version.ts\") ||\r\n\t\t\t\tfile.file.toLowerCase().endsWith(\"package.json\")\r\n\t\t\t) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tconst fullPath = path.resolve(workspaceLocation.path, file.file);\r\n\t\t\tconst relativePath = path.relative(packageLocation.path, fullPath);\r\n\r\n\t\t\treturn !relativePath.startsWith(\"..\");\r\n\t\t});\r\n\r\n\t\tconst log = await git.log({ maxCount: 1 });\r\n\t\tconst commit = !log.latest?.hash\r\n\t\t\t? undefined\r\n\t\t\t: log.latest.hash.substring(0, 7);\r\n\r\n\t\treturn {\r\n\t\t\tcommit,\r\n\t\t\tdirty,\r\n\t\t\tcommitDate: log.latest?.date,\r\n\t\t};\r\n\t} catch (err) {\r\n\t\treturn {};\r\n\t}\r\n};\r\n","import { WorkspacePackageJSON } from \"./workspace\";\r\n\r\nexport const getWorkspaceBannerText = (manifest: WorkspacePackageJSON) => {\r\n\tlet bannerText = manifest?.packager?.banner;\r\n\r\n\tif (bannerText) {\r\n\t\tconst match = bannerText.match(/Copyright \\(C\\) (\\d+)( ?- ?(\\d+))?/);\r\n\r\n\t\tif (match !== null) {\r\n\t\t\tconst startYear = parseInt(match[1]);\r\n\t\t\tconst endYear = new Date().getFullYear();\r\n\r\n\t\t\tif (startYear !== endYear) {\r\n\t\t\t\tbannerText = bannerText.replace(\r\n\t\t\t\t\tmatch[0],\r\n\t\t\t\t\t`Copyright (C) ${startYear} - ${endYear}`,\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tbannerText = bannerText.replace(\r\n\t\t\t\t\tmatch[0],\r\n\t\t\t\t\t`Copyright (C) ${startYear}`,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn bannerText;\r\n};\r\n","// Stolen from ig.tools.core\r\n\r\nexport interface PackageVersionToVersionStringParams {\r\n\tbuildNumber?: boolean;\r\n}\r\n\r\nexport class PackageVersion {\r\n\t// https://regex101.com/r/90PEY9/1\r\n\tpublic static fullTextMatcher =\r\n\t\t/(\\d+)(\\.(\\d+)(\\.(\\d+)(\\.(\\d+))?(-([^\\.]+)\\.(\\d+))?)?)?/;\r\n\tpublic static lineMatcher =\r\n\t\t/^(\\d+)(\\.(\\d+)(\\.(\\d+)(\\.(\\d+))?(-([^\\.]+)\\.(\\d+))?)?)?$/;\r\n\r\n\tpublic static extractFromText(input: string, description?: string) {\r\n\t\tif (input === undefined) {\r\n\t\t\tthrow new Error(`Can not parse version from undefined`);\r\n\t\t}\r\n\r\n\t\tconst match = input.match(PackageVersion.fullTextMatcher);\r\n\r\n\t\tif (!match) {\r\n\t\t\tthrow new Error(`Could not extract a version from input: ${input}`);\r\n\t\t}\r\n\r\n\t\treturn PackageVersion.fromMatch(match, description);\r\n\t}\r\n\r\n\tpublic static extractFromLine(input: string, description?: string) {\r\n\t\tif (input === undefined) {\r\n\t\t\tthrow new Error(`Can not parse version from undefined`);\r\n\t\t}\r\n\r\n\t\tconst match = input.match(PackageVersion.lineMatcher);\r\n\r\n\t\tif (!match) {\r\n\t\t\tthrow new Error(`Could not parse version from input: ${input}`);\r\n\t\t}\r\n\r\n\t\treturn PackageVersion.fromMatch(match, description);\r\n\t}\r\n\r\n\tpublic static equals(\r\n\t\ta: PackageVersion,\r\n\t\tb: PackageVersion,\r\n\t\tcheckPrerelease = false,\r\n\t) {\r\n\t\tif (a.major !== b.major || a.minor !== b.minor || a.patch !== b.patch) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (checkPrerelease === false) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tif (a.preRelease === b.preRelease) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tif (a.preRelease === undefined || b.preRelease === undefined) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\ta.preRelease.type === b.preRelease.type &&\r\n\t\t\ta.preRelease.version === b.preRelease.version\r\n\t\t);\r\n\t}\r\n\r\n\tprivate static fromMatch(\r\n\t\t[\r\n\t\t\t,\r\n\t\t\tmajor,\r\n\t\t\t,\r\n\t\t\tminor = \"0\",\r\n\t\t\t,\r\n\t\t\tpatch = \"0\",\r\n\t\t\t,\r\n\t\t\tbuild,\r\n\t\t\t,\r\n\t\t\tpreReleaseType,\r\n\t\t\tpreReleaseNumber,\r\n\t\t]: RegExpMatchArray,\r\n\t\tdescription?: string,\r\n\t) {\r\n\t\tlet preRelease: PackageVersion[\"preRelease\"] = undefined;\r\n\t\tlet buildNumber = 100;\r\n\r\n\t\tif (preReleaseType && preReleaseNumber) {\r\n\t\t\tpreRelease = {\r\n\t\t\t\ttype: preReleaseType,\r\n\t\t\t\tversion: parseInt(preReleaseNumber),\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tif (build) {\r\n\t\t\tbuildNumber = Number(build);\r\n\t\t} else if (description) {\r\n\t\t\tconst descriptionMatch = description.match(/(\\d+)\\)$/);\r\n\r\n\t\t\tif (descriptionMatch) {\r\n\t\t\t\tbuildNumber = parseInt(descriptionMatch[1]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn new PackageVersion(\r\n\t\t\tparseInt(major),\r\n\t\t\tparseInt(minor),\r\n\t\t\tparseInt(patch),\r\n\t\t\tpreRelease,\r\n\t\t\tbuildNumber,\r\n\t\t);\r\n\t}\r\n\r\n\tpublic static sort(\r\n\t\ta: PackageVersion,\r\n\t\tb: PackageVersion,\r\n\t\tascending: boolean = true,\r\n\t) {\r\n\t\tconst createSortResult = (a: number, b: number) =>\r\n\t\t\tascending ? a - b : b - a;\r\n\r\n\t\tif (a.major !== b.major) {\r\n\t\t\treturn createSortResult(a.major, b.major);\r\n\t\t}\r\n\r\n\t\tif (a.minor !== b.minor) {\r\n\t\t\treturn createSortResult(a.minor, b.minor);\r\n\t\t}\r\n\r\n\t\tif (a.patch !== b.patch) {\r\n\t\t\treturn createSortResult(a.patch, b.patch);\r\n\t\t}\r\n\r\n\t\treturn createSortResult(\r\n\t\t\ta.preRelease ? a.preRelease.version : 0,\r\n\t\t\tb.preRelease ? b.preRelease.version : 0,\r\n\t\t);\r\n\t}\r\n\r\n\tprivate static toNumber(version: PackageVersion) {\r\n\t\treturn (\r\n\t\t\t((version.major * 1000 + version.minor) * 1000 + version.patch) *\r\n\t\t\t\t1000 +\r\n\t\t\tversion.buildNumber\r\n\t\t);\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tpublic major: number,\r\n\t\tpublic minor: number,\r\n\t\tpublic patch: number,\r\n\t\tpublic preRelease: { type: string; version: number } | undefined,\r\n\t\tpublic buildNumber: number,\r\n\t) {}\r\n\r\n\tpublic isPreRelease() {\r\n\t\treturn this.preRelease !== undefined;\r\n\t}\r\n\r\n\tpublic clone() {\r\n\t\treturn new PackageVersion(\r\n\t\t\tthis.major,\r\n\t\t\tthis.minor,\r\n\t\t\tthis.patch,\r\n\t\t\tthis.preRelease ? { ...this.preRelease } : undefined,\r\n\t\t\tthis.buildNumber,\r\n\t\t);\r\n\t}\r\n\r\n\tpublic incrementMajor() {\r\n\t\tthis.preRelease = undefined;\r\n\t\tthis.patch = 0;\r\n\t\tthis.minor = 0;\r\n\t\tthis.major++;\r\n\t}\r\n\r\n\tpublic incrementMinor() {\r\n\t\tthis.preRelease = undefined;\r\n\t\tthis.patch = 0;\r\n\t\tthis.minor++;\r\n\t}\r\n\r\n\tpublic incrementPatch() {\r\n\t\tthis.preRelease = undefined;\r\n\t\tthis.patch++;\r\n\t}\r\n\r\n\tpublic createPreRelease(type: string) {\r\n\t\tif (!this.preRelease) {\r\n\t\t\tthis.buildNumber = 1;\r\n\t\t} else {\r\n\t\t\tthis.buildNumber++;\r\n\t\t}\r\n\r\n\t\tif (this.preRelease && type === this.preRelease.type) {\r\n\t\t\tthis.preRelease.version++;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.preRelease = {\r\n\t\t\tversion: 0,\r\n\t\t\ttype,\r\n\t\t};\r\n\t}\r\n\r\n\tpublic createRelease() {\r\n\t\tthis.preRelease = undefined;\r\n\t\tthis.buildNumber = 100;\r\n\t}\r\n\r\n\tpublic toVersionString({\r\n\t\tbuildNumber,\r\n\t}: PackageVersionToVersionStringParams = {}) {\r\n\t\tlet version = [this.major, this.minor, this.patch].join(\".\");\r\n\r\n\t\tif (buildNumber) {\r\n\t\t\tversion += \".\" + this.buildNumber;\r\n\t\t}\r\n\r\n\t\tif (this.preRelease) {\r\n\t\t\tversion += `-${this.preRelease.type}.${this.preRelease.version}`;\r\n\t\t}\r\n\r\n\t\treturn version;\r\n\t}\r\n\r\n\tpublic toDescriptionString(packageName: string) {\r\n\t\tconst base = [this.major, this.minor, this.patch].join(\".\");\r\n\t\tconst parts: (number | string)[] = [packageName, base];\r\n\r\n\t\tif (this.preRelease) {\r\n\t\t\tparts.push(upperCaseFirst(this.preRelease.type));\r\n\t\t\tparts.push(this.preRelease.version);\r\n\t\t}\r\n\r\n\t\tparts.push(`(${base}.${this.buildNumber})`);\r\n\r\n\t\treturn parts.join(\" \");\r\n\t}\r\n\r\n\t/**\r\n\t * Determines wether the version is lesser than the input version\r\n\t *\r\n\t * @param {PackageVersion} version\r\n\t * @returns\r\n\t */\r\n\tpublic isLesserThan(version: PackageVersion) {\r\n\t\treturn PackageVersion.toNumber(this) < PackageVersion.toNumber(version);\r\n\t}\r\n\r\n\t/**\r\n\t * Determines wether the version is greater than the input version\r\n\t *\r\n\t * @param {PackageVersion} version\r\n\t * @returns\r\n\t */\r\n\tpublic isGreaterThan(version: PackageVersion) {\r\n\t\treturn PackageVersion.toNumber(this) > PackageVersion.toNumber(version);\r\n\t}\r\n}\r\n\r\nconst upperCaseFirst = (input: string) => {\r\n\treturn input.slice(0, 1).toUpperCase() + input.slice(1);\r\n};\r\n","import { PackageVersion } from \"./packageVersion\";\r\n\r\nexport const parseVersionFromString = (input: string) => {\r\n\tif (input === undefined) {\r\n\t\tthrow new Error(`Can not parse version from undefined`);\r\n\t}\r\n\r\n\tlet match: RegExpMatchArray | null;\r\n\r\n\tlet major!: string;\r\n\tlet minor!: string;\r\n\tlet patch!: string;\r\n\tlet build: string | undefined;\r\n\tlet preReleaseType: string | undefined;\r\n\tlet preReleaseNumber: string | undefined;\r\n\r\n\tif (\r\n\t\t// first try to find a full match with build number\r\n\t\t(match = input.match(\r\n\t\t\t/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)(-([^\\.]+)\\.(\\d+))?/,\r\n\t\t)) !== null\r\n\t) {\r\n\t\t[, major, minor, patch, build, preReleaseType, preReleaseNumber] =\r\n\t\t\tmatch;\r\n\t} else if (\r\n\t\t(match = input.match(/(\\d+)\\.(\\d+)\\.(\\d+)(-([^\\.]+)\\.(\\d+))?/)) !== null\r\n\t) {\r\n\t\t[, major, minor, patch, , preReleaseType, preReleaseNumber] = match;\r\n\t}\r\n\r\n\tif (match === null) {\r\n\t\tthrow new Error(`Could not parse version from input: ${input}`);\r\n\t}\r\n\r\n\tlet preRelease: PackageVersion[\"preRelease\"] = undefined;\r\n\tlet buildNumber = 100;\r\n\r\n\tif (preReleaseType && preReleaseNumber) {\r\n\t\tpreRelease = {\r\n\t\t\ttype: preReleaseType,\r\n\t\t\tversion: parseInt(preReleaseNumber),\r\n\t\t};\r\n\t}\r\n\r\n\tif (build) {\r\n\t\tbuildNumber = Number(build);\r\n\t} else if (input) {\r\n\t\tconst descriptionMatch = input.match(/(\\d+)\\)$/);\r\n\r\n\t\tif (descriptionMatch) {\r\n\t\t\tbuildNumber = parseInt(descriptionMatch[1]);\r\n\t\t}\r\n\t}\r\n\r\n\treturn new PackageVersion(\r\n\t\tparseInt(major),\r\n\t\tparseInt(minor),\r\n\t\tparseInt(patch),\r\n\t\tpreRelease,\r\n\t\tbuildNumber,\r\n\t);\r\n};\r\n\r\n// 1000001001 -> 1.0.1.1\r\n// 1002017001 -> 1.2.17.1\r\nexport const parseVersionFromNumericVersion = (\r\n\tversion: number,\r\n): PackageVersion => {\r\n\tconst major = Math.floor(version / 1000000000);\r\n\tconst minor = Math.floor((version % 1000000000) / 1000000);\r\n\tconst patch = Math.floor((version % 1000000) / 1000);\r\n\tconst buildNumber = version % 1000;\r\n\r\n\treturn new PackageVersion(major, minor, patch, undefined, buildNumber);\r\n};\r\n","import * as fs from \"fs\";\r\nimport * as path from \"path\";\r\n\r\nimport { isErrorENOENT } from \"./error\";\r\nimport { readStringFromFileOrUndefined } from \"./fs\";\r\nimport { PackageLocation } from \"./package\";\r\nimport { PackageVersion } from \"./packageVersion\";\r\n\r\n// https://regex101.com/r/LtGAu5/1\r\nconst logRegex =\r\n\t/console\\.log\\(\\s*\"([\\w\\s\\.\\(\\)]+)\\ *Copyright[\\w\\s\\(\\)\\.]+(\\d{4}|\\d{4} - \\d{4})([\\w\\s\\(\\)\\.]+)?\",?\\s*\\)/i;\r\nconst currentYear = new Date(Date.now()).getFullYear();\r\n\r\nexport const getVersionFileHandler = (location: PackageLocation) => {\r\n\tconst filePath = path.join(location.scriptsDir, \"Version.ts\");\r\n\r\n\tconst invalidVersionFile = (versionFile: string | undefined) => ({\r\n\t\tversion: undefined,\r\n\t\twrite: (name: string, newVersion: PackageVersion) => {\r\n\t\t\tconst scriptsContent = fs.readdirSync(location.scriptsDir);\r\n\t\t\tconst tsFiles = scriptsContent.filter((file) =>\r\n\t\t\t\tfile.endsWith(\".ts\"),\r\n\t\t\t);\r\n\r\n\t\t\tif (tsFiles.length > 0) {\r\n\t\t\t\treturn createVersionFileWriter([currentYear], \"\")(\r\n\t\t\t\t\tname,\r\n\t\t\t\t\tnewVersion,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t},\r\n\t\treset: () => {\r\n\t\t\tif (versionFile !== undefined) {\r\n\t\t\t\tfs.writeFileSync(filePath, versionFile, { encoding: \"utf8\" });\r\n\t\t\t} else {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tfs.rmSync(filePath);\r\n\t\t\t\t} catch (err) {\r\n\t\t\t\t\tif (!isErrorENOENT(err)) {\r\n\t\t\t\t\t\tthrow err;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t});\r\n\r\n\ttype CopyrightRange = [number, number?];\r\n\r\n\tconst createVersionFileWriter =\r\n\t\t(\r\n\t\t\tcopyright: CopyrightRange = [currentYear],\r\n\t\t\tcopyrightStuff: string = \"\",\r\n\t\t) =>\r\n\t\t(name: string, newVersion: PackageVersion) => {\r\n\t\t\tconst descriptionText = newVersion.toDescriptionString(name);\r\n\t\t\tconst copyrightText = createYearString(copyright);\r\n\r\n\t\t\tconst result = `console.log(\"${descriptionText}. Copyright (C) ${copyrightText}${copyrightStuff}\");`;\r\n\r\n\t\t\tfs.writeFileSync(filePath, result, { encoding: \"utf-8\" });\r\n\t\t};\r\n\r\n\tlet rawVersionFile = readStringFromFileOrUndefined(filePath);\r\n\r\n\tif (rawVersionFile === undefined) {\r\n\t\treturn invalidVersionFile(rawVersionFile);\r\n\t}\r\n\r\n\tconst versionFile = rawVersionFile.replace(/\\n/g, \"\");\r\n\r\n\tconst match = versionFile.match(logRegex);\r\n\r\n\tif (!match) {\r\n\t\treturn invalidVersionFile(versionFile);\r\n\t}\r\n\r\n\tconst [_full, _description, copyright, copyrightStuff] = match as [\r\n\t\tstring,\r\n\t\tstring,\r\n\t\tstring,\r\n\t\tstring?,\r\n\t];\r\n\r\n\tconst copyrightYears = copyright.match(/^(\\d+)( ?- ?(\\d+))?$/);\r\n\r\n\tlet years: [number, number?];\r\n\r\n\tif (copyrightYears === null) {\r\n\t\tyears = [currentYear];\r\n\t} else {\r\n\t\tyears = [Number(copyrightYears[1]), currentYear];\r\n\t}\r\n\r\n\treturn {\r\n\t\twrite: createVersionFileWriter(years, copyrightStuff),\r\n\t\treset: () => {\r\n\t\t\tfs.writeFileSync(filePath, versionFile, { encoding: \"utf8\" });\r\n\t\t},\r\n\t};\r\n};\r\n\r\nconst createYearString = (years: [number, number?]) => {\r\n\tif (years[1] === undefined || years[0] === years[1]) {\r\n\t\treturn years[0].toString();\r\n\t}\r\n\r\n\treturn `${years[0]} - ${years[1]}`;\r\n};\r\n"],"names":["readStringFromFile","filePath","fs","readFileSync","encoding","readStringFromFileOrUndefined","err","isErrorENOENT","undefined","getVersionInformationFromGit","workspaceLocation","packageLocation","log","git","simpleGit","baseDir","path","diff","diffSummary","dirty","files","some","file","toLowerCase","includes","endsWith","fullPath","resolve","relativePath","relative","startsWith","maxCount","commit","latest","hash","substring","commitDate","date","getWorkspaceBannerText","manifest","bannerText","packager","banner","match","startYear","parseInt","endYear","Date","getFullYear","replace","PackageVersion","fullTextMatcher","lineMatcher","extractFromText","input","description","Error","fromMatch","extractFromLine","equals","a","b","checkPrerelease","major","minor","patch","preRelease","type","version","build","preReleaseType","preReleaseNumber","buildNumber","Number","descriptionMatch","sort","ascending","createSortResult","toNumber","constructor","isPreRelease","clone","incrementMajor","incrementMinor","incrementPatch","createPreRelease","createRelease","toVersionString","join","toDescriptionString","packageName","base","parts","push","upperCaseFirst","isLesserThan","isGreaterThan","slice","toUpperCase","parseVersionFromString","parseVersionFromNumericVersion","Math","floor","logRegex","currentYear","now","getVersionFileHandler","location","scriptsDir","invalidVersionFile","versionFile","write","name","newVersion","scriptsContent","readdirSync","tsFiles","filter","length","createVersionFileWriter","reset","writeFileSync","rmSync","copyright","copyrightStuff","descriptionText","copyrightText","createYearString","result","rawVersionFile","_full","_description","copyrightYears","years","toString"],"mappings":"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"}