@intelligentgraphics/ig.gfx.packager 3.0.9 → 3.0.10

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 (37) hide show
  1. package/build/cli-cb85e4b5.js +1393 -0
  2. package/build/cli-cb85e4b5.js.map +1 -0
  3. package/build/dependencies-2565d80c.js +133 -0
  4. package/build/dependencies-2565d80c.js.map +1 -0
  5. package/build/generateIndex-f386d332.js +257 -0
  6. package/build/generateIndex-f386d332.js.map +1 -0
  7. package/build/generateParameterType-151ab313.js +75 -0
  8. package/build/generateParameterType-151ab313.js.map +1 -0
  9. package/build/index-67a112b8.js +312 -0
  10. package/build/index-67a112b8.js.map +1 -0
  11. package/build/index-7a955335.js +479 -0
  12. package/build/{index-a48c5d0a.js.map → index-7a955335.js.map} +1 -1
  13. package/build/index.mjs +1 -1
  14. package/build/index.mjs.map +1 -1
  15. package/build/postinstall-962af586.js +67 -0
  16. package/build/{postinstall-9990fb31.js.map → postinstall-962af586.js.map} +1 -1
  17. package/build/publishNpm-1838e45c.js +134 -0
  18. package/build/{publishNpm-74a96626.js.map → publishNpm-1838e45c.js.map} +1 -1
  19. package/build/versionFile-cf6657c8.js +384 -0
  20. package/build/versionFile-cf6657c8.js.map +1 -0
  21. package/package.json +4 -6
  22. package/readme.md +81 -2
  23. package/build/cli-17d957b0.js +0 -2531
  24. package/build/cli-17d957b0.js.map +0 -1
  25. package/build/dependencies-51916db0.js +0 -149
  26. package/build/dependencies-51916db0.js.map +0 -1
  27. package/build/generateIndex-59993f0f.js +0 -266
  28. package/build/generateIndex-59993f0f.js.map +0 -1
  29. package/build/generateParameterType-d3ab08fd.js +0 -74
  30. package/build/generateParameterType-d3ab08fd.js.map +0 -1
  31. package/build/index-a48c5d0a.js +0 -480
  32. package/build/index-ac2cd050.js +0 -308
  33. package/build/index-ac2cd050.js.map +0 -1
  34. package/build/postinstall-9990fb31.js +0 -64
  35. package/build/publishNpm-74a96626.js +0 -133
  36. package/build/versionFile-68e35b54.js +0 -370
  37. package/build/versionFile-68e35b54.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index-a48c5d0a.js","sources":["../src/commands/publish/zip.ts","../src/commands/publish/index.ts"],"sourcesContent":["import Ajv, { ValidateFunction } from \"ajv\";\nimport axios from \"axios\";\nimport JSZip from \"jszip\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\nimport * as terser from \"terser\";\n\nimport { isErrorENOENT } from \"../../lib/error\";\nimport { logPackageMessage } from \"../../lib/log\";\nimport {\n\tCreatorPackage,\n\treadPackageCreatorManifest,\n\twritePackageCreatorManifest,\n\treadPackageAnimationList,\n\treadPackageCreatorIndex,\n\tparseCreatorPackageName,\n\tPackageLocation,\n\tPackageNpmManifest,\n\tINDEX_FILE,\n\tPACKAGE_FILE,\n} from \"../../lib/package\";\nimport { getWorkspaceOutputPath, WorkspaceLocation } from \"../../lib/workspace\";\nimport {\n\tPublishedPackageLocation,\n\treadPublishedPackageCreatorIndex,\n} from \"../../lib/publishedPackage\";\n\nexport const buildArchiveFromPublishedPackage = (\n\tlocation: PublishedPackageLocation,\n\tmanifest: PackageNpmManifest,\n\tcreatorPackage: CreatorPackage,\n) => {\n\tconst archive = new JSZip();\n\n\tarchive.file(PACKAGE_FILE, JSON.stringify(creatorPackage, null, 2));\n\n\tconst index = readPublishedPackageCreatorIndex(location);\n\n\tif (index !== undefined) {\n\t\tarchive.file(INDEX_FILE, JSON.stringify(index, null, 2));\n\t}\n\n\tarchive.file(\n\t\tmanifest.main,\n\t\tfs.createReadStream(path.join(location.path, manifest.main)),\n\t);\n\n\treturn archive;\n};\n\nlet validateSchema: ValidateFunction | undefined;\n\nconst runtimeScripts: CreatorPackage[\"Type\"][] = [\n\t\"Interactor\",\n\t\"Core\",\n\t\"Mixed\",\n];\n\nconst notRuntimeScripts: CreatorPackage[\"Type\"][] = [\"Context\", \"Evaluator\"];\n\nexport const buildArchiveFromPackage = async (\n\tworkspaceLocation: WorkspaceLocation,\n\tpackageLocation: PackageLocation,\n\tdata: CreatorPackage,\n) => {\n\tconst { domain, subdomain } = parseCreatorPackageName(data);\n\n\tconst logStep = (step: string) => logPackageMessage(data.Package, step);\n\n\tif (validateSchema === undefined) {\n\t\tvalidateSchema = await axios\n\t\t\t.get(\n\t\t\t\t\"https://archive.intelligentgraphics.biz/schemas/gfx/animation.json\",\n\t\t\t)\n\t\t\t.then(({ data }) =>\n\t\t\t\tnew Ajv({\n\t\t\t\t\tcoerceTypes: true,\n\t\t\t\t\tallErrors: true,\n\t\t\t\t\tremoveAdditional: true,\n\t\t\t\t\tuseDefaults: \"empty\",\n\t\t\t\t\tvalidateSchema: \"log\",\n\t\t\t\t}).compile(data),\n\t\t\t);\n\t}\n\n\tconst libFilePath = path.join(\n\t\tgetWorkspaceOutputPath(workspaceLocation),\n\t\t`${data.Package}.min.js`,\n\t);\n\n\tconst scriptDirectories: string[] = [\n\t\tpackageLocation.path,\n\t\tpackageLocation.scriptsDir,\n\t];\n\n\tif (subdomain === \"GFX.Standard\") {\n\t\tlogStep(`Including Images folder`);\n\t\tscriptDirectories.push(path.join(packageLocation.path, \"Images\"));\n\t}\n\n\tconst manifest = readPackageCreatorManifest(packageLocation);\n\n\tif (manifest !== undefined) {\n\t\tif (manifest.RunTime && notRuntimeScripts.includes(manifest.Type)) {\n\t\t\tlogStep(\"Setting script RunTime to false because of script type\");\n\t\t\twritePackageCreatorManifest(packageLocation, {\n\t\t\t\t...manifest,\n\t\t\t\tRunTime: false,\n\t\t\t});\n\t\t} else if (\n\t\t\t!manifest.RunTime &&\n\t\t\truntimeScripts.includes(manifest.Type)\n\t\t) {\n\t\t\tlogStep(\"Setting script RunTime to true because of script type\");\n\t\t\twritePackageCreatorManifest(packageLocation, {\n\t\t\t\t...manifest,\n\t\t\t\tRunTime: true,\n\t\t\t});\n\t\t}\n\t}\n\n\t// if (index === undefined) {\n\t// \tthrow new Error(\n\t// \t\t`Could not find an \"${INDEX_FILE}\" file in \"${primaryScriptDir}\"`,\n\t// \t);\n\t// }\n\n\tconst animations = new Map<string, string>();\n\n\tfor (const scriptFilePath of readPackageAnimationList(packageLocation)) {\n\t\tconst content = fs.readFileSync(scriptFilePath, { encoding: \"utf8\" })!;\n\n\t\tlet data: { Id: string };\n\n\t\ttry {\n\t\t\tdata = JSON.parse(content);\n\t\t} catch (err) {\n\t\t\tconst relativePath = path.relative(\n\t\t\t\tworkspaceLocation.path,\n\t\t\t\tscriptFilePath,\n\t\t\t);\n\n\t\t\tif (err instanceof SyntaxError) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Encountered invalid syntax in file \"${relativePath}\": ${String(\n\t\t\t\t\t\terr,\n\t\t\t\t\t)}`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tthrow new Error(\n\t\t\t\t`Encountered an unexpected error while parsing animation json file at path \"${relativePath}\"`,\n\t\t\t\t{\n\t\t\t\t\tcause: err,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\n\t\tvalidateSchema!(data);\n\n\t\tanimations.set(data.Id, JSON.stringify(data));\n\t}\n\n\tlet libFile: string | undefined;\n\n\ttry {\n\t\tlibFile = fs.readFileSync(libFilePath, { encoding: \"utf8\" });\n\t} catch (err) {\n\t\tif (!isErrorENOENT(err)) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\n\tif (libFile === undefined) {\n\t\tif (animations.size === 0) {\n\t\t\tthrow new Error(`Could not find a javascript file at \"${libFilePath}\".\nPackaging without a javascript file is only allowed when animation json files are available`);\n\t\t}\n\t}\n\n\tconst archive = new JSZip();\n\n\tlet library: string = \"\";\n\n\tif (libFile) {\n\t\tlibrary = libFile;\n\t}\n\n\tif (!library) {\n\t\tconst date = new Date(Date.now());\n\t\tlibrary = `/* This file is part of the ${domain} Data Packages.\n\t\t* Copyright (C) ${date.getFullYear()} intelligentgraphics. All Rights Reserved. */`;\n\t}\n\n\tif (animations.size > 0) {\n\t\tconst scopeParts = data.Scope.split(\".\");\n\t\tconst scope = data.Scope;\n\n\t\tlibrary += createNamespace(scopeParts);\n\n\t\tfor (const [name, data] of animations) {\n\t\t\tlibrary += `${scope}.${name} = ` + data + \";\";\n\t\t\tlogPackageMessage(\n\t\t\t\tmanifest.Package,\n\t\t\t\t`Added animation ${scope}.${name}`,\n\t\t\t);\n\t\t}\n\t}\n\n\tconst minifyResult = await terser.minify(library, { ecma: 5 });\n\n\tarchive.file(`${data.Package}.js`, minifyResult.code!);\n\tarchive.file(PACKAGE_FILE, JSON.stringify(data, null, 2));\n\n\tconst creatorIndex = readPackageCreatorIndex(packageLocation);\n\n\tif (creatorIndex !== undefined) {\n\t\tarchive.file(INDEX_FILE, JSON.stringify(creatorIndex, null, 2));\n\t}\n\n\tfor (const directory of scriptDirectories) {\n\t\ttry {\n\t\t\tfor (const file of fs.readdirSync(directory)) {\n\t\t\t\tconst { ext } = path.parse(file);\n\n\t\t\t\tswitch (ext) {\n\t\t\t\t\tcase \".png\":\n\t\t\t\t\tcase \".jpeg\":\n\t\t\t\t\tcase \".jpg\":\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tarchive.file(\n\t\t\t\t\tfile,\n\t\t\t\t\tfs.createReadStream(path.join(directory, file)),\n\t\t\t\t);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconsole.error(`Script directory \"${directory}\" does not exist`);\n\t\t}\n\t}\n\n\treturn archive;\n};\n\nconst createNamespace = (parts: string[]) => {\n\tlet code = `var ${parts[0]};`;\n\n\tfor (let index = 0; index < parts.length; index++) {\n\t\tconst path = parts.slice(0, index + 1).join(\".\");\n\n\t\tcode += `\\n(${path} = ${path} || {});`;\n\t}\n\n\treturn code;\n};\n","import * as path from \"path\";\nimport * as fs from \"fs\";\nimport { pipeline } from \"stream/promises\";\nimport { execSync } from \"child_process\";\n\nimport { AssetService } from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nimport { logPackageMessage } from \"../../lib/log\";\nimport {\n\tCreatorPackage,\n\tgetPackageReleasesDirectory,\n\tPackageLocation,\n\tparseCreatorPackageName,\n\treadPackageAnimationList,\n\treadPackageCreatorManifest,\n} from \"../../lib/package\";\nimport {\n\tgetWorkspaceOutputPath,\n\treadWorkspaceNpmManifest,\n\tWorkspaceLocation,\n\twriteWorkspaceNpmManifest,\n} from \"../../lib/workspace\";\nimport { getVersionInformationFromGit } from \"../../lib/git\";\nimport { getWorkspaceBannerText } from \"../../lib/banner\";\nimport {\n\tparseVersionFromNumericVersion,\n\tparseVersionFromString,\n} from \"../../lib/parseVersion\";\nimport { getVersionFileHandler } from \"../../lib/versionFile\";\nimport { isErrorENOENT } from \"../../lib/error\";\nimport { determineWorkspaceIGLibraries } from \"../../lib/dependencies\";\nimport {\n\treadPublishedPackageCreatorManifest,\n\treadPublishedPackageNpmManifest,\n} from \"../../lib/publishedPackage\";\nimport { Prompter } from \"../../lib/prompter\";\nimport { PackageVersion } from \"../../lib/packageVersion\";\n\nimport { BuildFoldersOptions, buildFolders } from \"../build\";\nimport {\n\tbuildArchiveFromPackage,\n\tbuildArchiveFromPublishedPackage,\n} from \"./zip\";\n\nexport interface ReleaseFolderOptions\n\textends Omit<\n\t\tBuildFoldersOptions,\n\t\t\"skipPackagesWithoutTsFiles\" | \"banner\" | \"packages\"\n\t> {\n\tdirectory: PackageLocation;\n\tnoUpload: boolean;\n\tnewVersion: string;\n\tdomain?: string;\n\tsubdomain?: string;\n\taddress?: string;\n\tservice: string;\n\tauthentication?: AssetService.Authentication;\n\tpushOnly: boolean;\n\tbanner?: boolean;\n\tprompter: Prompter;\n\tskipDependencies?: boolean;\n}\n\nexport const releaseFolder = async (options: ReleaseFolderOptions) => {\n\tconst workspace = options.workspace;\n\tconst location = options.directory;\n\n\tconst { write: writeVersionFile, reset: resetVersionFile } =\n\t\tgetVersionFileHandler(location);\n\n\tconst packageDescription = readPackageCreatorManifest(location);\n\tconst fullPackageName = packageDescription.Package;\n\tconst { domain, subdomain } = parseCreatorPackageName(packageDescription);\n\n\tconst publishDomain = options.domain ?? domain;\n\tconst publishSubdomain = options.subdomain ?? subdomain;\n\n\tconst sharedPackageJson = readWorkspaceNpmManifest(workspace);\n\n\tlet newVersion: PackageVersion;\n\ttry {\n\t\tnewVersion = parseVersionFromString(options.newVersion);\n\t} catch (err) {\n\t\tthrow new Error(`Please enter a version in this format 1.0.0.100`);\n\t}\n\n\tif (newVersion.buildNumber < 100) {\n\t\tnewVersion.preRelease = {\n\t\t\ttype: \"beta\",\n\t\t\tversion: newVersion.buildNumber,\n\t\t};\n\t} else if (newVersion.buildNumber > 100) {\n\t\tnewVersion.preRelease = {\n\t\t\ttype: \"patch\",\n\t\t\tversion: newVersion.buildNumber - 100,\n\t\t};\n\t}\n\n\tif (sharedPackageJson !== undefined) {\n\t\tlogPackageMessage(\n\t\t\tpackageDescription.Package,\n\t\t\t`Running npm install to make sure all dependencies are up to date`,\n\t\t);\n\t\texecSync(`npm install`, { encoding: \"utf-8\", cwd: workspace.path });\n\t}\n\n\tconst binDir = getWorkspaceOutputPath(workspace);\n\tfs.mkdirSync(binDir, { recursive: true });\n\n\tlet assetServerPackageDetails: AssetService.UploadPackageDetails;\n\n\tlet packageNameWithVersion: string;\n\n\t{\n\t\tconst versionWithoutPrelease = newVersion.clone();\n\t\tversionWithoutPrelease.preRelease = undefined;\n\t\tconst newVersionString = versionWithoutPrelease.toVersionString({\n\t\t\tbuildNumber: true,\n\t\t});\n\t\tpackageNameWithVersion = `${packageDescription.Package}_${newVersionString}`;\n\n\t\tassetServerPackageDetails = {\n\t\t\tname: packageDescription.Package,\n\t\t\tversion: newVersionString,\n\t\t};\n\t}\n\n\tconst zipFilePath = path.join(binDir, packageNameWithVersion + \".zip\");\n\n\ttry {\n\t\tif (options.pushOnly) {\n\t\t\tif (!fs.existsSync(zipFilePath)) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Expected a zip file to exist at path ${zipFilePath} since pushOnly is specified`,\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tconst gitVersionInformation = await getVersionInformationFromGit(\n\t\t\t\tworkspace,\n\t\t\t\tlocation,\n\t\t\t);\n\n\t\t\twriteVersionFile(fullPackageName, newVersion);\n\n\t\t\tconst bannerText =\n\t\t\t\tsharedPackageJson !== undefined\n\t\t\t\t\t? getWorkspaceBannerText(sharedPackageJson)\n\t\t\t\t\t: undefined;\n\n\t\t\tawait buildFolders({\n\t\t\t\t...options,\n\t\t\t\tpackages: [location],\n\t\t\t\tskipPackagesWithoutTsFiles: true,\n\t\t\t\tbanner: options.banner\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttext: bannerText,\n\t\t\t\t\t\t\tcommit: gitVersionInformation.commit,\n\t\t\t\t\t\t\tcommitDirty: gitVersionInformation.dirty,\n\t\t\t\t\t\t\tversion: newVersion.toVersionString({\n\t\t\t\t\t\t\t\tbuildNumber: true,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tdate: new Date(Date.now()),\n\t\t\t\t\t\t\t// gitVersionInformation.commitDate\n\t\t\t\t\t\t\t// \t? new Date(gitVersionInformation.commitDate)\n\t\t\t\t\t\t\t// \t: new Date(Date.now()),\n\t\t\t\t\t }\n\t\t\t\t\t: undefined,\n\t\t\t});\n\n\t\t\tnewVersion.preRelease = undefined;\n\n\t\t\ttry {\n\t\t\t\tfs.rmSync(zipFilePath);\n\t\t\t} catch (err) {\n\t\t\t\tif (!isErrorENOENT(err)) {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (readPackageAnimationList(location).length > 0) {\n\t\t\t\tconst workspaceManifest = readWorkspaceNpmManifest(workspace);\n\n\t\t\t\tif (\n\t\t\t\t\t!workspaceManifest.dependencies?.[\n\t\t\t\t\t\t\"@intelligentgraphics/3d.ig.gfx.standard\"\n\t\t\t\t\t]\n\t\t\t\t) {\n\t\t\t\t\tconst install = await options.prompter.confirm(\n\t\t\t\t\t\t`Animation.json files require the library 'IG.GFX.Standard' to be available, but it is not registered as a dependency. Do you want to install it now?`,\n\t\t\t\t\t);\n\n\t\t\t\t\tif (install) {\n\t\t\t\t\t\texecSync(\n\t\t\t\t\t\t\t`npm install @intelligentgraphics/3d.ig.gfx.standard`,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tencoding: \"utf-8\",\n\t\t\t\t\t\t\t\tcwd: workspace.path,\n\t\t\t\t\t\t\t\tstdio: \"inherit\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\texecSync(`npm run postinstall`, {\n\t\t\t\t\t\t\tcwd: workspace.path,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst archive = await buildArchiveFromPackage(\n\t\t\t\tworkspace,\n\t\t\t\tlocation,\n\t\t\t\tpackageDescription,\n\t\t\t);\n\n\t\t\tconst zipOutputStream = fs.createWriteStream(zipFilePath);\n\t\t\tawait pipeline(archive.generateNodeStream(), zipOutputStream);\n\t\t}\n\n\t\tif (!options.noUpload) {\n\t\t\tif (!options.authentication) {\n\t\t\t\tthrow new Error(`Expected authentication to be available`);\n\t\t\t}\n\n\t\t\tlogPackageMessage(\n\t\t\t\tpackageDescription.Package,\n\t\t\t\t`Opening connection to IG.Asset.Server`,\n\t\t\t);\n\n\t\t\tconst sessionManager = await createSessionManager({\n\t\t\t\turl: options.service,\n\t\t\t\taddress: options.address,\n\t\t\t\tdomain: publishDomain,\n\t\t\t\tsubDomain: publishSubdomain,\n\t\t\t\tauthentication: options.authentication,\n\t\t\t});\n\n\t\t\ttry {\n\t\t\t\tif (!options.skipDependencies) {\n\t\t\t\t\tawait ensureRequiredVersions(\n\t\t\t\t\t\tworkspace,\n\t\t\t\t\t\tpackageDescription,\n\t\t\t\t\t\tsessionManager,\n\t\t\t\t\t\toptions.prompter,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tlogPackageMessage(\n\t\t\t\t\tpackageDescription.Package,\n\t\t\t\t\t`Uploading package to ${publishDomain}.${publishSubdomain}`,\n\t\t\t\t);\n\n\t\t\t\tawait AssetService.uploadPackage(\n\t\t\t\t\tsessionManager.getTargetSession(),\n\t\t\t\t\tassetServerPackageDetails,\n\t\t\t\t\tzipFilePath,\n\t\t\t\t);\n\t\t\t} finally {\n\t\t\t\tawait sessionManager.destroy().catch((err) => {\n\t\t\t\t\tlogPackageMessage(\n\t\t\t\t\t\tpackageDescription.Package,\n\t\t\t\t\t\t`Failed to close IG.Asset.Server session(s): ${err}`,\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\tresetVersionFile();\n\t\tthrow err;\n\t}\n\n\tif (newVersion.buildNumber >= 100 && !options.pushOnly) {\n\t\tlogPackageMessage(fullPackageName, \"Copying zip to releases folder\");\n\n\t\tconst zipFileName = `${packageNameWithVersion}.zip`;\n\t\tconst releasesPath = getPackageReleasesDirectory(location);\n\n\t\tfs.mkdirSync(releasesPath, { recursive: true });\n\t\tfs.copyFileSync(zipFilePath, path.join(releasesPath, zipFileName));\n\t}\n};\n\nconst ensureRequiredVersions = async (\n\tworkspaceLocation: WorkspaceLocation,\n\tcreatorPackage: CreatorPackage,\n\tsessionManager: SessionManager,\n\tprompter: Prompter,\n) => {\n\tinterface UploadedPackage\n\t\textends Omit<AssetService.ExistingPackage, \"version\"> {\n\t\tversion: PackageVersion;\n\t}\n\n\tconst libraries = determineWorkspaceIGLibraries(workspaceLocation);\n\n\t// If there are no libraries, we don't need to check for required versions\n\tif (libraries.length === 0) {\n\t\treturn true;\n\t}\n\n\tconst targetSession = sessionManager.getTargetSession();\n\n\tconst rawUploadedPackages = await AssetService.getExistingPackages(\n\t\ttargetSession,\n\t);\n\n\tconst uploadedPackages = rawUploadedPackages.map(\n\t\t(entry): UploadedPackage => {\n\t\t\tlet version: PackageVersion;\n\n\t\t\ttry {\n\t\t\t\tversion = parseVersionFromNumericVersion(entry.numericVersion);\n\t\t\t} catch (err) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Encountered invalid format for version ${entry.numericVersion}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (version.buildNumber < 100) {\n\t\t\t\tversion.preRelease = {\n\t\t\t\t\ttype: \"beta\",\n\t\t\t\t\tversion: version.buildNumber,\n\t\t\t\t};\n\t\t\t} else if (version.buildNumber > 100) {\n\t\t\t\tversion.preRelease = {\n\t\t\t\t\ttype: \"patch\",\n\t\t\t\t\tversion: version.buildNumber - 100,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...entry,\n\t\t\t\tversion,\n\t\t\t};\n\t\t},\n\t);\n\n\tfor (const libraryLocation of libraries) {\n\t\tconst libraryManifest =\n\t\t\treadPublishedPackageNpmManifest(libraryLocation);\n\t\tconst libraryCreatorPackage =\n\t\t\treadPublishedPackageCreatorManifest(libraryLocation);\n\n\t\tif (\n\t\t\tlibraryCreatorPackage === undefined ||\n\t\t\tlibraryManifest.main === undefined ||\n\t\t\tlibraryCreatorPackage.Package === creatorPackage.Package\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst libraryVersion = PackageVersion.extractFromLine(\n\t\t\tlibraryManifest.version,\n\t\t);\n\n\t\tif (libraryVersion.preRelease) {\n\t\t\tlibraryVersion.buildNumber = libraryVersion.preRelease.version;\n\t\t\tlibraryVersion.preRelease = undefined;\n\t\t} else {\n\t\t\tlibraryVersion.buildNumber = 100;\n\t\t}\n\n\t\tlet uploadedPackageInBasics: UploadedPackage | undefined;\n\t\tlet uploadedPackageInTarget: UploadedPackage | undefined;\n\n\t\tfor (const uploadedPackage of uploadedPackages) {\n\t\t\tif (uploadedPackage.scope === libraryCreatorPackage.Package) {\n\t\t\t\tif (uploadedPackage.support) {\n\t\t\t\t\tuploadedPackageInBasics = uploadedPackage;\n\t\t\t\t} else {\n\t\t\t\t\tuploadedPackageInTarget = uploadedPackage;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst validInBasics =\n\t\t\tuploadedPackageInBasics !== undefined &&\n\t\t\t!uploadedPackageInBasics.version.isLesserThan(libraryVersion);\n\t\tconst validInTarget =\n\t\t\tuploadedPackageInTarget !== undefined &&\n\t\t\t!uploadedPackageInTarget.version.isLesserThan(libraryVersion);\n\n\t\tif (validInBasics || validInTarget) {\n\t\t\tif (\n\t\t\t\ttargetSession.subDomain !== \"Basics\" &&\n\t\t\t\tuploadedPackageInBasics !== undefined &&\n\t\t\t\tuploadedPackageInTarget !== undefined\n\t\t\t) {\n\t\t\t\tlogPackageMessage(\n\t\t\t\t\tcreatorPackage.Package,\n\t\t\t\t\t`Package ${libraryCreatorPackage.Package} is uploaded both for Basics and ${targetSession.subDomain}. The package within ${targetSession.subDomain} will be used.`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tlogPackageMessage(\n\t\t\tcreatorPackage.Package,\n\t\t\t`Requested at least version ${libraryVersion.toVersionString({\n\t\t\t\tbuildNumber: true,\n\t\t\t})} for package ${libraryCreatorPackage.Package}`,\n\t\t);\n\n\t\tif (targetSession.subDomain !== \"Basics\" && uploadedPackageInTarget) {\n\t\t\tconst version = uploadedPackageInTarget.version.toVersionString({\n\t\t\t\tbuildNumber: true,\n\t\t\t});\n\n\t\t\tlogPackageMessage(\n\t\t\t\tcreatorPackage.Package,\n\t\t\t\t`Found invalid version ${version} for package ${libraryCreatorPackage.Package} in ${targetSession.subDomain}`,\n\t\t\t);\n\t\t}\n\t\tif (uploadedPackageInBasics) {\n\t\t\tconst version = uploadedPackageInBasics.version.toVersionString({\n\t\t\t\tbuildNumber: true,\n\t\t\t});\n\n\t\t\tlet message = `Found invalid version ${version} for package ${libraryCreatorPackage.Package} in Basics`;\n\n\t\t\tif (\n\t\t\t\ttargetSession.subDomain !== \"Basics\" &&\n\t\t\t\tuploadedPackageInTarget\n\t\t\t) {\n\t\t\t\tmessage += `. This version will not be used since the package also exists in ${targetSession.subDomain}`;\n\t\t\t}\n\n\t\t\tlogPackageMessage(creatorPackage.Package, message);\n\t\t}\n\n\t\tconst possibleTargets: string[] = [\"Basics\"];\n\n\t\tif (targetSession.subDomain !== \"Basics\") {\n\t\t\tpossibleTargets.push(targetSession.subDomain);\n\t\t}\n\n\t\tconst uploadTargetScope = await prompter.ask({\n\t\t\tmessage: `Select the scope to upload the required version of ${libraryCreatorPackage.Package} to or select \"skip\" to skip the upload.`,\n\t\t\toptions: [...possibleTargets, \"Skip\"],\n\t\t\tdefault: possibleTargets[0],\n\t\t});\n\n\t\tif (uploadTargetScope === \"Skip\") {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst archive = buildArchiveFromPublishedPackage(\n\t\t\tlibraryLocation,\n\t\t\tlibraryManifest,\n\t\t\tlibraryCreatorPackage,\n\t\t);\n\n\t\tconst newVersionString = libraryVersion.toVersionString({\n\t\t\tbuildNumber: true,\n\t\t});\n\t\tconst packageNameWithVersion = `${libraryCreatorPackage.Package}_${newVersionString}`;\n\n\t\tconst zipFilePath = path.join(\n\t\t\tgetWorkspaceOutputPath(workspaceLocation),\n\t\t\t`${packageNameWithVersion}.zip`,\n\t\t);\n\n\t\ttry {\n\t\t\tfs.rmSync(zipFilePath);\n\t\t} catch (err) {\n\t\t\tif (!isErrorENOENT(err)) {\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t}\n\n\t\tconst zipOutputStream = fs.createWriteStream(zipFilePath);\n\t\tawait pipeline(archive.generateNodeStream(), zipOutputStream);\n\n\t\tconst session =\n\t\t\tuploadTargetScope === \"Basics\"\n\t\t\t\t? await sessionManager.getBasicsSession()\n\t\t\t\t: targetSession;\n\n\t\tlogPackageMessage(\n\t\t\tcreatorPackage.Package,\n\t\t\t`Uploading package ${libraryCreatorPackage.Package} with version ${newVersionString} to ${session.domain}.${session.subDomain}`,\n\t\t);\n\n\t\tawait AssetService.uploadPackage(\n\t\t\tsession,\n\t\t\t{\n\t\t\t\tname: libraryCreatorPackage.Package,\n\t\t\t\tversion: newVersionString,\n\t\t\t},\n\t\t\tzipFilePath,\n\t\t);\n\t}\n};\n\ninterface SessionManager {\n\tgetBasicsSession: () => Promise<AssetService.Session>;\n\tgetTargetSession: () => AssetService.Session;\n\tdestroy: () => Promise<void>;\n}\n\nconst createSessionManager = async (\n\tparams: AssetService.SessionStartParams,\n): Promise<SessionManager> => {\n\tconst targetSession = await AssetService.startSession(params);\n\tlet basicsSession: AssetService.Session | undefined;\n\n\treturn {\n\t\tgetBasicsSession: async () => {\n\t\t\tif (targetSession.subDomain === \"Basics\") {\n\t\t\t\treturn targetSession;\n\t\t\t}\n\n\t\t\tif (basicsSession === undefined) {\n\t\t\t\tbasicsSession = await AssetService.startSession({\n\t\t\t\t\t...params,\n\t\t\t\t\tsubDomain: \"Basics\",\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn basicsSession;\n\t\t},\n\n\t\tgetTargetSession: () => targetSession,\n\n\t\tdestroy: async () => {\n\t\t\tawait AssetService.closeSession(targetSession);\n\n\t\t\tif (basicsSession !== undefined) {\n\t\t\t\tawait AssetService.closeSession(basicsSession);\n\t\t\t}\n\t\t},\n\t};\n};\n"],"names":["buildArchiveFromPublishedPackage","location","manifest","creatorPackage","archive","JSZip","file","PACKAGE_FILE","JSON","stringify","index","readPublishedPackageCreatorIndex","undefined","INDEX_FILE","main","fs","createReadStream","path","join","validateSchema","runtimeScripts","notRuntimeScripts","buildArchiveFromPackage","workspaceLocation","packageLocation","data","domain","subdomain","parseCreatorPackageName","logStep","step","logPackageMessage","Package","axios","get","then","Ajv","coerceTypes","allErrors","removeAdditional","useDefaults","compile","libFilePath","getWorkspaceOutputPath","scriptDirectories","scriptsDir","push","readPackageCreatorManifest","RunTime","includes","Type","writePackageCreatorManifest","animations","Map","scriptFilePath","readPackageAnimationList","content","readFileSync","encoding","parse","err","relativePath","relative","SyntaxError","Error","String","cause","set","Id","libFile","isErrorENOENT","size","library","date","Date","now","getFullYear","scopeParts","Scope","split","scope","createNamespace","name","minifyResult","terser","minify","ecma","code","creatorIndex","readPackageCreatorIndex","directory","readdirSync","ext","console","error","parts","length","slice","releaseFolder","options","workspace","write","writeVersionFile","reset","resetVersionFile","getVersionFileHandler","packageDescription","fullPackageName","publishDomain","publishSubdomain","sharedPackageJson","readWorkspaceNpmManifest","newVersion","parseVersionFromString","buildNumber","preRelease","type","version","execSync","cwd","binDir","mkdirSync","recursive","assetServerPackageDetails","packageNameWithVersion","versionWithoutPrelease","clone","newVersionString","toVersionString","zipFilePath","pushOnly","existsSync","gitVersionInformation","getVersionInformationFromGit","bannerText","getWorkspaceBannerText","buildFolders","packages","skipPackagesWithoutTsFiles","banner","text","commit","commitDirty","dirty","rmSync","_workspaceManifest$de","workspaceManifest","dependencies","install","prompter","confirm","stdio","zipOutputStream","createWriteStream","pipeline","generateNodeStream","noUpload","authentication","sessionManager","createSessionManager","url","service","address","subDomain","skipDependencies","ensureRequiredVersions","AssetService","getTargetSession","destroy","catch","zipFileName","releasesPath","getPackageReleasesDirectory","copyFileSync","libraries","determineWorkspaceIGLibraries","targetSession","rawUploadedPackages","uploadedPackages","map","entry","parseVersionFromNumericVersion","numericVersion","libraryLocation","libraryManifest","readPublishedPackageNpmManifest","libraryCreatorPackage","readPublishedPackageCreatorManifest","libraryVersion","PackageVersion","extractFromLine","uploadedPackageInBasics","uploadedPackageInTarget","uploadedPackage","support","validInBasics","isLesserThan","validInTarget","message","possibleTargets","uploadTargetScope","ask","default","session","getBasicsSession","params","basicsSession"],"mappings":"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"}
