@intelligentgraphics/ig.gfx.packager 3.0.20 → 3.0.22

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 (28) hide show
  1. package/build/bin.mjs +1 -1
  2. package/build/{cli-c7da3faf.mjs → cli-f6586dd5.mjs} +91 -93
  3. package/build/cli-f6586dd5.mjs.map +1 -0
  4. package/build/{dependencies-93832b40.mjs → dependencies-e2aa1797.mjs} +2 -2
  5. package/build/{dependencies-93832b40.mjs.map → dependencies-e2aa1797.mjs.map} +1 -1
  6. package/build/{generateIndex-056000f0.mjs → generateIndex-019c6946.mjs} +3 -3
  7. package/build/{generateIndex-056000f0.mjs.map → generateIndex-019c6946.mjs.map} +1 -1
  8. package/build/{generateParameterType-8584bc43.mjs → generateParameterType-ae69726a.mjs} +4 -4
  9. package/build/{generateParameterType-8584bc43.mjs.map → generateParameterType-ae69726a.mjs.map} +1 -1
  10. package/build/{index-41cb0257.mjs → index-39c79102.mjs} +18 -19
  11. package/build/index-39c79102.mjs.map +1 -0
  12. package/build/index-3d1291e7.mjs +1120 -0
  13. package/build/index-3d1291e7.mjs.map +1 -0
  14. package/build/{postinstall-eb863946.mjs → postinstall-3328545c.mjs} +3 -3
  15. package/build/{postinstall-eb863946.mjs.map → postinstall-3328545c.mjs.map} +1 -1
  16. package/build/{publishNpm-0af8ba37.mjs → publishNpm-532e17a0.mjs} +12 -6
  17. package/build/publishNpm-532e17a0.mjs.map +1 -0
  18. package/build/scripts-7ed8dff6.mjs.map +1 -1
  19. package/build/{versionFile-4f3df7f1.mjs → versionFile-644c7ff8.mjs} +6 -10
  20. package/build/{versionFile-4f3df7f1.mjs.map → versionFile-644c7ff8.mjs.map} +1 -1
  21. package/lib/lib.mjs +581 -175
  22. package/package.json +7 -6
  23. package/readme.md +11 -0
  24. package/build/cli-c7da3faf.mjs.map +0 -1
  25. package/build/index-41cb0257.mjs.map +0 -1
  26. package/build/index-7d81fa31.mjs +0 -706
  27. package/build/index-7d81fa31.mjs.map +0 -1
  28. package/build/publishNpm-0af8ba37.mjs.map +0 -1
@@ -5,17 +5,16 @@ import { createWriteStream, createReadStream } from 'fs';
5
5
  import { pipeline } from 'stream/promises';
6
6
  import { exec } from 'child_process';
7
7
  import { promisify } from 'util';
8
- import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from './dependencies-93832b40.mjs';
9
- import { P as PACKAGE_FILE, I as INDEX_FILE, p as parseCreatorPackageName, r as readPackageCreatorManifest, w as writePackageCreatorManifest, i as isErrorENOENT, a as readPackageCreatorIndex, b as readWorkspaceNpmManifest, g as getWorkspaceOutputPath, c as readPackageAnimationList, d as isErrorEACCES, e as isErrorEPERM, u as uploadPackageFromStream, f as getPackageReleasesDirectory, h as getExistingPackages, s as startSession, j as closeSession } from './cli-c7da3faf.mjs';
10
- import { l as logPackageMessage, b as buildFolders } from './index-7d81fa31.mjs';
8
+ import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from './dependencies-e2aa1797.mjs';
9
+ import { P as PACKAGE_FILE, I as INDEX_FILE, p as parseCreatorPackageName, r as readPackageCreatorManifest, w as writePackageCreatorManifest, i as isErrorENOENT, a as readPackageCreatorIndex, b as readWorkspaceNpmManifest, g as getWorkspaceOutputPath, c as readPackageAnimationList, d as isErrorEACCES, e as isErrorEPERM, u as uploadPackageFromStream, f as getPackageReleasesDirectory, h as getExistingPackages, s as startSession, j as closeSession } from './cli-f6586dd5.mjs';
10
+ import { l as logPackageMessage, b as buildFolders } from './index-3d1291e7.mjs';
11
11
  import 'write-pkg';
12
12
  import 'glob';
13
13
  import 'node:path';
14
14
  import 'node:fs';
15
15
  import 'axios';
