@intelligentgraphics/ig.gfx.packager 3.0.0-alpha.5 → 3.0.0-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/cli.mjs CHANGED
@@ -6,7 +6,7 @@ import { dirname } from 'path';
6
6
  import yargs from 'yargs/yargs';
7
7
  import { fileURLToPath } from 'url';
8
8
  import y18n from 'y18n';
9
- import writePkg from 'write-pkg';
9
+ import { writePackageSync } from 'write-pkg';
10
10
  import inquirer from 'inquirer';
11
11
 
12
12
  const __dirname = dirname(fileURLToPath(import.meta.url));
@@ -40,7 +40,7 @@ const readNpmManifest = directory => {
40
40
  };
41
41
  const writeNpmManifest = (directory, packageJson) => {
42
42
  const packageJsonPath = path.join(directory, "package.json");
43
- writePkg.sync(packageJsonPath, packageJson);
43
+ writePackageSync(packageJsonPath, packageJson);
44
44
  };
45
45
 
46
46
  // Functionality related to working with a single package.
@@ -95,8 +95,13 @@ const detectPackage = (workspace, directory) => {
95
95
  manifestDir: directory
96
96
  };
97
97
  }
98
- if (readPackageCreatorManifest(location) === undefined) {
99
- throw new Error(`No _Package.json found in ${location.manifestDir}`);
98
+ try {
99
+ readPackageCreatorManifest(location);
100
+ } catch (err) {
101
+ if (isErrorENOENT(err)) {
102
+ throw new Error(`No _Package.json found in ${location.manifestDir}`);
103
+ }
104
+ throw err;
100
105
  }
101
106
  return location;
102
107
  };
@@ -230,8 +235,8 @@ const createDefaultPrompter = () => {
230
235
  };
231
236
 
232
237
  var name = "@intelligentgraphics/ig.gfx.packager";
233
- var version = "3.0.0-alpha.5";
234
- var description = "IG.GFX.Packager 3.0.0 Alpha 5 (3.0.0.6)";
238
+ var version = "3.0.0-alpha.7";
239
+ var description = "IG.GFX.Packager 3.0.0 Alpha 7 (3.0.0.8)";
235
240
  var author = "Michael Beier <mb@intelligentgraphics.biz>";
236
241
  var main = "build/index.mjs";
237
242
  var type = "module";
@@ -254,27 +259,28 @@ var scripts = {
254
259
  clean: "rimraf build *.tsbuildinfo",
255
260
  prepublishOnly: "yarn clean && yarn dist",
256
261
  test: "vitest",
257
- format: "prettier --write \"**/*.{ts,tsx,json}\""
262
+ format: "prettier --write \"**/*.{ts,tsx,json}\"",
263
+ postinstall: "packager postinstall"
258
264
  };
259
265
  var dependencies = {
260
- ajv: "^8.6.2",
261
- axios: "^0.21.1",
262
- "core-js": "^3.16.0",
263
- glob: "^7.1.4",
266
+ ajv: "^8.12.0",
267
+ axios: "^1.2.5",
268
+ "core-js": "^3.27.2",
269
+ glob: "^8.1.0",
264
270
  inquirer: "^9.1.4",
265
- jszip: "^3.10.0",
271
+ jszip: "^3.10.1",
266
272
  lodash: "^4.17.21",
267
273
  resolve: "^1.22.1",
268
- "simple-git": "^3.15.1",
269
- "source-map-support": "^0.5.19",
270
- terser: "^4.8.0",
274
+ "simple-git": "^3.16.0",
275
+ "source-map-support": "^0.5.21",
276
+ terser: "^5.16.1",
271
277
  typedoc: "~0.23.2",
272
278
  typescript: "~4.9.4",
273
- "update-notifier": "^5.1.0",
274
- "v8-compile-cache": "^2.1.1",
275
- "write-pkg": "4",
279
+ "update-notifier": "^6.0.2",
280
+ "v8-compile-cache": "^2.3.0",
281
+ "write-pkg": "^5.1.0",
276
282
  y18n: "^5.0.8",
277
- yargs: "^17.0.1"
283
+ yargs: "^17.6.2"
278
284
  };