1
+ {"version":3,"file":"index-7a955335.js","sources":["../src/commands/publish/zip.ts","../src/commands/publish/index.ts"],"sourcesContent":["import Ajv, { ValidateFunction } from \"ajv\";\nimport axios from \"axios\";\nimport JSZip from \"jszip\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\nimport * as terser from \"terser\";\n\nimport { isErrorENOENT } from \"../../lib/error\";\nimport { logPackageMessage } from \"../../lib/log\";\nimport {\n\tCreatorPackage,\n\treadPackageCreatorManifest,\n\twritePackageCreatorManifest,\n\treadPackageAnimationList,\n\treadPackageCreatorIndex,\n\tparseCreatorPackageName,\n\tPackageLocation,\n\tPackageNpmManifest,\n\tINDEX_FILE,\n\tPACKAGE_FILE,\n} from \"../../lib/package\";\nimport { getWorkspaceOutputPath, WorkspaceLocation } from \"../../lib/workspace\";\nimport {\n\tPublishedPackageLocation,\n\treadPublishedPackageCreatorIndex,\n} from \"../../lib/publishedPackage\";\n\nexport const buildArchiveFromPublishedPackage = (\n\tlocation: PublishedPackageLocation,\n\tmanifest: PackageNpmManifest,\n\tcreatorPackage: CreatorPackage,\n) => {\n\tconst archive = new JSZip();\n\n\tarchive.file(PACKAGE_FILE, JSON.stringify(creatorPackage, null, 2));\n\n\tconst index = readPublishedPackageCreatorIndex(location);\n\n\tif (index !== undefined) {\n\t\tarchive.file(INDEX_FILE, JSON.stringify(index, null, 2));\n\t}\n\n\tarchive.file(\n\t\tmanifest.main,\n\t\tfs.createReadStream(path.join(location.path, manifest.main)),\n\t);\n\n\treturn archive;\n};\n\nlet validateSchema: ValidateFunction | undefined;\n\nconst runtimeScripts: CreatorPackage[\"Type\"][] = [\n\t\"Interactor\",\n\t\"Core\",\n\t\"Mixed\",\n];\n\nconst notRuntimeScripts: CreatorPackage[\"Type\"][] = [\"Context\", \"Evaluator\"];\n\nexport const buildArchiveFromPackage = async (\n\tworkspaceLocation: WorkspaceLocation,\n\tpackageLocation: PackageLocation,\n\tdata: CreatorPackage,\n) => {\n\tconst { domain, subdomain } = parseCreatorPackageName(data);\n\n\tconst logStep = (step: string) => logPackageMessage(data.Package, step);\n\n\tif (validateSchema === undefined) {\n\t\tvalidateSchema = await axios\n\t\t\t.get(\n\t\t\t\t\"https://archive.intelligentgraphics.biz/schemas/gfx/animation.json\",\n\t\t\t)\n\t\t\t.then(({ data }) =>\n\t\t\t\tnew Ajv({\n\t\t\t\t\tcoerceTypes: true,\n\t\t\t\t\tallErrors: true,\n\t\t\t\t\tremoveAdditional: true,\n\t\t\t\t\tuseDefaults: \"empty\",\n\t\t\t\t\tvalidateSchema: \"log\",\n\t\t\t\t}).compile(data),\n\t\t\t);\n\t}\n\n\tconst libFilePath = path.join(\n\t\tgetWorkspaceOutputPath(workspaceLocation),\n\t\t`${data.Package}.min.js`,\n\t);\n\n\tconst scriptDirectories: string[] = [\n\t\tpackageLocation.path,\n\t\tpackageLocation.scriptsDir,\n\t];\n\n\tif (subdomain === \"GFX.Standard\") {\n\t\tlogStep(`Including Images folder`);\n\t\tscriptDirectories.push(path.join(packageLocation.path, \"Images\"));\n\t}\n\n\tconst manifest = readPackageCreatorManifest(packageLocation);\n\n\tif (manifest !== undefined) {\n\t\tif (manifest.RunTime && notRuntimeScripts.includes(manifest.Type)) {\n\t\t\tlogStep(\"Setting script RunTime to false because of script type\");\n\t\t\twritePackageCreatorManifest(packageLocation, {\n\t\t\t\t...manifest,\n\t\t\t\tRunTime: false,\n\t\t\t});\n\t\t} else if (\n\t\t\t!manifest.RunTime &&\n\t\t\truntimeScripts.includes(manifest.Type)\n\t\t) {\n\t\t\tlogStep(\"Setting script RunTime to true because of script type\");\n\t\t\twritePackageCreatorManifest(packageLocation, {\n\t\t\t\t...manifest,\n\t\t\t\tRunTime: true,\n\t\t\t});\n\t\t}\n\t}\n\n\t// if (index === undefined) {\n\t// \tthrow new Error(\n\t// \t\t`Could not find an \"${INDEX_FILE}\" file in \"${primaryScriptDir}\"`,\n\t// \t);\n\t// }\n\n\tconst animations = new Map<string, string>();\n\n\tfor (const scriptFilePath of readPackageAnimationList(packageLocation)) {\n\t\tconst content = fs.readFileSync(scriptFilePath, { encoding: \"utf8\" })!;\n\n\t\tlet data: { Id: string };\n\n\t\ttry {\n\t\t\tdata = JSON.parse(content);\n\t\t} catch (err) {\n\t\t\tconst relativePath = path.relative(\n\t\t\t\tworkspaceLocation.path,\n\t\t\t\tscriptFilePath,\n\t\t\t);\n\n\t\t\tif (err instanceof SyntaxError) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Encountered invalid syntax in file \"${relativePath}\": ${String(\n\t\t\t\t\t\terr,\n\t\t\t\t\t)}`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tthrow new Error(\n\t\t\t\t`Encountered an unexpected error while parsing animation json file at path \"${relativePath}\"`,\n\t\t\t\t{\n\t\t\t\t\tcause: err,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\n\t\tvalidateSchema!(data);\n\n\t\tanimations.set(data.Id, JSON.stringify(data));\n\t}\n\n\tlet libFile: string | undefined;\n\n\ttry {\n\t\tlibFile = fs.readFileSync(libFilePath, { encoding: \"utf8\" });\n\t} catch (err) {\n\t\tif (!isErrorENOENT(err)) {\n\t\t\tthrow err;\n\t\t}\n\t}\n\n\tif (libFile === undefined) {\n\t\tif (animations.size === 0) {\n\t\t\tthrow new Error(`Could not find a javascript file at \"${libFilePath}\".\nPackaging without a javascript file is only allowed when animation json files are available`);\n\t\t}\n\t}\n\n\tconst archive = new JSZip();\n\n\tlet library: string = \"\";\n\n\tif (libFile) {\n\t\tlibrary = libFile;\n\t}\n\n\tif (!library) {\n\t\tconst date = new Date(Date.now());\n\t\tlibrary = `/* This file is part of the ${domain} Data Packages.\n\t\t* Copyright (C) ${date.getFullYear()} intelligentgraphics. All Rights Reserved. */`;\n\t}\n\n\tif (animations.size > 0) {\n\t\tconst scopeParts = data.Scope.split(\".\");\n\t\tconst scope = data.Scope;\n\n\t\tlibrary += createNamespace(scopeParts);\n\n\t\tfor (const [name, data] of animations) {\n\t\t\tlibrary += `${scope}.${name} = ` + data + \";\";\n\t\t\tlogPackageMessage(\n\t\t\t\tmanifest.Package,\n\t\t\t\t`Added animation ${scope}.${name}`,\n\t\t\t);\n\t\t}\n\t}\n\n\tconst minifyResult = await terser.minify(library, { ecma: 5 });\n\n\tarchive.file(`${data.Package}.js`, minifyResult.code!);\n\tarchive.file(PACKAGE_FILE, JSON.stringify(data, null, 2));\n\n\tconst creatorIndex = readPackageCreatorIndex(packageLocation);\n\n\tif (creatorIndex !== undefined) {\n\t\tarchive.file(INDEX_FILE, JSON.stringify(creatorIndex, null, 2));\n\t}\n\n\tfor (const directory of scriptDirectories) {\n\t\ttry {\n\t\t\tfor (const file of fs.readdirSync(directory)) {\n\t\t\t\tconst { ext } = path.parse(file);\n\n\t\t\t\tswitch (ext) {\n\t\t\t\t\tcase \".png\":\n\t\t\t\t\tcase \".jpeg\":\n\t\t\t\t\tcase \".jpg\":\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tarchive.file(\n\t\t\t\t\tfile,\n\t\t\t\t\tfs.createReadStream(path.join(directory, file)),\n\t\t\t\t);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconsole.error(`Script directory \"${directory}\" does not exist`);\n\t\t}\n\t}\n\n\treturn archive;\n};\n\nconst createNamespace = (parts: string[]) => {\n\tlet code = `var ${parts[0]};`;\n\n\tfor (let index = 0; index < parts.length; index++) {\n\t\tconst path = parts.slice(0, index + 1).join(\".\");\n\n\t\tcode += `\\n(${path} = ${path} || {});`;\n\t}\n\n\treturn code;\n};\n","import * as path from \"path\";\nimport * as fs from \"fs\";\nimport { pipeline } from \"stream/promises\";\nimport { execSync } from \"child_process\";\n\nimport { AssetService } from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nimport { logPackageMessage } from \"../../lib/log\";\nimport {\n\tCreatorPackage,\n\tgetPackageReleasesDirectory,\n\tPackageLocation,\n\tparseCreatorPackageName,\n\treadPackageAnimationList,\n\treadPackageCreatorManifest,\n} from \"../../lib/package\";\nimport {\n\tgetWorkspaceOutputPath,\n\treadWorkspaceNpmManifest,\n\tWorkspaceLocation,\n\twriteWorkspaceNpmManifest,\n} from \"../../lib/workspace\";\nimport { getVersionInformationFromGit } from \"../../lib/git\";\nimport { getWorkspaceBannerText } from \"../../lib/banner\";\nimport {\n\tparseVersionFromNumericVersion,\n\tparseVersionFromString,\n} from \"../../lib/parseVersion\";\nimport { getVersionFileHandler } from \"../../lib/versionFile\";\nimport { isErrorENOENT } from \"../../lib/error\";\nimport { determineWorkspaceIGLibraries } from \"../../lib/dependencies\";\nimport {\n\treadPublishedPackageCreatorManifest,\n\treadPublishedPackageNpmManifest,\n} from \"../../lib/publishedPackage\";\nimport { Prompter } from \"../../lib/prompter\";\nimport { PackageVersion } from \"../../lib/packageVersion\";\n\nimport { BuildFoldersOptions, buildFolders } from \"../build\";\nimport {\n\tbuildArchiveFromPackage,\n\tbuildArchiveFromPublishedPackage,\n} from \"./zip\";\n\nexport interface ReleaseFolderOptions\n\textends Omit<\n\t\tBuildFoldersOptions,\n\t\t\"skipPackagesWithoutTsFiles\" | \"banner\" | \"packages\"\n\t> {\n\tdirectory: PackageLocation;\n\tnoUpload: boolean;\n\tnewVersion: string;\n\tdomain?: string;\n\tsubdomain?: string;\n\taddress?: string;\n\tservice: string;\n\tauthentication?: AssetService.Authentication;\n\tpushOnly: boolean;\n\tbanner?: boolean;\n\tprompter: Prompter;\n\tskipDependencies?: boolean;\n}\n\nexport const releaseFolder = async (options: ReleaseFolderOptions) => {\n\tconst workspace = options.workspace;\n\tconst location = options.directory;\n\n\tconst { write: writeVersionFile, reset: resetVersionFile } =\n\t\tgetVersionFileHandler(location);\n\n\tconst packageDescription = readPackageCreatorManifest(location);\n\tconst fullPackageName = packageDescription.Package;\n\tconst { domain, subdomain } = parseCreatorPackageName(packageDescription);\n\n\tconst publishDomain = options.domain ?? domain;\n\tconst publishSubdomain = options.subdomain ?? subdomain;\n\n\tconst sharedPackageJson = readWorkspaceNpmManifest(workspace);\n\n\tlet newVersion: PackageVersion;\n\ttry {\n\t\tnewVersion = parseVersionFromString(options.newVersion);\n\t} catch (err) {\n\t\tthrow new Error(`Please enter a version in this format 1.0.0.100`);\n\t}\n\n\tif (newVersion.buildNumber < 100) {\n\t\tnewVersion.preRelease = {\n\t\t\ttype: \"beta\",\n\t\t\tversion: newVersion.buildNumber,\n\t\t};\n\t} else if (newVersion.buildNumber > 100) {\n\t\tnewVersion.preRelease = {\n\t\t\ttype: \"patch\",\n\t\t\tversion: newVersion.buildNumber - 100,\n\t\t};\n\t}\n\n\tif (sharedPackageJson !== undefined) {\n\t\tlogPackageMessage(\n\t\t\tpackageDescription.Package,\n\t\t\t`Running npm install to make sure all dependencies are up to date`,\n\t\t);\n\t\texecSync(`npm install`, { encoding: \"utf-8\", cwd: workspace.path });\n\t}\n\n\tconst binDir = getWorkspaceOutputPath(workspace);\n\tfs.mkdirSync(binDir, { recursive: true });\n\n\tlet assetServerPackageDetails: AssetService.UploadPackageDetails;\n\n\tlet packageNameWithVersion: string;\n\n\t{\n\t\tconst versionWithoutPrelease = newVersion.clone();\n\t\tversionWithoutPrelease.preRelease = undefined;\n\t\tconst newVersionString = versionWithoutPrelease.toVersionString({\n\t\t\tbuildNumber: true,\n\t\t});\n\t\tpackageNameWithVersion = `${packageDescription.Package}_${newVersionString}`;\n\n\t\tassetServerPackageDetails = {\n\t\t\tname: packageDescription.Package,\n\t\t\tversion: newVersionString,\n\t\t};\n\t}\n\n\tconst zipFilePath = path.join(binDir, packageNameWithVersion + \".zip\");\n\n\ttry {\n\t\tif (options.pushOnly) {\n\t\t\tif (!fs.existsSync(zipFilePath)) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Expected a zip file to exist at path ${zipFilePath} since pushOnly is specified`,\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tconst gitVersionInformation = await getVersionInformationFromGit(\n\t\t\t\tworkspace,\n\t\t\t\tlocation,\n\t\t\t);\n\n\t\t\twriteVersionFile(fullPackageName, newVersion);\n\n\t\t\tconst bannerText =\n\t\t\t\tsharedPackageJson !== undefined\n\t\t\t\t\t? getWorkspaceBannerText(sharedPackageJson)\n\t\t\t\t\t: undefined;\n\n\t\t\tawait buildFolders({\n\t\t\t\t...options,\n\t\t\t\tpackages: [location],\n\t\t\t\tskipPackagesWithoutTsFiles: true,\n\t\t\t\tbanner: options.banner\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttext: bannerText,\n\t\t\t\t\t\t\tcommit: gitVersionInformation.commit,\n\t\t\t\t\t\t\tcommitDirty: gitVersionInformation.dirty,\n\t\t\t\t\t\t\tversion: newVersion.toVersionString({\n\t\t\t\t\t\t\t\tbuildNumber: true,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tdate: new Date(Date.now()),\n\t\t\t\t\t\t\t// gitVersionInformation.commitDate\n\t\t\t\t\t\t\t// \t? new Date(gitVersionInformation.commitDate)\n\t\t\t\t\t\t\t// \t: new Date(Date.now()),\n\t\t\t\t\t }\n\t\t\t\t\t: undefined,\n\t\t\t});\n\n\t\t\tnewVersion.preRelease = undefined;\n\n\t\t\ttry {\n\t\t\t\tfs.rmSync(zipFilePath);\n\t\t\t} catch (err) {\n\t\t\t\tif (!isErrorENOENT(err)) {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (readPackageAnimationList(location).length > 0) {\n\t\t\t\tconst workspaceManifest = readWorkspaceNpmManifest(workspace);\n\n\t\t\t\tif (\n\t\t\t\t\t!workspaceManifest.dependencies?.[\n\t\t\t\t\t\t\"@intelligentgraphics/3d.ig.gfx.standard\"\n\t\t\t\t\t]\n\t\t\t\t) {\n\t\t\t\t\tconst install = await options.prompter.confirm(\n\t\t\t\t\t\t`Animation.json files require the library 'IG.GFX.Standard' to be available, but it is not registered as a dependency. Do you want to install it now?`,\n\t\t\t\t\t);\n\n\t\t\t\t\tif (install) {\n\t\t\t\t\t\texecSync(\n\t\t\t\t\t\t\t`npm install @intelligentgraphics/3d.ig.gfx.standard`,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tencoding: \"utf-8\",\n\t\t\t\t\t\t\t\tcwd: workspace.path,\n\t\t\t\t\t\t\t\tstdio: \"inherit\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\texecSync(`npm run postinstall`, {\n\t\t\t\t\t\t\tcwd: workspace.path,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst archive = await buildArchiveFromPackage(\n\t\t\t\tworkspace,\n\t\t\t\tlocation,\n\t\t\t\tpackageDescription,\n\t\t\t);\n\n\t\t\tconst zipOutputStream = fs.createWriteStream(zipFilePath);\n\t\t\tawait pipeline(archive.generateNodeStream(), zipOutputStream);\n\t\t}\n\n\t\tif (!options.noUpload) {\n\t\t\tif (!options.authentication) {\n\t\t\t\tthrow new Error(`Expected authentication to be available`);\n\t\t\t}\n\n\t\t\tlogPackageMessage(\n\t\t\t\tpackageDescription.Package,\n\t\t\t\t`Opening connection to IG.Asset.Server`,\n\t\t\t);\n\n\t\t\tconst sessionManager = await createSessionManager({\n\t\t\t\turl: options.service,\n\t\t\t\taddress: options.address,\n\t\t\t\tdomain: publishDomain,\n\t\t\t\tsubDomain: publishSubdomain,\n\t\t\t\tauthentication: options.authentication,\n\t\t\t});\n\n\t\t\ttry {\n\t\t\t\tif (!options.skipDependencies) {\n\t\t\t\t\tawait ensureRequiredVersions(\n\t\t\t\t\t\tworkspace,\n\t\t\t\t\t\tpackageDescription,\n\t\t\t\t\t\tsessionManager,\n\t\t\t\t\t\toptions.prompter,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tlogPackageMessage(\n\t\t\t\t\tpackageDescription.Package,\n\t\t\t\t\t`Uploading package to ${publishDomain}.${publishSubdomain}`,\n\t\t\t\t);\n\n\t\t\t\tawait AssetService.uploadPackage(\n\t\t\t\t\tsessionManager.getTargetSession(),\n\t\t\t\t\tassetServerPackageDetails,\n\t\t\t\t\tzipFilePath,\n\t\t\t\t);\n\t\t\t} finally {\n\t\t\t\tawait sessionManager.destroy().catch((err) => {\n\t\t\t\t\tlogPackageMessage(\n\t\t\t\t\t\tpackageDescription.Package,\n\t\t\t\t\t\t`Failed to close IG.Asset.Server session(s): ${err}`,\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\tresetVersionFile();\n\t\tthrow err;\n\t}\n\n\tif (newVersion.buildNumber >= 100 && !options.pushOnly) {\n\t\tlogPackageMessage(fullPackageName, \"Copying zip to releases folder\");\n\n\t\tconst zipFileName = `${packageNameWithVersion}.zip`;\n\t\tconst releasesPath = getPackageReleasesDirectory(location);\n\n\t\tfs.mkdirSync(releasesPath, { recursive: true });\n\t\tfs.copyFileSync(zipFilePath, path.join(releasesPath, zipFileName));\n\t}\n};\n\nconst ensureRequiredVersions = async (\n\tworkspaceLocation: WorkspaceLocation,\n\tcreatorPackage: CreatorPackage,\n\tsessionManager: SessionManager,\n\tprompter: Prompter,\n) => {\n\tinterface UploadedPackage\n\t\textends Omit<AssetService.ExistingPackage, \"version\"> {\n\t\tversion: PackageVersion;\n\t}\n\n\tconst libraries = determineWorkspaceIGLibraries(workspaceLocation);\n\n\t// If there are no libraries, we don't need to check for required versions\n\tif (libraries.length === 0) {\n\t\treturn true;\n\t}\n\n\tconst targetSession = sessionManager.getTargetSession();\n\n\tconst rawUploadedPackages = await AssetService.getExistingPackages(\n\t\ttargetSession,\n\t);\n\n\tconst uploadedPackages = rawUploadedPackages.map(\n\t\t(entry): UploadedPackage => {\n\t\t\tlet version: PackageVersion;\n\n\t\t\ttry {\n\t\t\t\tversion = parseVersionFromNumericVersion(entry.numericVersion);\n\t\t\t} catch (err) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Encountered invalid format for version ${entry.numericVersion}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (version.buildNumber < 100) {\n\t\t\t\tversion.preRelease = {\n\t\t\t\t\ttype: \"beta\",\n\t\t\t\t\tversion: version.buildNumber,\n\t\t\t\t};\n\t\t\t} else if (version.buildNumber > 100) {\n\t\t\t\tversion.preRelease = {\n\t\t\t\t\ttype: \"patch\",\n\t\t\t\t\tversion: version.buildNumber - 100,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...entry,\n\t\t\t\tversion,\n\t\t\t};\n\t\t},\n\t);\n\n\tfor (const libraryLocation of libraries) {\n\t\tconst libraryManifest =\n\t\t\treadPublishedPackageNpmManifest(libraryLocation);\n\t\tconst libraryCreatorPackage =\n\t\t\treadPublishedPackageCreatorManifest(libraryLocation);\n\n\t\tif (\n\t\t\tlibraryCreatorPackage === undefined ||\n\t\t\tlibraryManifest.main === undefined ||\n\t\t\tlibraryCreatorPackage.Package === creatorPackage.Package\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst libraryVersion = PackageVersion.extractFromLine(\n\t\t\tlibraryManifest.version,\n\t\t);\n\n\t\tif (libraryVersion.preRelease) {\n\t\t\tlibraryVersion.buildNumber = libraryVersion.preRelease.version;\n\t\t\tlibraryVersion.preRelease = undefined;\n\t\t} else {\n\t\t\tlibraryVersion.buildNumber = 100;\n\t\t}\n\n\t\tlet uploadedPackageInBasics: UploadedPackage | undefined;\n\t\tlet uploadedPackageInTarget: UploadedPackage | undefined;\n\n\t\tfor (const uploadedPackage of uploadedPackages) {\n\t\t\tif (uploadedPackage.scope === libraryCreatorPackage.Package) {\n\t\t\t\tif (uploadedPackage.support) {\n\t\t\t\t\tuploadedPackageInBasics = uploadedPackage;\n\t\t\t\t} else {\n\t\t\t\t\tuploadedPackageInTarget = uploadedPackage;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst validInBasics =\n\t\t\tuploadedPackageInBasics !== undefined &&\n\t\t\t!uploadedPackageInBasics.version.isLesserThan(libraryVersion);\n\t\tconst validInTarget =\n\t\t\tuploadedPackageInTarget !== undefined &&\n\t\t\t!uploadedPackageInTarget.version.isLesserThan(libraryVersion);\n\n\t\tif (validInBasics || validInTarget) {\n\t\t\tif (\n\t\t\t\ttargetSession.subDomain !== \"Basics\" &&\n\t\t\t\tuploadedPackageInBasics !== undefined &&\n\t\t\t\tuploadedPackageInTarget !== undefined\n\t\t\t) {\n\t\t\t\tlogPackageMessage(\n\t\t\t\t\tcreatorPackage.Package,\n\t\t\t\t\t`Package ${libraryCreatorPackage.Package} is uploaded both for Basics and ${targetSession.subDomain}. The package within ${targetSession.subDomain} will be used.`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tlogPackageMessage(\n\t\t\tcreatorPackage.Package,\n\t\t\t`Requested at least version ${libraryVersion.toVersionString({\n\t\t\t\tbuildNumber: true,\n\t\t\t})} for package ${libraryCreatorPackage.Package}`,\n\t\t);\n\n\t\tif (targetSession.subDomain !== \"Basics\" && uploadedPackageInTarget) {\n\t\t\tconst version = uploadedPackageInTarget.version.toVersionString({\n\t\t\t\tbuildNumber: true,\n\t\t\t});\n\n\t\t\tlogPackageMessage(\n\t\t\t\tcreatorPackage.Package,\n\t\t\t\t`Found invalid version ${version} for package ${libraryCreatorPackage.Package} in ${targetSession.subDomain}`,\n\t\t\t);\n\t\t}\n\t\tif (uploadedPackageInBasics) {\n\t\t\tconst version = uploadedPackageInBasics.version.toVersionString({\n\t\t\t\tbuildNumber: true,\n\t\t\t});\n\n\t\t\tlet message = `Found invalid version ${version} for package ${libraryCreatorPackage.Package} in Basics`;\n\n\t\t\tif (\n\t\t\t\ttargetSession.subDomain !== \"Basics\" &&\n\t\t\t\tuploadedPackageInTarget\n\t\t\t) {\n\t\t\t\tmessage += `. This version will not be used since the package also exists in ${targetSession.subDomain}`;\n\t\t\t}\n\n\t\t\tlogPackageMessage(creatorPackage.Package, message);\n\t\t}\n\n\t\tconst possibleTargets: string[] = [\"Basics\"];\n\n\t\tif (targetSession.subDomain !== \"Basics\") {\n\t\t\tpossibleTargets.push(targetSession.subDomain);\n\t\t}\n\n\t\tconst uploadTargetScope = await prompter.ask({\n\t\t\tmessage: `Select the scope to upload the required version of ${libraryCreatorPackage.Package} to or select \"skip\" to skip the upload.`,\n\t\t\toptions: [...possibleTargets, \"Skip\"],\n\t\t\tdefault: possibleTargets[0],\n\t\t});\n\n\t\tif (uploadTargetScope === \"Skip\") {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst archive = buildArchiveFromPublishedPackage(\n\t\t\tlibraryLocation,\n\t\t\tlibraryManifest,\n\t\t\tlibraryCreatorPackage,\n\t\t);\n\n\t\tconst newVersionString = libraryVersion.toVersionString({\n\t\t\tbuildNumber: true,\n\t\t});\n\t\tconst packageNameWithVersion = `${libraryCreatorPackage.Package}_${newVersionString}`;\n\n\t\tconst zipFilePath = path.join(\n\t\t\tgetWorkspaceOutputPath(workspaceLocation),\n\t\t\t`${packageNameWithVersion}.zip`,\n\t\t);\n\n\t\ttry {\n\t\t\tfs.rmSync(zipFilePath);\n\t\t} catch (err) {\n\t\t\tif (!isErrorENOENT(err)) {\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t}\n\n\t\tconst zipOutputStream = fs.createWriteStream(zipFilePath);\n\t\tawait pipeline(archive.generateNodeStream(), zipOutputStream);\n\n\t\tconst session =\n\t\t\tuploadTargetScope === \"Basics\"\n\t\t\t\t? await sessionManager.getBasicsSession()\n\t\t\t\t: targetSession;\n\n\t\tlogPackageMessage(\n\t\t\tcreatorPackage.Package,\n\t\t\t`Uploading package ${libraryCreatorPackage.Package} with version ${newVersionString} to ${session.domain}.${session.subDomain}`,\n\t\t);\n\n\t\tawait AssetService.uploadPackage(\n\t\t\tsession,\n\t\t\t{\n\t\t\t\tname: libraryCreatorPackage.Package,\n\t\t\t\tversion: newVersionString,\n\t\t\t},\n\t\t\tzipFilePath,\n\t\t);\n\t}\n};\n\ninterface SessionManager {\n\tgetBasicsSession: () => Promise<AssetService.Session>;\n\tgetTargetSession: () => AssetService.Session;\n\tdestroy: () => Promise<void>;\n}\n\nconst createSessionManager = async (\n\tparams: AssetService.SessionStartParams,\n): Promise<SessionManager> => {\n\tconst targetSession = await AssetService.startSession(params);\n\tlet basicsSession: AssetService.Session | undefined;\n\n\treturn {\n\t\tgetBasicsSession: async () => {\n\t\t\tif (targetSession.subDomain === \"Basics\") {\n\t\t\t\treturn targetSession;\n\t\t\t}\n\n\t\t\tif (basicsSession === undefined) {\n\t\t\t\tbasicsSession = await AssetService.startSession({\n\t\t\t\t\t...params,\n\t\t\t\t\tsubDomain: \"Basics\",\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn basicsSession;\n\t\t},\n\n\t\tgetTargetSession: () => targetSession,\n\n\t\tdestroy: async () => {\n\t\t\tawait AssetService.closeSession(targetSession);\n\n\t\t\tif (basicsSession !== undefined) {\n\t\t\t\tawait AssetService.closeSession(basicsSession);\n\t\t\t}\n\t\t},\n\t};\n};\n"],"names":["buildArchiveFromPublishedPackage","location","manifest","creatorPackage","archive","JSZip","file","PACKAGE_FILE","JSON","stringify","index","readPublishedPackageCreatorIndex","undefined","INDEX_FILE","main","fs","createReadStream","path","join","validateSchema","runtimeScripts","notRuntimeScripts","buildArchiveFromPackage","workspaceLocation","packageLocation","data","domain","subdomain","parseCreatorPackageName","logStep","step","logPackageMessage","Package","axios","get","then","Ajv","coerceTypes","allErrors","removeAdditional","useDefaults","compile","libFilePath","getWorkspaceOutputPath","scriptDirectories","scriptsDir","push","readPackageCreatorManifest","RunTime","includes","Type","writePackageCreatorManifest","animations","Map","scriptFilePath","readPackageAnimationList","content","readFileSync","encoding","parse","err","relativePath","relative","SyntaxError","Error","String","cause","set","Id","libFile","isErrorENOENT","size","library","date","Date","now","getFullYear","scopeParts","Scope","split","scope","createNamespace","name","minifyResult","terser","minify","ecma","code","creatorIndex","readPackageCreatorIndex","directory","readdirSync","ext","console","error","parts","length","slice","releaseFolder","options","workspace","write","writeVersionFile","reset","resetVersionFile","getVersionFileHandler","packageDescription","fullPackageName","publishDomain","publishSubdomain","sharedPackageJson","readWorkspaceNpmManifest","newVersion","parseVersionFromString","buildNumber","preRelease","type","version","execSync","cwd","binDir","mkdirSync","recursive","assetServerPackageDetails","packageNameWithVersion","versionWithoutPrelease","clone","newVersionString","toVersionString","zipFilePath","pushOnly","existsSync","gitVersionInformation","getVersionInformationFromGit","bannerText","getWorkspaceBannerText","buildFolders","packages","skipPackagesWithoutTsFiles","banner","text","commit","commitDirty","dirty","rmSync","workspaceManifest","dependencies","install","prompter","confirm","stdio","zipOutputStream","createWriteStream","pipeline","generateNodeStream","noUpload","authentication","sessionManager","createSessionManager","url","service","address","subDomain","skipDependencies","ensureRequiredVersions","AssetService","getTargetSession","destroy","catch","zipFileName","releasesPath","getPackageReleasesDirectory","copyFileSync","libraries","determineWorkspaceIGLibraries","targetSession","rawUploadedPackages","uploadedPackages","map","entry","parseVersionFromNumericVersion","numericVersion","libraryLocation","libraryManifest","readPublishedPackageNpmManifest","libraryCreatorPackage","readPublishedPackageCreatorManifest","libraryVersion","PackageVersion","extractFromLine","uploadedPackageInBasics","uploadedPackageInTarget","uploadedPackage","support","validInBasics","isLesserThan","validInTarget","message","possibleTargets","uploadTargetScope","ask","default","session","getBasicsSession","params","basicsSession"],"mappings":"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"}
package/build/index.mjs CHANGED
@@ -2,5 +2,5 @@
2
2
  import 'source-map-support/register.js';