16
- import { g as getVersionFileHandler, p as parseVersionFromString, a as getVersionInformationFromGit, b as getWorkspaceBannerText, c as parseVersionFromNumericVersion, P as PackageVersion } from './versionFile-4f3df7f1.mjs';
16
+ import { g as getVersionFileHandler, p as parseVersionFromString, a as getVersionInformationFromGit, b as getWorkspaceBannerText, c as parseVersionFromNumericVersion, P as PackageVersion } from './versionFile-644c7ff8.mjs';
17
17
  import JSZip from 'jszip';
18
- import * as terser from 'terser';
19
18
  import 'resolve';
20
19
  import 'update-notifier';
21
20
  import 'yargs/yargs';
@@ -24,9 +23,11 @@ import 'assert';
24
23
  import 'events';
25
24
  import 'core-js/modules/es.typed-array.set.js';
26
25
  import 'inquirer';
27
- import './scripts-7ed8dff6.mjs';
26
+ import 'terser';
28
27
  import 'typescript';
28
+ import './scripts-7ed8dff6.mjs';
29
29
  import 'typedoc';
30
+ import 'source-map-js';
30
31
  import 'ajv';
31
32
  import 'simple-git';
32
33
 
@@ -43,7 +44,7 @@ const buildArchiveFromPublishedPackage = (location, manifest, creatorPackage)=>{
43
44
  if (fs.existsSync(source)) {
44
45
  const images = fs.readdirSync(source);
45
46
  for (const file of images){
46
- const { ext } = path.parse(file);
47
+ const { ext } = path.parse(file);
47
48
  switch(ext){
48
49
  case ".png":
49
50
  case ".jpeg":
@@ -67,10 +68,9 @@ const notRuntimeScripts = [
67
68
  "Context",
68
69
  "Evaluator"
69
70
  ];
70
- const buildArchiveFromPackage = async (packageLocation, data, binDir)=>{
71
- const { domain } = parseCreatorPackageName(data);
71
+ const buildArchiveFromPackage = async (packageLocation, data, binDir, minified = true)=>{
72
+ const { domain } = parseCreatorPackageName(data);
72
73
  const logStep = (step)=>logPackageMessage(data.Package, step);
73
- const libFilePath = path.join(binDir, `${data.Package}.min.js`);
74
74
  const scriptDirectories = [
75
75
  packageLocation.path,
76
76
  packageLocation.scriptsDir
@@ -97,6 +97,7 @@ const buildArchiveFromPackage = async (packageLocation, data, binDir)=>{
97
97
  }
98
98
  let libFile;
99
99
  try {
100
+ const libFilePath = minified ? path.join(binDir, `${data.Package}.min.js`) : path.join(binDir, `${data.Package}.js`);
100
101
  libFile = fs.readFileSync(libFilePath, {
101
102
  encoding: "utf8"
102
103
  });
@@ -115,10 +116,7 @@ const buildArchiveFromPackage = async (packageLocation, data, binDir)=>{
115
116
  library = `/* This file is part of the ${domain} Data Packages.
116
117
  * Copyright (C) ${date.getFullYear()} intelligentgraphics. All Rights Reserved. */`;
117
118
  }
118
- const minifyResult = await terser.minify(library, {
119
- ecma: 5
120
- });
121
- archive.file(`${data.Package}.js`, minifyResult.code);
119
+ archive.file(`${data.Package}.js`, library);
122
120
  archive.file(PACKAGE_FILE, JSON.stringify(data, null, 2));
123
121
  const creatorIndex = readPackageCreatorIndex(packageLocation);
124
122
  if (creatorIndex !== undefined) {
@@ -127,7 +125,7 @@ const buildArchiveFromPackage = async (packageLocation, data, binDir)=>{
127
125
  for (const directory of scriptDirectories){
128
126
  try {
129
127
  for (const file of fs.readdirSync(directory)){
130
- const { ext } = path.parse(file);
128
+ const { ext } = path.parse(file);
131
129
  switch(ext){
132
130
  case ".png":
133
131
  case ".jpeg":
@@ -149,10 +147,10 @@ const execAsync = promisify(exec);
149
147
  const releaseFolder = async (options)=>{
150
148
  const workspace = options.workspace;
151
149
  const location = options.directory;
152
- const { write: writeVersionFile , reset: resetVersionFile } = getVersionFileHandler(location);
150
+ const { write: writeVersionFile, reset: resetVersionFile } = getVersionFileHandler(location);
153
151
  const packageDescription = readPackageCreatorManifest(location);
154
152
  const fullPackageName = packageDescription.Package;
155
- const { domain , subdomain } = parseCreatorPackageName(packageDescription);
153
+ const { domain, subdomain } = parseCreatorPackageName(packageDescription);
156
154
  const publishDomain = options.domain ?? domain;
157
155
  const publishSubdomain = options.subdomain ?? subdomain;
158
156
  const sharedPackageJson = readWorkspaceNpmManifest(workspace);
@@ -260,7 +258,8 @@ const releaseFolder = async (options)=>{
260
258
  }
261
259
  }
262
260
  }
263
- const archive = await buildArchiveFromPackage(location, packageDescription, binDir);
261
+ logPackageMessage(packageDescription.Package, `Creating zip file`);
262
+ const archive = await buildArchiveFromPackage(location, packageDescription, binDir, options.minimize);
264
263
  try {
265
264
  const zipOutputStream = createWriteStream(zipFilePath);
266
265
  await pipeline(archive.generateNodeStream(), zipOutputStream);
@@ -463,4 +462,4 @@ const createSessionManager = async (params)=>{
463
462
  };
464
463
 
465
464
  export { releaseFolder };
466
- //# sourceMappingURL=index-41cb0257.mjs.map
465
+ //# sourceMappingURL=index-39c79102.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-39c79102.mjs","sources":["../src/commands/publish/zip.ts","../src/commands/publish/index.ts"],"sourcesContent":["import JSZip from \"jszip\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { isErrorENOENT } from \"../../lib/error\";\nimport { logPackageMessage } from \"../../lib/log\";\nimport {\n\tCreatorPackage,\n\treadPackageCreatorManifest,\n\twritePackageCreatorManifest,\n\treadPackageCreatorIndex,\n\tparseCreatorPackageName,\n\tPackageLocation,\n\tPackageNpmManifest,\n\tINDEX_FILE,\n\tPACKAGE_FILE,\n} from \"../../lib/package\";\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\tif (creatorPackage.Package === \"IG.GFX.Standard\") {\n\t\tconst source = path.join(location.path, \"Images\");\n\n\t\tif (fs.existsSync(source)) {\n\t\t\tconst images = fs.readdirSync(source);\n\n\t\t\tfor (const file of images) {\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(source, file)),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn archive;\n};\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\tpackageLocation: PackageLocation,\n\tdata: CreatorPackage,\n\tbinDir: string,\n\tminified = true,\n) => {\n\tconst { domain } = parseCreatorPackageName(data);\n\n\tconst logStep = (step: string) => logPackageMessage(data.Package, step);\n\n\tconst scriptDirectories: string[] = [\n\t\tpackageLocation.path,\n\t\tpackageLocation.scriptsDir,\n\t];\n\n\tif (data.Package === \"IG.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\tlet libFile: string | undefined;\n\n\ttry {\n\t\tconst libFilePath = minified\n\t\t\t? path.join(binDir, `${data.Package}.min.js`)\n\t\t\t: path.join(binDir, `${data.Package}.js`);\n\n\t\tlibFile = fs.readFileSync(libFilePath, {\n\t\t\tencoding: \"utf8\",\n\t\t});\n\t} catch (err) {\n\t\tif (!isErrorENOENT(err)) {\n\t\t\tthrow err;\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\tarchive.file(`${data.Package}.js`, library);\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","import * as path from \"path\";\nimport * as fs from \"fs/promises\";\nimport { createReadStream, createWriteStream } from \"fs\";\nimport { pipeline } from \"stream/promises\";\nimport { exec } from \"child_process\";\nimport { promisify } from \"util\";\n\nimport {\n\tAssetService,\n\tisErrorEACCES,\n\tisErrorEPERM,\n\twritePackageCreatorManifest,\n} 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} 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, PrompterOption } 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\nconst execAsync = promisify(exec);\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\tpackageDescription.Version = newVersion.toVersionString({\n\t\tbuildNumber: true,\n\t});\n\twritePackageCreatorManifest(location, packageDescription);\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\tawait execAsync(`npm install`, {\n\t\t\tencoding: \"utf-8\",\n\t\t\tcwd: workspace.path,\n\t\t});\n\t}\n\n\tconst binDir = options.outDir ?? getWorkspaceOutputPath(workspace);\n\tawait fs.mkdir(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\tlet zipFilePath = path.join(binDir, packageNameWithVersion + \".zip\");\n\tinterface Uploadable {\n\t\tgetStream: () => NodeJS.ReadableStream;\n\t}\n\n\tlet uploadable: Uploadable = {\n\t\tgetStream: () => createReadStream(zipFilePath),\n\t};\n\n\ttry {\n\t\tif (options.pushOnly) {\n\t\t\tconst zipFileExists = await fs.stat(zipFilePath).catch((err) => {\n\t\t\t\tif (isErrorENOENT(err)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn Promise.reject(err);\n\t\t\t});\n\n\t\t\tif (zipFileExists) {\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\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\tawait fs.rm(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`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?`,\n\t\t\t\t\t);\n\n\t\t\t\t\tif (install) {\n\t\t\t\t\t\tawait execAsync(\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},\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tawait execAsync(`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\tlogPackageMessage(packageDescription.Package, `Creating zip file`);\n\n\t\t\tconst archive = await buildArchiveFromPackage(\n\t\t\t\tlocation,\n\t\t\t\tpackageDescription,\n\t\t\t\tbinDir,\n\t\t\t\toptions.minimize,\n\t\t\t);\n\n\t\t\ttry {\n\t\t\t\tconst zipOutputStream = createWriteStream(zipFilePath);\n\t\t\t\tawait pipeline(archive.generateNodeStream(), zipOutputStream);\n\t\t\t} catch (err) {\n\t\t\t\tif (isErrorEACCES(err) || isErrorEPERM(err)) {\n\t\t\t\t\tlogPackageMessage(\n\t\t\t\t\t\tpackageDescription.Package,\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`,\n\t\t\t\t\t);\n\t\t\t\t\tuploadable = {\n\t\t\t\t\t\tgetStream: () => archive.generateNodeStream(),\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t}\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.uploadPackageFromStream(\n\t\t\t\t\tsessionManager.getTargetSession(),\n\t\t\t\t\tassetServerPackageDetails,\n\t\t\t\t\tuploadable.getStream(),\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\tawait fs.mkdir(releasesPath, { recursive: true });\n\t\tawait pipeline(\n\t\t\tuploadable.getStream(),\n\t\t\tcreateWriteStream(path.join(releasesPath, zipFileName)),\n\t\t);\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\tconst possibleTargets: PrompterOption[] = [];\n\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\tpossibleTargets.push({\n\t\t\t\tvalue: \"Basics\",\n\t\t\t\tname: `Basics (Current: ${version})`,\n\t\t\t});\n\t\t} else {\n\t\t\tpossibleTargets.push({\n\t\t\t\tvalue: \"Basics\",\n\t\t\t\tname: \"Basics (Current: None)\",\n\t\t\t});\n\t\t}\n\n\t\tif (targetSession.subDomain !== \"Basics\") {\n\t\t\tif (uploadedPackageInTarget) {\n\t\t\t\tconst version = uploadedPackageInTarget.version.toVersionString(\n\t\t\t\t\t{\n\t\t\t\t\t\tbuildNumber: true,\n\t\t\t\t\t},\n\t\t\t\t);\n\n\t\t\t\tpossibleTargets.push({\n\t\t\t\t\tvalue: targetSession.subDomain,\n\t\t\t\t\tname: `${targetSession.subDomain} (Current: ${version})`,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tpossibleTargets.push({\n\t\t\t\t\tvalue: targetSession.subDomain,\n\t\t\t\t\tname: `${targetSession.subDomain} (Current: None)`,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tconst libraryVersionString = libraryVersion.toVersionString({\n\t\t\tbuildNumber: true,\n\t\t});\n\n\t\tconst uploadTargetScope = await prompter.ask({\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`,\n\t\t\toptions: [\n\t\t\t\t...possibleTargets,\n\t\t\t\t{ name: \"Skip upload\", value: \"Skip\" },\n\t\t\t],\n\t\t\tdefault: possibleTargets[0].value,\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\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.uploadPackageFromStream(\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\tarchive.generateNodeStream(),\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","Package","source","existsSync","images","readdirSync","ext","parse","runtimeScripts","notRuntimeScripts","buildArchiveFromPackage","packageLocation","data","binDir","minified","domain","parseCreatorPackageName","logStep","step","logPackageMessage","scriptDirectories","scriptsDir","push","readPackageCreatorManifest","RunTime","includes","Type","writePackageCreatorManifest","libFile","libFilePath","readFileSync","encoding","err","isErrorENOENT","library","date","Date","now","getFullYear","creatorIndex","readPackageCreatorIndex","directory","console","error","execAsync","promisify","exec","releaseFolder","options","workspace","write","writeVersionFile","reset","resetVersionFile","getVersionFileHandler","packageDescription","fullPackageName","subdomain","publishDomain","publishSubdomain","sharedPackageJson","readWorkspaceNpmManifest","newVersion","parseVersionFromString","Error","Version","toVersionString","buildNumber","preRelease","type","version","cwd","outDir","getWorkspaceOutputPath","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","minimize","zipOutputStream","createWriteStream","pipeline","generateNodeStream","isErrorEACCES","isErrorEPERM","noUpload","authentication","sessionManager","createSessionManager","url","service","address","subDomain","skipDependencies","ensureRequiredVersions","AssetService","getTargetSession","destroy","zipFileName","releasesPath","getPackageReleasesDirectory","workspaceLocation","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":"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"}