279
285
  var devDependencies = {
280
286
  "@babel/preset-env": "^7.18.9",
@@ -283,10 +289,10 @@ var devDependencies = {
283
289
  "@rollup/plugin-commonjs": "^24.0.0",
284
290
  "@rollup/plugin-json": "^6.0.0",
285
291
  "@rollup/plugin-node-resolve": "^15.0.1",
286
- "@types/glob": "^7.1.4",
292
+ "@types/glob": "^8.0.1",
287
293
  "@types/inquirer": "^9.0.3",
288
294
  "@types/node": "^16.4.11",
289
- "@types/update-notifier": "^5.1.0",
295
+ "@types/update-notifier": "^6.0.1",
290
296
  "@types/yargs": "^17.0.2",
291
297
  rollup: "^3.10.0",
292
298
  vitest: "^0.28.1"
@@ -308,7 +314,7 @@ var pjson = {
308
314
  devDependencies: devDependencies
309
315
  };
310
316
 
311
- const __filename = fileURLToPath(import.meta.url);
317
+ fileURLToPath(import.meta.url);
312
318
  const captureError = err => {
313
319
  console.log("");
314
320
  if (process.env.NODE_ENV !== "production") {
@@ -345,35 +351,62 @@ const buildOptions = {
345
351
  }
346
352
  };
347
353
  const preCommandCheck = async () => {
348
- var _repositoryPackage, _repositoryPackage$de, _repositoryPackage2, _repositoryPackage2$d;
349
- const executedLocalPackager = path.relative(process.cwd(), __filename).indexOf("..") === -1;
350
- let repositoryPackage;
351
- try {
352
- const repositoryPackageJson = fs.readFileSync(path.resolve(process.cwd(), "package.json"), "utf8");
353
- repositoryPackage = JSON.parse(repositoryPackageJson);
354
- } catch (err) {}
355
- if ((_repositoryPackage = repositoryPackage) !== null && _repositoryPackage !== void 0 && (_repositoryPackage$de = _repositoryPackage.dependencies) !== null && _repositoryPackage$de !== void 0 && _repositoryPackage$de["@intelligentgraphics/ig.gfx.packager"] || (_repositoryPackage2 = repositoryPackage) !== null && _repositoryPackage2 !== void 0 && (_repositoryPackage2$d = _repositoryPackage2.devDependencies) !== null && _repositoryPackage2$d !== void 0 && _repositoryPackage2$d["@intelligentgraphics/ig.gfx.packager"]) {
356
- const parts = ["Detected locally installed ig.gfx.packager."];
357
- if (executedLocalPackager) {
358
- parts.push('Run "npm install -g @intelligentgraphics/ig.gfx.packager@latest" to install the global version, if it is not yet installed.');
359
- }
360
- parts.push('Run "npm uninstall @intelligentgraphics/ig.gfx.packager" to remove the local version.');
361
- console.error(parts.join("\n"));
362
- process.exit(1);
363
- }
364
- if (executedLocalPackager) {
365
- console.error(`Detected locally installed ig.gfx.packager.
366
- Run "npm install -g @intelligentgraphics/ig.gfx.packager@latest" to install the global version, if it is not yet installed.
367
- Run "npm install" to get rid of the local packager version.`);
368
- process.exit(1);
369
- }
354
+ // const executedLocalPackager =
355
+ // path.relative(process.cwd(), __filename).indexOf("..") === -1;
356
+
357
+ // let repositoryPackage:
358
+ // | {
359
+ // dependencies?: Record<string, string>;
360
+ // devDependencies?: Record<string, string>;
361
+ // }
362
+ // | undefined;
363
+
364
+ // try {
365
+ // const repositoryPackageJson = fs.readFileSync(
366
+ // path.resolve(process.cwd(), "package.json"),
367
+ // "utf8",
368
+ // );
369
+
370
+ // repositoryPackage = JSON.parse(repositoryPackageJson);
371
+ // } catch (err) {}
372
+
373
+ // if (
374
+ // repositoryPackage?.dependencies?.[
375
+ // "@intelligentgraphics/ig.gfx.packager"
376
+ // ] ||
377
+ // repositoryPackage?.devDependencies?.[
378
+ // "@intelligentgraphics/ig.gfx.packager"
379
+ // ]
380
+ // ) {
381
+ // const parts = ["Detected locally installed ig.gfx.packager."];
382
+
383
+ // if (executedLocalPackager) {
384
+ // parts.push(
385
+ // 'Run "npm install -g @intelligentgraphics/ig.gfx.packager@latest" to install the global version, if it is not yet installed.',
386
+ // );
387
+ // }
388
+ // parts.push(
389
+ // 'Run "npm uninstall @intelligentgraphics/ig.gfx.packager" to remove the local version.',
390
+ // );
391
+
392
+ // console.error(parts.join("\n"));
393
+ // process.exit(1);
394
+ // }
395
+
396
+ // if (executedLocalPackager) {
397
+ // console.error(`Detected locally installed ig.gfx.packager.
398
+ // Run "npm install -g @intelligentgraphics/ig.gfx.packager@latest" to install the global version, if it is not yet installed.
399
+ // Run "npm install" to get rid of the local packager version.`);
400
+ // process.exit(1);
401
+ // }
402
+
370
403
  const notifier = updateNotifier({
371
404
  pkg: pjson,
372
405
  shouldNotifyInNpmScript: true,
373
406
  updateCheckInterval: 1000 * 60
374
407
  });
375
408
  notifier.notify({
376
- isGlobal: true,
409
+ isGlobal: false,
377
410
  defer: true
378
411
  });
379
412
  const workspaceLocation = detectWorkspace(process.cwd());
@@ -508,7 +541,7 @@ yargsInstance.command("publish [directory]", "Publishes the specified directory"
508
541
  }
509
542
  const {
510
543
  releaseFolder
511
- } = await import('./commands/release.mjs');
544
+ } = await import('./commands/publish.mjs');
512
545
  const prompter = createDefaultPrompter();
513
546
  const fullOptions = {
514
547
  ...options,
@@ -583,7 +616,7 @@ yargsInstance.command({
583
616
  dryRun
584
617
  }).catch(captureError);
585
618
  },
586
- describe: "Publishes the package to npm. Requires @intelligentgraphics/ig.tools to be installed"
619
+ describe: "Publishes the package to npm"
587
620
  });
588
621
  yargsInstance.demandCommand().pkgConf("packager").showHelpOnFail(false).version().argv;
589
622
 
package/build/cli.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.mjs","sources":["../src/lib/localization.ts","../src/lib/error.ts","../src/lib/npmPackage.ts","../src/lib/package.ts","../src/lib/workspace.ts","../src/lib/prompter.ts","../src/cli.ts"],"sourcesContent":["import y18n from \"y18n\";\nimport * as path from \"path\";\nimport { dirname } from \"path\";\nimport { fileURLToPath } from \"url\";\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\n\nconst instance = y18n({\n\tdirectory: path.join(__dirname, \"..\", \"locales\"),\n\tupdateFiles: false,\n\tlocale: \"en\",\n\tfallbackToLanguage: true,\n});\n\nexport const setLocale = (locale: string) => {\n\tinstance.setLocale(locale);\n};\n\nexport const translate = (key: string, ...args: string[]) =>\n\tinstance.__(key, ...args);\n","interface NodeError extends Error {\n\tcode: string;\n}\n\nexport const getNodeErrorCode = (error: unknown) => {\n\tif (\n\t\terror !== null &&\n\t\ttypeof error === \"object\" &&\n\t\t(error as NodeError).code !== undefined\n\t) {\n\t\treturn (error as NodeError).code;\n\t}\n};\n\n/**\n * Permission denied: An attempt was made to access a file in a way forbidden by its file access permissions.\n *\n * @param {unknown} error\n */\nexport const isErrorEACCES = (error: unknown) =>\n\tgetNodeErrorCode(error) === \"EACCES\";\n\n/**\n * No such file or directory: Commonly raised by fs operations to indicate that a component of the specified pathname does not exist. No entity (file or directory) could be found by the given path.\n *\n * @param {unknown} error\n */\nexport const isErrorENOENT = (error: unknown) =>\n\tgetNodeErrorCode(error) === \"ENOENT\";\n","import * as fs from \"fs\";\nimport * as path from \"path\";\nimport writePkg from \"write-pkg\";\n\nimport { PackageJSON } from \"./packageJSON\";\n\nexport const readNpmManifest = <T extends PackageJSON>(\n\tdirectory: string,\n): T => {\n\tconst packageJsonPath = path.join(directory, \"package.json\");\n\tconst packageJson = fs.readFileSync(packageJsonPath, {\n\t\tencoding: \"utf8\",\n\t});\n\treturn JSON.parse(packageJson);\n};\n\nexport const writeNpmManifest = <T extends PackageJSON>(\n\tdirectory: string,\n\tpackageJson: T,\n) => {\n\tconst packageJsonPath = path.join(directory, \"package.json\");\n\twritePkg.sync(packageJsonPath, packageJson);\n};\n","// Functionality related to working with a single package.\n\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { isErrorENOENT } from \"./error\";\nimport { WorkspaceLocation } from \"./workspace\";\nimport { readNpmManifest, writeNpmManifest } from \"./npmPackage\";\nimport { PackageJSON } from \"./packageJSON\";\n\nconst PACKAGE_FILE = \"_Package.json\";\nconst INDEX_FILE = \"_Index.json\";\nconst ANIMATION_FILE = \".animation.json\";\n\n/**\n * Describes the location of a single package.\n *\n * @export\n * @interface PackageLocation\n */\nexport interface PackageLocation {\n\t_kind: \"PackageLocation\";\n\t/**\n\t * Main directory of a package\n\t *\n\t * @type {string}\n\t */\n\tpath: string;\n\t/**\n\t * Directory containing the typescript files\n\t *\n\t * @type {string}\n\t */\n\tscriptsDir: string;\n\t/**\n\t * Diretory containing the _Package.json, _Index.json, package.json and animation.json files\n\t *\n\t * @type {string}\n\t */\n\tmanifestDir: string;\n}\n\nexport interface CreatorPackage {\n\tScope: string;\n\tPackage: string;\n\tRunTime: boolean;\n\tType: \"Interactor\" | \"Mixed\" | \"Core\" | \"Context\" | \"Evaluator\";\n}\n\nexport const parseCreatorPackageName = (manifest: CreatorPackage) => {\n\tconst [domain, ...subdomainParts] = manifest.Package.split(\".\");\n\treturn {\n\t\tdomain,\n\t\tsubdomain: subdomainParts.join(\".\"),\n\t};\n};\n\nexport interface PackageNpmManifest extends PackageJSON {\n\tig?: {\n\t\tscriptingLibrary?: boolean;\n\t};\n}\n\n/**\n * Detects the package at the given directory.\n *\n * @param {string} directory\n * @returns {PackageLocation}\n */\nexport const detectPackage = (\n\tworkspace: WorkspaceLocation,\n\tdirectory: string,\n): PackageLocation => {\n\tdirectory = path.resolve(workspace.path, directory);\n\n\tconst scriptsPath = path.join(directory, \"Scripts\");\n\tconst tsPath = path.join(directory, \"ts\");\n\n\tlet location: PackageLocation;\n\n\tif (fs.existsSync(scriptsPath)) {\n\t\tlocation = {\n\t\t\t_kind: \"PackageLocation\",\n\t\t\tpath: directory,\n\t\t\tscriptsDir: scriptsPath,\n\t\t\tmanifestDir: scriptsPath,\n\t\t};\n\t} else if (fs.existsSync(tsPath)) {\n\t\tlocation = {\n\t\t\t_kind: \"PackageLocation\",\n\t\t\tpath: directory,\n\t\t\tscriptsDir: tsPath,\n\t\t\tmanifestDir: directory,\n\t\t};\n\t} else {\n\t\tlocation = {\n\t\t\t_kind: \"PackageLocation\",\n\t\t\tpath: directory,\n\t\t\tscriptsDir: directory,\n\t\t\tmanifestDir: directory,\n\t\t};\n\t}\n\n\tif (readPackageCreatorManifest(location) === undefined) {\n\t\tthrow new Error(`No _Package.json found in ${location.manifestDir}`);\n\t}\n\n\treturn location;\n};\n\nexport const readPackageCreatorManifest = (\n\tlocation: PackageLocation,\n): CreatorPackage => {\n\tconst packageJsonPath = path.join(location.manifestDir, PACKAGE_FILE);\n\tconst packageJson = fs.readFileSync(packageJsonPath, { encoding: \"utf8\" });\n\tconst result: Omit<CreatorPackage, \"Scope\"> & { Scope?: string } =\n\t\tJSON.parse(packageJson);\n\treturn {\n\t\t...result,\n\t\tScope: result.Scope || result.Package,\n\t};\n};\n\nexport const writePackageCreatorManifest = (\n\tlocation: PackageLocation,\n\tcreatorPackage: CreatorPackage,\n) => {\n\tconst packageJsonPath = path.join(location.manifestDir, PACKAGE_FILE);\n\tfs.writeFileSync(\n\t\tpackageJsonPath,\n\t\tJSON.stringify(creatorPackage, null, \"\\t\") + \"\\n\",\n\t);\n};\n\nexport const readPackageCreatorIndex = (\n\tlocation: PackageLocation,\n): object | undefined => {\n\ttry {\n\t\tconst indexPath = path.join(location.manifestDir, INDEX_FILE);\n\t\tconst index = fs.readFileSync(indexPath, { encoding: \"utf8\" });\n\t\treturn JSON.parse(index);\n\t} catch (err) {\n\t\tif (isErrorENOENT(err)) {\n\t\t\treturn undefined;\n\t\t}\n\t\tthrow err;\n\t}\n};\n\nexport const writePackageCreatorIndex = (\n\tlocation: PackageLocation,\n\tindex: object,\n) => {\n\tconst packageJsonPath = path.join(location.manifestDir, INDEX_FILE);\n\tfs.writeFileSync(packageJsonPath, JSON.stringify(index, null, \"\\t\") + \"\\n\");\n};\n\nexport const readPackageNpmManifest = (\n\tlocation: PackageLocation,\n): PackageNpmManifest | undefined => {\n\ttry {\n\t\treturn readNpmManifest(location.manifestDir);\n\t} catch (err) {\n\t\tif (isErrorENOENT(err)) {\n\t\t\treturn undefined;\n\t\t}\n\t\tthrow err;\n\t}\n};\n\nexport const writePackageNpmManifest = (\n\tlocation: PackageLocation,\n\tpackageJson: PackageNpmManifest,\n) => {\n\twriteNpmManifest(location.manifestDir, packageJson);\n};\n\nexport const readPackageAnimationList = (location: PackageLocation) => {\n\tconst directoryContent = fs.readdirSync(location.manifestDir);\n\tconst animationPathList: string[] = [];\n\n\tfor (const entry of directoryContent) {\n\t\tif (entry.endsWith(ANIMATION_FILE)) {\n\t\t\tconst animationPath = path.join(location.manifestDir, entry);\n\t\t\tanimationPathList.push(animationPath);\n\t\t}\n\t}\n\n\treturn animationPathList;\n};\n\nexport const getPackageReleasesDirectory = (location: PackageLocation) =>\n\tpath.join(location.path, \"Releases\");\n\nexport const arePackageLocationsEqual = (\n\ta: PackageLocation,\n\tb: PackageLocation,\n) => a.path === b.path;\n","// Functionality related to working with a workspace consisting of multiple packages.\n\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { PackageJSON } from \"./packageJSON\";\nimport { isErrorENOENT } from \"./error\";\nimport { readNpmManifest, writeNpmManifest } from \"./npmPackage\";\nimport { detectPackage } from \"./package\";\n\n/**\n * Describe the location of a workspace constining of n packages.\n *\n * @export\n * @interface WorkspaceLocation\n */\nexport interface WorkspaceLocation {\n\t_kind: \"WorkspaceLocation\";\n\tpath: string;\n}\n\nexport interface WorkspacePackageJSON extends PackageJSON {\n\tpackager?: { banner?: string };\n}\n\nexport const detectWorkspace = (directory: string): WorkspaceLocation => {\n\tdirectory = path.resolve(process.cwd(), directory);\n\treturn {\n\t\t_kind: \"WorkspaceLocation\",\n\t\tpath: directory,\n\t};\n};\n\nexport const readWorkspaceNpmManifest = (\n\tworkspace: WorkspaceLocation,\n): WorkspacePackageJSON | undefined => {\n\ttry {\n\t\treturn readNpmManifest<WorkspacePackageJSON>(workspace.path);\n\t} catch (err) {\n\t\tif (isErrorENOENT(err)) {\n\t\t\treturn undefined;\n\t\t}\n\t\tthrow err;\n\t}\n};\n\nexport const writeWorkspaceNpmManifest = <T extends WorkspacePackageJSON>(\n\tworkspace: WorkspaceLocation,\n\tpackageJson: T,\n) => writeNpmManifest(workspace.path, packageJson);\n\nexport const getWorkspaceOutputPath = (workspace: WorkspaceLocation) =>\n\tpath.join(workspace.path, \"bin\");\n\nexport const getWorkspaceLibPath = (workspace: WorkspaceLocation) =>\n\tpath.join(workspace.path, \"lib\");\n\nexport function* iterateWorkspacePackages(workspace: WorkspaceLocation) {\n\tconst entries = fs.readdirSync(workspace.path, { withFileTypes: true });\n\n\tfor (const entry of entries) {\n\t\tif (!entry.isDirectory()) {\n\t\t\tcontinue;\n\t\t}\n\n\t\ttry {\n\t\t\tyield detectPackage(workspace, entry.name);\n\t\t} catch {}\n\t}\n}\n","import inquirer from \"inquirer\";\n\nexport interface PrompterQuestion {\n\tmessage: string;\n\toptions: string[];\n\tdefault?: string;\n}\n\nexport interface Prompter {\n\tconfirm(message: string): Promise<boolean>;\n\n\task(question: PrompterQuestion): Promise<string>;\n}\n\nexport const createDefaultPrompter = (): Prompter => {\n\treturn {\n\t\tconfirm: async (message) => {\n\t\t\tconst { confirm } = await inquirer.prompt([\n\t\t\t\t{\n\t\t\t\t\ttype: \"confirm\",\n\t\t\t\t\tmessage,\n\t\t\t\t\tname: \"confirm\",\n\t\t\t\t},\n\t\t\t]);\n\t\t\treturn confirm as boolean;\n\t\t},\n\n\t\task: async (question) => {\n\t\t\tconst { answer } = await inquirer.prompt([\n\t\t\t\t{\n\t\t\t\t\ttype: \"list\",\n\t\t\t\t\tmessage: question.message,\n\t\t\t\t\tname: \"answer\",\n\t\t\t\t\tchoices: question.options,\n\t\t\t\t\tdefault: question.default,\n\t\t\t\t},\n\t\t\t]);\n\t\t\treturn answer as string;\n\t\t},\n\t};\n};\n","import updateNotifier from \"update-notifier\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport yargs from \"yargs/yargs\";\nimport * as yargsTypes from \"yargs\";\nimport { fileURLToPath } from \"url\";\n\nimport { translate } from \"./lib/localization\";\nimport { Authentication } from \"./lib/authentication\";\nimport { detectPackage } from \"./lib/package\";\nimport {\n\tdetectWorkspace,\n\treadWorkspaceNpmManifest,\n\twriteWorkspaceNpmManifest,\n} from \"./lib/workspace\";\nimport type { ReleaseFolderOptions } from \"./commands/release\";\nimport { createDefaultPrompter } from \"./lib/prompter\";\n\nimport pjson from \"../package.json\";\n\nconst __filename = fileURLToPath(import.meta.url);\n\nconst captureError = (err: Error) => {\n\tconsole.log(\"\");\n\n\tif (process.env.NODE_ENV !== \"production\") {\n\t\tconsole.error(err);\n\t} else {\n\t\tconsole.error(translate(\"messages.error\", err.message));\n\t}\n};\n\nconst buildOptions = {\n\toutDir: {\n\t\tdescription: translate(\"options.outDir.description\"),\n\t\ttype: \"string\",\n\t\tdefault: \"bin\",\n\t\tcoerce: (input: string | undefined | null) =>\n\t\t\tinput === undefined || input === null\n\t\t\t\t? undefined\n\t\t\t\t: path.resolve(process.cwd(), input),\n\t},\n\tminimize: {\n\t\tdescription: translate(\"options.minimize.description\"),\n\t\ttype: \"boolean\",\n\t\tdefault: true,\n\t},\n\tcwd: {\n\t\tdescription: translate(\"options.cwd.description\"),\n\t\ttype: \"string\",\n\t\tdefault: process.cwd(),\n\t},\n\tclean: {\n\t\tdescription: translate(\"options.clean.description\"),\n\t\ttype: \"boolean\",\n\t\tdefault: false,\n\t},\n\tdocs: {\n\t\ttype: \"boolean\",\n\t\tdefault: false,\n\t},\n} as const;\n\nconst preCommandCheck = async () => {\n\tconst executedLocalPackager =\n\t\tpath.relative(process.cwd(), __filename).indexOf(\"..\") === -1;\n\n\tlet repositoryPackage:\n\t\t| {\n\t\t\t\tdependencies?: Record<string, string>;\n\t\t\t\tdevDependencies?: Record<string, string>;\n\t\t }\n\t\t| undefined;\n\n\ttry {\n\t\tconst repositoryPackageJson = fs.readFileSync(\n\t\t\tpath.resolve(process.cwd(), \"package.json\"),\n\t\t\t\"utf8\",\n\t\t);\n\n\t\trepositoryPackage = JSON.parse(repositoryPackageJson);\n\t} catch (err) {}\n\n\tif (\n\t\trepositoryPackage?.dependencies?.[\n\t\t\t\"@intelligentgraphics/ig.gfx.packager\"\n\t\t] ||\n\t\trepositoryPackage?.devDependencies?.[\n\t\t\t\"@intelligentgraphics/ig.gfx.packager\"\n\t\t]\n\t) {\n\t\tconst parts = [\"Detected locally installed ig.gfx.packager.\"];\n\n\t\tif (executedLocalPackager) {\n\t\t\tparts.push(\n\t\t\t\t'Run \"npm install -g @intelligentgraphics/ig.gfx.packager@latest\" to install the global version, if it is not yet installed.',\n\t\t\t);\n\t\t}\n\t\tparts.push(\n\t\t\t'Run \"npm uninstall @intelligentgraphics/ig.gfx.packager\" to remove the local version.',\n\t\t);\n\n\t\tconsole.error(parts.join(\"\\n\"));\n\t\tprocess.exit(1);\n\t}\n\n\tif (executedLocalPackager) {\n\t\tconsole.error(`Detected locally installed ig.gfx.packager.\nRun \"npm install -g @intelligentgraphics/ig.gfx.packager@latest\" to install the global version, if it is not yet installed.\nRun \"npm install\" to get rid of the local packager version.`);\n\t\tprocess.exit(1);\n\t}\n\n\tconst notifier = updateNotifier({\n\t\tpkg: pjson,\n\t\tshouldNotifyInNpmScript: true,\n\t\tupdateCheckInterval: 1000 * 60,\n\t});\n\n\tnotifier.notify({\n\t\tisGlobal: true,\n\t\tdefer: true,\n\t});\n\n\tconst workspaceLocation = detectWorkspace(process.cwd());\n\n\tconst packageJson = readWorkspaceNpmManifest(workspaceLocation);\n\n\tif (packageJson === undefined) {\n\t\tthrow new Error(\n\t\t\t\"Could not load package.json file in current directory\",\n\t\t);\n\t}\n\n\tpackageJson.scripts ??= {};\n\tpackageJson.scripts.postinstall = \"packager postinstall\";\n\n\twriteWorkspaceNpmManifest(workspaceLocation, packageJson);\n};\n\nconst yargsInstance = yargs(process.argv.slice(2));\n\nyargsInstance.command(\n\t\"build [directories...]\",\n\t\"Builds the specified directories\",\n\t(argv) => argv.options(buildOptions),\n\tasync ({ directories = [], ...options }) => {\n\t\tawait preCommandCheck();\n\n\t\tconst { buildFolders } = await import(\"./commands/build\");\n\n\t\tawait buildFolders({\n\t\t\t...options,\n\t\t\tdirectories: directories as string[],\n\t\t}).catch(captureError);\n\t},\n);\n\nyargsInstance.command(\n\t\"publish [directory]\",\n\t\"Publishes the specified directory\",\n\t(argv) =>\n\t\targv.options({\n\t\t\t...buildOptions,\n\t\t\tnoUpload: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t\tdescription: translate(\"options.noUpload.description\"),\n\t\t\t},\n\t\t\tdomain: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.domain.description\"),\n\t\t\t},\n\t\t\tsubdomain: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.subdomain.description\"),\n\t\t\t},\n\t\t\tnewVersion: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.newVersion.description\"),\n\t\t\t\tdefault: process.env.VERSION,\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t\taddress: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.address.description\"),\n\t\t\t\tdefault: \"localhost\",\n\t\t\t},\n\t\t\tservice: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.service.description\"),\n\t\t\t\tdefault: process.env.IG_GFX_ASSET_SERVICE,\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.user.description\"),\n\t\t\t\tdefault: process.env.IG_GFX_USER,\n\t\t\t},\n\t\t\tpassword: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.password.description\"),\n\t\t\t\tdefault: process.env.IG_GFX_PWD,\n\t\t\t},\n\t\t\tdocs: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t\tdescription: translate(\"options.docs.description\"),\n\t\t\t},\n\t\t\tpushOnly: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t\tdescription: translate(\"options.pushOnly.description\"),\n\t\t\t},\n\t\t\tlicense: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.license.description\"),\n\t\t\t\tdefault: process.env.IG_GFX_LICENSE,\n\t\t\t},\n\t\t}),\n\tasync ({ directory, user, password, service, license, ...options }) => {\n\t\tawait preCommandCheck();\n\n\t\tif (!options.noUpload) {\n\t\t\tif (!service) {\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\ttranslate(\n\t\t\t\t\t\t\t\"options.service.demands\",\n\t\t\t\t\t\t\t\"IG_GFX_ASSET_SERVICE\",\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!license && (!user || !password)) {\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t`Expected authentication to be provided through either of the following methods:\n\t - as a path to a license file using the --license option or the IG_GFX_LICENSE environment variable\n\t - as a username and password using the --user and --password options, or the IG_GFX_USER and IG_GFX_PWD environment variables`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (license && !license.endsWith(\".iglic\")) {\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t`Expected the license path to end with the extension .iglic. Received the path \"${license}\". You may need to reload your environment variables by restarting the program you're using to execute the packager.`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tlet authentication: Authentication | undefined;\n\n\t\tif (license) {\n\t\t\tconst fullLicensePath = path.resolve(process.cwd(), license);\n\t\t\ttry {\n\t\t\t\tconst content = fs.readFileSync(fullLicensePath);\n\t\t\t\tauthentication = {\n\t\t\t\t\ttype: \"license\",\n\t\t\t\t\tlicense: content.toString(\"base64\"),\n\t\t\t\t};\n\t\t\t} catch (err) {\n\t\t\t\tif (err?.code === \"ENOENT\") {\n\t\t\t\t\tcaptureError(\n\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t`Expected to find a license file at path: ${fullLicensePath}`,\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t`Failed to read license file at path: ${fullLicensePath}`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (user && password) {\n\t\t\tconsole.log(\n\t\t\t\t`Detected usage of username and password authentication. Please migrate to the new license file based authentication.`,\n\t\t\t);\n\t\t\tauthentication = {\n\t\t\t\ttype: \"credentials\",\n\t\t\t\tusername: user,\n\t\t\t\tpassword,\n\t\t\t};\n\t\t}\n\n\t\tconst { releaseFolder } = await import(\"./commands/release\");\n\n\t\tconst prompter = createDefaultPrompter();\n\n\t\tconst fullOptions: ReleaseFolderOptions = {\n\t\t\t...options,\n\t\t\tauthentication,\n\t\t\tservice: service!,\n\t\t\tdirectory: directory as string,\n\t\t\tbanner: true,\n\t\t\tprompter,\n\t\t\tnewVersion: options.newVersion!,\n\t\t};\n\n\t\tawait releaseFolder(fullOptions).catch(captureError);\n\t},\n);\n\nyargsInstance.command({\n\tcommand: \"generateIndex [directory]\",\n\tbuilder: (argv) => {\n\t\treturn argv.option(\"ignore\", {\n\t\t\ttype: \"array\",\n\t\t\tdefault: [],\n\t\t\tdescription: translate(\"options.ignore.description\"),\n\t\t});\n\t},\n\thandler: async ({ directory, ignore }) => {\n\t\tawait preCommandCheck();\n\n\t\tconst { extract } = await import(\"./commands/generate\");\n\n\t\tconst workspace = detectWorkspace(process.cwd());\n\t\tconst location = detectPackage(workspace, directory as string);\n\n\t\textract(location, ignore as string[]);\n\t},\n});\n\nyargsInstance.command({\n\tcommand: \"postinstall\",\n\tbuilder: (argv) => argv,\n\thandler: async () => {\n\t\tconst { executePostInstall } = await import(\"./commands/postinstall\");\n\n\t\texecutePostInstall(detectWorkspace(process.cwd()));\n\t},\n\tdescribe: \"Runs postinstall tasks\",\n});\n\nyargsInstance.command({\n\tcommand: \"publishNpm [directory]\",\n\tbuilder: (argv) =>\n\t\targv.options({\n\t\t\tnewVersion: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.newVersion.description\"),\n\t\t\t\tdefault: process.env.VERSION,\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t\tdryRun: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t},\n\t\t}),\n\thandler: async ({ directory, newVersion, dryRun }) => {\n\t\tconst workspace = detectWorkspace(process.cwd());\n\n\t\tconst { publishToNpm } = await import(\"./commands/publishNpm\");\n\n\t\tawait publishToNpm({\n\t\t\tworkspace,\n\t\t\tlocation: detectPackage(workspace, directory as string),\n\t\t\tversion: newVersion,\n\t\t\tdryRun,\n\t\t}).catch(captureError);\n\t},\n\tdescribe:\n\t\t\"Publishes the package to npm. Requires @intelligentgraphics/ig.tools to be installed\",\n});\n\nyargsInstance\n\t.demandCommand()\n\t.pkgConf(\"packager\")\n\t.showHelpOnFail(false)\n\t.version().argv;\n"],"names":["__dirname","dirname","fileURLToPath","import","meta","url","instance","y18n","directory","path","join","updateFiles","locale","fallbackToLanguage","translate","key","args","__","getNodeErrorCode","error","code","undefined","isErrorENOENT","readNpmManifest","packageJsonPath","packageJson","fs","readFileSync","encoding","JSON","parse","writeNpmManifest","writePkg","sync","PACKAGE_FILE","INDEX_FILE","ANIMATION_FILE","parseCreatorPackageName","manifest","domain","subdomainParts","Package","split","subdomain","detectPackage","workspace","resolve","scriptsPath","tsPath","location","existsSync","_kind","scriptsDir","manifestDir","readPackageCreatorManifest","Error","result","Scope","writePackageCreatorManifest","creatorPackage","writeFileSync","stringify","readPackageCreatorIndex","indexPath","index","err","writePackageCreatorIndex","readPackageNpmManifest","writePackageNpmManifest","readPackageAnimationList","directoryContent","readdirSync","animationPathList","entry","endsWith","animationPath","push","getPackageReleasesDirectory","detectWorkspace","process","cwd","readWorkspaceNpmManifest","writeWorkspaceNpmManifest","getWorkspaceOutputPath","getWorkspaceLibPath","iterateWorkspacePackages","entries","withFileTypes","isDirectory","name","createDefaultPrompter","confirm","message","inquirer","prompt","type","ask","question","answer","choices","options","default","__filename","captureError","console","log","env","NODE_ENV","buildOptions","outDir","description","coerce","input","minimize","clean","docs","preCommandCheck","executedLocalPackager","relative","indexOf","repositoryPackage","repositoryPackageJson","dependencies","devDependencies","parts","exit","notifier","updateNotifier","pkg","pjson","shouldNotifyInNpmScript","updateCheckInterval","notify","isGlobal","defer","workspaceLocation","scripts","postinstall","yargsInstance","yargs","argv","slice","command","directories","buildFolders","catch","noUpload","newVersion","VERSION","required","address","service","IG_GFX_ASSET_SERVICE","user","IG_GFX_USER","password","IG_GFX_PWD","pushOnly","license","IG_GFX_LICENSE","authentication","fullLicensePath","content","toString","username","releaseFolder","prompter","fullOptions","banner","builder","option","handler","ignore","extract","executePostInstall","describe","dryRun","publishToNpm","version","demandCommand","pkgConf","showHelpOnFail"],"mappings":"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"}
1
+ {"version":3,"file":"cli.mjs","sources":["../src/lib/localization.ts","../src/lib/error.ts","../src/lib/npmPackage.ts","../src/lib/package.ts","../src/lib/workspace.ts","../src/lib/prompter.ts","../src/cli.ts"],"sourcesContent":["import y18n from \"y18n\";\nimport * as path from \"path\";\nimport { dirname } from \"path\";\nimport { fileURLToPath } from \"url\";\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\n\nconst instance = y18n({\n\tdirectory: path.join(__dirname, \"..\", \"locales\"),\n\tupdateFiles: false,\n\tlocale: \"en\",\n\tfallbackToLanguage: true,\n});\n\nexport const setLocale = (locale: string) => {\n\tinstance.setLocale(locale);\n};\n\nexport const translate = (key: string, ...args: string[]) =>\n\tinstance.__(key, ...args);\n","interface NodeError extends Error {\n\tcode: string;\n}\n\nexport const getNodeErrorCode = (error: unknown) => {\n\tif (\n\t\terror !== null &&\n\t\ttypeof error === \"object\" &&\n\t\t(error as NodeError).code !== undefined\n\t) {\n\t\treturn (error as NodeError).code;\n\t}\n};\n\n/**\n * Permission denied: An attempt was made to access a file in a way forbidden by its file access permissions.\n *\n * @param {unknown} error\n */\nexport const isErrorEACCES = (error: unknown) =>\n\tgetNodeErrorCode(error) === \"EACCES\";\n\n/**\n * No such file or directory: Commonly raised by fs operations to indicate that a component of the specified pathname does not exist. No entity (file or directory) could be found by the given path.\n *\n * @param {unknown} error\n */\nexport const isErrorENOENT = (error: unknown) =>\n\tgetNodeErrorCode(error) === \"ENOENT\";\n","import * as fs from \"fs\";\nimport * as path from \"path\";\nimport { writePackageSync } from \"write-pkg\";\n\nimport { PackageJSON } from \"./packageJSON\";\n\nexport const readNpmManifest = <T extends PackageJSON>(\n\tdirectory: string,\n): T => {\n\tconst packageJsonPath = path.join(directory, \"package.json\");\n\tconst packageJson = fs.readFileSync(packageJsonPath, {\n\t\tencoding: \"utf8\",\n\t});\n\treturn JSON.parse(packageJson);\n};\n\nexport const writeNpmManifest = <T extends PackageJSON>(\n\tdirectory: string,\n\tpackageJson: T,\n) => {\n\tconst packageJsonPath = path.join(directory, \"package.json\");\n\twritePackageSync(packageJsonPath, packageJson);\n};\n","// Functionality related to working with a single package.\n\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { isErrorENOENT } from \"./error\";\nimport { WorkspaceLocation } from \"./workspace\";\nimport { readNpmManifest, writeNpmManifest } from \"./npmPackage\";\nimport { PackageJSON } from \"./packageJSON\";\n\nconst PACKAGE_FILE = \"_Package.json\";\nconst INDEX_FILE = \"_Index.json\";\nconst ANIMATION_FILE = \".animation.json\";\n\n/**\n * Describes the location of a single package.\n *\n * @export\n * @interface PackageLocation\n */\nexport interface PackageLocation {\n\t_kind: \"PackageLocation\";\n\t/**\n\t * Main directory of a package\n\t *\n\t * @type {string}\n\t */\n\tpath: string;\n\t/**\n\t * Directory containing the typescript files\n\t *\n\t * @type {string}\n\t */\n\tscriptsDir: string;\n\t/**\n\t * Diretory containing the _Package.json, _Index.json, package.json and animation.json files\n\t *\n\t * @type {string}\n\t */\n\tmanifestDir: string;\n}\n\nexport interface CreatorPackage {\n\tScope: string;\n\tPackage: string;\n\tRunTime: boolean;\n\tType: \"Interactor\" | \"Mixed\" | \"Core\" | \"Context\" | \"Evaluator\";\n}\n\nexport const parseCreatorPackageName = (manifest: CreatorPackage) => {\n\tconst [domain, ...subdomainParts] = manifest.Package.split(\".\");\n\treturn {\n\t\tdomain,\n\t\tsubdomain: subdomainParts.join(\".\"),\n\t};\n};\n\nexport interface PackageNpmManifest extends PackageJSON {\n\tig?: {\n\t\tscriptingLibrary?: boolean;\n\t};\n}\n\n/**\n * Detects the package at the given directory.\n *\n * @param {string} directory\n * @returns {PackageLocation}\n */\nexport const detectPackage = (\n\tworkspace: WorkspaceLocation,\n\tdirectory: string,\n): PackageLocation => {\n\tdirectory = path.resolve(workspace.path, directory);\n\n\tconst scriptsPath = path.join(directory, \"Scripts\");\n\tconst tsPath = path.join(directory, \"ts\");\n\n\tlet location: PackageLocation;\n\n\tif (fs.existsSync(scriptsPath)) {\n\t\tlocation = {\n\t\t\t_kind: \"PackageLocation\",\n\t\t\tpath: directory,\n\t\t\tscriptsDir: scriptsPath,\n\t\t\tmanifestDir: scriptsPath,\n\t\t};\n\t} else if (fs.existsSync(tsPath)) {\n\t\tlocation = {\n\t\t\t_kind: \"PackageLocation\",\n\t\t\tpath: directory,\n\t\t\tscriptsDir: tsPath,\n\t\t\tmanifestDir: directory,\n\t\t};\n\t} else {\n\t\tlocation = {\n\t\t\t_kind: \"PackageLocation\",\n\t\t\tpath: directory,\n\t\t\tscriptsDir: directory,\n\t\t\tmanifestDir: directory,\n\t\t};\n\t}\n\n\ttry {\n\t\treadPackageCreatorManifest(location);\n\t} catch (err) {\n\t\tif (isErrorENOENT(err)) {\n\t\t\tthrow new Error(\n\t\t\t\t`No _Package.json found in ${location.manifestDir}`,\n\t\t\t);\n\t\t}\n\t\tthrow err;\n\t}\n\n\treturn location;\n};\n\nexport const readPackageCreatorManifest = (\n\tlocation: PackageLocation,\n): CreatorPackage => {\n\tconst packageJsonPath = path.join(location.manifestDir, PACKAGE_FILE);\n\tconst packageJson = fs.readFileSync(packageJsonPath, { encoding: \"utf8\" });\n\tconst result: Omit<CreatorPackage, \"Scope\"> & { Scope?: string } =\n\t\tJSON.parse(packageJson);\n\treturn {\n\t\t...result,\n\t\tScope: result.Scope || result.Package,\n\t};\n};\n\nexport const writePackageCreatorManifest = (\n\tlocation: PackageLocation,\n\tcreatorPackage: CreatorPackage,\n) => {\n\tconst packageJsonPath = path.join(location.manifestDir, PACKAGE_FILE);\n\tfs.writeFileSync(\n\t\tpackageJsonPath,\n\t\tJSON.stringify(creatorPackage, null, \"\\t\") + \"\\n\",\n\t);\n};\n\nexport const readPackageCreatorIndex = (\n\tlocation: PackageLocation,\n): object | undefined => {\n\ttry {\n\t\tconst indexPath = path.join(location.manifestDir, INDEX_FILE);\n\t\tconst index = fs.readFileSync(indexPath, { encoding: \"utf8\" });\n\t\treturn JSON.parse(index);\n\t} catch (err) {\n\t\tif (isErrorENOENT(err)) {\n\t\t\treturn undefined;\n\t\t}\n\t\tthrow err;\n\t}\n};\n\nexport const writePackageCreatorIndex = (\n\tlocation: PackageLocation,\n\tindex: object,\n) => {\n\tconst packageJsonPath = path.join(location.manifestDir, INDEX_FILE);\n\tfs.writeFileSync(packageJsonPath, JSON.stringify(index, null, \"\\t\") + \"\\n\");\n};\n\nexport const readPackageNpmManifest = (\n\tlocation: PackageLocation,\n): PackageNpmManifest | undefined => {\n\ttry {\n\t\treturn readNpmManifest(location.manifestDir);\n\t} catch (err) {\n\t\tif (isErrorENOENT(err)) {\n\t\t\treturn undefined;\n\t\t}\n\t\tthrow err;\n\t}\n};\n\nexport const writePackageNpmManifest = (\n\tlocation: PackageLocation,\n\tpackageJson: PackageNpmManifest,\n) => {\n\twriteNpmManifest(location.manifestDir, packageJson);\n};\n\nexport const readPackageAnimationList = (location: PackageLocation) => {\n\tconst directoryContent = fs.readdirSync(location.manifestDir);\n\tconst animationPathList: string[] = [];\n\n\tfor (const entry of directoryContent) {\n\t\tif (entry.endsWith(ANIMATION_FILE)) {\n\t\t\tconst animationPath = path.join(location.manifestDir, entry);\n\t\t\tanimationPathList.push(animationPath);\n\t\t}\n\t}\n\n\treturn animationPathList;\n};\n\nexport const getPackageReleasesDirectory = (location: PackageLocation) =>\n\tpath.join(location.path, \"Releases\");\n\nexport const arePackageLocationsEqual = (\n\ta: PackageLocation,\n\tb: PackageLocation,\n) => a.path === b.path;\n","// Functionality related to working with a workspace consisting of multiple packages.\n\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { PackageJSON } from \"./packageJSON\";\nimport { isErrorENOENT } from \"./error\";\nimport { readNpmManifest, writeNpmManifest } from \"./npmPackage\";\nimport { detectPackage } from \"./package\";\n\n/**\n * Describe the location of a workspace constining of n packages.\n *\n * @export\n * @interface WorkspaceLocation\n */\nexport interface WorkspaceLocation {\n\t_kind: \"WorkspaceLocation\";\n\tpath: string;\n}\n\nexport interface WorkspacePackageJSON extends PackageJSON {\n\tpackager?: { banner?: string };\n}\n\nexport const detectWorkspace = (directory: string): WorkspaceLocation => {\n\tdirectory = path.resolve(process.cwd(), directory);\n\treturn {\n\t\t_kind: \"WorkspaceLocation\",\n\t\tpath: directory,\n\t};\n};\n\nexport const readWorkspaceNpmManifest = (\n\tworkspace: WorkspaceLocation,\n): WorkspacePackageJSON | undefined => {\n\ttry {\n\t\treturn readNpmManifest<WorkspacePackageJSON>(workspace.path);\n\t} catch (err) {\n\t\tif (isErrorENOENT(err)) {\n\t\t\treturn undefined;\n\t\t}\n\t\tthrow err;\n\t}\n};\n\nexport const writeWorkspaceNpmManifest = <T extends WorkspacePackageJSON>(\n\tworkspace: WorkspaceLocation,\n\tpackageJson: T,\n) => writeNpmManifest(workspace.path, packageJson);\n\nexport const getWorkspaceOutputPath = (workspace: WorkspaceLocation) =>\n\tpath.join(workspace.path, \"bin\");\n\nexport const getWorkspaceLibPath = (workspace: WorkspaceLocation) =>\n\tpath.join(workspace.path, \"lib\");\n\nexport function* iterateWorkspacePackages(workspace: WorkspaceLocation) {\n\tconst entries = fs.readdirSync(workspace.path, { withFileTypes: true });\n\n\tfor (const entry of entries) {\n\t\tif (!entry.isDirectory()) {\n\t\t\tcontinue;\n\t\t}\n\n\t\ttry {\n\t\t\tyield detectPackage(workspace, entry.name);\n\t\t} catch {}\n\t}\n}\n","import inquirer from \"inquirer\";\n\nexport interface PrompterQuestion {\n\tmessage: string;\n\toptions: string[];\n\tdefault?: string;\n}\n\nexport interface Prompter {\n\tconfirm(message: string): Promise<boolean>;\n\n\task(question: PrompterQuestion): Promise<string>;\n}\n\nexport const createDefaultPrompter = (): Prompter => {\n\treturn {\n\t\tconfirm: async (message) => {\n\t\t\tconst { confirm } = await inquirer.prompt([\n\t\t\t\t{\n\t\t\t\t\ttype: \"confirm\",\n\t\t\t\t\tmessage,\n\t\t\t\t\tname: \"confirm\",\n\t\t\t\t},\n\t\t\t]);\n\t\t\treturn confirm as boolean;\n\t\t},\n\n\t\task: async (question) => {\n\t\t\tconst { answer } = await inquirer.prompt([\n\t\t\t\t{\n\t\t\t\t\ttype: \"list\",\n\t\t\t\t\tmessage: question.message,\n\t\t\t\t\tname: \"answer\",\n\t\t\t\t\tchoices: question.options,\n\t\t\t\t\tdefault: question.default,\n\t\t\t\t},\n\t\t\t]);\n\t\t\treturn answer as string;\n\t\t},\n\t};\n};\n","import updateNotifier from \"update-notifier\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport yargs from \"yargs/yargs\";\nimport { fileURLToPath } from \"url\";\n\nimport { translate } from \"./lib/localization\";\nimport { Authentication } from \"./lib/authentication\";\nimport { detectPackage } from \"./lib/package\";\nimport {\n\tdetectWorkspace,\n\treadWorkspaceNpmManifest,\n\twriteWorkspaceNpmManifest,\n} from \"./lib/workspace\";\nimport type { ReleaseFolderOptions } from \"./commands/publish\";\nimport { createDefaultPrompter } from \"./lib/prompter\";\n\nimport pjson from \"../package.json\";\n\nconst __filename = fileURLToPath(import.meta.url);\n\nconst captureError = (err: Error) => {\n\tconsole.log(\"\");\n\n\tif (process.env.NODE_ENV !== \"production\") {\n\t\tconsole.error(err);\n\t} else {\n\t\tconsole.error(translate(\"messages.error\", err.message));\n\t}\n};\n\nconst buildOptions = {\n\toutDir: {\n\t\tdescription: translate(\"options.outDir.description\"),\n\t\ttype: \"string\",\n\t\tdefault: \"bin\",\n\t\tcoerce: (input: string | undefined | null) =>\n\t\t\tinput === undefined || input === null\n\t\t\t\t? undefined\n\t\t\t\t: path.resolve(process.cwd(), input),\n\t},\n\tminimize: {\n\t\tdescription: translate(\"options.minimize.description\"),\n\t\ttype: \"boolean\",\n\t\tdefault: true,\n\t},\n\tcwd: {\n\t\tdescription: translate(\"options.cwd.description\"),\n\t\ttype: \"string\",\n\t\tdefault: process.cwd(),\n\t},\n\tclean: {\n\t\tdescription: translate(\"options.clean.description\"),\n\t\ttype: \"boolean\",\n\t\tdefault: false,\n\t},\n\tdocs: {\n\t\ttype: \"boolean\",\n\t\tdefault: false,\n\t},\n} as const;\n\nconst preCommandCheck = async () => {\n\t// \tconst executedLocalPackager =\n\t// \t\tpath.relative(process.cwd(), __filename).indexOf(\"..\") === -1;\n\n\t// \tlet repositoryPackage:\n\t// \t\t| {\n\t// \t\t\t\tdependencies?: Record<string, string>;\n\t// \t\t\t\tdevDependencies?: Record<string, string>;\n\t// \t\t }\n\t// \t\t| undefined;\n\n\t// \ttry {\n\t// \t\tconst repositoryPackageJson = fs.readFileSync(\n\t// \t\t\tpath.resolve(process.cwd(), \"package.json\"),\n\t// \t\t\t\"utf8\",\n\t// \t\t);\n\n\t// \t\trepositoryPackage = JSON.parse(repositoryPackageJson);\n\t// \t} catch (err) {}\n\n\t// \tif (\n\t// \t\trepositoryPackage?.dependencies?.[\n\t// \t\t\t\"@intelligentgraphics/ig.gfx.packager\"\n\t// \t\t] ||\n\t// \t\trepositoryPackage?.devDependencies?.[\n\t// \t\t\t\"@intelligentgraphics/ig.gfx.packager\"\n\t// \t\t]\n\t// \t) {\n\t// \t\tconst parts = [\"Detected locally installed ig.gfx.packager.\"];\n\n\t// \t\tif (executedLocalPackager) {\n\t// \t\t\tparts.push(\n\t// \t\t\t\t'Run \"npm install -g @intelligentgraphics/ig.gfx.packager@latest\" to install the global version, if it is not yet installed.',\n\t// \t\t\t);\n\t// \t\t}\n\t// \t\tparts.push(\n\t// \t\t\t'Run \"npm uninstall @intelligentgraphics/ig.gfx.packager\" to remove the local version.',\n\t// \t\t);\n\n\t// \t\tconsole.error(parts.join(\"\\n\"));\n\t// \t\tprocess.exit(1);\n\t// \t}\n\n\t// \tif (executedLocalPackager) {\n\t// \t\tconsole.error(`Detected locally installed ig.gfx.packager.\n\t// Run \"npm install -g @intelligentgraphics/ig.gfx.packager@latest\" to install the global version, if it is not yet installed.\n\t// Run \"npm install\" to get rid of the local packager version.`);\n\t// \t\tprocess.exit(1);\n\t// \t}\n\n\tconst notifier = updateNotifier({\n\t\tpkg: pjson,\n\t\tshouldNotifyInNpmScript: true,\n\t\tupdateCheckInterval: 1000 * 60,\n\t});\n\n\tnotifier.notify({\n\t\tisGlobal: false,\n\t\tdefer: true,\n\t});\n\n\tconst workspaceLocation = detectWorkspace(process.cwd());\n\n\tconst packageJson = readWorkspaceNpmManifest(workspaceLocation);\n\n\tif (packageJson === undefined) {\n\t\tthrow new Error(\n\t\t\t\"Could not load package.json file in current directory\",\n\t\t);\n\t}\n\n\tpackageJson.scripts ??= {};\n\tpackageJson.scripts.postinstall = \"packager postinstall\";\n\n\twriteWorkspaceNpmManifest(workspaceLocation, packageJson);\n};\n\nconst yargsInstance = yargs(process.argv.slice(2));\n\nyargsInstance.command(\n\t\"build [directories...]\",\n\t\"Builds the specified directories\",\n\t(argv) => argv.options(buildOptions),\n\tasync ({ directories = [], ...options }) => {\n\t\tawait preCommandCheck();\n\n\t\tconst { buildFolders } = await import(\"./commands/build\");\n\n\t\tawait buildFolders({\n\t\t\t...options,\n\t\t\tdirectories: directories as string[],\n\t\t}).catch(captureError);\n\t},\n);\n\nyargsInstance.command(\n\t\"publish [directory]\",\n\t\"Publishes the specified directory\",\n\t(argv) =>\n\t\targv.options({\n\t\t\t...buildOptions,\n\t\t\tnoUpload: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t\tdescription: translate(\"options.noUpload.description\"),\n\t\t\t},\n\t\t\tdomain: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.domain.description\"),\n\t\t\t},\n\t\t\tsubdomain: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.subdomain.description\"),\n\t\t\t},\n\t\t\tnewVersion: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.newVersion.description\"),\n\t\t\t\tdefault: process.env.VERSION,\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t\taddress: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.address.description\"),\n\t\t\t\tdefault: \"localhost\",\n\t\t\t},\n\t\t\tservice: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.service.description\"),\n\t\t\t\tdefault: process.env.IG_GFX_ASSET_SERVICE,\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.user.description\"),\n\t\t\t\tdefault: process.env.IG_GFX_USER,\n\t\t\t},\n\t\t\tpassword: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.password.description\"),\n\t\t\t\tdefault: process.env.IG_GFX_PWD,\n\t\t\t},\n\t\t\tdocs: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t\tdescription: translate(\"options.docs.description\"),\n\t\t\t},\n\t\t\tpushOnly: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t\tdescription: translate(\"options.pushOnly.description\"),\n\t\t\t},\n\t\t\tlicense: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.license.description\"),\n\t\t\t\tdefault: process.env.IG_GFX_LICENSE,\n\t\t\t},\n\t\t}),\n\tasync ({ directory, user, password, service, license, ...options }) => {\n\t\tawait preCommandCheck();\n\n\t\tif (!options.noUpload) {\n\t\t\tif (!service) {\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\ttranslate(\n\t\t\t\t\t\t\t\"options.service.demands\",\n\t\t\t\t\t\t\t\"IG_GFX_ASSET_SERVICE\",\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!license && (!user || !password)) {\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t`Expected authentication to be provided through either of the following methods:\n\t - as a path to a license file using the --license option or the IG_GFX_LICENSE environment variable\n\t - as a username and password using the --user and --password options, or the IG_GFX_USER and IG_GFX_PWD environment variables`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (license && !license.endsWith(\".iglic\")) {\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t`Expected the license path to end with the extension .iglic. Received the path \"${license}\". You may need to reload your environment variables by restarting the program you're using to execute the packager.`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tlet authentication: Authentication | undefined;\n\n\t\tif (license) {\n\t\t\tconst fullLicensePath = path.resolve(process.cwd(), license);\n\t\t\ttry {\n\t\t\t\tconst content = fs.readFileSync(fullLicensePath);\n\t\t\t\tauthentication = {\n\t\t\t\t\ttype: \"license\",\n\t\t\t\t\tlicense: content.toString(\"base64\"),\n\t\t\t\t};\n\t\t\t} catch (err) {\n\t\t\t\tif (err?.code === \"ENOENT\") {\n\t\t\t\t\tcaptureError(\n\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t`Expected to find a license file at path: ${fullLicensePath}`,\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcaptureError(\n\t\t\t\t\tnew Error(\n\t\t\t\t\t\t`Failed to read license file at path: ${fullLicensePath}`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (user && password) {\n\t\t\tconsole.log(\n\t\t\t\t`Detected usage of username and password authentication. Please migrate to the new license file based authentication.`,\n\t\t\t);\n\t\t\tauthentication = {\n\t\t\t\ttype: \"credentials\",\n\t\t\t\tusername: user,\n\t\t\t\tpassword,\n\t\t\t};\n\t\t}\n\n\t\tconst { releaseFolder } = await import(\"./commands/publish\");\n\n\t\tconst prompter = createDefaultPrompter();\n\n\t\tconst fullOptions: ReleaseFolderOptions = {\n\t\t\t...options,\n\t\t\tauthentication,\n\t\t\tservice: service!,\n\t\t\tdirectory: directory as string,\n\t\t\tbanner: true,\n\t\t\tprompter,\n\t\t\tnewVersion: options.newVersion!,\n\t\t};\n\n\t\tawait releaseFolder(fullOptions).catch(captureError);\n\t},\n);\n\nyargsInstance.command({\n\tcommand: \"generateIndex [directory]\",\n\tbuilder: (argv) => {\n\t\treturn argv.option(\"ignore\", {\n\t\t\ttype: \"array\",\n\t\t\tdefault: [],\n\t\t\tdescription: translate(\"options.ignore.description\"),\n\t\t});\n\t},\n\thandler: async ({ directory, ignore }) => {\n\t\tawait preCommandCheck();\n\n\t\tconst { extract } = await import(\"./commands/generate\");\n\n\t\tconst workspace = detectWorkspace(process.cwd());\n\t\tconst location = detectPackage(workspace, directory as string);\n\n\t\textract(location, ignore as string[]);\n\t},\n});\n\nyargsInstance.command({\n\tcommand: \"postinstall\",\n\tbuilder: (argv) => argv,\n\thandler: async () => {\n\t\tconst { executePostInstall } = await import(\"./commands/postinstall\");\n\n\t\texecutePostInstall(detectWorkspace(process.cwd()));\n\t},\n\tdescribe: \"Runs postinstall tasks\",\n});\n\nyargsInstance.command({\n\tcommand: \"publishNpm [directory]\",\n\tbuilder: (argv) =>\n\t\targv.options({\n\t\t\tnewVersion: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: translate(\"options.newVersion.description\"),\n\t\t\t\tdefault: process.env.VERSION,\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t\tdryRun: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t},\n\t\t}),\n\thandler: async ({ directory, newVersion, dryRun }) => {\n\t\tconst workspace = detectWorkspace(process.cwd());\n\n\t\tconst { publishToNpm } = await import(\"./commands/publishNpm\");\n\n\t\tawait publishToNpm({\n\t\t\tworkspace,\n\t\t\tlocation: detectPackage(workspace, directory as string),\n\t\t\tversion: newVersion,\n\t\t\tdryRun,\n\t\t}).catch(captureError);\n\t},\n\tdescribe: \"Publishes the package to npm\",\n});\n\nyargsInstance\n\t.demandCommand()\n\t.pkgConf(\"packager\")\n\t.showHelpOnFail(false)\n\t.version().argv;\n"],"names":["__dirname","dirname","fileURLToPath","import","meta","url","instance","y18n","directory","path","join","updateFiles","locale","fallbackToLanguage","translate","key","args","__","getNodeErrorCode","error","code","undefined","isErrorENOENT","readNpmManifest","packageJsonPath","packageJson","fs","readFileSync","encoding","JSON","parse","writeNpmManifest","writePackageSync","PACKAGE_FILE","INDEX_FILE","ANIMATION_FILE","parseCreatorPackageName","manifest","domain","subdomainParts","Package","split","subdomain","detectPackage","workspace","resolve","scriptsPath","tsPath","location","existsSync","_kind","scriptsDir","manifestDir","readPackageCreatorManifest","err","Error","result","Scope","writePackageCreatorManifest","creatorPackage","writeFileSync","stringify","readPackageCreatorIndex","indexPath","index","writePackageCreatorIndex","readPackageNpmManifest","writePackageNpmManifest","readPackageAnimationList","directoryContent","readdirSync","animationPathList","entry","endsWith","animationPath","push","getPackageReleasesDirectory","detectWorkspace","process","cwd","readWorkspaceNpmManifest","writeWorkspaceNpmManifest","getWorkspaceOutputPath","getWorkspaceLibPath","iterateWorkspacePackages","entries","withFileTypes","isDirectory","name","createDefaultPrompter","confirm","message","inquirer","prompt","type","ask","question","answer","choices","options","default","captureError","console","log","env","NODE_ENV","buildOptions","outDir","description","coerce","input","minimize","clean","docs","preCommandCheck","notifier","updateNotifier","pkg","pjson","shouldNotifyInNpmScript","updateCheckInterval","notify","isGlobal","defer","workspaceLocation","scripts","postinstall","yargsInstance","yargs","argv","slice","command","directories","buildFolders","catch","noUpload","newVersion","VERSION","required","address","service","IG_GFX_ASSET_SERVICE","user","IG_GFX_USER","password","IG_GFX_PWD","pushOnly","license","IG_GFX_LICENSE","authentication","fullLicensePath","content","toString","username","releaseFolder","prompter","fullOptions","banner","builder","option","handler","ignore","extract","executePostInstall","describe","dryRun","publishToNpm","version","demandCommand","pkgConf","showHelpOnFail"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  import * as path from 'path';
3
3
  import * as fs from 'fs';
4
4
  import glob from 'glob';
5
- import terser from 'terser';
5
+ import * as terser from 'terser';
6
6
  import { d as detectWorkspace, t as translate, r as readPackageCreatorManifest, a as detectPackage, b as readPackageNpmManifest } from '../cli.mjs';
7
7
  import ts from 'typescript';
8
8
  import { g as getPackageTypescriptFiles } from '../scripts.mjs';
@@ -179,12 +179,9 @@ const buildFolders = async options => {
179
179
  encoding: "utf8"
180
180
  });
181
181
  if (options.minimize) {
182
- const minifyResult = terser.minify(buildResult.js, {
182
+ const minifyResult = await terser.minify(buildResult.js, {
183
183
  ecma: 5
184
184
  });
185
- if (minifyResult.error || !minifyResult.code) {
186
- console.warn("Not writing minified script version because of error", minifyResult.error);
187
- }
188
185
  const minifiedPath = path.join(outputDirectory, `${data.Package}.min.js`);
189
186
  fs.writeFileSync(minifiedPath, minifyResult.code, {
190
187
  encoding: "utf8"
@@ -1 +1 @@
1
- {"version":3,"file":"build.mjs","sources":["../../src/lib/log.ts","../../src/commands/build/tsc.ts","../../src/commands/build/docs.ts","../../src/lib/toposort.ts","../../src/commands/build/index.ts"],"sourcesContent":["export const logPackageMessage = (\n\tname: string,\n\tstep: string,\n\tindex?: number,\n\ttotal?: number,\n) => {\n\tconst numLength = total === undefined ? undefined : total.toString().length;\n\n\tconst indexString =\n\t\ttotal === undefined || total < 2\n\t\t\t? \"\"\n\t\t\t: `${index!.toString().padStart(numLength!, \"0\")}/${total} `;\n\n\tconst identifierString = `${indexString}${name.padEnd(15)}`;\n\n\tconsole.log(`${identifierString} >> ${step}`);\n};\n","import ts from \"typescript\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { PackageLocation } from \"../../lib/package\";\n\nimport { FolderBuilder } from \".\";\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\n\nexport const tryReadTsConfig = (location: PackageLocation) => {\n\tconst { config } = ts.readConfigFile(\n\t\tpath.join(location.scriptsDir, \"tsconfig.json\"),\n\t\t(path) => {\n\t\t\ttry {\n\t\t\t\treturn fs.readFileSync(path, \"utf8\");\n\t\t\t} catch {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\t);\n\n\treturn config as {\n\t\tcompilerOptions: ts.CompilerOptions;\n\t};\n};\n\nexport const build: FolderBuilder = async (location: PackageLocation) => {\n\tconst config = tryReadTsConfig(location);\n\n\tconfig.compilerOptions.lib = [\"es5\", \"dom\"];\n\n\tconst result = ts.convertCompilerOptionsFromJson(\n\t\tconfig.compilerOptions,\n\t\tlocation.scriptsDir,\n\t);\n\n\tconst compilerOptions: ts.CompilerOptions = {\n\t\t...result.options,\n\t\tremoveComments: false,\n\t\tdeclaration: true,\n\t\tsourceMap: false,\n\t\toutFile: \"out.js\",\n\t\ttarget: ts.ScriptTarget.ES5,\n\t\tnoEmitOnError: true,\n\t};\n\n\tconst host = ts.createCompilerHost(compilerOptions);\n\thost.getCurrentDirectory = () => location.scriptsDir;\n\n\tlet js: string | undefined;\n\tlet definitions: string | undefined;\n\n\thost.writeFile = (fileName, data, writeByteOrderMark) => {\n\t\tif (fileName.endsWith(\".js\")) {\n\t\t\tjs = data;\n\t\t} else if (fileName.endsWith(\".d.ts\")) {\n\t\t\tdefinitions = data;\n\t\t}\n\t};\n\n\tconst files = getPackageTypescriptFiles(location);\n\n\tif (files.length === 0) {\n\t\tthrow new Error(\n\t\t\t`Expected typescript files to exist when building a package. Packages only consisting of animation jsons do not need to be built.`,\n\t\t);\n\t}\n\n\tconst programOptions: ts.CreateProgramOptions = {\n\t\trootNames: files,\n\t\toptions: compilerOptions,\n\t\thost,\n\t};\n\n\tconst program = ts.createProgram(programOptions);\n\tconst emitResult = program.emit();\n\tconst allDiagnostics = ts.getPreEmitDiagnostics(program);\n\n\tif (!emitResult.emitSkipped) {\n\t\tif (allDiagnostics.length > 0) {\n\t\t\tconsole.log(allDiagnostics.map(createErrorMessage).join(\"\\n\"));\n\t\t}\n\n\t\tif (js === undefined || definitions === undefined) {\n\t\t\tthrow new Error(`Unexpected: no js or definitions were created`);\n\t\t}\n\n\t\treturn { js, definitions };\n\t}\n\n\tconst error = allDiagnostics.map(createErrorMessage).join(\"\\n\");\n\n\tthrow new Error(error);\n};\n\nconst createErrorMessage = (diagnostic: ts.Diagnostic) => {\n\tif (!diagnostic.file) {\n\t\treturn `${ts.flattenDiagnosticMessageText(\n\t\t\tdiagnostic.messageText,\n\t\t\t\"\\n\",\n\t\t)}`;\n\t}\n\n\tconst { line, character } = diagnostic.file.getLineAndCharacterOfPosition(\n\t\tdiagnostic.start!,\n\t);\n\n\tconst message = ts.flattenDiagnosticMessageText(\n\t\tdiagnostic.messageText,\n\t\t\"\\n\",\n\t);\n\n\treturn `${diagnostic.file.fileName} (${line + 1},${\n\t\tcharacter + 1\n\t}): ${message}`;\n};\n","import typedoc from \"typedoc\";\nimport glob from \"glob\";\nimport ts from \"typescript\";\nimport * as path from \"path\";\n\nexport const generateDocs = async (\n\tfolderPath: string,\n\tdeclarationFile: string,\n\toutFolder: string,\n\tname: string,\n) => {\n\tconst app = new typedoc.Application();\n\n\tconst mediaDir = path.join(folderPath, \"Media\");\n\n\tapp.bootstrap({\n\t\tentryPoints: [declarationFile],\n\t\tmedia: mediaDir,\n\t\tout: outFolder,\n\t});\n\n\tapp.options.setCompilerOptions(\n\t\t[declarationFile],\n\t\t{\n\t\t\ttarget: ts.ScriptTarget.ES5,\n\t\t},\n\t\tundefined,\n\t);\n\n\tapp.options.setValue(\"name\", name);\n\n\tconst [readmePath] = glob.sync(\"**/readme.md\", {\n\t\tabsolute: true,\n\t\tcwd: folderPath,\n\t});\n\n\tif (readmePath) {\n\t\tapp.options.setValue(\"readme\", readmePath);\n\t}\n\n\tconst project = app.convert();\n\n\tif (project) {\n\t\tawait app.generateDocs(project, outFolder);\n\t}\n};\n","// Stolen from ig.tools.core\n\nexport const toposort = (packages: Record<string, string[]>) => {\n\tconst queue = Object.getOwnPropertyNames(packages);\n\tconst result: string[] = [];\n\n\tlet index = 0;\n\n\twhile (queue.length > 0) {\n\t\tif (index >= queue.length) {\n\t\t\tthrow new Error(\"Packages can not have cyclic dependencies\");\n\t\t}\n\n\t\tconst queueEntry = queue[index];\n\n\t\tconst dependencies = packages[queueEntry];\n\t\tconst dependencyQueued = dependencies.some((dependency) =>\n\t\t\tqueue.includes(dependency),\n\t\t);\n\n\t\tif (dependencyQueued) {\n\t\t\tindex++;\n\t\t\tcontinue;\n\t\t}\n\n\t\tqueue.splice(index, 1);\n\t\tindex = 0;\n\t\tresult.push(queueEntry);\n\t}\n\n\treturn result;\n};\n","import * as path from \"path\";\nimport * as fs from \"fs\";\nimport glob from \"glob\";\nimport terser from \"terser\";\n\nimport { logPackageMessage } from \"../../lib/log\";\nimport { translate } from \"../../lib/localization\";\nimport { build as tscBuild } from \"./tsc\";\nimport { generateDocs } from \"./docs\";\nimport {\n\tdetectPackage,\n\tPackageLocation,\n\treadPackageCreatorManifest,\n\treadPackageNpmManifest,\n} from \"../../lib/package\";\nimport { detectWorkspace, WorkspaceLocation } from \"../../lib/workspace\";\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\nimport { toposort } from \"../../lib/toposort\";\nimport { PackageJSON } from \"../../lib/packageJSON\";\n\nexport interface BannerOptions {\n\ttext: string | undefined;\n\tversion: string | undefined;\n\tcommit: string | undefined;\n\tcommitDirty: boolean | undefined;\n\tdate: Date | undefined;\n}\n\nexport interface BuildFoldersOptions {\n\tcwd: string;\n\tdirectories: string[];\n\toutDir?: string;\n\tminimize: boolean;\n\tbanner?: BannerOptions;\n\tclean?: boolean;\n\tdocs?: boolean;\n\tskipPackagesWithoutTsFiles?: boolean;\n}\n\nexport interface BuildFolderOptions extends BuildFoldersOptions {\n\toutFile: string;\n}\n\nexport interface FolderBuilderResult {\n\tjs: string;\n\tdefinitions: string;\n}\n\nexport type FolderBuilder = (\n\tlocation: PackageLocation,\n) => Promise<FolderBuilderResult>;\n\ntype FolderData = {\n\tlocation: PackageLocation;\n\tdata?: PackageJSON;\n};\n\nexport const buildFolders = async (options: BuildFoldersOptions) => {\n\tif (options.outDir !== undefined && options.clean) {\n\t\tfs.rmSync(options.outDir, { recursive: true });\n\t}\n\n\tconst workspace = detectWorkspace(options.cwd);\n\tconst folders = resolvePackagesFromArgs(options.directories, workspace);\n\n\tif (folders.length === 0) {\n\t\treturn console.log(translate(\"messages.buildSkipEmpty\"));\n\t}\n\n\tconst sortedPackages = buildSortedPackageMap(folders);\n\n\tlet index = 1;\n\n\tfor (const [, { location }] of sortedPackages) {\n\t\tif (\n\t\t\toptions.skipPackagesWithoutTsFiles &&\n\t\t\tgetPackageTypescriptFiles(location).length === 0\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tensureTsConfig(location);\n\n\t\tconst data = readPackageCreatorManifest(location);\n\n\t\tconst logStep = (step: string) =>\n\t\t\tlogPackageMessage(data.Package, step, index, sortedPackages.size);\n\n\t\tlogStep(translate(\"messages.building\"));\n\n\t\tconst buildResult = await tscBuild(location);\n\t\tconst banner = options.banner\n\t\t\t? createBannerComment(options.banner)\n\t\t\t: undefined;\n\n\t\tif (banner) {\n\t\t\tbuildResult.js = banner + \"\\n\" + buildResult.js;\n\t\t\tbuildResult.definitions = banner + \"\\n\" + buildResult.definitions;\n\t\t}\n\n\t\tconst outputDirectory = options.outDir || location.scriptsDir;\n\t\tfs.mkdirSync(outputDirectory, { recursive: true });\n\n\t\tfs.writeFileSync(\n\t\t\tpath.join(outputDirectory, `${data.Package}.js`),\n\t\t\tbuildResult.js,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\t\tfs.writeFileSync(\n\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\n\t\t\tbuildResult.definitions,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\n\t\tif (options.minimize) {\n\t\t\tconst minifyResult = terser.minify(buildResult.js, {\n\t\t\t\tecma: 5,\n\t\t\t});\n\n\t\t\tif (minifyResult.error || !minifyResult.code) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t\"Not writing minified script version because of error\",\n\t\t\t\t\tminifyResult.error,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst minifiedPath = path.join(\n\t\t\t\toutputDirectory,\n\t\t\t\t`${data.Package}.min.js`,\n\t\t\t);\n\t\t\tfs.writeFileSync(minifiedPath, minifyResult.code!, {\n\t\t\t\tencoding: \"utf8\",\n\t\t\t});\n\t\t}\n\n\t\tif (location.path.includes(\"Basics\")) {\n\t\t\tfs.mkdirSync(path.join(options.cwd, \"lib\"), {\n\t\t\t\trecursive: true,\n\t\t\t});\n\n\t\t\tlogStep(translate(\"messages.basicsCopy\"));\n\t\t\tfs.writeFileSync(\n\t\t\t\tpath.join(options.cwd, \"lib\", `${data.Package}.d.ts`),\n\t\t\t\tbuildResult.definitions,\n\t\t\t\t{ encoding: \"utf8\" },\n\t\t\t);\n\t\t}\n\n\t\tif (options.docs) {\n\t\t\tlogStep(translate(\"messages.docsGeneration\"));\n\t\t\tawait generateDocs(\n\t\t\t\tlocation.scriptsDir,\n\t\t\t\tpath.join(\n\t\t\t\t\toptions.outDir || location.scriptsDir,\n\t\t\t\t\t`${data.Package}.d.ts`,\n\t\t\t\t),\n\t\t\t\tpath.join(options.cwd, \"docs\", data.Package),\n\t\t\t\tdata.Package,\n\t\t\t);\n\t\t}\n\n\t\t// logStep(translate(\"messages.built\"));\n\n\t\tindex++;\n\t}\n};\n\nconst resolvePackagesFromArgs = (\n\targs: string[] = [],\n\tworkspace: WorkspaceLocation,\n) => {\n\tconst folders = new Map<string, PackageLocation>();\n\n\tfor (const arg of args) {\n\t\tglob.sync(arg, { cwd: workspace.path, absolute: true }).forEach(\n\t\t\t(folder) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst location = detectPackage(workspace, folder);\n\t\t\t\t\tfolders.set(folder, location);\n\t\t\t\t} catch (err) {}\n\t\t\t},\n\t\t);\n\t}\n\n\treturn Array.from(folders.values());\n};\n\nconst ensureTsConfig = (location: PackageLocation) => {\n\tconst tsconfigPath = path.join(location.scriptsDir, \"tsconfig.json\");\n\n\tif (!fs.existsSync(tsconfigPath)) {\n\t\tconst content = {};\n\t\tapplyTsConfigOption(content);\n\n\t\tfs.writeFileSync(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t} else {\n\t\tconst content = JSON.parse(fs.readFileSync(tsconfigPath, \"utf8\"));\n\t\tapplyTsConfigOption(content);\n\t\tfs.writeFileSync(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t}\n};\n\nconst applyTsConfigOption = (data: {\n\tcompilerOptions?: { target?: string; lib?: string[] };\n}) => {\n\tdata.compilerOptions = data.compilerOptions ?? {};\n\tdata.compilerOptions.target = \"es5\";\n\tdata.compilerOptions.lib = [\"es5\", \"dom\"];\n};\n\nconst buildSortedPackageMap = (folders: PackageLocation[]) => {\n\tconst packages = Array.from(folders).reduce(\n\t\t(\n\t\t\tacc: Record<string, FolderData>,\n\t\t\tlocation,\n\t\t): Record<string, FolderData> => {\n\t\t\tconst data = readPackageNpmManifest(location);\n\n\t\t\tif (data !== undefined) {\n\t\t\t\tacc[data.name] = {\n\t\t\t\t\tdata,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tacc[location.path] = {\n\t\t\t\t\tdata: undefined,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst packageDependencies = Object.getOwnPropertyNames(packages).reduce(\n\t\t(acc, packageName) => {\n\t\t\tconst packageData = packages[packageName];\n\n\t\t\tif (packageData.data === undefined) {\n\t\t\t\tacc[packageName] = [];\n\t\t\t} else {\n\t\t\t\tacc[packageName] = Object.getOwnPropertyNames({\n\t\t\t\t\t...packageData.data.devDependencies,\n\t\t\t\t\t...packageData.data.dependencies,\n\t\t\t\t\t...packageData.data.peerDependencies,\n\t\t\t\t}).filter((packageName) => packages[packageName] !== undefined);\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst sortedPackages = toposort(packageDependencies);\n\tconst result = new Map<string, FolderData>();\n\n\tfor (const packageName of sortedPackages) {\n\t\tresult.set(packageName, packages[packageName]);\n\t}\n\n\treturn result;\n};\n\nconst createBannerComment = (banner: BannerOptions) => {\n\tconst bannerParts: string[] = [];\n\n\tif (banner.text) {\n\t\tbannerParts.push(\" * \" + banner.text);\n\t}\n\n\t{\n\t\tconst details: string[] = [];\n\n\t\tif (banner.version) {\n\t\t\tdetails.push(`Version: ${banner.version}`);\n\t\t}\n\t\tif (banner.commit) {\n\t\t\tif (banner.commitDirty) {\n\t\t\t\tdetails.push(`Commit: ${banner.commit} (dirty)`);\n\t\t\t} else {\n\t\t\t\tdetails.push(`Commit: ${banner.commit}`);\n\t\t\t}\n\t\t}\n\t\tif (banner.date) {\n\t\t\tdetails.push(`Date: ${banner.date.toISOString()}`);\n\t\t}\n\n\t\tconst detailsText = details.map((line) => ` * ${line}`).join(\"\\n\");\n\t\tif (detailsText) {\n\t\t\tbannerParts.push(detailsText);\n\t\t}\n\t}\n\n\tconst bannerText = bannerParts.join(\"\\n\\n\");\n\n\tif (bannerText) {\n\t\treturn `/*\n${bannerText}\n*\n* @preserve\t\t\t\n*/`;\n\t}\n\n\treturn undefined;\n};\n"],"names":["logPackageMessage","name","step","index","total","numLength","undefined","toString","length","indexString","padStart","identifierString","padEnd","console","log","tryReadTsConfig","location","config","ts","readConfigFile","path","join","scriptsDir","fs","readFileSync","build","compilerOptions","lib","result","convertCompilerOptionsFromJson","options","removeComments","declaration","sourceMap","outFile","target","ScriptTarget","ES5","noEmitOnError","host","createCompilerHost","getCurrentDirectory","js","definitions","writeFile","fileName","data","writeByteOrderMark","endsWith","files","getPackageTypescriptFiles","Error","programOptions","rootNames","program","createProgram","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","emitSkipped","map","createErrorMessage","error","diagnostic","file","flattenDiagnosticMessageText","messageText","line","character","getLineAndCharacterOfPosition","start","message","generateDocs","folderPath","declarationFile","outFolder","app","typedoc","Application","mediaDir","bootstrap","entryPoints","media","out","setCompilerOptions","setValue","readmePath","glob","sync","absolute","cwd","project","convert","toposort","packages","queue","Object","getOwnPropertyNames","queueEntry","dependencies","dependencyQueued","some","dependency","includes","splice","push","buildFolders","outDir","clean","rmSync","recursive","workspace","detectWorkspace","folders","resolvePackagesFromArgs","directories","translate","sortedPackages","buildSortedPackageMap","skipPackagesWithoutTsFiles","ensureTsConfig","readPackageCreatorManifest","logStep","Package","size","buildResult","tscBuild","banner","createBannerComment","outputDirectory","mkdirSync","writeFileSync","encoding","minimize","minifyResult","terser","minify","ecma","code","warn","minifiedPath","docs","args","Map","arg","forEach","folder","detectPackage","set","err","Array","from","values","tsconfigPath","existsSync","content","applyTsConfigOption","JSON","stringify","parse","reduce","acc","readPackageNpmManifest","packageDependencies","packageName","packageData","devDependencies","peerDependencies","filter","bannerParts","text","details","version","commit","commitDirty","date","toISOString","detailsText","bannerText"],"mappings":"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"}
1
+ {"version":3,"file":"build.mjs","sources":["../../src/lib/log.ts","../../src/commands/build/tsc.ts","../../src/commands/build/docs.ts","../../src/lib/toposort.ts","../../src/commands/build/index.ts"],"sourcesContent":["export const logPackageMessage = (\n\tname: string,\n\tstep: string,\n\tindex?: number,\n\ttotal?: number,\n) => {\n\tconst numLength = total === undefined ? undefined : total.toString().length;\n\n\tconst indexString =\n\t\ttotal === undefined || total < 2\n\t\t\t? \"\"\n\t\t\t: `${index!.toString().padStart(numLength!, \"0\")}/${total} `;\n\n\tconst identifierString = `${indexString}${name.padEnd(15)}`;\n\n\tconsole.log(`${identifierString} >> ${step}`);\n};\n","import ts from \"typescript\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\n\nimport { PackageLocation } from \"../../lib/package\";\n\nimport { FolderBuilder } from \".\";\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\n\nexport const tryReadTsConfig = (location: PackageLocation) => {\n\tconst { config } = ts.readConfigFile(\n\t\tpath.join(location.scriptsDir, \"tsconfig.json\"),\n\t\t(path) => {\n\t\t\ttry {\n\t\t\t\treturn fs.readFileSync(path, \"utf8\");\n\t\t\t} catch {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\t);\n\n\treturn config as {\n\t\tcompilerOptions: ts.CompilerOptions;\n\t};\n};\n\nexport const build: FolderBuilder = async (location: PackageLocation) => {\n\tconst config = tryReadTsConfig(location);\n\n\tconfig.compilerOptions.lib = [\"es5\", \"dom\"];\n\n\tconst result = ts.convertCompilerOptionsFromJson(\n\t\tconfig.compilerOptions,\n\t\tlocation.scriptsDir,\n\t);\n\n\tconst compilerOptions: ts.CompilerOptions = {\n\t\t...result.options,\n\t\tremoveComments: false,\n\t\tdeclaration: true,\n\t\tsourceMap: false,\n\t\toutFile: \"out.js\",\n\t\ttarget: ts.ScriptTarget.ES5,\n\t\tnoEmitOnError: true,\n\t};\n\n\tconst host = ts.createCompilerHost(compilerOptions);\n\thost.getCurrentDirectory = () => location.scriptsDir;\n\n\tlet js: string | undefined;\n\tlet definitions: string | undefined;\n\n\thost.writeFile = (fileName, data, writeByteOrderMark) => {\n\t\tif (fileName.endsWith(\".js\")) {\n\t\t\tjs = data;\n\t\t} else if (fileName.endsWith(\".d.ts\")) {\n\t\t\tdefinitions = data;\n\t\t}\n\t};\n\n\tconst files = getPackageTypescriptFiles(location);\n\n\tif (files.length === 0) {\n\t\tthrow new Error(\n\t\t\t`Expected typescript files to exist when building a package. Packages only consisting of animation jsons do not need to be built.`,\n\t\t);\n\t}\n\n\tconst programOptions: ts.CreateProgramOptions = {\n\t\trootNames: files,\n\t\toptions: compilerOptions,\n\t\thost,\n\t};\n\n\tconst program = ts.createProgram(programOptions);\n\tconst emitResult = program.emit();\n\tconst allDiagnostics = ts.getPreEmitDiagnostics(program);\n\n\tif (!emitResult.emitSkipped) {\n\t\tif (allDiagnostics.length > 0) {\n\t\t\tconsole.log(allDiagnostics.map(createErrorMessage).join(\"\\n\"));\n\t\t}\n\n\t\tif (js === undefined || definitions === undefined) {\n\t\t\tthrow new Error(`Unexpected: no js or definitions were created`);\n\t\t}\n\n\t\treturn { js, definitions };\n\t}\n\n\tconst error = allDiagnostics.map(createErrorMessage).join(\"\\n\");\n\n\tthrow new Error(error);\n};\n\nconst createErrorMessage = (diagnostic: ts.Diagnostic) => {\n\tif (!diagnostic.file) {\n\t\treturn `${ts.flattenDiagnosticMessageText(\n\t\t\tdiagnostic.messageText,\n\t\t\t\"\\n\",\n\t\t)}`;\n\t}\n\n\tconst { line, character } = diagnostic.file.getLineAndCharacterOfPosition(\n\t\tdiagnostic.start!,\n\t);\n\n\tconst message = ts.flattenDiagnosticMessageText(\n\t\tdiagnostic.messageText,\n\t\t\"\\n\",\n\t);\n\n\treturn `${diagnostic.file.fileName} (${line + 1},${\n\t\tcharacter + 1\n\t}): ${message}`;\n};\n","import typedoc from \"typedoc\";\nimport glob from \"glob\";\nimport ts from \"typescript\";\nimport * as path from \"path\";\n\nexport const generateDocs = async (\n\tfolderPath: string,\n\tdeclarationFile: string,\n\toutFolder: string,\n\tname: string,\n) => {\n\tconst app = new typedoc.Application();\n\n\tconst mediaDir = path.join(folderPath, \"Media\");\n\n\tapp.bootstrap({\n\t\tentryPoints: [declarationFile],\n\t\tmedia: mediaDir,\n\t\tout: outFolder,\n\t});\n\n\tapp.options.setCompilerOptions(\n\t\t[declarationFile],\n\t\t{\n\t\t\ttarget: ts.ScriptTarget.ES5,\n\t\t},\n\t\tundefined,\n\t);\n\n\tapp.options.setValue(\"name\", name);\n\n\tconst [readmePath] = glob.sync(\"**/readme.md\", {\n\t\tabsolute: true,\n\t\tcwd: folderPath,\n\t});\n\n\tif (readmePath) {\n\t\tapp.options.setValue(\"readme\", readmePath);\n\t}\n\n\tconst project = app.convert();\n\n\tif (project) {\n\t\tawait app.generateDocs(project, outFolder);\n\t}\n};\n","// Stolen from ig.tools.core\n\nexport const toposort = (packages: Record<string, string[]>) => {\n\tconst queue = Object.getOwnPropertyNames(packages);\n\tconst result: string[] = [];\n\n\tlet index = 0;\n\n\twhile (queue.length > 0) {\n\t\tif (index >= queue.length) {\n\t\t\tthrow new Error(\"Packages can not have cyclic dependencies\");\n\t\t}\n\n\t\tconst queueEntry = queue[index];\n\n\t\tconst dependencies = packages[queueEntry];\n\t\tconst dependencyQueued = dependencies.some((dependency) =>\n\t\t\tqueue.includes(dependency),\n\t\t);\n\n\t\tif (dependencyQueued) {\n\t\t\tindex++;\n\t\t\tcontinue;\n\t\t}\n\n\t\tqueue.splice(index, 1);\n\t\tindex = 0;\n\t\tresult.push(queueEntry);\n\t}\n\n\treturn result;\n};\n","import * as path from \"path\";\nimport * as fs from \"fs\";\nimport glob from \"glob\";\nimport * as terser from \"terser\";\n\nimport { logPackageMessage } from \"../../lib/log\";\nimport { translate } from \"../../lib/localization\";\nimport { build as tscBuild } from \"./tsc\";\nimport { generateDocs } from \"./docs\";\nimport {\n\tdetectPackage,\n\tPackageLocation,\n\treadPackageCreatorManifest,\n\treadPackageNpmManifest,\n} from \"../../lib/package\";\nimport { detectWorkspace, WorkspaceLocation } from \"../../lib/workspace\";\nimport { getPackageTypescriptFiles } from \"../../lib/scripts\";\nimport { toposort } from \"../../lib/toposort\";\nimport { PackageJSON } from \"../../lib/packageJSON\";\n\nexport interface BannerOptions {\n\ttext: string | undefined;\n\tversion: string | undefined;\n\tcommit: string | undefined;\n\tcommitDirty: boolean | undefined;\n\tdate: Date | undefined;\n}\n\nexport interface BuildFoldersOptions {\n\tcwd: string;\n\tdirectories: string[];\n\toutDir?: string;\n\tminimize: boolean;\n\tbanner?: BannerOptions;\n\tclean?: boolean;\n\tdocs?: boolean;\n\tskipPackagesWithoutTsFiles?: boolean;\n}\n\nexport interface BuildFolderOptions extends BuildFoldersOptions {\n\toutFile: string;\n}\n\nexport interface FolderBuilderResult {\n\tjs: string;\n\tdefinitions: string;\n}\n\nexport type FolderBuilder = (\n\tlocation: PackageLocation,\n) => Promise<FolderBuilderResult>;\n\ntype FolderData = {\n\tlocation: PackageLocation;\n\tdata?: PackageJSON;\n};\n\nexport const buildFolders = async (options: BuildFoldersOptions) => {\n\tif (options.outDir !== undefined && options.clean) {\n\t\tfs.rmSync(options.outDir, { recursive: true });\n\t}\n\n\tconst workspace = detectWorkspace(options.cwd);\n\tconst folders = resolvePackagesFromArgs(options.directories, workspace);\n\n\tif (folders.length === 0) {\n\t\treturn console.log(translate(\"messages.buildSkipEmpty\"));\n\t}\n\n\tconst sortedPackages = buildSortedPackageMap(folders);\n\n\tlet index = 1;\n\n\tfor (const [, { location }] of sortedPackages) {\n\t\tif (\n\t\t\toptions.skipPackagesWithoutTsFiles &&\n\t\t\tgetPackageTypescriptFiles(location).length === 0\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tensureTsConfig(location);\n\n\t\tconst data = readPackageCreatorManifest(location);\n\n\t\tconst logStep = (step: string) =>\n\t\t\tlogPackageMessage(data.Package, step, index, sortedPackages.size);\n\n\t\tlogStep(translate(\"messages.building\"));\n\n\t\tconst buildResult = await tscBuild(location);\n\t\tconst banner = options.banner\n\t\t\t? createBannerComment(options.banner)\n\t\t\t: undefined;\n\n\t\tif (banner) {\n\t\t\tbuildResult.js = banner + \"\\n\" + buildResult.js;\n\t\t\tbuildResult.definitions = banner + \"\\n\" + buildResult.definitions;\n\t\t}\n\n\t\tconst outputDirectory = options.outDir || location.scriptsDir;\n\t\tfs.mkdirSync(outputDirectory, { recursive: true });\n\n\t\tfs.writeFileSync(\n\t\t\tpath.join(outputDirectory, `${data.Package}.js`),\n\t\t\tbuildResult.js,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\t\tfs.writeFileSync(\n\t\t\tpath.join(outputDirectory, `${data.Package}.d.ts`),\n\t\t\tbuildResult.definitions,\n\t\t\t{ encoding: \"utf8\" },\n\t\t);\n\n\t\tif (options.minimize) {\n\t\t\tconst minifyResult = await terser.minify(buildResult.js, {\n\t\t\t\tecma: 5,\n\t\t\t});\n\n\t\t\tconst minifiedPath = path.join(\n\t\t\t\toutputDirectory,\n\t\t\t\t`${data.Package}.min.js`,\n\t\t\t);\n\t\t\tfs.writeFileSync(minifiedPath, minifyResult.code!, {\n\t\t\t\tencoding: \"utf8\",\n\t\t\t});\n\t\t}\n\n\t\tif (location.path.includes(\"Basics\")) {\n\t\t\tfs.mkdirSync(path.join(options.cwd, \"lib\"), {\n\t\t\t\trecursive: true,\n\t\t\t});\n\n\t\t\tlogStep(translate(\"messages.basicsCopy\"));\n\t\t\tfs.writeFileSync(\n\t\t\t\tpath.join(options.cwd, \"lib\", `${data.Package}.d.ts`),\n\t\t\t\tbuildResult.definitions,\n\t\t\t\t{ encoding: \"utf8\" },\n\t\t\t);\n\t\t}\n\n\t\tif (options.docs) {\n\t\t\tlogStep(translate(\"messages.docsGeneration\"));\n\t\t\tawait generateDocs(\n\t\t\t\tlocation.scriptsDir,\n\t\t\t\tpath.join(\n\t\t\t\t\toptions.outDir || location.scriptsDir,\n\t\t\t\t\t`${data.Package}.d.ts`,\n\t\t\t\t),\n\t\t\t\tpath.join(options.cwd, \"docs\", data.Package),\n\t\t\t\tdata.Package,\n\t\t\t);\n\t\t}\n\n\t\t// logStep(translate(\"messages.built\"));\n\n\t\tindex++;\n\t}\n};\n\nconst resolvePackagesFromArgs = (\n\targs: string[] = [],\n\tworkspace: WorkspaceLocation,\n) => {\n\tconst folders = new Map<string, PackageLocation>();\n\n\tfor (const arg of args) {\n\t\tglob.sync(arg, { cwd: workspace.path, absolute: true }).forEach(\n\t\t\t(folder) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst location = detectPackage(workspace, folder);\n\t\t\t\t\tfolders.set(folder, location);\n\t\t\t\t} catch (err) {}\n\t\t\t},\n\t\t);\n\t}\n\n\treturn Array.from(folders.values());\n};\n\nconst ensureTsConfig = (location: PackageLocation) => {\n\tconst tsconfigPath = path.join(location.scriptsDir, \"tsconfig.json\");\n\n\tif (!fs.existsSync(tsconfigPath)) {\n\t\tconst content = {};\n\t\tapplyTsConfigOption(content);\n\n\t\tfs.writeFileSync(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t} else {\n\t\tconst content = JSON.parse(fs.readFileSync(tsconfigPath, \"utf8\"));\n\t\tapplyTsConfigOption(content);\n\t\tfs.writeFileSync(\n\t\t\ttsconfigPath,\n\t\t\tJSON.stringify(content, undefined, \"\\t\"),\n\t\t\t\"utf8\",\n\t\t);\n\t}\n};\n\nconst applyTsConfigOption = (data: {\n\tcompilerOptions?: { target?: string; lib?: string[] };\n}) => {\n\tdata.compilerOptions = data.compilerOptions ?? {};\n\tdata.compilerOptions.target = \"es5\";\n\tdata.compilerOptions.lib = [\"es5\", \"dom\"];\n};\n\nconst buildSortedPackageMap = (folders: PackageLocation[]) => {\n\tconst packages = Array.from(folders).reduce(\n\t\t(\n\t\t\tacc: Record<string, FolderData>,\n\t\t\tlocation,\n\t\t): Record<string, FolderData> => {\n\t\t\tconst data = readPackageNpmManifest(location);\n\n\t\t\tif (data !== undefined) {\n\t\t\t\tacc[data.name] = {\n\t\t\t\t\tdata,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tacc[location.path] = {\n\t\t\t\t\tdata: undefined,\n\t\t\t\t\tlocation,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst packageDependencies = Object.getOwnPropertyNames(packages).reduce(\n\t\t(acc, packageName) => {\n\t\t\tconst packageData = packages[packageName];\n\n\t\t\tif (packageData.data === undefined) {\n\t\t\t\tacc[packageName] = [];\n\t\t\t} else {\n\t\t\t\tacc[packageName] = Object.getOwnPropertyNames({\n\t\t\t\t\t...packageData.data.devDependencies,\n\t\t\t\t\t...packageData.data.dependencies,\n\t\t\t\t\t...packageData.data.peerDependencies,\n\t\t\t\t}).filter((packageName) => packages[packageName] !== undefined);\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\tconst sortedPackages = toposort(packageDependencies);\n\tconst result = new Map<string, FolderData>();\n\n\tfor (const packageName of sortedPackages) {\n\t\tresult.set(packageName, packages[packageName]);\n\t}\n\n\treturn result;\n};\n\nconst createBannerComment = (banner: BannerOptions) => {\n\tconst bannerParts: string[] = [];\n\n\tif (banner.text) {\n\t\tbannerParts.push(\" * \" + banner.text);\n\t}\n\n\t{\n\t\tconst details: string[] = [];\n\n\t\tif (banner.version) {\n\t\t\tdetails.push(`Version: ${banner.version}`);\n\t\t}\n\t\tif (banner.commit) {\n\t\t\tif (banner.commitDirty) {\n\t\t\t\tdetails.push(`Commit: ${banner.commit} (dirty)`);\n\t\t\t} else {\n\t\t\t\tdetails.push(`Commit: ${banner.commit}`);\n\t\t\t}\n\t\t}\n\t\tif (banner.date) {\n\t\t\tdetails.push(`Date: ${banner.date.toISOString()}`);\n\t\t}\n\n\t\tconst detailsText = details.map((line) => ` * ${line}`).join(\"\\n\");\n\t\tif (detailsText) {\n\t\t\tbannerParts.push(detailsText);\n\t\t}\n\t}\n\n\tconst bannerText = bannerParts.join(\"\\n\\n\");\n\n\tif (bannerText) {\n\t\treturn `/*\n${bannerText}\n*\n* @preserve\t\t\t\n*/`;\n\t}\n\n\treturn undefined;\n};\n"],"names":["logPackageMessage","name","step","index","total","numLength","undefined","toString","length","indexString","padStart","identifierString","padEnd","console","log","tryReadTsConfig","location","config","ts","readConfigFile","path","join","scriptsDir","fs","readFileSync","build","compilerOptions","lib","result","convertCompilerOptionsFromJson","options","removeComments","declaration","sourceMap","outFile","target","ScriptTarget","ES5","noEmitOnError","host","createCompilerHost","getCurrentDirectory","js","definitions","writeFile","fileName","data","writeByteOrderMark","endsWith","files","getPackageTypescriptFiles","Error","programOptions","rootNames","program","createProgram","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","emitSkipped","map","createErrorMessage","error","diagnostic","file","flattenDiagnosticMessageText","messageText","line","character","getLineAndCharacterOfPosition","start","message","generateDocs","folderPath","declarationFile","outFolder","app","typedoc","Application","mediaDir","bootstrap","entryPoints","media","out","setCompilerOptions","setValue","readmePath","glob","sync","absolute","cwd","project","convert","toposort","packages","queue","Object","getOwnPropertyNames","queueEntry","dependencies","dependencyQueued","some","dependency","includes","splice","push","buildFolders","outDir","clean","rmSync","recursive","workspace","detectWorkspace","folders","resolvePackagesFromArgs","directories","translate","sortedPackages","buildSortedPackageMap","skipPackagesWithoutTsFiles","ensureTsConfig","readPackageCreatorManifest","logStep","Package","size","buildResult","tscBuild","banner","createBannerComment","outputDirectory","mkdirSync","writeFileSync","encoding","minimize","minifyResult","terser","minify","ecma","minifiedPath","code","docs","args","Map","arg","forEach","folder","detectPackage","set","err","Array","from","values","tsconfigPath","existsSync","content","applyTsConfigOption","JSON","stringify","parse","reduce","acc","readPackageNpmManifest","packageDependencies","packageName","packageData","devDependencies","peerDependencies","filter","bannerParts","text","details","version","commit","commitDirty","date","toISOString","detailsText","bannerText"],"mappings":"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"}
@@ -10,7 +10,7 @@ import axios from 'axios';
10
10
  import { r as readPublishedPackageCreatorIndex, d as determineWorkspaceIGLibraries, a as readPublishedPackageNpmManifest, b as readPublishedPackageCreatorManifest } from '../dependencies.mjs';
11
11
  import Ajv from 'ajv';
12
12
  import JSZip from 'jszip';
13
- import terser from 'terser';
13
+ import * as terser from 'terser';
14
14
  import 'glob';
15
15
  import 'typescript';
16
16
  import '../scripts.mjs';
@@ -240,7 +240,7 @@ Packaging without a javascript file is only allowed when animation json files ar
240
240
  logPackageMessage(manifest.Package, `Added animation ${scope}.${name}`);
241
241
  }
242
242
  }
243
- const minifyResult = terser.minify(library, {
243
+ const minifyResult = await terser.minify(library, {
244
244
  ecma: 5
245
245
  });
246
246
  archive.file(`${data.Package}.js`, minifyResult.code);
@@ -564,4 +564,4 @@ const createSessionManager = async params => {
564
564
  };
565
565
 
566
566
  export { releaseFolder };
567
- //# sourceMappingURL=release.mjs.map
567
+ //# sourceMappingURL=publish.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.mjs","sources":["../../src/lib/assetService.ts","../../src/commands/publish/zip.ts","../../src/commands/publish/index.ts"],"sourcesContent":["import axios from \"axios\";\nimport * as fs from \"fs\";\n\nimport { Authentication } from \"./authentication\";\n\nexport interface SessionStartParams\n\textends Omit<\n\t\tSessionStartPayload,\n\t\t\"user\" | \"password\" | \"license\" | \"plugin\"\n\t> {\n\tauthentication: Authentication;\n\turl: string;\n}\n\nexport interface SessionStartPayload {\n\tplugin: string;\n\taddress: string | undefined;\n\tdomain: string;\n\tsubDomain: string;\n\tuser: string | undefined;\n\tpassword: string | undefined;\n\tlicense: string | undefined;\n}\n\nexport interface SessionStartResponse {\n\tsession: string;\n\tstate: string;\n}\n\nconst PLUGIN_ID = \"0feba3a0-b6d1-11e6-9598-0800200c9a66\";\n\nexport interface Session {\n\turl: string;\n\tsessionId: string;\n\tdomain: string;\n\tsubDomain: string;\n}\n\n/**\n * Starts an IG.Asset.Server session and returns the sessionId\n *\n * @param {SessionStartParams} params\n * @returns\n */\nexport const startSession = async ({\n\turl,\n\tauthentication,\n\t...params\n}: SessionStartParams): Promise<Session> => {\n\tconst payload: SessionStartPayload = {\n\t\t...params,\n\t\tuser: undefined,\n\t\tpassword: undefined,\n\t\tlicense: undefined,\n\t\tplugin: PLUGIN_ID,\n\t};\n\n\tif (authentication.type === \"credentials\") {\n\t\tpayload.user = authentication.username;\n\t\tpayload.password = authentication.password;\n\t} else if (authentication.type === \"license\") {\n\t\tpayload.license = authentication.license;\n\t}\n\n\tconst {\n\t\tdata: { session: sessionId, state },\n\t} = await axios.post<SessionStartResponse>(\n\t\t`Session/Start2`,\n\t\tJSON.stringify(payload),\n\t\t{\n\t\t\tbaseURL: url,\n\t\t},\n\t);\n\n\tif (state !== \"SUCCESS\") {\n\t\tthrow new Error(\n\t\t\t`Could not start session: IG.Asset.Server responded with ${state}`,\n\t\t);\n\t}\n\n\treturn {\n\t\turl,\n\t\tsessionId,\n\t\tdomain: params.domain,\n\t\tsubDomain: params.subDomain,\n\t};\n};\n\nexport const closeSession = async (session: Session) => {\n\tawait axios.get(`Session/Close/${session.sessionId}`, {\n\t\tbaseURL: session.url,\n\t});\n};\n\nexport interface UploadPackageDetails {\n\tname: string;\n\tversion: string;\n}\n\nexport const uploadPackage = async (\n\tsession: Session,\n\t{ name, version }: UploadPackageDetails,\n\tzipFilePath: string,\n) => {\n\ttry {\n\t\tawait uploadPackageToUrl(\n\t\t\tsession.url,\n\t\t\t`UploadPackage/${session.sessionId}/${name}_${version}`,\n\t\t\tzipFilePath,\n\t\t);\n\t} catch (err) {\n\t\tawait uploadPackageToUrl(\n\t\t\tsession.url,\n\t\t\t`UploadPackage/${session.sessionId}/${name}_${version}/`,\n\t\t\tzipFilePath,\n\t\t);\n\t}\n};\n\nexport interface ExistingPackage {\n\tscope: string;\n\tinformalVersion: string;\n\tsupport: boolean;\n\tnumericVersion: number;\n}\n\nexport const getExistingPackages = async (\n\tsession: Session,\n): Promise<ExistingPackage[] | undefined> =>\n\taxios\n\t\t.get(`Script/GetInformation/${session.sessionId}`, {\n\t\t\tbaseURL: session.url,\n\t\t\tvalidateStatus: (status) => status === 404 || status === 200,\n\t\t})\n\t\t.then(({ data }) => (Array.isArray(data) ? data : undefined));\n\nconst uploadPackageToUrl = (url: string, path: string, zipFilePath: string) =>\n\taxios\n\t\t.post(path, fs.createReadStream(zipFilePath), {\n\t\t\tbaseURL: url,\n\t\t})\n\t\t.then(({ data, status }) => {\n\t\t\tlet objectBody: any;\n\n\t\t\tif (typeof data === \"string\") {\n\t\t\t\ttry {\n\t\t\t\t\tobjectBody = JSON.parse(data);\n\t\t\t\t} catch (err) {}\n\t\t\t} else if (typeof data === \"object\") {\n\t\t\t\tobjectBody = data;\n\t\t\t}\n\n\t\t\tif (objectBody !== undefined) {\n\t\t\t\tif (\"state\" in objectBody && objectBody.state !== \"SUCCESS\") {\n\t\t\t\t\tthrow new Error(objectBody.response ?? objectBody.state);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (status >= 400) {\n\t\t\t\tif (objectBody !== undefined) {\n\t\t\t\t\tlet text = \"\";\n\n\t\t\t\t\tfor (const key in objectBody) {\n\t\t\t\t\t\ttext += key + \": \\n\";\n\t\t\t\t\t\tif (typeof objectBody[key] === \"object\") {\n\t\t\t\t\t\t\ttext += JSON.stringify(\n\t\t\t\t\t\t\t\tobjectBody[key],\n\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttext += objectBody[key];\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttext += \"\\n\\n\";\n\t\t\t\t\t}\n\n\t\t\t\t\tthrow new Error(text);\n\t\t\t\t}\n\n\t\t\t\tthrow new Error(data);\n\t\t\t}\n\n\t\t\treturn data;\n\t\t});\n","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} 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.json\", JSON.stringify(creatorPackage, null, 2));\n\n\tconst index = readPublishedPackageCreatorIndex(location);\n\n\tif (index !== undefined) {\n\t\tarchive.file(\"_Index.json\", 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.json`, JSON.stringify(data, null, 2));\n\n\tconst creatorIndex = readPackageCreatorIndex(packageLocation);\n\n\tif (creatorIndex !== undefined) {\n\t\tarchive.file(`_Index.json`, 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 { logPackageMessage } from \"../../lib/log\";\nimport { translate } from \"../../lib/localization\";\nimport { Authentication } from \"../../lib/authentication\";\nimport {\n\tCreatorPackage,\n\tdetectPackage,\n\tgetPackageReleasesDirectory,\n\tparseCreatorPackageName,\n\treadPackageCreatorManifest,\n} from \"../../lib/package\";\nimport {\n\tdetectWorkspace,\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 * as AssetService from \"../../lib/assetService\";\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\" | \"directories\"\n\t> {\n\tdirectory: string;\n\tnoUpload: boolean;\n\tnewVersion: string;\n\tdomain?: string;\n\tsubdomain?: string;\n\taddress?: string;\n\tservice: string;\n\tauthentication?: Authentication;\n\tpushOnly: boolean;\n\tbanner?: boolean;\n\tprompter: Prompter;\n}\n\nexport const releaseFolder = async (options: ReleaseFolderOptions) => {\n\tconst workspace = detectWorkspace(options.cwd);\n\tconst location = detectPackage(workspace, 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\tdirectories: [location.path],\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\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 (\n\t\t\t\t\t!(await 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\t\t\t\t\tlogPackageMessage(\n\t\t\t\t\t\tpackageDescription.Package,\n\t\t\t\t\t\t\"Failed to ensure required dependency versions: IG.Asset.Server does not yet support required apis for dependency check\",\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(\n\t\t\tfullPackageName,\n\t\t\ttranslate(\"messages.movingReleaseZip\"),\n\t\t);\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\tif (rawUploadedPackages === undefined) {\n\t\treturn false;\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\t(uploadedPackageInBasics !== undefined ||\n\t\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\treturn true;\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":["PLUGIN_ID","startSession","url","authentication","params","payload","user","undefined","password","license","plugin","type","username","data","session","sessionId","state","axios","post","JSON","stringify","baseURL","Error","domain","subDomain","closeSession","get","uploadPackage","name","version","zipFilePath","uploadPackageToUrl","err","getExistingPackages","validateStatus","status","then","Array","isArray","path","fs","createReadStream","objectBody","parse","response","text","key","buildArchiveFromPublishedPackage","location","manifest","creatorPackage","archive","JSZip","file","index","readPublishedPackageCreatorIndex","main","join","validateSchema","runtimeScripts","notRuntimeScripts","buildArchiveFromPackage","workspaceLocation","packageLocation","subdomain","parseCreatorPackageName","logStep","step","logPackageMessage","Package","Ajv","coerceTypes","allErrors","removeAdditional","useDefaults","compile","libFilePath","getWorkspaceOutputPath","scriptDirectories","scriptsDir","push","readPackageCreatorManifest","RunTime","includes","Type","writePackageCreatorManifest","animations","Map","scriptFilePath","readPackageAnimationList","content","readFileSync","encoding","relativePath","relative","SyntaxError","String","cause","set","Id","libFile","isErrorENOENT","size","library","date","Date","now","getFullYear","scopeParts","Scope","split","scope","createNamespace","minifyResult","terser","minify","ecma","code","creatorIndex","readPackageCreatorIndex","directory","readdirSync","ext","console","error","parts","length","slice","releaseFolder","options","workspace","detectWorkspace","cwd","detectPackage","write","writeVersionFile","reset","resetVersionFile","getVersionFileHandler","packageDescription","fullPackageName","publishDomain","publishSubdomain","sharedPackageJson","readWorkspaceNpmManifest","newVersion","parseVersionFromString","buildNumber","preRelease","execSync","binDir","mkdirSync","recursive","assetServerPackageDetails","packageNameWithVersion","versionWithoutPrelease","clone","newVersionString","toVersionString","pushOnly","existsSync","gitVersionInformation","getVersionInformationFromGit","bannerText","getWorkspaceBannerText","buildFolders","directories","skipPackagesWithoutTsFiles","banner","commit","commitDirty","dirty","rmSync","zipOutputStream","createWriteStream","pipeline","generateNodeStream","noUpload","sessionManager","createSessionManager","service","address","ensureRequiredVersions","prompter","AssetService","getTargetSession","destroy","catch","translate","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","getBasicsSession","basicsSession"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,MAAMA,SAAS,GAAG,sCAAsC,CAAA;AASxD;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,YAAY,GAAG,OAAO;EAClCC,GAAG;EACHC,cAAc;EACd,GAAGC,MAAAA;AACgB,CAAC,KAAuB;AAC3C,EAAA,MAAMC,OAA4B,GAAG;AACpC,IAAA,GAAGD,MAAM;AACTE,IAAAA,IAAI,EAAEC,SAAS;AACfC,IAAAA,QAAQ,EAAED,SAAS;AACnBE,IAAAA,OAAO,EAAEF,SAAS;AAClBG,IAAAA,MAAM,EAAEV,SAAAA;GACR,CAAA;AAED,EAAA,IAAIG,cAAc,CAACQ,IAAI,KAAK,aAAa,EAAE;AAC1CN,IAAAA,OAAO,CAACC,IAAI,GAAGH,cAAc,CAACS,QAAQ,CAAA;AACtCP,IAAAA,OAAO,CAACG,QAAQ,GAAGL,cAAc,CAACK,QAAQ,CAAA;AAC3C,GAAC,MAAM,IAAIL,cAAc,CAACQ,IAAI,KAAK,SAAS,EAAE;AAC7CN,IAAAA,OAAO,CAACI,OAAO,GAAGN,cAAc,CAACM,OAAO,CAAA;AACzC,GAAA;EAEA,MAAM;AACLI,IAAAA,IAAI,EAAE;AAAEC,MAAAA,OAAO,EAAEC,SAAS;AAAEC,MAAAA,KAAAA;AAAM,KAAA;AACnC,GAAC,GAAG,MAAMC,KAAK,CAACC,IAAI,CAClB,CAAA,cAAA,CAAe,EAChBC,IAAI,CAACC,SAAS,CAACf,OAAO,CAAC,EACvB;AACCgB,IAAAA,OAAO,EAAEnB,GAAAA;AACV,GAAC,CACD,CAAA;EAED,IAAIc,KAAK,KAAK,SAAS,EAAE;AACxB,IAAA,MAAM,IAAIM,KAAK,CACb,CAA0DN,wDAAAA,EAAAA,KAAM,EAAC,CAClE,CAAA;AACF,GAAA;EAEA,OAAO;IACNd,GAAG;IACHa,SAAS;IACTQ,MAAM,EAAEnB,MAAM,CAACmB,MAAM;IACrBC,SAAS,EAAEpB,MAAM,CAACoB,SAAAA;GAClB,CAAA;AACF,CAAC,CAAA;AAEM,MAAMC,YAAY,GAAG,MAAOX,OAAgB,IAAK;EACvD,MAAMG,KAAK,CAACS,GAAG,CAAE,iBAAgBZ,OAAO,CAACC,SAAU,CAAA,CAAC,EAAE;IACrDM,OAAO,EAAEP,OAAO,CAACZ,GAAAA;AAClB,GAAC,CAAC,CAAA;AACH,CAAC,CAAA;AAOM,MAAMyB,aAAa,GAAG,OAC5Bb,OAAgB,EAChB;EAAEc,IAAI;AAAEC,EAAAA,OAAAA;AAA8B,CAAC,EACvCC,WAAmB,KACf;EACJ,IAAI;AACH,IAAA,MAAMC,kBAAkB,CACvBjB,OAAO,CAACZ,GAAG,EACV,CAAgBY,cAAAA,EAAAA,OAAO,CAACC,SAAU,IAAGa,IAAK,CAAA,CAAA,EAAGC,OAAQ,CAAC,CAAA,EACvDC,WAAW,CACX,CAAA;GACD,CAAC,OAAOE,GAAG,EAAE;AACb,IAAA,MAAMD,kBAAkB,CACvBjB,OAAO,CAACZ,GAAG,EACV,CAAgBY,cAAAA,EAAAA,OAAO,CAACC,SAAU,IAAGa,IAAK,CAAA,CAAA,EAAGC,OAAQ,CAAE,CAAA,CAAA,EACxDC,WAAW,CACX,CAAA;AACF,GAAA;AACD,CAAC,CAAA;AASM,MAAMG,mBAAmB,GAAG,MAClCnB,OAAgB,IAEhBG,KAAK,CACHS,GAAG,CAAE,CAAwBZ,sBAAAA,EAAAA,OAAO,CAACC,SAAU,EAAC,EAAE;EAClDM,OAAO,EAAEP,OAAO,CAACZ,GAAG;EACpBgC,cAAc,EAAGC,MAAM,IAAKA,MAAM,KAAK,GAAG,IAAIA,MAAM,KAAK,GAAA;AAC1D,CAAC,CAAC,CACDC,IAAI,CAAC,CAAC;AAAEvB,EAAAA,IAAAA;AAAK,CAAC,KAAMwB,KAAK,CAACC,OAAO,CAACzB,IAAI,CAAC,GAAGA,IAAI,GAAGN,SAAU,CAAC,CAAA;AAE/D,MAAMwB,kBAAkB,GAAG,CAAC7B,GAAW,EAAEqC,IAAY,EAAET,WAAmB,KACzEb,KAAK,CACHC,IAAI,CAACqB,IAAI,EAAEC,EAAE,CAACC,gBAAgB,CAACX,WAAW,CAAC,EAAE;AAC7CT,EAAAA,OAAO,EAAEnB,GAAAA;AACV,CAAC,CAAC,CACDkC,IAAI,CAAC,CAAC;EAAEvB,IAAI;AAAEsB,EAAAA,MAAAA;AAAO,CAAC,KAAK;AAC3B,EAAA,IAAIO,UAAe,CAAA;AAEnB,EAAA,IAAI,OAAO7B,IAAI,KAAK,QAAQ,EAAE;IAC7B,IAAI;AACH6B,MAAAA,UAAU,GAAGvB,IAAI,CAACwB,KAAK,CAAC9B,IAAI,CAAC,CAAA;AAC9B,KAAC,CAAC,OAAOmB,GAAG,EAAE,EAAC;AAChB,GAAC,MAAM,IAAI,OAAOnB,IAAI,KAAK,QAAQ,EAAE;AACpC6B,IAAAA,UAAU,GAAG7B,IAAI,CAAA;AAClB,GAAA;EAEA,IAAI6B,UAAU,KAAKnC,SAAS,EAAE;IAC7B,IAAI,OAAO,IAAImC,UAAU,IAAIA,UAAU,CAAC1B,KAAK,KAAK,SAAS,EAAE;MAC5D,MAAM,IAAIM,KAAK,CAACoB,UAAU,CAACE,QAAQ,IAAIF,UAAU,CAAC1B,KAAK,CAAC,CAAA;AACzD,KAAA;AACD,GAAA;EAEA,IAAImB,MAAM,IAAI,GAAG,EAAE;IAClB,IAAIO,UAAU,KAAKnC,SAAS,EAAE;MAC7B,IAAIsC,IAAI,GAAG,EAAE,CAAA;AAEb,MAAA,KAAK,MAAMC,GAAG,IAAIJ,UAAU,EAAE;QAC7BG,IAAI,IAAIC,GAAG,GAAG,MAAM,CAAA;AACpB,QAAA,IAAI,OAAOJ,UAAU,CAACI,GAAG,CAAC,KAAK,QAAQ,EAAE;AACxCD,UAAAA,IAAI,IAAI1B,IAAI,CAACC,SAAS,CACrBsB,UAAU,CAACI,GAAG,CAAC,EACfvC,SAAS,EACT,CAAC,CACD,CAAA;AACF,SAAC,MAAM;AACNsC,UAAAA,IAAI,IAAIH,UAAU,CAACI,GAAG,CAAC,CAAA;AACxB,SAAA;AACAD,QAAAA,IAAI,IAAI,MAAM,CAAA;AACf,OAAA;AAEA,MAAA,MAAM,IAAIvB,KAAK,CAACuB,IAAI,CAAC,CAAA;AACtB,KAAA;AAEA,IAAA,MAAM,IAAIvB,KAAK,CAACT,IAAI,CAAC,CAAA;AACtB,GAAA;AAEA,EAAA,OAAOA,IAAI,CAAA;AACZ,CAAC,CAAC;;AC9JG,MAAMkC,gCAAgC,GAAG,CAC/CC,QAAkC,EAClCC,QAA4B,EAC5BC,cAA8B,KAC1B;AACJ,EAAA,MAAMC,OAAO,GAAG,IAAIC,KAAK,EAAE,CAAA;AAE3BD,EAAAA,OAAO,CAACE,IAAI,CAAC,eAAe,EAAElC,IAAI,CAACC,SAAS,CAAC8B,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAEtE,EAAA,MAAMI,KAAK,GAAGC,gCAAgC,CAACP,QAAQ,CAAC,CAAA;EAExD,IAAIM,KAAK,KAAK/C,SAAS,EAAE;AACxB4C,IAAAA,OAAO,CAACE,IAAI,CAAC,aAAa,EAAElC,IAAI,CAACC,SAAS,CAACkC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAC5D,GAAA;EAEAH,OAAO,CAACE,IAAI,CACXJ,QAAQ,CAACO,IAAI,EACbhB,EAAE,CAACC,gBAAgB,CAACF,IAAI,CAACkB,IAAI,CAACT,QAAQ,CAACT,IAAI,EAAEU,QAAQ,CAACO,IAAI,CAAC,CAAC,CAC5D,CAAA;AAED,EAAA,OAAOL,OAAO,CAAA;AACf,CAAC,CAAA;AAED,IAAIO,cAA4C,CAAA;AAEhD,MAAMC,cAAwC,GAAG,CAChD,YAAY,EACZ,MAAM,EACN,OAAO,CACP,CAAA;AAED,MAAMC,iBAA2C,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;AAErE,MAAMC,uBAAuB,GAAG,OACtCC,iBAAoC,EACpCC,eAAgC,EAChClD,IAAoB,KAChB;EACJ,MAAM;IAAEU,MAAM;AAAEyC,IAAAA,SAAAA;AAAU,GAAC,GAAGC,uBAAuB,CAACpD,IAAI,CAAC,CAAA;EAE3D,MAAMqD,OAAO,GAAIC,IAAY,IAAKC,iBAAiB,CAACvD,IAAI,CAACwD,OAAO,EAAEF,IAAI,CAAC,CAAA;EAEvE,IAAIT,cAAc,KAAKnD,SAAS,EAAE;IACjCmD,cAAc,GAAG,MAAMzC,KAAK,CAC1BS,GAAG,CACH,oEAAoE,CACpE,CACAU,IAAI,CAAC,CAAC;AAAEvB,MAAAA,IAAAA;KAAM,KACd,IAAIyD,GAAG,CAAC;AACPC,MAAAA,WAAW,EAAE,IAAI;AACjBC,MAAAA,SAAS,EAAE,IAAI;AACfC,MAAAA,gBAAgB,EAAE,IAAI;AACtBC,MAAAA,WAAW,EAAE,OAAO;AACpBhB,MAAAA,cAAc,EAAE,KAAA;AACjB,KAAC,CAAC,CAACiB,OAAO,CAAC9D,IAAI,CAAC,CAChB,CAAA;AACH,GAAA;AAEA,EAAA,MAAM+D,WAAW,GAAGrC,IAAI,CAACkB,IAAI,CAC5BoB,sBAAsB,CAACf,iBAAiB,CAAC,EACxC,CAAEjD,EAAAA,IAAI,CAACwD,OAAQ,SAAQ,CACxB,CAAA;EAED,MAAMS,iBAA2B,GAAG,CACnCf,eAAe,CAACxB,IAAI,EACpBwB,eAAe,CAACgB,UAAU,CAC1B,CAAA;EAED,IAAIf,SAAS,KAAK,cAAc,EAAE;IACjCE,OAAO,CAAE,yBAAwB,CAAC,CAAA;AAClCY,IAAAA,iBAAiB,CAACE,IAAI,CAACzC,IAAI,CAACkB,IAAI,CAACM,eAAe,CAACxB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAA;AAClE,GAAA;AAEA,EAAA,MAAMU,QAAQ,GAAGgC,0BAA0B,CAAClB,eAAe,CAAC,CAAA;EAE5D,IAAId,QAAQ,KAAK1C,SAAS,EAAE;AAC3B,IAAA,IAAI0C,QAAQ,CAACiC,OAAO,IAAItB,iBAAiB,CAACuB,QAAQ,CAAClC,QAAQ,CAACmC,IAAI,CAAC,EAAE;MAClElB,OAAO,CAAC,wDAAwD,CAAC,CAAA;MACjEmB,2BAA2B,CAACtB,eAAe,EAAE;AAC5C,QAAA,GAAGd,QAAQ;AACXiC,QAAAA,OAAO,EAAE,KAAA;AACV,OAAC,CAAC,CAAA;AACH,KAAC,MAAM,IACN,CAACjC,QAAQ,CAACiC,OAAO,IACjBvB,cAAc,CAACwB,QAAQ,CAAClC,QAAQ,CAACmC,IAAI,CAAC,EACrC;MACDlB,OAAO,CAAC,uDAAuD,CAAC,CAAA;MAChEmB,2BAA2B,CAACtB,eAAe,EAAE;AAC5C,QAAA,GAAGd,QAAQ;AACXiC,QAAAA,OAAO,EAAE,IAAA;AACV,OAAC,CAAC,CAAA;AACH,KAAA;AACD,GAAA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,EAAA,MAAMI,UAAU,GAAG,IAAIC,GAAG,EAAkB,CAAA;AAE5C,EAAA,KAAK,MAAMC,cAAc,IAAIC,wBAAwB,CAAC1B,eAAe,CAAC,EAAE;AACvE,IAAA,MAAM2B,OAAO,GAAGlD,EAAE,CAACmD,YAAY,CAACH,cAAc,EAAE;AAAEI,MAAAA,QAAQ,EAAE,MAAA;AAAO,KAAC,CAAE,CAAA;AAEtE,IAAA,IAAI/E,IAAoB,CAAA;IAExB,IAAI;AACHA,MAAAA,IAAI,GAAGM,IAAI,CAACwB,KAAK,CAAC+C,OAAO,CAAC,CAAA;KAC1B,CAAC,OAAO1D,GAAG,EAAE;MACb,MAAM6D,YAAY,GAAGtD,IAAI,CAACuD,QAAQ,CACjChC,iBAAiB,CAACvB,IAAI,EACtBiD,cAAc,CACd,CAAA;MAED,IAAIxD,GAAG,YAAY+D,WAAW,EAAE;QAC/B,MAAM,IAAIzE,KAAK,CACb,CAAsCuE,oCAAAA,EAAAA,YAAa,CAAKG,GAAAA,EAAAA,MAAM,CAC9DhE,GAAG,CACF,CAAA,CAAC,CACH,CAAA;AACF,OAAA;AACA,MAAA,MAAM,IAAIV,KAAK,CACb,CAA6EuE,2EAAAA,EAAAA,YAAa,GAAE,EAC7F;AACCI,QAAAA,KAAK,EAAEjE,GAAAA;AACR,OAAC,CACD,CAAA;AACF,KAAA;IAEA0B,cAAc,CAAE7C,IAAI,CAAC,CAAA;AAErByE,IAAAA,UAAU,CAACY,GAAG,CAACrF,IAAI,CAACsF,EAAE,EAAEhF,IAAI,CAACC,SAAS,CAACP,IAAI,CAAC,CAAC,CAAA;AAC9C,GAAA;AAEA,EAAA,IAAIuF,OAA2B,CAAA;EAE/B,IAAI;AACHA,IAAAA,OAAO,GAAG5D,EAAE,CAACmD,YAAY,CAACf,WAAW,EAAE;AAAEgB,MAAAA,QAAQ,EAAE,MAAA;AAAO,KAAC,CAAC,CAAA;GAC5D,CAAC,OAAO5D,GAAG,EAAE;AACb,IAAA,IAAI,CAACqE,aAAa,CAACrE,GAAG,CAAC,EAAE;AACxB,MAAA,MAAMA,GAAG,CAAA;AACV,KAAA;AACD,GAAA;EAEA,IAAIoE,OAAO,KAAK7F,SAAS,EAAE;AAC1B,IAAA,IAAI+E,UAAU,CAACgB,IAAI,KAAK,CAAC,EAAE;AAC1B,MAAA,MAAM,IAAIhF,KAAK,CAAE,CAAA,qCAAA,EAAuCsD,WAAY,CAAA;AACvE,2FAAA,CAA4F,CAAC,CAAA;AAC3F,KAAA;AACD,GAAA;AAEA,EAAA,MAAMzB,OAAO,GAAG,IAAIC,KAAK,EAAE,CAAA;EAE3B,IAAImD,OAAe,GAAG,EAAE,CAAA;AAExB,EAAA,IAAIH,OAAO,EAAE;AACZG,IAAAA,OAAO,GAAGH,OAAO,CAAA;AAClB,GAAA;EAEA,IAAI,CAACG,OAAO,EAAE;IACb,MAAMC,IAAI,GAAG,IAAIC,IAAI,CAACA,IAAI,CAACC,GAAG,EAAE,CAAC,CAAA;IACjCH,OAAO,GAAI,+BAA8BhF,MAAO,CAAA;AAClD,kBAAA,EAAoBiF,IAAI,CAACG,WAAW,EAAG,CAA8C,6CAAA,CAAA,CAAA;AACpF,GAAA;AAEA,EAAA,IAAIrB,UAAU,CAACgB,IAAI,GAAG,CAAC,EAAE;IACxB,MAAMM,UAAU,GAAG/F,IAAI,CAACgG,KAAK,CAACC,KAAK,CAAC,GAAG,CAAC,CAAA;AACxC,IAAA,MAAMC,KAAK,GAAGlG,IAAI,CAACgG,KAAK,CAAA;AAExBN,IAAAA,OAAO,IAAIS,eAAe,CAACJ,UAAU,CAAC,CAAA;IAEtC,KAAK,MAAM,CAAChF,IAAI,EAAEf,IAAI,CAAC,IAAIyE,UAAU,EAAE;MACtCiB,OAAO,IAAK,GAAEQ,KAAM,CAAA,CAAA,EAAGnF,IAAK,CAAI,GAAA,CAAA,GAAGf,IAAI,GAAG,GAAG,CAAA;MAC7CuD,iBAAiB,CAChBnB,QAAQ,CAACoB,OAAO,EACf,mBAAkB0C,KAAM,CAAA,CAAA,EAAGnF,IAAK,CAAA,CAAC,CAClC,CAAA;AACF,KAAA;AACD,GAAA;EAEA,MAAMqF,YAAY,GAAG,MAAMC,MAAM,CAACC,MAAM,CAACZ,OAAO,EAAE;AAAEa,IAAAA,IAAI,EAAE,CAAA;AAAE,GAAC,CAAC,CAAA;AAE9DjE,EAAAA,OAAO,CAACE,IAAI,CAAE,CAAA,EAAExC,IAAI,CAACwD,OAAQ,CAAA,GAAA,CAAI,EAAE4C,YAAY,CAACI,IAAI,CAAE,CAAA;AACtDlE,EAAAA,OAAO,CAACE,IAAI,CAAE,CAAA,aAAA,CAAc,EAAElC,IAAI,CAACC,SAAS,CAACP,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAE5D,EAAA,MAAMyG,YAAY,GAAGC,uBAAuB,CAACxD,eAAe,CAAC,CAAA;EAE7D,IAAIuD,YAAY,KAAK/G,SAAS,EAAE;AAC/B4C,IAAAA,OAAO,CAACE,IAAI,CAAE,CAAA,WAAA,CAAY,EAAElC,IAAI,CAACC,SAAS,CAACkG,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AACnE,GAAA;AAEA,EAAA,KAAK,MAAME,SAAS,IAAI1C,iBAAiB,EAAE;IAC1C,IAAI;MACH,KAAK,MAAMzB,IAAI,IAAIb,EAAE,CAACiF,WAAW,CAACD,SAAS,CAAC,EAAE;QAC7C,MAAM;AAAEE,UAAAA,GAAAA;AAAI,SAAC,GAAGnF,IAAI,CAACI,KAAK,CAACU,IAAI,CAAC,CAAA;AAEhC,QAAA,QAAQqE,GAAG;AACV,UAAA,KAAK,MAAM,CAAA;AACX,UAAA,KAAK,OAAO,CAAA;AACZ,UAAA,KAAK,MAAM;AACV,YAAA,MAAA;AACD,UAAA;AACC,YAAA,SAAA;AAAS,SAAA;AAGXvE,QAAAA,OAAO,CAACE,IAAI,CACXA,IAAI,EACJb,EAAE,CAACC,gBAAgB,CAACF,IAAI,CAACkB,IAAI,CAAC+D,SAAS,EAAEnE,IAAI,CAAC,CAAC,CAC/C,CAAA;AACF,OAAA;KACA,CAAC,OAAOrB,GAAG,EAAE;AACb2F,MAAAA,OAAO,CAACC,KAAK,CAAE,CAAoBJ,kBAAAA,EAAAA,SAAU,kBAAiB,CAAC,CAAA;AAChE,KAAA;AACD,GAAA;AAEA,EAAA,OAAOrE,OAAO,CAAA;AACf,CAAC,CAAA;AAED,MAAM6D,eAAe,GAAIa,KAAe,IAAK;AAC5C,EAAA,IAAIR,IAAI,GAAI,CAAA,IAAA,EAAMQ,KAAK,CAAC,CAAC,CAAE,CAAE,CAAA,CAAA,CAAA;AAE7B,EAAA,KAAK,IAAIvE,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGuE,KAAK,CAACC,MAAM,EAAExE,KAAK,EAAE,EAAE;AAClD,IAAA,MAAMf,IAAI,GAAGsF,KAAK,CAACE,KAAK,CAAC,CAAC,EAAEzE,KAAK,GAAG,CAAC,CAAC,CAACG,IAAI,CAAC,GAAG,CAAC,CAAA;AAEhD4D,IAAAA,IAAI,IAAK,CAAA,GAAA,EAAK9E,IAAK,CAAA,GAAA,EAAKA,IAAK,CAAS,QAAA,CAAA,CAAA;AACvC,GAAA;AAEA,EAAA,OAAO8E,IAAI,CAAA;AACZ,CAAC;;AChMYW,MAAAA,aAAa,GAAG,MAAOC,OAA6B,IAAK;AACrE,EAAA,MAAMC,SAAS,GAAGC,eAAe,CAACF,OAAO,CAACG,GAAG,CAAC,CAAA;EAC9C,MAAMpF,QAAQ,GAAGqF,aAAa,CAACH,SAAS,EAAED,OAAO,CAACT,SAAS,CAAC,CAAA;EAE5D,MAAM;AAAEc,IAAAA,KAAK,EAAEC,gBAAgB;AAAEC,IAAAA,KAAK,EAAEC,gBAAAA;AAAiB,GAAC,GACzDC,qBAAqB,CAAC1F,QAAQ,CAAC,CAAA;AAEhC,EAAA,MAAM2F,kBAAkB,GAAG1D,0BAA0B,CAACjC,QAAQ,CAAC,CAAA;AAC/D,EAAA,MAAM4F,eAAe,GAAGD,kBAAkB,CAACtE,OAAO,CAAA;EAClD,MAAM;IAAE9C,MAAM;AAAEyC,IAAAA,SAAAA;AAAU,GAAC,GAAGC,uBAAuB,CAAC0E,kBAAkB,CAAC,CAAA;AAEzE,EAAA,MAAME,aAAa,GAAGZ,OAAO,CAAC1G,MAAM,IAAIA,MAAM,CAAA;AAC9C,EAAA,MAAMuH,gBAAgB,GAAGb,OAAO,CAACjE,SAAS,IAAIA,SAAS,CAAA;AAEvD,EAAA,MAAM+E,iBAAiB,GAAGC,wBAAwB,CAACd,SAAS,CAAC,CAAA;AAE7D,EAAA,IAAIe,UAA0B,CAAA;EAC9B,IAAI;AACHA,IAAAA,UAAU,GAAGC,sBAAsB,CAACjB,OAAO,CAACgB,UAAU,CAAC,CAAA;GACvD,CAAC,OAAOjH,GAAG,EAAE;AACb,IAAA,MAAM,IAAIV,KAAK,CAAE,CAAA,+CAAA,CAAgD,CAAC,CAAA;AACnE,GAAA;AAEA,EAAA,IAAI2H,UAAU,CAACE,WAAW,GAAG,GAAG,EAAE;IACjCF,UAAU,CAACG,UAAU,GAAG;AACvBzI,MAAAA,IAAI,EAAE,MAAM;MACZkB,OAAO,EAAEoH,UAAU,CAACE,WAAAA;KACpB,CAAA;AACF,GAAC,MAAM,IAAIF,UAAU,CAACE,WAAW,GAAG,GAAG,EAAE;IACxCF,UAAU,CAACG,UAAU,GAAG;AACvBzI,MAAAA,IAAI,EAAE,OAAO;AACbkB,MAAAA,OAAO,EAAEoH,UAAU,CAACE,WAAW,GAAG,GAAA;KAClC,CAAA;AACF,GAAA;EAEA,IAAIJ,iBAAiB,KAAKxI,SAAS,EAAE;AACpC6D,IAAAA,iBAAiB,CAChBuE,kBAAkB,CAACtE,OAAO,EACzB,kEAAiE,CAClE,CAAA;IACDgF,QAAQ,CAAE,aAAY,EAAE;AAAEzD,MAAAA,QAAQ,EAAE,OAAO;MAAEwC,GAAG,EAAEF,SAAS,CAAC3F,IAAAA;AAAK,KAAC,CAAC,CAAA;AACpE,GAAA;AAEA,EAAA,MAAM+G,MAAM,GAAGzE,sBAAsB,CAACqD,SAAS,CAAC,CAAA;AAChD1F,EAAAA,EAAE,CAAC+G,SAAS,CAACD,MAAM,EAAE;AAAEE,IAAAA,SAAS,EAAE,IAAA;AAAK,GAAC,CAAC,CAAA;AAEzC,EAAA,IAAIC,yBAA4D,CAAA;AAEhE,EAAA,IAAIC,sBAA8B,CAAA;AAElC,EAAA;AACC,IAAA,MAAMC,sBAAsB,GAAGV,UAAU,CAACW,KAAK,EAAE,CAAA;IACjDD,sBAAsB,CAACP,UAAU,GAAG7I,SAAS,CAAA;AAC7C,IAAA,MAAMsJ,gBAAgB,GAAGF,sBAAsB,CAACG,eAAe,CAAC;AAC/DX,MAAAA,WAAW,EAAE,IAAA;AACd,KAAC,CAAC,CAAA;AACFO,IAAAA,sBAAsB,GAAI,CAAEf,EAAAA,kBAAkB,CAACtE,OAAQ,CAAA,CAAA,EAAGwF,gBAAiB,CAAC,CAAA,CAAA;AAE5EJ,IAAAA,yBAAyB,GAAG;MAC3B7H,IAAI,EAAE+G,kBAAkB,CAACtE,OAAO;AAChCxC,MAAAA,OAAO,EAAEgI,gBAAAA;KACT,CAAA;AACF,GAAA;EAEA,MAAM/H,WAAW,GAAGS,IAAI,CAACkB,IAAI,CAAC6F,MAAM,EAAEI,sBAAsB,GAAG,MAAM,CAAC,CAAA;EAEtE,IAAI;IACH,IAAIzB,OAAO,CAAC8B,QAAQ,EAAE;AACrB,MAAA,IAAI,CAACvH,EAAE,CAACwH,UAAU,CAAClI,WAAW,CAAC,EAAE;AAChC,QAAA,MAAM,IAAIR,KAAK,CACb,CAAuCQ,qCAAAA,EAAAA,WAAY,8BAA6B,CACjF,CAAA;AACF,OAAA;AACD,KAAC,MAAM;MACN,MAAMmI,qBAAqB,GAAG,MAAMC,4BAA4B,CAC/DhC,SAAS,EACTlF,QAAQ,CACR,CAAA;AAEDuF,MAAAA,gBAAgB,CAACK,eAAe,EAAEK,UAAU,CAAC,CAAA;MAE7C,MAAMkB,UAAU,GACfpB,iBAAiB,KAAKxI,SAAS,GAC5B6J,sBAAsB,CAACrB,iBAAiB,CAAC,GACzCxI,SAAS,CAAA;AAEb,MAAA,MAAM8J,YAAY,CAAC;AAClB,QAAA,GAAGpC,OAAO;AACVqC,QAAAA,WAAW,EAAE,CAACtH,QAAQ,CAACT,IAAI,CAAC;AAC5BgI,QAAAA,0BAA0B,EAAE,IAAI;AAChCC,QAAAA,MAAM,EAAEvC,OAAO,CAACuC,MAAM,GACnB;AACA3H,UAAAA,IAAI,EAAEsH,UAAU;UAChBM,MAAM,EAAER,qBAAqB,CAACQ,MAAM;UACpCC,WAAW,EAAET,qBAAqB,CAACU,KAAK;AACxC9I,UAAAA,OAAO,EAAEoH,UAAU,CAACa,eAAe,CAAC;AACnCX,YAAAA,WAAW,EAAE,IAAA;AACd,WAAC,CAAC;AACF3C,UAAAA,IAAI,EAAE,IAAIC,IAAI,CAACA,IAAI,CAACC,GAAG,EAAE,CAAA;AACzB;AACA;AACA;AACA,SAAC,GACDnG,SAAAA;AACJ,OAAC,CAAC,CAAA;MAEF0I,UAAU,CAACG,UAAU,GAAG7I,SAAS,CAAA;MAEjC,IAAI;AACHiC,QAAAA,EAAE,CAACoI,MAAM,CAAC9I,WAAW,CAAC,CAAA;OACtB,CAAC,OAAOE,GAAG,EAAE;AACb,QAAA,IAAI,CAACqE,aAAa,CAACrE,GAAG,CAAC,EAAE;AACxB,UAAA,MAAMA,GAAG,CAAA;AACV,SAAA;AACD,OAAA;MAEA,MAAMmB,OAAO,GAAG,MAAMU,uBAAuB,CAC5CqE,SAAS,EACTlF,QAAQ,EACR2F,kBAAkB,CAClB,CAAA;AAED,MAAA,MAAMkC,eAAe,GAAGrI,EAAE,CAACsI,iBAAiB,CAAChJ,WAAW,CAAC,CAAA;MACzD,MAAMiJ,QAAQ,CAAC5H,OAAO,CAAC6H,kBAAkB,EAAE,EAAEH,eAAe,CAAC,CAAA;AAC9D,KAAA;AAEA,IAAA,IAAI,CAAC5C,OAAO,CAACgD,QAAQ,EAAE;AACtB,MAAA,IAAI,CAAChD,OAAO,CAAC9H,cAAc,EAAE;AAC5B,QAAA,MAAM,IAAImB,KAAK,CAAE,CAAA,uCAAA,CAAwC,CAAC,CAAA;AAC3D,OAAA;AAEA8C,MAAAA,iBAAiB,CAChBuE,kBAAkB,CAACtE,OAAO,EACzB,uCAAsC,CACvC,CAAA;AAED,MAAA,MAAM6G,cAAc,GAAG,MAAMC,oBAAoB,CAAC;QACjDjL,GAAG,EAAE+H,OAAO,CAACmD,OAAO;QACpBC,OAAO,EAAEpD,OAAO,CAACoD,OAAO;AACxB9J,QAAAA,MAAM,EAAEsH,aAAa;AACrBrH,QAAAA,SAAS,EAAEsH,gBAAgB;QAC3B3I,cAAc,EAAE8H,OAAO,CAAC9H,cAAAA;AACzB,OAAC,CAAC,CAAA;MAEF,IAAI;AACH,QAAA,IACC,EAAE,MAAMmL,sBAAsB,CAC7BpD,SAAS,EACTS,kBAAkB,EAClBuC,cAAc,EACdjD,OAAO,CAACsD,QAAQ,CAChB,CAAC,EACD;AACDnH,UAAAA,iBAAiB,CAChBuE,kBAAkB,CAACtE,OAAO,EAC1B,wHAAwH,CACxH,CAAA;AACF,SAAA;QAEAD,iBAAiB,CAChBuE,kBAAkB,CAACtE,OAAO,EACzB,wBAAuBwE,aAAc,CAAA,CAAA,EAAGC,gBAAiB,CAAA,CAAC,CAC3D,CAAA;AAED,QAAA,MAAM0C,aAA0B,CAC/BN,cAAc,CAACO,gBAAgB,EAAE,EACjChC,yBAAyB,EACzB3H,WAAW,CACX,CAAA;AACF,OAAC,SAAS;QACT,MAAMoJ,cAAc,CAACQ,OAAO,EAAE,CAACC,KAAK,CAAE3J,GAAG,IAAK;UAC7CoC,iBAAiB,CAChBuE,kBAAkB,CAACtE,OAAO,EACzB,CAA8CrC,4CAAAA,EAAAA,GAAI,EAAC,CACpD,CAAA;AACF,SAAC,CAAC,CAAA;AACH,OAAA;AACD,KAAA;GACA,CAAC,OAAOA,GAAG,EAAE;AACbyG,IAAAA,gBAAgB,EAAE,CAAA;AAClB,IAAA,MAAMzG,GAAG,CAAA;AACV,GAAA;EAEA,IAAIiH,UAAU,CAACE,WAAW,IAAI,GAAG,IAAI,CAAClB,OAAO,CAAC8B,QAAQ,EAAE;AACvD3F,IAAAA,iBAAiB,CAChBwE,eAAe,EACfgD,SAAS,CAAC,2BAA2B,CAAC,CACtC,CAAA;AAED,IAAA,MAAMC,WAAW,GAAI,CAAEnC,EAAAA,sBAAuB,CAAK,IAAA,CAAA,CAAA;AACnD,IAAA,MAAMoC,YAAY,GAAGC,2BAA2B,CAAC/I,QAAQ,CAAC,CAAA;AAE1DR,IAAAA,EAAE,CAAC+G,SAAS,CAACuC,YAAY,EAAE;AAAEtC,MAAAA,SAAS,EAAE,IAAA;AAAK,KAAC,CAAC,CAAA;AAC/ChH,IAAAA,EAAE,CAACwJ,YAAY,CAAClK,WAAW,EAAES,IAAI,CAACkB,IAAI,CAACqI,YAAY,EAAED,WAAW,CAAC,CAAC,CAAA;AACnE,GAAA;AACD,EAAC;AAED,MAAMP,sBAAsB,GAAG,OAC9BxH,iBAAoC,EACpCZ,cAA8B,EAC9BgI,cAA8B,EAC9BK,QAAkB,KACd;AAMJ,EAAA,MAAMU,SAAS,GAAGC,6BAA6B,CAACpI,iBAAiB,CAAC,CAAA;;AAElE;AACA,EAAA,IAAImI,SAAS,CAACnE,MAAM,KAAK,CAAC,EAAE;AAC3B,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;AAEA,EAAA,MAAMqE,aAAa,GAAGjB,cAAc,CAACO,gBAAgB,EAAE,CAAA;EAEvD,MAAMW,mBAAmB,GAAG,MAAMZ,mBAAgC,CACjEW,aAAa,CACb,CAAA;EAED,IAAIC,mBAAmB,KAAK7L,SAAS,EAAE;AACtC,IAAA,OAAO,KAAK,CAAA;AACb,GAAA;AAEA,EAAA,MAAM8L,gBAAgB,GAAGD,mBAAmB,CAACE,GAAG,CAC9CC,KAAK,IAAsB;AAC3B,IAAA,IAAI1K,OAAuB,CAAA;IAE3B,IAAI;AACHA,MAAAA,OAAO,GAAG2K,8BAA8B,CAACD,KAAK,CAACE,cAAc,CAAC,CAAA;KAC9D,CAAC,OAAOzK,GAAG,EAAE;MACb,MAAM,IAAIV,KAAK,CACb,CAAA,uCAAA,EAAyCiL,KAAK,CAACE,cAAe,EAAC,CAChE,CAAA;AACF,KAAA;AAEA,IAAA,IAAI5K,OAAO,CAACsH,WAAW,GAAG,GAAG,EAAE;MAC9BtH,OAAO,CAACuH,UAAU,GAAG;AACpBzI,QAAAA,IAAI,EAAE,MAAM;QACZkB,OAAO,EAAEA,OAAO,CAACsH,WAAAA;OACjB,CAAA;AACF,KAAC,MAAM,IAAItH,OAAO,CAACsH,WAAW,GAAG,GAAG,EAAE;MACrCtH,OAAO,CAACuH,UAAU,GAAG;AACpBzI,QAAAA,IAAI,EAAE,OAAO;AACbkB,QAAAA,OAAO,EAAEA,OAAO,CAACsH,WAAW,GAAG,GAAA;OAC/B,CAAA;AACF,KAAA;IAEA,OAAO;AACN,MAAA,GAAGoD,KAAK;AACR1K,MAAAA,OAAAA;KACA,CAAA;AACF,GAAC,CACD,CAAA;AAED,EAAA,KAAK,MAAM6K,eAAe,IAAIT,SAAS,EAAE;AACxC,IAAA,MAAMU,eAAe,GACpBC,+BAA+B,CAACF,eAAe,CAAC,CAAA;AACjD,IAAA,MAAMG,qBAAqB,GAC1BC,mCAAmC,CAACJ,eAAe,CAAC,CAAA;AAErD,IAAA,IACCG,qBAAqB,KAAKtM,SAAS,IACnCoM,eAAe,CAACnJ,IAAI,KAAKjD,SAAS,IAClCsM,qBAAqB,CAACxI,OAAO,KAAKnB,cAAc,CAACmB,OAAO,EACvD;AACD,MAAA,SAAA;AACD,KAAA;IAEA,MAAM0I,cAAc,GAAGC,cAAc,CAACC,eAAe,CACpDN,eAAe,CAAC9K,OAAO,CACvB,CAAA;IAED,IAAIkL,cAAc,CAAC3D,UAAU,EAAE;AAC9B2D,MAAAA,cAAc,CAAC5D,WAAW,GAAG4D,cAAc,CAAC3D,UAAU,CAACvH,OAAO,CAAA;MAC9DkL,cAAc,CAAC3D,UAAU,GAAG7I,SAAS,CAAA;AACtC,KAAC,MAAM;MACNwM,cAAc,CAAC5D,WAAW,GAAG,GAAG,CAAA;AACjC,KAAA;AAEA,IAAA,IAAI+D,uBAAoD,CAAA;AACxD,IAAA,IAAIC,uBAAoD,CAAA;AAExD,IAAA,KAAK,MAAMC,eAAe,IAAIf,gBAAgB,EAAE;AAC/C,MAAA,IAAIe,eAAe,CAACrG,KAAK,KAAK8F,qBAAqB,CAACxI,OAAO,EAAE;QAC5D,IAAI+I,eAAe,CAACC,OAAO,EAAE;AAC5BH,UAAAA,uBAAuB,GAAGE,eAAe,CAAA;AAC1C,SAAC,MAAM;AACND,UAAAA,uBAAuB,GAAGC,eAAe,CAAA;AAC1C,SAAA;AACD,OAAA;AACD,KAAA;AAEA,IAAA,MAAME,aAAa,GAClBJ,uBAAuB,KAAK3M,SAAS,IACrC,CAAC2M,uBAAuB,CAACrL,OAAO,CAAC0L,YAAY,CAACR,cAAc,CAAC,CAAA;AAC9D,IAAA,MAAMS,aAAa,GAClBL,uBAAuB,KAAK5M,SAAS,IACrC,CAAC4M,uBAAuB,CAACtL,OAAO,CAAC0L,YAAY,CAACR,cAAc,CAAC,CAAA;IAE9D,IAAIO,aAAa,IAAIE,aAAa,EAAE;AACnC,MAAA,IACCrB,aAAa,CAAC3K,SAAS,KAAK,QAAQ,KACnC0L,uBAAuB,KAAK3M,SAAS,IACrC4M,uBAAuB,KAAK5M,SAAS,CAAC,EACtC;AACD6D,QAAAA,iBAAiB,CAChBlB,cAAc,CAACmB,OAAO,EACrB,CAAA,QAAA,EAAUwI,qBAAqB,CAACxI,OAAQ,CAAmC8H,iCAAAA,EAAAA,aAAa,CAAC3K,SAAU,CAAA,qBAAA,EAAuB2K,aAAa,CAAC3K,SAAU,gBAAe,CAClK,CAAA;AACF,OAAA;AACA,MAAA,SAAA;AACD,KAAA;IAEA4C,iBAAiB,CAChBlB,cAAc,CAACmB,OAAO,EACrB,CAA6B0I,2BAAAA,EAAAA,cAAc,CAACjD,eAAe,CAAC;AAC5DX,MAAAA,WAAW,EAAE,IAAA;AACd,KAAC,CAAE,CAAe0D,aAAAA,EAAAA,qBAAqB,CAACxI,OAAQ,EAAC,CACjD,CAAA;AAED,IAAA,IAAI8H,aAAa,CAAC3K,SAAS,KAAK,QAAQ,IAAI2L,uBAAuB,EAAE;AACpE,MAAA,MAAMtL,OAAO,GAAGsL,uBAAuB,CAACtL,OAAO,CAACiI,eAAe,CAAC;AAC/DX,QAAAA,WAAW,EAAE,IAAA;AACd,OAAC,CAAC,CAAA;AAEF/E,MAAAA,iBAAiB,CAChBlB,cAAc,CAACmB,OAAO,EACrB,yBAAwBxC,OAAQ,CAAA,aAAA,EAAegL,qBAAqB,CAACxI,OAAQ,CAAM8H,IAAAA,EAAAA,aAAa,CAAC3K,SAAU,EAAC,CAC7G,CAAA;AACF,KAAA;AACA,IAAA,IAAI0L,uBAAuB,EAAE;AAC5B,MAAA,MAAMrL,OAAO,GAAGqL,uBAAuB,CAACrL,OAAO,CAACiI,eAAe,CAAC;AAC/DX,QAAAA,WAAW,EAAE,IAAA;AACd,OAAC,CAAC,CAAA;MAEF,IAAIsE,OAAO,GAAI,CAAwB5L,sBAAAA,EAAAA,OAAQ,gBAAegL,qBAAqB,CAACxI,OAAQ,CAAW,UAAA,CAAA,CAAA;AAEvG,MAAA,IACC8H,aAAa,CAAC3K,SAAS,KAAK,QAAQ,IACpC2L,uBAAuB,EACtB;AACDM,QAAAA,OAAO,IAAK,CAAA,iEAAA,EAAmEtB,aAAa,CAAC3K,SAAU,CAAC,CAAA,CAAA;AACzG,OAAA;AAEA4C,MAAAA,iBAAiB,CAAClB,cAAc,CAACmB,OAAO,EAAEoJ,OAAO,CAAC,CAAA;AACnD,KAAA;AAEA,IAAA,MAAMC,eAAyB,GAAG,CAAC,QAAQ,CAAC,CAAA;AAE5C,IAAA,IAAIvB,aAAa,CAAC3K,SAAS,KAAK,QAAQ,EAAE;AACzCkM,MAAAA,eAAe,CAAC1I,IAAI,CAACmH,aAAa,CAAC3K,SAAS,CAAC,CAAA;AAC9C,KAAA;AAEA,IAAA,MAAMmM,iBAAiB,GAAG,MAAMpC,QAAQ,CAACqC,GAAG,CAAC;AAC5CH,MAAAA,OAAO,EAAG,CAAA,mDAAA,EAAqDZ,qBAAqB,CAACxI,OAAQ,CAAyC,wCAAA,CAAA;AACtI4D,MAAAA,OAAO,EAAE,CAAC,GAAGyF,eAAe,EAAE,MAAM,CAAC;MACrCG,OAAO,EAAEH,eAAe,CAAC,CAAC,CAAA;AAC3B,KAAC,CAAC,CAAA;IAEF,IAAIC,iBAAiB,KAAK,MAAM,EAAE;AACjC,MAAA,SAAA;AACD,KAAA;IAEA,MAAMxK,OAAO,GAAGJ,gCAAgC,CAC/C2J,eAAe,EACfC,eAAe,EACfE,qBAAqB,CACrB,CAAA;AAED,IAAA,MAAMhD,gBAAgB,GAAGkD,cAAc,CAACjD,eAAe,CAAC;AACvDX,MAAAA,WAAW,EAAE,IAAA;AACd,KAAC,CAAC,CAAA;IACF,MAAMO,sBAAsB,GAAI,CAAEmD,EAAAA,qBAAqB,CAACxI,OAAQ,CAAA,CAAA,EAAGwF,gBAAiB,CAAC,CAAA,CAAA;AAErF,IAAA,MAAM/H,WAAW,GAAGS,IAAI,CAACkB,IAAI,CAC5BoB,sBAAsB,CAACf,iBAAiB,CAAC,EACxC,CAAE4F,EAAAA,sBAAuB,MAAK,CAC/B,CAAA;IAED,IAAI;AACHlH,MAAAA,EAAE,CAACoI,MAAM,CAAC9I,WAAW,CAAC,CAAA;KACtB,CAAC,OAAOE,GAAG,EAAE;AACb,MAAA,IAAI,CAACqE,aAAa,CAACrE,GAAG,CAAC,EAAE;AACxB,QAAA,MAAMA,GAAG,CAAA;AACV,OAAA;AACD,KAAA;AAEA,IAAA,MAAM6I,eAAe,GAAGrI,EAAE,CAACsI,iBAAiB,CAAChJ,WAAW,CAAC,CAAA;IACzD,MAAMiJ,QAAQ,CAAC5H,OAAO,CAAC6H,kBAAkB,EAAE,EAAEH,eAAe,CAAC,CAAA;AAE7D,IAAA,MAAM/J,OAAO,GACZ6M,iBAAiB,KAAK,QAAQ,GAC3B,MAAMzC,cAAc,CAAC4C,gBAAgB,EAAE,GACvC3B,aAAa,CAAA;IAEjB/H,iBAAiB,CAChBlB,cAAc,CAACmB,OAAO,EACrB,CAAoBwI,kBAAAA,EAAAA,qBAAqB,CAACxI,OAAQ,CAAA,cAAA,EAAgBwF,gBAAiB,CAAM/I,IAAAA,EAAAA,OAAO,CAACS,MAAO,CAAA,CAAA,EAAGT,OAAO,CAACU,SAAU,EAAC,CAC/H,CAAA;AAED,IAAA,MAAMgK,aAA0B,CAC/B1K,OAAO,EACP;MACCc,IAAI,EAAEiL,qBAAqB,CAACxI,OAAO;AACnCxC,MAAAA,OAAO,EAAEgI,gBAAAA;KACT,EACD/H,WAAW,CACX,CAAA;AACF,GAAA;AAEA,EAAA,OAAO,IAAI,CAAA;AACZ,CAAC,CAAA;AAQD,MAAMqJ,oBAAoB,GAAG,MAC5B/K,MAAuC,IACV;EAC7B,MAAM+L,aAAa,GAAG,MAAMX,YAAyB,CAACpL,MAAM,CAAC,CAAA;AAC7D,EAAA,IAAI2N,aAA+C,CAAA;EAEnD,OAAO;AACND,IAAAA,gBAAgB,EAAE,YAAY;AAC7B,MAAA,IAAI3B,aAAa,CAAC3K,SAAS,KAAK,QAAQ,EAAE;AACzC,QAAA,OAAO2K,aAAa,CAAA;AACrB,OAAA;MAEA,IAAI4B,aAAa,KAAKxN,SAAS,EAAE;AAChCwN,QAAAA,aAAa,GAAG,MAAMvC,YAAyB,CAAC;AAC/C,UAAA,GAAGpL,MAAM;AACToB,UAAAA,SAAS,EAAE,QAAA;AACZ,SAAC,CAAC,CAAA;AACH,OAAA;AAEA,MAAA,OAAOuM,aAAa,CAAA;KACpB;IAEDtC,gBAAgB,EAAE,MAAMU,aAAa;AAErCT,IAAAA,OAAO,EAAE,YAAY;AACpB,MAAA,MAAMF,YAAyB,CAACW,aAAa,CAAC,CAAA;MAE9C,IAAI4B,aAAa,KAAKxN,SAAS,EAAE;AAChC,QAAA,MAAMiL,YAAyB,CAACuC,aAAa,CAAC,CAAA;AAC/C,OAAA;AACD,KAAA;GACA,CAAA;AACF,CAAC;;;;"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@intelligentgraphics/ig.gfx.packager",
3
- "version": "3.0.0-alpha.5",
4
- "description": "IG.GFX.Packager 3.0.0 Alpha 5 (3.0.0.6)",
3
+ "version": "3.0.0-alpha.7",
4
+ "description": "IG.GFX.Packager 3.0.0 Alpha 7 (3.0.0.8)",
5
5
  "author": "Michael Beier <mb@intelligentgraphics.biz>",
6
6
  "main": "build/index.mjs",
7
7
  "private": false,
@@ -25,27 +25,28 @@
25
25
  "clean": "rimraf build *.tsbuildinfo",
26
26
  "prepublishOnly": "yarn clean && yarn dist",
27
27
  "test": "vitest",
28
- "format": "prettier --write \"**/*.{ts,tsx,json}\""
28
+ "format": "prettier --write \"**/*.{ts,tsx,json}\"",
29
+ "postinstall": "packager postinstall"
29
30
  },
30
31
  "dependencies": {
31
- "ajv": "^8.6.2",
32
- "axios": "^0.21.1",
33
- "core-js": "^3.16.0",
34
- "glob": "^7.1.4",
32
+ "ajv": "^8.12.0",
33
+ "axios": "^1.2.5",
34
+ "core-js": "^3.27.2",
35
+ "glob": "^8.1.0",
35
36
  "inquirer": "^9.1.4",
36
- "jszip": "^3.10.0",
37
+ "jszip": "^3.10.1",
37
38
  "lodash": "^4.17.21",
38
39
  "resolve": "^1.22.1",
39
- "simple-git": "^3.15.1",
40
- "source-map-support": "^0.5.19",
41
- "terser": "^4.8.0",
40
+ "simple-git": "^3.16.0",
41
+ "source-map-support": "^0.5.21",
42
+ "terser": "^5.16.1",
42
43
  "typedoc": "~0.23.2",
43
44
  "typescript": "~4.9.4",
44
- "update-notifier": "^5.1.0",
45
- "v8-compile-cache": "^2.1.1",
46
- "write-pkg": "4",
45
+ "update-notifier": "^6.0.2",
46
+ "v8-compile-cache": "^2.3.0",
47
+ "write-pkg": "^5.1.0",
47
48
  "y18n": "^5.0.8",
48
- "yargs": "^17.0.1"
49
+ "yargs": "^17.6.2"
49
50
  },
50
51
  "devDependencies": {
51
52
  "@babel/preset-env": "^7.18.9",
@@ -54,10 +55,10 @@
54
55
  "@rollup/plugin-commonjs": "^24.0.0",
55
56
  "@rollup/plugin-json": "^6.0.0",
56
57
  "@rollup/plugin-node-resolve": "^15.0.1",
57
- "@types/glob": "^7.1.4",
58
+ "@types/glob": "^8.0.1",
58
59
  "@types/inquirer": "^9.0.3",
59
60
  "@types/node": "^16.4.11",
60
- "@types/update-notifier": "^5.1.0",
61
+ "@types/update-notifier": "^6.0.1",
61
62
  "@types/yargs": "^17.0.2",
62
63
  "rollup": "^3.10.0",
63
64
  "vitest": "^0.28.1"
package/readme.md CHANGED
@@ -6,13 +6,13 @@ node.js (https://nodejs.org/en/download/) >= 16
6
6
 
7
7
  ## Installation
8
8
 
9
- 1\. Install this package globally
9
+ 1\. Install this package as a dev dependency
10
10
 
11
11
  ```sh
12
- npm install -g @intelligentgraphics/ig.gfx.packager@latest
12
+ npm install --save-dev @intelligentgraphics/ig.gfx.packager@latest
13
13
  ```
14
14
 
15
- 2\. Add a build and a release command to the package.json
15
+ 2\. Add build, upload and postinstall commands to the package.json
16
16
 
17
17
  ```json
18
18
  {
@@ -21,6 +21,9 @@ npm install -g @intelligentgraphics/ig.gfx.packager@latest
21
21
  "build": "packager build",
22
22
  "upload": "packager publish",
23
23
  "postinstall": "package postinstall"
24
+ },
25
+ "devDependencies": {
26
+ "@intelligentgraphics/ig.gfx.packager": "^3.0.0"
24
27
  }
25
28
  }
26
29
  ```
@@ -35,6 +38,9 @@ npm install -g @intelligentgraphics/ig.gfx.packager@latest
35
38
  "upload": "packager publish",
36
39
  "postinstall": "package postinstall"
37
40
  },
41
+ "devDependencies": {
42
+ "@intelligentgraphics/ig.gfx.packager": "^3.0.0"
43
+ },
38
44
  "packager": {
39
45
  "banner": "This belongs to a data repo"
40
46
  }
@@ -53,6 +59,9 @@ npm install -g @intelligentgraphics/ig.gfx.packager@latest
53
59
  "upload": "packager publish",
54
60
  "postinstall": "package postinstall"
55
61
  },
62
+ "devDependencies": {
63
+ "@intelligentgraphics/ig.gfx.packager": "^3.0.0"
64
+ },
56
65
  "packager": {
57
66
  "banner": "This file is part of the IG.Graphics IGX Data Package. \n Copyright (C) 2015 - 2020 intelligentgraphics. All Rights Reserved."
58
67
  }
@@ -61,7 +70,7 @@ npm install -g @intelligentgraphics/ig.gfx.packager@latest
61
70
 
62
71
  ## Update
63
72
 
64
- You can update the installed package by running `npm install -g @intelligentgraphics/ig.gfx.packager@latest` again.
73
+ You can update the installed package by running `npm install --save-dev @intelligentgraphics/ig.gfx.packager@latest` again.
65
74
 
66
75
  ## Environment configuration
67
76
 
@@ -309,6 +318,14 @@ The ts files have to adhere to a certain form to be processed.
309
318
 
310
319
  ## History
311
320
 
321
+ **IG.GFX.Packager 3.0.0-alpha.7**
322
+
323
+ - fix some issues and update dependencies
324
+
325
+ **IG.GFX.Packager 3.0.0-alpha.6**
326
+
327
+ - revert back to local installation
328
+
312
329
  **IG.GFX.Packager 3.0.0-alpha.5**
313
330
 
314
331
  - also close asset server sessions in case of upload errors
@@ -1 +0,0 @@
1
- {"version":3,"file":"release.mjs","sources":["../../src/lib/assetService.ts","../../src/commands/release/zip.ts","../../src/commands/release/index.ts"],"sourcesContent":["import axios from \"axios\";\nimport * as fs from \"fs\";\n\nimport { Authentication } from \"./authentication\";\n\nexport interface SessionStartParams\n\textends Omit<\n\t\tSessionStartPayload,\n\t\t\"user\" | \"password\" | \"license\" | \"plugin\"\n\t> {\n\tauthentication: Authentication;\n\turl: string;\n}\n\nexport interface SessionStartPayload {\n\tplugin: string;\n\taddress: string | undefined;\n\tdomain: string;\n\tsubDomain: string;\n\tuser: string | undefined;\n\tpassword: string | undefined;\n\tlicense: string | undefined;\n}\n\nexport interface SessionStartResponse {\n\tsession: string;\n\tstate: string;\n}\n\nconst PLUGIN_ID = \"0feba3a0-b6d1-11e6-9598-0800200c9a66\";\n\nexport interface Session {\n\turl: string;\n\tsessionId: string;\n\tdomain: string;\n\tsubDomain: string;\n}\n\n/**\n * Starts an IG.Asset.Server session and returns the sessionId\n *\n * @param {SessionStartParams} params\n * @returns\n */\nexport const startSession = async ({\n\turl,\n\tauthentication,\n\t...params\n}: SessionStartParams): Promise<Session> => {\n\tconst payload: SessionStartPayload = {\n\t\t...params,\n\t\tuser: undefined,\n\t\tpassword: undefined,\n\t\tlicense: undefined,\n\t\tplugin: PLUGIN_ID,\n\t};\n\n\tif (authentication.type === \"credentials\") {\n\t\tpayload.user = authentication.username;\n\t\tpayload.password = authentication.password;\n\t} else if (authentication.type === \"license\") {\n\t\tpayload.license = authentication.license;\n\t}\n\n\tconst {\n\t\tdata: { session: sessionId, state },\n\t} = await axios.post<SessionStartResponse>(\n\t\t`Session/Start2`,\n\t\tJSON.stringify(payload),\n\t\t{\n\t\t\tbaseURL: url,\n\t\t},\n\t);\n\n\tif (state !== \"SUCCESS\") {\n\t\tthrow new Error(\n\t\t\t`Could not start session: IG.Asset.Server responded with ${state}`,\n\t\t);\n\t}\n\n\treturn {\n\t\turl,\n\t\tsessionId,\n\t\tdomain: params.domain,\n\t\tsubDomain: params.subDomain,\n\t};\n};\n\nexport const closeSession = async (session: Session) => {\n\tawait axios.get(`Session/Close/${session.sessionId}`, {\n\t\tbaseURL: session.url,\n\t});\n};\n\nexport interface UploadPackageDetails {\n\tname: string;\n\tversion: string;\n}\n\nexport const uploadPackage = async (\n\tsession: Session,\n\t{ name, version }: UploadPackageDetails,\n\tzipFilePath: string,\n) => {\n\ttry {\n\t\tawait uploadPackageToUrl(\n\t\t\tsession.url,\n\t\t\t`UploadPackage/${session.sessionId}/${name}_${version}`,\n\t\t\tzipFilePath,\n\t\t);\n\t} catch (err) {\n\t\tawait uploadPackageToUrl(\n\t\t\tsession.url,\n\t\t\t`UploadPackage/${session.sessionId}/${name}_${version}/`,\n\t\t\tzipFilePath,\n\t\t);\n\t}\n};\n\nexport interface ExistingPackage {\n\tscope: string;\n\tinformalVersion: string;\n\tsupport: boolean;\n\tnumericVersion: number;\n}\n\nexport const getExistingPackages = async (\n\tsession: Session,\n): Promise<ExistingPackage[] | undefined> =>\n\taxios\n\t\t.get(`Script/GetInformation/${session.sessionId}`, {\n\t\t\tbaseURL: session.url,\n\t\t\tvalidateStatus: (status) => status === 404 || status === 200,\n\t\t})\n\t\t.then(({ data }) => (Array.isArray(data) ? data : undefined));\n\nconst uploadPackageToUrl = (url: string, path: string, zipFilePath: string) =>\n\taxios\n\t\t.post(path, fs.createReadStream(zipFilePath), {\n\t\t\tbaseURL: url,\n\t\t})\n\t\t.then(({ data, status }) => {\n\t\t\tlet objectBody: any;\n\n\t\t\tif (typeof data === \"string\") {\n\t\t\t\ttry {\n\t\t\t\t\tobjectBody = JSON.parse(data);\n\t\t\t\t} catch (err) {}\n\t\t\t} else if (typeof data === \"object\") {\n\t\t\t\tobjectBody = data;\n\t\t\t}\n\n\t\t\tif (objectBody !== undefined) {\n\t\t\t\tif (\"state\" in objectBody && objectBody.state !== \"SUCCESS\") {\n\t\t\t\t\tthrow new Error(objectBody.response ?? objectBody.state);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (status >= 400) {\n\t\t\t\tif (objectBody !== undefined) {\n\t\t\t\t\tlet text = \"\";\n\n\t\t\t\t\tfor (const key in objectBody) {\n\t\t\t\t\t\ttext += key + \": \\n\";\n\t\t\t\t\t\tif (typeof objectBody[key] === \"object\") {\n\t\t\t\t\t\t\ttext += JSON.stringify(\n\t\t\t\t\t\t\t\tobjectBody[key],\n\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\t\t2,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttext += objectBody[key];\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttext += \"\\n\\n\";\n\t\t\t\t\t}\n\n\t\t\t\t\tthrow new Error(text);\n\t\t\t\t}\n\n\t\t\t\tthrow new Error(data);\n\t\t\t}\n\n\t\t\treturn data;\n\t\t});\n","import Ajv, { ValidateFunction } from \"ajv\";\nimport axios from \"axios\";\nimport JSZip from \"jszip\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\nimport 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} 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.json\", JSON.stringify(creatorPackage, null, 2));\n\n\tconst index = readPublishedPackageCreatorIndex(location);\n\n\tif (index !== undefined) {\n\t\tarchive.file(\"_Index.json\", 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 = terser.minify(library, { ecma: 5 });\n\n\tarchive.file(`${data.Package}.js`, minifyResult.code!);\n\tarchive.file(`_Package.json`, JSON.stringify(data, null, 2));\n\n\tconst creatorIndex = readPackageCreatorIndex(packageLocation);\n\n\tif (creatorIndex !== undefined) {\n\t\tarchive.file(`_Index.json`, 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 { logPackageMessage } from \"../../lib/log\";\nimport { translate } from \"../../lib/localization\";\nimport { Authentication } from \"../../lib/authentication\";\nimport {\n\tCreatorPackage,\n\tdetectPackage,\n\tgetPackageReleasesDirectory,\n\tparseCreatorPackageName,\n\treadPackageCreatorManifest,\n} from \"../../lib/package\";\nimport {\n\tdetectWorkspace,\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 * as AssetService from \"../../lib/assetService\";\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\" | \"directories\"\n\t> {\n\tdirectory: string;\n\tnoUpload: boolean;\n\tnewVersion: string;\n\tdomain?: string;\n\tsubdomain?: string;\n\taddress?: string;\n\tservice: string;\n\tauthentication?: Authentication;\n\tpushOnly: boolean;\n\tbanner?: boolean;\n\tprompter: Prompter;\n}\n\nexport const releaseFolder = async (options: ReleaseFolderOptions) => {\n\tconst workspace = detectWorkspace(options.cwd);\n\tconst location = detectPackage(workspace, 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\tdirectories: [location.path],\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\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 (\n\t\t\t\t\t!(await 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\t\t\t\t\tlogPackageMessage(\n\t\t\t\t\t\tpackageDescription.Package,\n\t\t\t\t\t\t\"Failed to ensure required dependency versions: IG.Asset.Server does not yet support required apis for dependency check\",\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(\n\t\t\tfullPackageName,\n\t\t\ttranslate(\"messages.movingReleaseZip\"),\n\t\t);\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\tif (rawUploadedPackages === undefined) {\n\t\treturn false;\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\t(uploadedPackageInBasics !== undefined ||\n\t\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\treturn true;\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":["PLUGIN_ID","startSession","url","authentication","params","payload","user","undefined","password","license","plugin","type","username","data","session","sessionId","state","axios","post","JSON","stringify","baseURL","Error","domain","subDomain","closeSession","get","uploadPackage","name","version","zipFilePath","uploadPackageToUrl","err","getExistingPackages","validateStatus","status","then","Array","isArray","path","fs","createReadStream","objectBody","parse","response","text","key","buildArchiveFromPublishedPackage","location","manifest","creatorPackage","archive","JSZip","file","index","readPublishedPackageCreatorIndex","main","join","validateSchema","runtimeScripts","notRuntimeScripts","buildArchiveFromPackage","workspaceLocation","packageLocation","subdomain","parseCreatorPackageName","logStep","step","logPackageMessage","Package","Ajv","coerceTypes","allErrors","removeAdditional","useDefaults","compile","libFilePath","getWorkspaceOutputPath","scriptDirectories","scriptsDir","push","readPackageCreatorManifest","RunTime","includes","Type","writePackageCreatorManifest","animations","Map","scriptFilePath","readPackageAnimationList","content","readFileSync","encoding","relativePath","relative","SyntaxError","String","cause","set","Id","libFile","isErrorENOENT","size","library","date","Date","now","getFullYear","scopeParts","Scope","split","scope","createNamespace","minifyResult","terser","minify","ecma","code","creatorIndex","readPackageCreatorIndex","directory","readdirSync","ext","console","error","parts","length","slice","releaseFolder","options","workspace","detectWorkspace","cwd","detectPackage","write","writeVersionFile","reset","resetVersionFile","getVersionFileHandler","packageDescription","fullPackageName","publishDomain","publishSubdomain","sharedPackageJson","readWorkspaceNpmManifest","newVersion","parseVersionFromString","buildNumber","preRelease","execSync","binDir","mkdirSync","recursive","assetServerPackageDetails","packageNameWithVersion","versionWithoutPrelease","clone","newVersionString","toVersionString","pushOnly","existsSync","gitVersionInformation","getVersionInformationFromGit","bannerText","getWorkspaceBannerText","buildFolders","directories","skipPackagesWithoutTsFiles","banner","commit","commitDirty","dirty","rmSync","zipOutputStream","createWriteStream","pipeline","generateNodeStream","noUpload","sessionManager","createSessionManager","service","address","ensureRequiredVersions","prompter","AssetService","getTargetSession","destroy","catch","translate","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","getBasicsSession","basicsSession"],"mappings":"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"}