3
3
  import 'v8-compile-cache';
4
4
 
5
- import('./cli-17d957b0.js').then(function (n) { return n.v; });
5
+ import('./cli-cb85e4b5.js').then(function (n) { return n.v; });
6
6
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import \"source-map-support/register.js\";\nimport \"v8-compile-cache\";\n\nimport(\"./cli\");\n"],"names":[],"mappings":";;;;AAGA,OAAO,mBAAO,oCAAC"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import \"source-map-support/register.js\";\nimport \"v8-compile-cache\";\n\nimport(\"./cli\");\n"],"names":[],"mappings":";;;;AAGA,OAAO,mBAAA,oCAAA"}
@@ -0,0 +1,67 @@
1
+ import * as path from 'path';
2
+ import * as fs from 'fs';
3
+ import glob from 'glob';
4
+ import * as os from 'os';
5
+ import { d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest } from './dependencies-2565d80c.js';
6
+ import 'write-pkg';
7
+ import { c as readWorkspaceNpmManifest, l as getWorkspaceLibPath } from './cli-cb85e4b5.js';
8
+ import 'node:path';
9
+ import 'node:fs';
10
+ import 'axios';
11
+ import 'resolve';
12
+ import 'update-notifier';
13
+ import 'yargs/yargs';
14
+ import 'url';
15
+ import 'assert';
16
+ import 'events';
17
+ import 'core-js/modules/es.typed-array.set.js';
18
+ import 'util';
19
+ import 'inquirer';
20
+
21
+ const DEFINITION_FILE_HINT = "// This file is automatically managed by the ig.gfx.packager.";
22
+ const executePostInstall = (workspace)=>{
23
+ readWorkspaceNpmManifest(workspace);
24
+ const libPath = getWorkspaceLibPath(workspace);
25
+ fs.mkdirSync(libPath, {
26
+ recursive: true
27
+ });
28
+ const existingDefinitions = glob.sync("**/*.d.ts", {
29
+ cwd: libPath,
30
+ absolute: true
31
+ });
32
+ // delete all existing definition files that are managed by the packager.
33
+ // we'll recreate all needed definitions in the next step.
34
+ for (const existingDefinitionPath of existingDefinitions){
35
+ const content = fs.readFileSync(existingDefinitionPath, {
36
+ encoding: "utf-8"
37
+ });
38
+ if (content.startsWith(DEFINITION_FILE_HINT)) {
39
+ fs.rmSync(existingDefinitionPath);
40
+ }
41
+ }
42
+ const libraryLocations = determineWorkspaceIGLibraries(workspace);
43
+ for (const location of libraryLocations){
44
+ const manifest = readPublishedPackageNpmManifest(location);
45
+ for (const existingDefinitionPath of existingDefinitions){
46
+ const basename = path.basename(existingDefinitionPath);
47
+ if (basename === manifest.types) {
48
+ fs.rmSync(existingDefinitionPath, {
49
+ force: true
50
+ });
51
+ }
52
+ }
53
+ // add a hint to the top of the file so we know it's managed by the packager.
54
+ const content = [
55
+ DEFINITION_FILE_HINT,
56
+ `// This is a reference to version ${manifest.version}.`,
57
+ `// Run "npm install" to install the types if they are missing or not up to date.`,
58
+ `/// <reference types="${manifest.name}" />`
59
+ ].join(os.EOL);
60
+ fs.writeFileSync(path.join(getWorkspaceLibPath(workspace), manifest.types), content, {
61
+ encoding: "utf8"
62
+ });
63
+ }
64
+ };
65
+
66
+ export { executePostInstall };
67
+ //# sourceMappingURL=postinstall-962af586.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"postinstall-9990fb31.js","sources":["../src/commands/postinstall.ts"],"sourcesContent":["import * as path from \"path\";\nimport * as fs from \"fs\";\nimport glob from \"glob\";\nimport * as os from \"os\";\n\nimport {\n\tgetWorkspaceLibPath,\n\treadWorkspaceNpmManifest,\n\tWorkspaceLocation,\n} from \"../lib/workspace\";\nimport { readPublishedPackageNpmManifest } from \"../lib/publishedPackage\";\nimport { determineWorkspaceIGLibraries } from \"../lib/dependencies\";\n\nconst DEFINITION_FILE_HINT =\n\t\"// This file is automatically managed by the ig.gfx.packager.\";\n\nexport const executePostInstall = (workspace: WorkspaceLocation) => {\n\tconst manifest = readWorkspaceNpmManifest(workspace);\n\n\tconst libPath = getWorkspaceLibPath(workspace);\n\n\tfs.mkdirSync(libPath, { recursive: true });\n\n\tconst existingDefinitions = glob.sync(\"**/*.d.ts\", {\n\t\tcwd: libPath,\n\t\tabsolute: true,\n\t});\n\n\t// delete all existing definition files that are managed by the packager.\n\t// we'll recreate all needed definitions in the next step.\n\tfor (const existingDefinitionPath of existingDefinitions) {\n\t\tconst content = fs.readFileSync(existingDefinitionPath, {\n\t\t\tencoding: \"utf-8\",\n\t\t});\n\n\t\tif (content.startsWith(DEFINITION_FILE_HINT)) {\n\t\t\tfs.rmSync(existingDefinitionPath);\n\t\t}\n\t}\n\n\tconst libraryLocations = determineWorkspaceIGLibraries(workspace);\n\n\tfor (const location of libraryLocations) {\n\t\tconst manifest = readPublishedPackageNpmManifest(location);\n\n\t\tfor (const existingDefinitionPath of existingDefinitions) {\n\t\t\tconst basename = path.basename(existingDefinitionPath);\n\n\t\t\tif (basename === manifest.types) {\n\t\t\t\tfs.rmSync(existingDefinitionPath, { force: true });\n\t\t\t}\n\t\t}\n\n\t\t// add a hint to the top of the file so we know it's managed by the packager.\n\n\t\tconst content = [\n\t\t\tDEFINITION_FILE_HINT,\n\t\t\t`// This is a reference to version ${manifest.version}.`,\n\t\t\t`// Run \"npm install\" to install the types if they are missing or not up to date.`,\n\t\t\t`/// <reference types=\"${manifest.name}\" />`,\n\t\t].join(os.EOL);\n\n\t\tfs.writeFileSync(\n\t\t\tpath.join(getWorkspaceLibPath(workspace), manifest.types),\n\t\t\tcontent,\n\t\t\t{\n\t\t\t\tencoding: \"utf8\",\n\t\t\t},\n\t\t);\n\t}\n};\n"],"names":["DEFINITION_FILE_HINT","executePostInstall","workspace","readWorkspaceNpmManifest","libPath","getWorkspaceLibPath","fs","mkdirSync","recursive","existingDefinitions","glob","sync","cwd","absolute","existingDefinitionPath","content","readFileSync","encoding","startsWith","rmSync","libraryLocations","determineWorkspaceIGLibraries","location","manifest","readPublishedPackageNpmManifest","basename","path","types","force","version","name","join","os","EOL","writeFileSync"],"mappings":";;;;;;;;;;;;;;;;;;;AAaA,MAAMA,oBAAoB,GACzB,+DAA+D,CAAA;AAEnDC,MAAAA,kBAAkB,GAAIC,SAA4B,IAAK;AACnE,EAAiBC,wBAAwB,CAACD,SAAS,EAAC;AAEpD,EAAA,MAAME,OAAO,GAAGC,mBAAmB,CAACH,SAAS,CAAC,CAAA;AAE9CI,EAAAA,EAAE,CAACC,SAAS,CAACH,OAAO,EAAE;AAAEI,IAAAA,SAAS,EAAE,IAAA;AAAK,GAAC,CAAC,CAAA;AAE1C,EAAA,MAAMC,mBAAmB,GAAGC,IAAI,CAACC,IAAI,CAAC,WAAW,EAAE;AAClDC,IAAAA,GAAG,EAAER,OAAO;AACZS,IAAAA,QAAQ,EAAE,IAAA;AACX,GAAC,CAAC,CAAA;;AAEF;AACA;AACA,EAAA,KAAK,MAAMC,sBAAsB,IAAIL,mBAAmB,EAAE;AACzD,IAAA,MAAMM,OAAO,GAAGT,EAAE,CAACU,YAAY,CAACF,sBAAsB,EAAE;AACvDG,MAAAA,QAAQ,EAAE,OAAA;AACX,KAAC,CAAC,CAAA;AAEF,IAAA,IAAIF,OAAO,CAACG,UAAU,CAAClB,oBAAoB,CAAC,EAAE;AAC7CM,MAAAA,EAAE,CAACa,MAAM,CAACL,sBAAsB,CAAC,CAAA;AAClC,KAAA;AACD,GAAA;AAEA,EAAA,MAAMM,gBAAgB,GAAGC,6BAA6B,CAACnB,SAAS,CAAC,CAAA;AAEjE,EAAA,KAAK,MAAMoB,QAAQ,IAAIF,gBAAgB,EAAE;AACxC,IAAA,MAAMG,QAAQ,GAAGC,+BAA+B,CAACF,QAAQ,CAAC,CAAA;AAE1D,IAAA,KAAK,MAAMR,sBAAsB,IAAIL,mBAAmB,EAAE;AACzD,MAAA,MAAMgB,QAAQ,GAAGC,IAAI,CAACD,QAAQ,CAACX,sBAAsB,CAAC,CAAA;AAEtD,MAAA,IAAIW,QAAQ,KAAKF,QAAQ,CAACI,KAAK,EAAE;AAChCrB,QAAAA,EAAE,CAACa,MAAM,CAACL,sBAAsB,EAAE;AAAEc,UAAAA,KAAK,EAAE,IAAA;AAAK,SAAC,CAAC,CAAA;AACnD,OAAA;AACD,KAAA;;AAEA;;IAEA,MAAMb,OAAO,GAAG,CACff,oBAAoB,EACnB,qCAAoCuB,QAAQ,CAACM,OAAQ,CAAA,CAAA,CAAE,EACvD,CAAA,gFAAA,CAAiF,EACjF,CAAwBN,sBAAAA,EAAAA,QAAQ,CAACO,IAAK,CAAK,IAAA,CAAA,CAC5C,CAACC,IAAI,CAACC,EAAE,CAACC,GAAG,CAAC,CAAA;AAEd3B,IAAAA,EAAE,CAAC4B,aAAa,CACfR,IAAI,CAACK,IAAI,CAAC1B,mBAAmB,CAACH,SAAS,CAAC,EAAEqB,QAAQ,CAACI,KAAK,CAAC,EACzDZ,OAAO,EACP;AACCE,MAAAA,QAAQ,EAAE,MAAA;AACX,KAAC,CACD,CAAA;AACF,GAAA;AACD;;;;"}
1
+ {"version":3,"file":"postinstall-962af586.js","sources":["../src/commands/postinstall.ts"],"sourcesContent":["import * as path from \"path\";\nimport * as fs from \"fs\";\nimport glob from \"glob\";\nimport * as os from \"os\";\n\nimport {\n\tgetWorkspaceLibPath,\n\treadWorkspaceNpmManifest,\n\tWorkspaceLocation,\n} from \"../lib/workspace\";\nimport { readPublishedPackageNpmManifest } from \"../lib/publishedPackage\";\nimport { determineWorkspaceIGLibraries } from \"../lib/dependencies\";\n\nconst DEFINITION_FILE_HINT =\n\t\"// This file is automatically managed by the ig.gfx.packager.\";\n\nexport const executePostInstall = (workspace: WorkspaceLocation) => {\n\tconst manifest = readWorkspaceNpmManifest(workspace);\n\n\tconst libPath = getWorkspaceLibPath(workspace);\n\n\tfs.mkdirSync(libPath, { recursive: true });\n\n\tconst existingDefinitions = glob.sync(\"**/*.d.ts\", {\n\t\tcwd: libPath,\n\t\tabsolute: true,\n\t});\n\n\t// delete all existing definition files that are managed by the packager.\n\t// we'll recreate all needed definitions in the next step.\n\tfor (const existingDefinitionPath of existingDefinitions) {\n\t\tconst content = fs.readFileSync(existingDefinitionPath, {\n\t\t\tencoding: \"utf-8\",\n\t\t});\n\n\t\tif (content.startsWith(DEFINITION_FILE_HINT)) {\n\t\t\tfs.rmSync(existingDefinitionPath);\n\t\t}\n\t}\n\n\tconst libraryLocations = determineWorkspaceIGLibraries(workspace);\n\n\tfor (const location of libraryLocations) {\n\t\tconst manifest = readPublishedPackageNpmManifest(location);\n\n\t\tfor (const existingDefinitionPath of existingDefinitions) {\n\t\t\tconst basename = path.basename(existingDefinitionPath);\n\n\t\t\tif (basename === manifest.types) {\n\t\t\t\tfs.rmSync(existingDefinitionPath, { force: true });\n\t\t\t}\n\t\t}\n\n\t\t// add a hint to the top of the file so we know it's managed by the packager.\n\n\t\tconst content = [\n\t\t\tDEFINITION_FILE_HINT,\n\t\t\t`// This is a reference to version ${manifest.version}.`,\n\t\t\t`// Run \"npm install\" to install the types if they are missing or not up to date.`,\n\t\t\t`/// <reference types=\"${manifest.name}\" />`,\n\t\t].join(os.EOL);\n\n\t\tfs.writeFileSync(\n\t\t\tpath.join(getWorkspaceLibPath(workspace), manifest.types),\n\t\t\tcontent,\n\t\t\t{\n\t\t\t\tencoding: \"utf8\",\n\t\t\t},\n\t\t);\n\t}\n};\n"],"names":["DEFINITION_FILE_HINT","executePostInstall","workspace","readWorkspaceNpmManifest","libPath","getWorkspaceLibPath","fs","mkdirSync","recursive","existingDefinitions","glob","sync","cwd","absolute","existingDefinitionPath","content","readFileSync","encoding","startsWith","rmSync","libraryLocations","determineWorkspaceIGLibraries","location","manifest","readPublishedPackageNpmManifest","basename","path","types","force","version","name","join","os","EOL","writeFileSync"],"mappings":";;;;;;;;;;;;;;;;;;;;AAaA,MAAMA,oBACL,GAAA,+DAAA,CAAA;AAEM,MAAMC,kBAAqB,GAAA,CAACC,SAAiC,GAAA;AACnE,IAAiBC,wBAAyBD,CAAAA,SAAAA,EAAAA;AAE1C,IAAA,MAAME,UAAUC,mBAAoBH,CAAAA,SAAAA,CAAAA,CAAAA;IAEpCI,EAAGC,CAAAA,SAAS,CAACH,OAAS,EAAA;AAAEI,QAAAA,SAAAA,EAAW,IAAI;AAAC,KAAA,CAAA,CAAA;AAExC,IAAA,MAAMC,mBAAsBC,GAAAA,IAAAA,CAAKC,IAAI,CAAC,WAAa,EAAA;QAClDC,GAAKR,EAAAA,OAAAA;AACLS,QAAAA,QAAAA,EAAU,IAAI;AACf,KAAA,CAAA,CAAA;;;IAIA,KAAK,MAAMC,0BAA0BL,mBAAqB,CAAA;AACzD,QAAA,MAAMM,OAAUT,GAAAA,EAAAA,CAAGU,YAAY,CAACF,sBAAwB,EAAA;YACvDG,QAAU,EAAA,OAAA;AACX,SAAA,CAAA,CAAA;QAEA,IAAIF,OAAAA,CAAQG,UAAU,CAAClB,oBAAuB,CAAA,EAAA;AAC7CM,YAAAA,EAAAA,CAAGa,MAAM,CAACL,sBAAAA,CAAAA,CAAAA;SACV;AACF,KAAA;AAEA,IAAA,MAAMM,mBAAmBC,6BAA8BnB,CAAAA,SAAAA,CAAAA,CAAAA;IAEvD,KAAK,MAAMoB,YAAYF,gBAAkB,CAAA;AACxC,QAAA,MAAMG,WAAWC,+BAAgCF,CAAAA,QAAAA,CAAAA,CAAAA;QAEjD,KAAK,MAAMR,0BAA0BL,mBAAqB,CAAA;YACzD,MAAMgB,QAAAA,GAAWC,IAAKD,CAAAA,QAAQ,CAACX,sBAAAA,CAAAA,CAAAA;YAE/B,IAAIW,QAAAA,KAAaF,QAASI,CAAAA,KAAK,EAAE;gBAChCrB,EAAGa,CAAAA,MAAM,CAACL,sBAAwB,EAAA;AAAEc,oBAAAA,KAAAA,EAAO,IAAI;AAAC,iBAAA,CAAA,CAAA;aAChD;AACF,SAAA;;AAIA,QAAA,MAAMb,OAAU,GAAA;AACff,YAAAA,oBAAAA;AACA,YAAA,CAAC,kCAAkC,EAAEuB,QAAAA,CAASM,OAAO,CAAC,CAAC,CAAC;AACxD,YAAA,CAAC,gFAAgF,CAAC;AAClF,YAAA,CAAC,sBAAsB,EAAEN,QAAAA,CAASO,IAAI,CAAC,IAAI,CAAC;SAC5C,CAACC,IAAI,CAACC,EAAAA,CAAGC,GAAG,CAAA,CAAA;QAEb3B,EAAG4B,CAAAA,aAAa,CACfR,IAAAA,CAAKK,IAAI,CAAC1B,oBAAoBH,SAAYqB,CAAAA,EAAAA,QAAAA,CAASI,KAAK,CAAA,EACxDZ,OACA,EAAA;YACCE,QAAU,EAAA,MAAA;AACX,SAAA,CAAA,CAAA;AAEF,KAAA;AACD;;;;"}
@@ -0,0 +1,134 @@
1
+ import * as path from 'path';
2
+ import * as fs from 'fs';
3
+ import { spawnSync } from 'child_process';
4
+ import 'resolve';
5
+ import 'write-pkg';
6
+ import { c as readWorkspaceNpmManifest, g as getWorkspaceOutputPath, r as readPackageCreatorManifest, o as readPackageNpmManifest, q as writePackageNpmManifest, P as PACKAGE_FILE, b as readPackageCreatorIndex, I as INDEX_FILE, t as iterateWorkspacePackages } from './cli-cb85e4b5.js';
7
+ import { b as buildFolders, l as logPackageMessage } from './index-67a112b8.js';
8
+ import 'glob';
9
+ import 'node:path';
10
+ import 'node:fs';
11
+ import 'axios';
12
+ import { p as parseVersionFromString, g as getVersionFileHandler, a as getVersionInformationFromGit, b as getWorkspaceBannerText } from './versionFile-cf6657c8.js';
13
+ import 'update-notifier';
14
+ import 'yargs/yargs';
15
+ import 'url';
16
+ import 'assert';
17
+ import 'events';
18
+ import 'core-js/modules/es.typed-array.set.js';
19
+ import 'util';
20
+ import 'inquirer';
21
+ import 'terser';
22
+ import 'typescript';
23
+ import 'typedoc';
24
+ import 'simple-git';
25
+
26
+ const publishToNpm = async ({ workspace , location , version: providedVersion , dryRun })=>{
27
+ let newVersion;
28
+ try {
29
+ newVersion = parseVersionFromString(providedVersion);
30
+ } catch (err) {
31
+ throw new Error(`Please enter a version in this format 1.0.0.100`);
32
+ }
33
+ if (newVersion.buildNumber < 100) {
34
+ newVersion.preRelease = {
35
+ type: "beta",
36
+ version: newVersion.buildNumber
37
+ };
38
+ } else if (newVersion.buildNumber === 100) {
39
+ newVersion.preRelease = undefined;
40
+ } else {
41
+ throw new Error(`Refusing to publish a package with a build version larger than 100.`);
42
+ }
43
+ const workspaceManifest = readWorkspaceNpmManifest(workspace);
44
+ const workspaceOutputPath = getWorkspaceOutputPath(workspace);
45
+ const creatorPackage = readPackageCreatorManifest(location);
46
+ let packageJson = readPackageNpmManifest(location);
47
+ if (packageJson === undefined) {
48
+ packageJson = {
49
+ name: "@intelligentgraphics/3d" + creatorPackage.Package.toLowerCase(),
50
+ version: "1.0.0",
51
+ description: creatorPackage.Package
52
+ };
53
+ }
54
+ packageJson.version = newVersion.toVersionString({
55
+ buildNumber: false
56
+ });
57
+ packageJson.description = newVersion.toDescriptionString(creatorPackage.Package);
58
+ packageJson.main = `${creatorPackage.Package}.js`;
59
+ packageJson.types = `${creatorPackage.Package}.d.ts`;
60
+ packageJson.publishConfig ??= {};
61
+ packageJson.publishConfig.acccess = "public";
62
+ packageJson.ig = {
63
+ scriptingLibrary: true
64
+ };
65
+ packageJson.files = undefined;
66
+ const publishDir = path.join(workspaceOutputPath, "publish", creatorPackage.Package);
67
+ fs.rmSync(publishDir, {
68
+ recursive: true,
69
+ force: true
70
+ });
71
+ fs.mkdirSync(publishDir, {
72
+ recursive: true
73
+ });
74
+ writePackageNpmManifest(location, packageJson);
75
+ getVersionFileHandler(location).write(creatorPackage.Package, newVersion);
76
+ const gitVersionInformation = await getVersionInformationFromGit(workspace, location);
77
+ const bannerText = getWorkspaceBannerText(workspaceManifest);
78
+ await buildFolders({
79
+ workspace,
80
+ packages: [
81
+ location
82
+ ],
83
+ minimize: true,
84
+ outDir: getWorkspaceOutputPath(workspace),
85
+ banner: {
86
+ text: bannerText,
87
+ commit: gitVersionInformation.commit,
88
+ commitDirty: gitVersionInformation.dirty,
89
+ version: newVersion.toVersionString({
90
+ buildNumber: true
91
+ }),
92
+ date: new Date(Date.now())
93
+ }
94
+ });
95
+ fs.copyFileSync(path.join(getWorkspaceOutputPath(workspace), `${creatorPackage.Package}.d.ts`), path.join(publishDir, `${creatorPackage.Package}.d.ts`));
96
+ fs.copyFileSync(path.join(getWorkspaceOutputPath(workspace), `${creatorPackage.Package}.min.js`), path.join(publishDir, `${creatorPackage.Package}.js`));
97
+ fs.copyFileSync(path.join(location.manifestDir, "package.json"), path.join(publishDir, "package.json"));
98
+ fs.writeFileSync(path.join(publishDir, PACKAGE_FILE), JSON.stringify(creatorPackage, null, 2));
99
+ const index = readPackageCreatorIndex(location);
100
+ if (index !== undefined) {
101
+ fs.writeFileSync(path.join(publishDir, INDEX_FILE), JSON.stringify(index));
102
+ }
103
+ const readmeName = fs.readdirSync(location.path).find((name)=>name.toLowerCase() === "readme.md");
104
+ if (readmeName !== undefined) {
105
+ fs.copyFileSync(path.join(location.path, readmeName), path.join(publishDir, readmeName));
106
+ }
107
+ const npmPublishArgs = [];
108
+ if (dryRun) {
109
+ npmPublishArgs.push("--dry-run");
110
+ }
111
+ if (newVersion.preRelease) {
112
+ npmPublishArgs.push("--tag", "next");
113
+ }
114
+ logPackageMessage(creatorPackage.Package, `Publishing to npm with version ${packageJson.version} using tag ${newVersion.preRelease ? "next" : "latest"}`);
115
+ spawnSync("npm", [
116
+ "publish",
117
+ ...npmPublishArgs
118
+ ], {
119
+ stdio: "inherit",
120
+ encoding: "utf8",
121
+ cwd: publishDir
122
+ });
123
+ for (const packageLocation of iterateWorkspacePackages(workspace)){
124
+ var _manifest_dependencies;
125
+ const manifest = readPackageNpmManifest(packageLocation);
126
+ if ((manifest == null ? void 0 : (_manifest_dependencies = manifest.dependencies) == null ? void 0 : _manifest_dependencies[packageJson.name]) !== undefined) {
127
+ manifest.dependencies[packageJson.name] = "^" + packageJson.version;
128
+ writePackageNpmManifest(packageLocation, manifest);
129
+ }
130
+ }
131
+ };
132
+
133
+ export { publishToNpm };
134
+ //# sourceMappingURL=publishNpm-1838e45c.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"publishNpm-74a96626.js","sources":["../src/commands/publishNpm.ts"],"sourcesContent":["import * as path from \"path\";\nimport * as fs from \"fs\";\nimport { spawnSync } from \"child_process\";\n\nimport { PackageVersion } from \"../lib/packageVersion\";\nimport {\n\tINDEX_FILE,\n\tPackageLocation,\n\tPACKAGE_FILE,\n\treadPackageCreatorIndex,\n\treadPackageCreatorManifest,\n\treadPackageNpmManifest,\n\twritePackageNpmManifest,\n} from \"../lib/package\";\nimport {\n\tgetWorkspaceOutputPath,\n\titerateWorkspacePackages,\n\treadWorkspaceNpmManifest,\n\tWorkspaceLocation,\n} from \"../lib/workspace\";\nimport { getVersionInformationFromGit } from \"../lib/git\";\nimport { getWorkspaceBannerText } from \"../lib/banner\";\nimport { parseVersionFromString } from \"../lib/parseVersion\";\nimport { getVersionFileHandler } from \"../lib/versionFile\";\nimport { logPackageMessage } from \"../lib/log\";\n\nimport { buildFolders } from \"./build\";\n\nexport interface PublishToNpmSettings {\n\tworkspace: WorkspaceLocation;\n\tlocation: PackageLocation;\n\tversion: string;\n\tdryRun?: boolean;\n}\n\nexport const publishToNpm = async ({\n\tworkspace,\n\tlocation,\n\tversion: providedVersion,\n\tdryRun,\n}: PublishToNpmSettings) => {\n\tlet newVersion: PackageVersion;\n\ttry {\n\t\tnewVersion = parseVersionFromString(providedVersion);\n\t} catch (err) {\n\t\tthrow new Error(`Please enter a version in this format 1.0.0.100`);\n\t}\n\n\tif (newVersion.buildNumber < 100) {\n\t\tnewVersion.preRelease = {\n\t\t\ttype: \"beta\",\n\t\t\tversion: newVersion.buildNumber,\n\t\t};\n\t} else if (newVersion.buildNumber === 100) {\n\t\tnewVersion.preRelease = undefined;\n\t} else {\n\t\tthrow new Error(\n\t\t\t`Refusing to publish a package with a build version larger than 100.`,\n\t\t);\n\t}\n\n\tconst workspaceManifest = readWorkspaceNpmManifest(workspace);\n\tconst workspaceOutputPath = getWorkspaceOutputPath(workspace);\n\tconst creatorPackage = readPackageCreatorManifest(location);\n\tlet packageJson = readPackageNpmManifest(location);\n\n\tif (packageJson === undefined) {\n\t\tpackageJson = {\n\t\t\tname:\n\t\t\t\t\"@intelligentgraphics/3d\" +\n\t\t\t\tcreatorPackage.Package.toLowerCase(),\n\t\t\tversion: \"1.0.0\",\n\t\t\tdescription: creatorPackage.Package,\n\t\t};\n\t}\n\n\tpackageJson.version = newVersion.toVersionString({\n\t\tbuildNumber: false,\n\t});\n\tpackageJson.description = newVersion.toDescriptionString(\n\t\tcreatorPackage.Package,\n\t);\n\tpackageJson.main = `${creatorPackage.Package}.js`;\n\tpackageJson.types = `${creatorPackage.Package}.d.ts`;\n\tpackageJson.publishConfig ??= {};\n\tpackageJson.publishConfig.acccess = \"public\";\n\tpackageJson.ig = {\n\t\tscriptingLibrary: true,\n\t};\n\tpackageJson.files = undefined;\n\n\tconst publishDir = path.join(\n\t\tworkspaceOutputPath,\n\t\t\"publish\",\n\t\tcreatorPackage.Package,\n\t);\n\tfs.rmSync(publishDir, { recursive: true, force: true });\n\tfs.mkdirSync(publishDir, { recursive: true });\n\n\twritePackageNpmManifest(location, packageJson);\n\n\tgetVersionFileHandler(location).write(creatorPackage.Package, newVersion);\n\n\tconst gitVersionInformation = await getVersionInformationFromGit(\n\t\tworkspace,\n\t\tlocation,\n\t);\n\n\tconst bannerText = getWorkspaceBannerText(workspaceManifest);\n\n\tawait buildFolders({\n\t\tworkspace,\n\t\tpackages: [location],\n\t\tminimize: true,\n\t\toutDir: getWorkspaceOutputPath(workspace),\n\t\tbanner: {\n\t\t\ttext: bannerText,\n\t\t\tcommit: gitVersionInformation.commit,\n\t\t\tcommitDirty: gitVersionInformation.dirty,\n\t\t\tversion: newVersion.toVersionString({\n\t\t\t\tbuildNumber: true,\n\t\t\t}),\n\t\t\tdate: new Date(Date.now()),\n\t\t},\n\t});\n\n\tfs.copyFileSync(\n\t\tpath.join(\n\t\t\tgetWorkspaceOutputPath(workspace),\n\t\t\t`${creatorPackage.Package}.d.ts`,\n\t\t),\n\t\tpath.join(publishDir, `${creatorPackage.Package}.d.ts`),\n\t);\n\tfs.copyFileSync(\n\t\tpath.join(\n\t\t\tgetWorkspaceOutputPath(workspace),\n\t\t\t`${creatorPackage.Package}.min.js`,\n\t\t),\n\t\tpath.join(publishDir, `${creatorPackage.Package}.js`),\n\t);\n\n\tfs.copyFileSync(\n\t\tpath.join(location.manifestDir, \"package.json\"),\n\t\tpath.join(publishDir, \"package.json\"),\n\t);\n\n\tfs.writeFileSync(\n\t\tpath.join(publishDir, PACKAGE_FILE),\n\t\tJSON.stringify(creatorPackage, null, 2),\n\t);\n\n\tconst index = readPackageCreatorIndex(location);\n\n\tif (index !== undefined) {\n\t\tfs.writeFileSync(\n\t\t\tpath.join(publishDir, INDEX_FILE),\n\t\t\tJSON.stringify(index),\n\t\t);\n\t}\n\n\tconst readmeName = fs\n\t\t.readdirSync(location.path)\n\t\t.find((name) => name.toLowerCase() === \"readme.md\");\n\n\tif (readmeName !== undefined) {\n\t\tfs.copyFileSync(\n\t\t\tpath.join(location.path, readmeName),\n\t\t\tpath.join(publishDir, readmeName),\n\t\t);\n\t}\n\n\tconst npmPublishArgs: string[] = [];\n\n\tif (dryRun) {\n\t\tnpmPublishArgs.push(\"--dry-run\");\n\t}\n\n\tif (newVersion.preRelease) {\n\t\tnpmPublishArgs.push(\"--tag\", \"next\");\n\t}\n\n\tlogPackageMessage(\n\t\tcreatorPackage.Package,\n\t\t`Publishing to npm with version ${packageJson.version} using tag ${\n\t\t\tnewVersion.preRelease ? \"next\" : \"latest\"\n\t\t}`,\n\t);\n\n\tspawnSync(\"npm\", [\"publish\", ...npmPublishArgs], {\n\t\tstdio: \"inherit\",\n\t\tencoding: \"utf8\",\n\t\tcwd: publishDir,\n\t});\n\n\tfor (const packageLocation of iterateWorkspacePackages(workspace)) {\n\t\tconst manifest = readPackageNpmManifest(packageLocation);\n\n\t\tif (manifest?.dependencies?.[packageJson.name] !== undefined) {\n\t\t\tmanifest.dependencies[packageJson.name] = \"^\" + packageJson.version;\n\t\t\twritePackageNpmManifest(packageLocation, manifest);\n\t\t}\n\t}\n};\n"],"names":["publishToNpm","workspace","location","version","providedVersion","dryRun","newVersion","parseVersionFromString","err","Error","buildNumber","preRelease","type","undefined","workspaceManifest","readWorkspaceNpmManifest","workspaceOutputPath","getWorkspaceOutputPath","creatorPackage","readPackageCreatorManifest","packageJson","readPackageNpmManifest","name","Package","toLowerCase","description","toVersionString","toDescriptionString","main","types","publishConfig","acccess","ig","scriptingLibrary","files","publishDir","path","join","fs","rmSync","recursive","force","mkdirSync","writePackageNpmManifest","getVersionFileHandler","write","gitVersionInformation","getVersionInformationFromGit","bannerText","getWorkspaceBannerText","buildFolders","packages","minimize","outDir","banner","text","commit","commitDirty","dirty","date","Date","now","copyFileSync","manifestDir","writeFileSync","PACKAGE_FILE","JSON","stringify","index","readPackageCreatorIndex","INDEX_FILE","readmeName","readdirSync","find","npmPublishArgs","push","logPackageMessage","spawnSync","stdio","encoding","cwd","packageLocation","iterateWorkspacePackages","_manifest$dependencie","manifest","dependencies"],"mappings":"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"}
1
+ {"version":3,"file":"publishNpm-1838e45c.js","sources":["../src/commands/publishNpm.ts"],"sourcesContent":["import * as path from \"path\";\nimport * as fs from \"fs\";\nimport { spawnSync } from \"child_process\";\n\nimport { PackageVersion } from \"../lib/packageVersion\";\nimport {\n\tINDEX_FILE,\n\tPackageLocation,\n\tPACKAGE_FILE,\n\treadPackageCreatorIndex,\n\treadPackageCreatorManifest,\n\treadPackageNpmManifest,\n\twritePackageNpmManifest,\n} from \"../lib/package\";\nimport {\n\tgetWorkspaceOutputPath,\n\titerateWorkspacePackages,\n\treadWorkspaceNpmManifest,\n\tWorkspaceLocation,\n} from \"../lib/workspace\";\nimport { getVersionInformationFromGit } from \"../lib/git\";\nimport { getWorkspaceBannerText } from \"../lib/banner\";\nimport { parseVersionFromString } from \"../lib/parseVersion\";\nimport { getVersionFileHandler } from \"../lib/versionFile\";\nimport { logPackageMessage } from \"../lib/log\";\n\nimport { buildFolders } from \"./build\";\n\nexport interface PublishToNpmSettings {\n\tworkspace: WorkspaceLocation;\n\tlocation: PackageLocation;\n\tversion: string;\n\tdryRun?: boolean;\n}\n\nexport const publishToNpm = async ({\n\tworkspace,\n\tlocation,\n\tversion: providedVersion,\n\tdryRun,\n}: PublishToNpmSettings) => {\n\tlet newVersion: PackageVersion;\n\ttry {\n\t\tnewVersion = parseVersionFromString(providedVersion);\n\t} catch (err) {\n\t\tthrow new Error(`Please enter a version in this format 1.0.0.100`);\n\t}\n\n\tif (newVersion.buildNumber < 100) {\n\t\tnewVersion.preRelease = {\n\t\t\ttype: \"beta\",\n\t\t\tversion: newVersion.buildNumber,\n\t\t};\n\t} else if (newVersion.buildNumber === 100) {\n\t\tnewVersion.preRelease = undefined;\n\t} else {\n\t\tthrow new Error(\n\t\t\t`Refusing to publish a package with a build version larger than 100.`,\n\t\t);\n\t}\n\n\tconst workspaceManifest = readWorkspaceNpmManifest(workspace);\n\tconst workspaceOutputPath = getWorkspaceOutputPath(workspace);\n\tconst creatorPackage = readPackageCreatorManifest(location);\n\tlet packageJson = readPackageNpmManifest(location);\n\n\tif (packageJson === undefined) {\n\t\tpackageJson = {\n\t\t\tname:\n\t\t\t\t\"@intelligentgraphics/3d\" +\n\t\t\t\tcreatorPackage.Package.toLowerCase(),\n\t\t\tversion: \"1.0.0\",\n\t\t\tdescription: creatorPackage.Package,\n\t\t};\n\t}\n\n\tpackageJson.version = newVersion.toVersionString({\n\t\tbuildNumber: false,\n\t});\n\tpackageJson.description = newVersion.toDescriptionString(\n\t\tcreatorPackage.Package,\n\t);\n\tpackageJson.main = `${creatorPackage.Package}.js`;\n\tpackageJson.types = `${creatorPackage.Package}.d.ts`;\n\tpackageJson.publishConfig ??= {};\n\tpackageJson.publishConfig.acccess = \"public\";\n\tpackageJson.ig = {\n\t\tscriptingLibrary: true,\n\t};\n\tpackageJson.files = undefined;\n\n\tconst publishDir = path.join(\n\t\tworkspaceOutputPath,\n\t\t\"publish\",\n\t\tcreatorPackage.Package,\n\t);\n\tfs.rmSync(publishDir, { recursive: true, force: true });\n\tfs.mkdirSync(publishDir, { recursive: true });\n\n\twritePackageNpmManifest(location, packageJson);\n\n\tgetVersionFileHandler(location).write(creatorPackage.Package, newVersion);\n\n\tconst gitVersionInformation = await getVersionInformationFromGit(\n\t\tworkspace,\n\t\tlocation,\n\t);\n\n\tconst bannerText = getWorkspaceBannerText(workspaceManifest);\n\n\tawait buildFolders({\n\t\tworkspace,\n\t\tpackages: [location],\n\t\tminimize: true,\n\t\toutDir: getWorkspaceOutputPath(workspace),\n\t\tbanner: {\n\t\t\ttext: bannerText,\n\t\t\tcommit: gitVersionInformation.commit,\n\t\t\tcommitDirty: gitVersionInformation.dirty,\n\t\t\tversion: newVersion.toVersionString({\n\t\t\t\tbuildNumber: true,\n\t\t\t}),\n\t\t\tdate: new Date(Date.now()),\n\t\t},\n\t});\n\n\tfs.copyFileSync(\n\t\tpath.join(\n\t\t\tgetWorkspaceOutputPath(workspace),\n\t\t\t`${creatorPackage.Package}.d.ts`,\n\t\t),\n\t\tpath.join(publishDir, `${creatorPackage.Package}.d.ts`),\n\t);\n\tfs.copyFileSync(\n\t\tpath.join(\n\t\t\tgetWorkspaceOutputPath(workspace),\n\t\t\t`${creatorPackage.Package}.min.js`,\n\t\t),\n\t\tpath.join(publishDir, `${creatorPackage.Package}.js`),\n\t);\n\n\tfs.copyFileSync(\n\t\tpath.join(location.manifestDir, \"package.json\"),\n\t\tpath.join(publishDir, \"package.json\"),\n\t);\n\n\tfs.writeFileSync(\n\t\tpath.join(publishDir, PACKAGE_FILE),\n\t\tJSON.stringify(creatorPackage, null, 2),\n\t);\n\n\tconst index = readPackageCreatorIndex(location);\n\n\tif (index !== undefined) {\n\t\tfs.writeFileSync(\n\t\t\tpath.join(publishDir, INDEX_FILE),\n\t\t\tJSON.stringify(index),\n\t\t);\n\t}\n\n\tconst readmeName = fs\n\t\t.readdirSync(location.path)\n\t\t.find((name) => name.toLowerCase() === \"readme.md\");\n\n\tif (readmeName !== undefined) {\n\t\tfs.copyFileSync(\n\t\t\tpath.join(location.path, readmeName),\n\t\t\tpath.join(publishDir, readmeName),\n\t\t);\n\t}\n\n\tconst npmPublishArgs: string[] = [];\n\n\tif (dryRun) {\n\t\tnpmPublishArgs.push(\"--dry-run\");\n\t}\n\n\tif (newVersion.preRelease) {\n\t\tnpmPublishArgs.push(\"--tag\", \"next\");\n\t}\n\n\tlogPackageMessage(\n\t\tcreatorPackage.Package,\n\t\t`Publishing to npm with version ${packageJson.version} using tag ${\n\t\t\tnewVersion.preRelease ? \"next\" : \"latest\"\n\t\t}`,\n\t);\n\n\tspawnSync(\"npm\", [\"publish\", ...npmPublishArgs], {\n\t\tstdio: \"inherit\",\n\t\tencoding: \"utf8\",\n\t\tcwd: publishDir,\n\t});\n\n\tfor (const packageLocation of iterateWorkspacePackages(workspace)) {\n\t\tconst manifest = readPackageNpmManifest(packageLocation);\n\n\t\tif (manifest?.dependencies?.[packageJson.name] !== undefined) {\n\t\t\tmanifest.dependencies[packageJson.name] = \"^\" + packageJson.version;\n\t\t\twritePackageNpmManifest(packageLocation, manifest);\n\t\t}\n\t}\n};\n"],"names":["publishToNpm","workspace","location","version","providedVersion","dryRun","newVersion","parseVersionFromString","err","Error","buildNumber","preRelease","type","undefined","workspaceManifest","readWorkspaceNpmManifest","workspaceOutputPath","getWorkspaceOutputPath","creatorPackage","readPackageCreatorManifest","packageJson","readPackageNpmManifest","name","Package","toLowerCase","description","toVersionString","toDescriptionString","main","types","publishConfig","acccess","ig","scriptingLibrary","files","publishDir","path","join","fs","rmSync","recursive","force","mkdirSync","writePackageNpmManifest","getVersionFileHandler","write","gitVersionInformation","getVersionInformationFromGit","bannerText","getWorkspaceBannerText","buildFolders","packages","minimize","outDir","banner","text","commit","commitDirty","dirty","date","Date","now","copyFileSync","manifestDir","writeFileSync","PACKAGE_FILE","JSON","stringify","index","readPackageCreatorIndex","INDEX_FILE","readmeName","readdirSync","find","npmPublishArgs","push","logPackageMessage","spawnSync","stdio","encoding","cwd","packageLocation","iterateWorkspacePackages","manifest","dependencies"],"mappings":"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"}