@intelligentgraphics/ig.gfx.packager 3.1.1 → 3.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/build/bin.mjs +1 -1
  2. package/build/{cli-CJ9DAMPz.mjs → cli-CPzBOjl0.mjs} +17 -25
  3. package/build/cli-CPzBOjl0.mjs.map +1 -0
  4. package/build/{dependencies-B6WImRIr.mjs → dependencies-CYuZmWpt.mjs} +2 -2
  5. package/build/{dependencies-B6WImRIr.mjs.map → dependencies-CYuZmWpt.mjs.map} +1 -1
  6. package/build/{generateIndex-CMJBHk9U.mjs → generateIndex-D5rR39-Z.mjs} +3 -3
  7. package/build/{generateIndex-CMJBHk9U.mjs.map → generateIndex-D5rR39-Z.mjs.map} +1 -1
  8. package/build/{generateParameterType-B2AIk2Tt.mjs → generateParameterType-BDyh-daC.mjs} +3 -3
  9. package/build/{generateParameterType-B2AIk2Tt.mjs.map → generateParameterType-BDyh-daC.mjs.map} +1 -1
  10. package/build/{index-CEP6mpzl.mjs → index-Dn5_iPca.mjs} +2 -2
  11. package/build/{index-CEP6mpzl.mjs.map → index-Dn5_iPca.mjs.map} +1 -1
  12. package/build/{index-BEbrdqM2.mjs → index-Uwhzx9k9.mjs} +7 -7
  13. package/build/index-Uwhzx9k9.mjs.map +1 -0
  14. package/build/{postinstall-Cn2cI1FC.mjs → postinstall-BkmY43I5.mjs} +4 -4
  15. package/build/{postinstall-Cn2cI1FC.mjs.map → postinstall-BkmY43I5.mjs.map} +1 -1
  16. package/build/{publishNpm-Blm9HLcL.mjs → publishNpm-S60dL_YV.mjs} +5 -5
  17. package/build/{publishNpm-Blm9HLcL.mjs.map → publishNpm-S60dL_YV.mjs.map} +1 -1
  18. package/build/{versionFile-BS4Veu5g.mjs → versionFile-HrFQXwyU.mjs} +3 -3
  19. package/build/{versionFile-BS4Veu5g.mjs.map → versionFile-HrFQXwyU.mjs.map} +1 -1
  20. package/lib/lib.mjs +1 -1
  21. package/package.json +4 -5
  22. package/readme.md +4 -0
  23. package/build/cli-CJ9DAMPz.mjs.map +0 -1
  24. package/build/index-BEbrdqM2.mjs.map +0 -1
package/build/bin.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
2
  import 'source-map-support/register.js';
3
3
 
4
- import('./cli-CJ9DAMPz.mjs').then(function (n) { return n.x; });
4
+ import('./cli-CPzBOjl0.mjs').then(function (n) { return n.x; });
5
5
  //# sourceMappingURL=bin.mjs.map
@@ -7,7 +7,7 @@ import * as glob from 'glob';
7
7
  import 'resolve';
8
8
  import { writePackageSync } from 'write-package';
9
9
  import axios, { AxiosError } from 'axios';
10
- import inquirer from 'inquirer';
10
+ import { select, confirm } from '@inquirer/prompts';
11
11
 
12
12
  const stripUtf8Bom = (text)=>{
13
13
  // Catches EFBBBF (UTF-8 BOM) because the buffer-to-string
@@ -321,25 +321,17 @@ const getExistingPackages = async (session)=>{
321
321
  const createDefaultPrompter = ()=>{
322
322
  return {
323
323
  confirm: async (message)=>{
324
- const { confirm } = await inquirer.prompt([
325
- {
326
- type: "confirm",
327
- message,
328
- name: "confirm"
329
- }
330
- ]);
331
- return confirm;
324
+ const result = await confirm({
325
+ message
326
+ });
327
+ return result;
332
328
  },
333
329
  ask: async (question)=>{
334
- const { answer } = await inquirer.prompt([
335
- {
336
- type: "list",
337
- message: question.message,
338
- name: "answer",
339
- choices: question.options,
340
- default: question.default
341
- }
342
- ]);
330
+ const answer = await select({
331
+ message: question.message,
332
+ choices: question.options,
333
+ default: question.default
334
+ });
343
335
  return answer;
344
336
  }
345
337
  };
@@ -453,7 +445,7 @@ yargsInstance.command("build [directories...]", "Builds the specified directorie
453
445
  if (folders.length === 0) {
454
446
  return console.log("No build targets found. Please check wether a folder with the provided name exists and wether it has _Package.json.");
455
447
  }
456
- const { buildFolders, buildFoldersWatch } = await import('./index-CEP6mpzl.mjs').then(function (n) { return n.i; });
448
+ const { buildFolders, buildFoldersWatch } = await import('./index-Dn5_iPca.mjs').then(function (n) { return n.i; });
457
449
  if (watch) {
458
450
  await buildFoldersWatch({
459
451
  ...options,
@@ -577,7 +569,7 @@ yargsInstance.command("publish [directory]", "Publishes the specified directory"
577
569
  password
578
570
  };
579
571
  }
580
- const { releaseFolder } = await import('./index-BEbrdqM2.mjs');
572
+ const { releaseFolder } = await import('./index-Uwhzx9k9.mjs');
581
573
  const prompter = createDefaultPrompter();
582
574
  const fullOptions = {
583
575
  ...options,
@@ -708,7 +700,7 @@ yargsInstance.command({
708
700
  handler: async ({ directory, ignore, strictOptional })=>{
709
701
  const workspace = detectWorkspace(process.cwd());
710
702
  await preCommandCheck(workspace);
711
- const { generateIndex } = await import('./generateIndex-CMJBHk9U.mjs');
703
+ const { generateIndex } = await import('./generateIndex-D5rR39-Z.mjs');
712
704
  const location = detectPackage(workspace, directory);
713
705
  generateIndex({
714
706
  location,
@@ -723,7 +715,7 @@ yargsInstance.command({
723
715
  handler: async ({ directory, name })=>{
724
716
  const workspace = detectWorkspace(process.cwd());
725
717
  await preCommandCheck(workspace);
726
- const { generateParameterType } = await import('./generateParameterType-B2AIk2Tt.mjs');
718
+ const { generateParameterType } = await import('./generateParameterType-BDyh-daC.mjs');
727
719
  const location = detectPackage(workspace, directory);
728
720
  generateParameterType({
729
721
  location,
@@ -736,7 +728,7 @@ yargsInstance.command({
736
728
  command: "postinstall",
737
729
  builder: (argv)=>argv,
738
730
  handler: async ()=>{
739
- const { executePostInstall } = await import('./postinstall-Cn2cI1FC.mjs');
731
+ const { executePostInstall } = await import('./postinstall-BkmY43I5.mjs');
740
732
  executePostInstall(detectWorkspace(process.cwd()));
741
733
  },
742
734
  describe: "Runs postinstall tasks"
@@ -756,7 +748,7 @@ yargsInstance.command({
756
748
  }),
757
749
  handler: async ({ directory, newVersion, dryRun })=>{
758
750
  const workspace = detectWorkspace(process.cwd());
759
- const { publishToNpm } = await import('./publishNpm-Blm9HLcL.mjs');
751
+ const { publishToNpm } = await import('./publishNpm-S60dL_YV.mjs');
760
752
  await publishToNpm({
761
753
  workspace,
762
754
  location: detectPackage(workspace, directory),
@@ -773,4 +765,4 @@ var cli = /*#__PURE__*/Object.freeze({
773
765
  });
774
766
 
775
767
  export { INDEX_FILE as I, PACKAGE_FILE as P, readPackageCreatorIndex as a, readWorkspaceNpmManifest as b, closeSession as c, getWorkspaceOutputPath as d, readPackageAnimationList as e, isErrorEACCES as f, getExistingPackages as g, isErrorEPERM as h, isErrorENOENT as i, getPackageReleasesDirectory as j, writePackageCreatorIndex as k, getCreatorIndexParameterPrimaryJSType as l, getWorkspaceLibPath as m, readNpmManifest as n, stripUtf8Bom as o, parseCreatorPackageName as p, readPackageNpmManifest as q, readPackageCreatorManifest as r, startSession as s, writePackageNpmManifest as t, uploadPackageFromBuffer as u, iterateWorkspacePackages as v, writePackageCreatorManifest as w, cli as x };
776
- //# sourceMappingURL=cli-CJ9DAMPz.mjs.map
768
+ //# sourceMappingURL=cli-CPzBOjl0.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-CPzBOjl0.mjs","sources":["../../tools.core/build/stripUtf8Bom.mjs","../../tools.core/build/npmPackage.mjs","../../tools.core/build/error.mjs","../../tools.core/build/package.mjs","../../tools.core/build/workspace.mjs","../../tools.core/build/assetService.mjs","../src/lib/prompter.ts","../src/cli.ts"],"sourcesContent":["const stripUtf8Bom = (text)=>{\n // Catches EFBBBF (UTF-8 BOM) because the buffer-to-string\n // conversion translates it to FEFF (UTF-16 BOM).\n if (text.charCodeAt(0) === 0xfeff) {\n return text.slice(1);\n }\n return text;\n};\n\nexport { stripUtf8Bom };\n//# sourceMappingURL=stripUtf8Bom.mjs.map\n","import * as fs from 'fs';\nimport * as path from 'path';\nimport { writePackageSync } from 'write-package';\nimport { stripUtf8Bom } from './stripUtf8Bom.mjs';\n\nconst readNpmManifest = (directory)=>{\n const packageJsonPath = path.join(directory, \"package.json\");\n const packageJson = stripUtf8Bom(fs.readFileSync(packageJsonPath, {\n encoding: \"utf8\"\n }));\n return JSON.parse(packageJson);\n};\nconst writeNpmManifest = (directory, packageJson)=>{\n const packageJsonPath = path.join(directory, \"package.json\");\n writePackageSync(packageJsonPath, packageJson);\n};\n\nexport { readNpmManifest, writeNpmManifest };\n//# sourceMappingURL=npmPackage.mjs.map\n","const getNodeErrorCode = (error)=>{\n if (error !== null && typeof error === \"object\" && error.code !== undefined) {\n return error.code;\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 */ const isErrorEACCES = (error)=>getNodeErrorCode(error) === \"EACCES\";\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 */ const isErrorENOENT = (error)=>getNodeErrorCode(error) === \"ENOENT\";\nconst isErrorEPERM = (error)=>getNodeErrorCode(error) === \"EPERM\";\n\nexport { getNodeErrorCode, isErrorEACCES, isErrorENOENT, isErrorEPERM };\n//# sourceMappingURL=error.mjs.map\n","import * as path from 'path';\nimport * as fs from 'fs';\nimport { isErrorENOENT } from './error.mjs';\nimport { readNpmManifest, writeNpmManifest } from './npmPackage.mjs';\nimport { stripUtf8Bom } from './stripUtf8Bom.mjs';\n\n// Functionality related to working with a single package.\nconst PACKAGE_FILE = \"_Package.json\";\nconst INDEX_FILE = \"_Index.json\";\nconst ANIMATION_FILE_SUFFIX = \".animation.json\";\nconst getCreatorIndexParameterPrimaryJSType = (type)=>{\n switch(type){\n case \"LengthM\":\n case \"ArcDEG\":\n case \"Integer\":\n case \"Int\":\n case \"Float\":\n return \"number\";\n case \"Boolean\":\n case \"Bool\":\n return \"boolean\";\n case \"String\":\n case \"Material\":\n case \"Geometry\":\n case \"Animation\":\n case \"Interactor\":\n case \"Evaluator\":\n default:\n return \"string\";\n }\n};\nfunction parseCreatorPackageName(manifest) {\n const [domain, subdomain] = manifest.Package.split(\".\");\n if (subdomain === undefined) {\n throw new Error(`Expected \"Package\" field of the _Package.json file to contain a value in the form of Domain.SubDomain`);\n }\n return {\n domain,\n subdomain\n };\n}\n/**\n * Detects the package at the given directory.\n *\n * @param {string} directory\n * @returns {PackageLocation}\n */ const detectPackage = (workspace, directory)=>{\n directory = path.resolve(workspace.path, directory);\n const scriptsPath = path.join(directory, \"Scripts\");\n const tsPath = path.join(directory, \"ts\");\n let location;\n if (fs.existsSync(scriptsPath)) {\n location = {\n _kind: \"PackageLocation\",\n path: directory,\n scriptsDir: scriptsPath,\n manifestDir: scriptsPath\n };\n } else if (fs.existsSync(tsPath)) {\n location = {\n _kind: \"PackageLocation\",\n path: directory,\n scriptsDir: tsPath,\n manifestDir: directory\n };\n } else {\n location = {\n _kind: \"PackageLocation\",\n path: directory,\n scriptsDir: directory,\n manifestDir: directory\n };\n }\n try {\n readPackageCreatorManifest(location);\n } catch (err) {\n if (isErrorENOENT(err)) {\n throw new Error(`No _Package.json found in ${location.manifestDir}`);\n }\n throw err;\n }\n return location;\n};\nconst detectPackageLocationFromCreatorWorkspaceLocation = (location)=>{\n const packageLocation = {\n _kind: \"PackageLocation\",\n path: location.path,\n scriptsDir: path.join(location.path, \"Scripts\"),\n manifestDir: path.join(location.path, \"Scripts\")\n };\n try {\n readPackageCreatorManifest(packageLocation);\n } catch (err) {\n if (isErrorENOENT(err)) {\n throw new Error(`No _Package.json found in ${packageLocation.manifestDir}`);\n }\n throw err;\n }\n return packageLocation;\n};\nconst detectPackageAsParentDirectory = (directory)=>{\n let directoryToCheck = directory;\n while(directoryToCheck !== path.dirname(directoryToCheck)){\n if (fs.existsSync(path.join(directoryToCheck, \"Scripts\"))) {\n return {\n _kind: \"PackageLocation\",\n path: directoryToCheck,\n scriptsDir: path.join(directoryToCheck, \"Scripts\"),\n manifestDir: path.join(directoryToCheck, \"Scripts\")\n };\n }\n directoryToCheck = path.dirname(directoryToCheck);\n }\n return undefined;\n};\nconst readPackageCreatorManifest = (location)=>{\n const packageJsonPath = path.join(location.manifestDir, PACKAGE_FILE);\n const packageJson = stripUtf8Bom(fs.readFileSync(packageJsonPath, {\n encoding: \"utf8\"\n }));\n return JSON.parse(packageJson);\n};\nconst writePackageCreatorManifest = (location, creatorPackage)=>{\n const packageJsonPath = path.join(location.manifestDir, PACKAGE_FILE);\n fs.writeFileSync(packageJsonPath, JSON.stringify(creatorPackage, null, \"\\t\") + \"\\n\");\n};\nconst getPackageCreatorIndexPath = (location)=>path.join(location.manifestDir, INDEX_FILE);\nconst readPackageCreatorIndex = (location)=>{\n try {\n const indexPath = getPackageCreatorIndexPath(location);\n const index = stripUtf8Bom(fs.readFileSync(indexPath, {\n encoding: \"utf8\"\n }));\n return JSON.parse(index);\n } catch (err) {\n if (isErrorENOENT(err)) {\n return undefined;\n }\n throw err;\n }\n};\nconst writePackageCreatorIndex = (location, index)=>{\n const indexPath = getPackageCreatorIndexPath(location);\n fs.writeFileSync(indexPath, JSON.stringify(index, null, \"\\t\") + \"\\n\");\n};\nconst readPackageNpmManifest = (location)=>{\n try {\n return readNpmManifest(location.manifestDir);\n } catch (err) {\n if (isErrorENOENT(err)) {\n return undefined;\n }\n throw err;\n }\n};\nconst writePackageNpmManifest = (location, packageJson)=>{\n writeNpmManifest(location.manifestDir, packageJson);\n};\nconst readPackageAnimationList = (location)=>{\n const directoryContent = fs.readdirSync(location.manifestDir);\n const animationPathList = [];\n for (const entry of directoryContent){\n if (entry.endsWith(ANIMATION_FILE_SUFFIX)) {\n const animationPath = path.join(location.manifestDir, entry);\n animationPathList.push(animationPath);\n }\n }\n return animationPathList;\n};\nconst getPackageReleasesDirectory = (location)=>path.join(location.path, \"Releases\");\nconst arePackageLocationsEqual = (a, b)=>a.path === b.path;\n\nexport { INDEX_FILE, PACKAGE_FILE, arePackageLocationsEqual, detectPackage, detectPackageAsParentDirectory, detectPackageLocationFromCreatorWorkspaceLocation, getCreatorIndexParameterPrimaryJSType, getPackageCreatorIndexPath, getPackageReleasesDirectory, parseCreatorPackageName, readPackageAnimationList, readPackageCreatorIndex, readPackageCreatorManifest, readPackageNpmManifest, writePackageCreatorIndex, writePackageCreatorManifest, writePackageNpmManifest };\n//# sourceMappingURL=package.mjs.map\n","import * as path from 'path';\nimport * as fs from 'fs';\nimport { isErrorENOENT } from './error.mjs';\nimport { writeNpmManifest, readNpmManifest } from './npmPackage.mjs';\nimport { detectPackage } from './package.mjs';\nimport { detectCreatorWorkspaceAsParentDirectory } from './creatorWorkspace.mjs';\n\n// Functionality related to working with a workspace consisting of multiple packages.\nconst detectWorkspace = (directory)=>{\n directory = path.resolve(process.cwd(), directory);\n return {\n _kind: \"WorkspaceLocation\",\n path: directory\n };\n};\nconst detectWorkspaceByPackageJsonLocation = (directory)=>{\n while(directory !== path.dirname(directory)){\n if (fs.existsSync(path.join(directory, \"package.json\"))) {\n return detectWorkspace(directory);\n }\n directory = path.dirname(directory);\n }\n return undefined;\n};\nconst readWorkspaceNpmManifest = (workspace)=>{\n try {\n return readNpmManifest(workspace.path);\n } catch (err) {\n if (isErrorENOENT(err)) {\n throw new Error(`Expected a package.json file to exist in ${workspace.path}. See packager readme for instructions on how to create the package.json.`);\n }\n throw err;\n }\n};\nconst writeWorkspaceNpmManifest = (workspace, packageJson)=>writeNpmManifest(workspace.path, packageJson);\nconst getWorkspaceOutputPath = (workspace)=>path.join(workspace.path, \"bin\");\nconst getWorkspaceLibPath = (workspace)=>path.join(workspace.path, \"lib\");\nfunction* iterateWorkspacePackages(workspace) {\n const entries = fs.readdirSync(workspace.path, {\n withFileTypes: true\n });\n for (const entry of entries){\n if (!entry.isDirectory()) {\n continue;\n }\n try {\n yield detectPackage(workspace, entry.name);\n } catch {}\n }\n}\nfunction* iterateWorkspaceCreatorWorkspaces(workspace) {\n const entries = fs.readdirSync(workspace.path, {\n withFileTypes: true\n });\n for (const entry of entries){\n if (!entry.isDirectory()) {\n continue;\n }\n const detected = detectCreatorWorkspaceAsParentDirectory(path.join(workspace.path, entry.name));\n if (detected !== undefined) {\n yield detected;\n }\n }\n}\n\nexport { detectWorkspace, detectWorkspaceByPackageJsonLocation, getWorkspaceLibPath, getWorkspaceOutputPath, iterateWorkspaceCreatorWorkspaces, iterateWorkspacePackages, readWorkspaceNpmManifest, writeWorkspaceNpmManifest };\n//# sourceMappingURL=workspace.mjs.map\n","import axios, { AxiosError } from 'axios';\n\nconst PLUGIN_ID = \"0feba3a0-b6d1-11e6-9598-0800200c9a66\";\n/**\n * Starts an IG.Asset.Server session and returns the sessionId\n *\n * @param {SessionStartParams} params\n * @returns\n */ const startSession = async ({ url, authentication, ...params })=>{\n const payload = {\n ...params,\n user: undefined,\n password: undefined,\n license: undefined,\n plugin: PLUGIN_ID\n };\n if (authentication.type === \"credentials\") {\n payload.user = authentication.username;\n payload.password = authentication.password;\n } else if (authentication.type === \"license\") {\n payload.license = authentication.license;\n }\n const { data: { session: sessionId, state, response } } = await axios.post(`Session/Start2`, JSON.stringify(payload), {\n baseURL: url\n });\n if (state !== \"SUCCESS\") {\n let message = `Could not start session. IG.Asset.Server responded with ${state}`;\n if (response) {\n message += `: ${response}`;\n }\n throw new Error(message);\n }\n return {\n _kind: \"AssetService\",\n url,\n sessionId,\n domain: params.domain,\n subDomain: params.subDomain\n };\n};\nconst closeSession = async (session)=>{\n await axios.get(`Session/Close/${session.sessionId}`, {\n baseURL: session.url\n });\n};\nconst uploadPackageFromBuffer = async (session, { name, version }, buffer)=>{\n try {\n await uploadPackageToUrl(session.url, `UploadPackage/${session.sessionId}/${name}_${version}`, buffer);\n } catch (err) {\n if (err instanceof AxiosError) {\n var _err_response;\n if (((_err_response = err.response) == null ? void 0 : _err_response.status) === 404) {\n await uploadPackageToUrl(session.url, `UploadPackage/${session.sessionId}/${name}_${version}/`, buffer);\n return;\n }\n throw new Error(`Failed to upload package: ${err.message}`);\n }\n throw err;\n }\n};\nconst uploadPackageToUrl = async (url, path, buffer)=>{\n const { data, status } = await axios.post(path, buffer, {\n baseURL: url\n });\n let objectBody;\n if (typeof data === \"string\") {\n try {\n objectBody = JSON.parse(data);\n } catch (err) {}\n } else if (typeof data === \"object\") {\n objectBody = data;\n }\n if (objectBody !== undefined) {\n if (\"state\" in objectBody && objectBody.state !== \"SUCCESS\") {\n throw new Error(objectBody.response ?? objectBody.state);\n }\n }\n if (status >= 400) {\n if (objectBody !== undefined) {\n let text_1 = \"\";\n for(const key in objectBody){\n text_1 += key + \": \\n\";\n if (typeof objectBody[key] === \"object\") {\n text_1 += JSON.stringify(objectBody[key], undefined, 2);\n } else {\n text_1 += objectBody[key];\n }\n text_1 += \"\\n\\n\";\n }\n throw new Error(text_1);\n }\n throw new Error(data);\n }\n return data;\n};\nconst getExistingPackages = async (session)=>{\n const { data } = await axios.get(`Script/GetInformation/${session.sessionId}`, {\n baseURL: session.url,\n validateStatus: (status)=>status === 404 || status === 200\n }).catch((err)=>{\n throw new Error(`Failed to get existing packages: ${err.message}`);\n });\n return data;\n};\nconst getMaterials = async (session)=>{\n const response = await axios.get(`Material/Get/${session.sessionId}`, {\n baseURL: session.url\n });\n const data = response.data;\n return data.materials;\n};\nconst getGeometries = async (session)=>{\n const response = await axios.get(`Geometry/Get/${session.sessionId}`, {\n baseURL: session.url\n });\n const data = response.data;\n return data.geometries;\n};\n\nexport { closeSession, getExistingPackages, getGeometries, getMaterials, startSession, uploadPackageFromBuffer };\n//# sourceMappingURL=assetService.mjs.map\n","import { confirm, select } from \"@inquirer/prompts\";\n\nexport interface PrompterOption {\n\tname: string;\n\tvalue: string;\n}\n\nexport interface PrompterQuestion {\n\tmessage: string;\n\toptions: PrompterOption[];\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 result = await confirm({\n\t\t\t\tmessage,\n\t\t\t});\n\t\t\treturn result;\n\t\t},\n\n\t\task: async (question) => {\n\t\t\tconst answer = await select({\n\t\t\t\tmessage: question.message,\n\t\t\t\tchoices: question.options,\n\t\t\t\tdefault: question.default,\n\t\t\t});\n\t\t\treturn answer;\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\";\nimport * as glob from \"glob\";\n\nimport { AssetService } from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nimport {\n\tdetectPackage,\n\tPackageLocation,\n\tparseCreatorPackageName,\n\treadPackageCreatorManifest,\n} from \"./lib/package\";\nimport {\n\tdetectWorkspace,\n\treadWorkspaceNpmManifest,\n\tWorkspaceLocation,\n\twriteWorkspaceNpmManifest,\n} from \"./lib/workspace\";\nimport type { ReleaseFolderOptions } from \"./commands/publish\";\nimport { createDefaultPrompter } from \"./lib/prompter\";\nimport { PackageJSON } from \"./lib/packageJSON\";\nimport { BuildFolderOptions } from \"./lib\";\n\nconst docsHandler: BuildFolderOptions[\"docsHandler\"] = async (\n\tlocation,\n\tdeclarationFile,\n\toutFolder,\n\tname,\n) => {\n\tconst { generateDocs } = await import(\"./lib/docs\");\n\treturn await generateDocs(location, declarationFile, outFolder, name);\n};\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\nconst pjson: PackageJSON = JSON.parse(\n\tfs.readFileSync(path.join(__dirname, \"..\", \"package.json\"), \"utf8\"),\n);\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(\n\t\t\t\"Stopped execution because of the following error: \" + err.message,\n\t\t);\n\t}\n\n\tprocess.exit(1);\n};\n\nconst buildOptions = {\n\toutDir: {\n\t\tdescription: \"Output directory\",\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: \"Minify output\",\n\t\ttype: \"boolean\",\n\t\tdefault: true,\n\t},\n\tcwd: {\n\t\tdescription: \"Working directory\",\n\t\ttype: \"string\",\n\t\tdefault: process.cwd(),\n\t},\n\tclean: {\n\t\tdescription: \"Empty output dir before compiling\",\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 (workspaceLocation: WorkspaceLocation) => {\n\tconst executedLocalPackager = __filename.startsWith(workspaceLocation.path);\n\tconst repositoryPackage = readWorkspaceNpmManifest(workspaceLocation);\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\tif (repositoryPackage === 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\trepositoryPackage.scripts ??= {};\n\trepositoryPackage.scripts.postinstall = \"packager postinstall\";\n\n\twriteWorkspaceNpmManifest(workspaceLocation, repositoryPackage);\n};\n\nconst yargsInstance = yargs(process.argv.slice(2));\n\nconst resolvePackagesFromMaybePatterns = (\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\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\nyargsInstance.command(\n\t\"build [directories...]\",\n\t\"Builds the specified directories\",\n\t(argv) =>\n\t\targv.options({\n\t\t\t...buildOptions,\n\t\t\twatch: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t}),\n\tasync ({ directories = [], watch, ...options }) => {\n\t\tconst workspace = detectWorkspace(options.cwd);\n\t\tconst folders = resolvePackagesFromMaybePatterns(\n\t\t\tdirectories as string[],\n\t\t\tworkspace,\n\t\t);\n\n\t\tawait preCommandCheck(workspace);\n\n\t\tif (folders.length === 0) {\n\t\t\treturn console.log(\n\t\t\t\t\"No build targets found. Please check wether a folder with the provided name exists and wether it has _Package.json.\",\n\t\t\t);\n\t\t}\n\n\t\tconst { buildFolders, buildFoldersWatch } =\n\t\t\tawait import(\"./commands/build\");\n\n\t\tif (watch) {\n\t\t\tawait buildFoldersWatch({\n\t\t\t\t...options,\n\t\t\t\tpackages: folders,\n\t\t\t\tworkspace,\n\t\t\t\tdocsHandler,\n\t\t\t}).catch(captureError);\n\t\t\treturn;\n\t\t}\n\n\t\tawait buildFolders({\n\t\t\t...options,\n\t\t\tpackages: folders,\n\t\t\tworkspace,\n\t\t\tdocsHandler,\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: \"Only zip built files and do not upload them\",\n\t\t\t},\n\t\t\tdomain: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"Overwrite the publish domain. Defaults to the one in the _Package.json\",\n\t\t\t},\n\t\t\tsubdomain: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"Overwrite the publish subdomain. Defaults to the one in the _Package.json\",\n\t\t\t},\n\t\t\tnewVersion: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"The name of the new version\",\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: \"Address\",\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: \"IG.Asset.Server url\",\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: \"User\",\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: \"Password\",\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: \"Generate typedoc documentation\",\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:\n\t\t\t\t\t\"Try to upload an existing zip file without building and validating the version number\",\n\t\t\t},\n\t\t\tlicense: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"Path to a license file\",\n\t\t\t\tdefault: process.env.IG_GFX_LICENSE,\n\t\t\t},\n\t\t\tskipDependencies: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t\tdescription: \"Skip dependency checks\",\n\t\t\t},\n\t\t}),\n\tasync ({ directory, user, password, service, license, ...options }) => {\n\t\tconst workspace = detectWorkspace(options.cwd);\n\t\tconst folder = detectPackage(workspace, directory as string);\n\n\t\tawait preCommandCheck(workspace);\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\t'The IG.Asset.Server url has to either be provided using the option --service or through the \"IG_GFX_ASSET_SERVICE\" environment variable',\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: AssetService.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: folder,\n\t\t\tbanner: true,\n\t\t\tprompter,\n\t\t\tnewVersion: options.newVersion!,\n\t\t\tworkspace,\n\t\t\tdocsHandler,\n\t\t};\n\n\t\tawait releaseFolder(fullOptions).catch(captureError);\n\t},\n);\n\nyargsInstance.command(\n\t\"testConnection [directory]\",\n\t\"Tests connection to asset service\",\n\t(argv) =>\n\t\targv.options({\n\t\t\tdomain: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"Overwrite the publish domain. Defaults to the one in the _Package.json\",\n\t\t\t},\n\t\t\tsubdomain: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"Overwrite the publish subdomain. Defaults to the one in the _Package.json\",\n\t\t\t},\n\t\t\taddress: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"Address\",\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: \"IG.Asset.Server url\",\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: \"User\",\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: \"Password\",\n\t\t\t\tdefault: process.env.IG_GFX_PWD,\n\t\t\t},\n\t\t\tlicense: {\n\t\t\t\ttype: \"string\",\n\t\t\t\tdescription: \"Path to a license file\",\n\t\t\t\tdefault: process.env.IG_GFX_LICENSE,\n\t\t\t},\n\t\t}),\n\tasync ({\n\t\tuser,\n\t\tpassword,\n\t\tservice,\n\t\tlicense,\n\t\tsubdomain,\n\t\tdomain,\n\t\taddress,\n\t\tdirectory,\n\t}) => {\n\t\tif (!service) {\n\t\t\tcaptureError(\n\t\t\t\tnew Error(\n\t\t\t\t\t'The IG.Asset.Server url has to either be provided using the option --service or through the \"IG_GFX_ASSET_SERVICE\" environment variable',\n\t\t\t\t),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!license && (!user || !password)) {\n\t\t\tcaptureError(\n\t\t\t\tnew Error(\n\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),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tif (license && !license.endsWith(\".iglic\")) {\n\t\t\tcaptureError(\n\t\t\t\tnew Error(\n\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),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tlet authentication: AssetService.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\tif (authentication === undefined) {\n\t\t\tthrow new Error(`Expected authentication to be available`);\n\t\t}\n\n\t\tif (typeof directory === \"string\") {\n\t\t\tconst workspace = detectWorkspace(process.cwd());\n\t\t\tconst folder = detectPackage(workspace, directory as string);\n\t\t\tconst manifest = readPackageCreatorManifest(folder);\n\t\t\tconst parsedName = parseCreatorPackageName(manifest);\n\n\t\t\tif (domain === undefined) {\n\t\t\t\tdomain = parsedName.domain;\n\t\t\t}\n\t\t\tif (subdomain === undefined) {\n\t\t\t\tsubdomain = parsedName.subdomain;\n\t\t\t}\n\t\t}\n\n\t\tif (domain === undefined || subdomain === undefined) {\n\t\t\tthrow new Error(\n\t\t\t\t`Expected either domain and subdomain to be provided through options or to be executed for a specific package directory`,\n\t\t\t);\n\t\t}\n\n\t\tconst session = await AssetService.startSession({\n\t\t\turl: service,\n\t\t\taddress,\n\t\t\tdomain,\n\t\t\tsubDomain: subdomain,\n\t\t\tauthentication,\n\t\t});\n\n\t\tawait AssetService.closeSession(session);\n\n\t\tconsole.log(`Asset service session successfully started and closed`);\n\t},\n);\n\nyargsInstance.command({\n\tcommand: \"generateIndex [directory]\",\n\tbuilder: (argv) =>\n\t\targv\n\t\t\t.option(\"ignore\", {\n\t\t\t\ttype: \"array\",\n\t\t\t\tdefault: [],\n\t\t\t\tdescription: \"Files to ignore while generating index\",\n\t\t\t})\n\t\t\t.option(\"strictOptional\", {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"Marks non optional parameter object properties as required\",\n\t\t\t}),\n\thandler: async ({ directory, ignore, strictOptional }) => {\n\t\tconst workspace = detectWorkspace(process.cwd());\n\n\t\tawait preCommandCheck(workspace);\n\n\t\tconst { generateIndex } = await import(\"./commands/generateIndex\");\n\n\t\tconst location = detectPackage(workspace, directory as string);\n\n\t\tgenerateIndex({\n\t\t\tlocation,\n\t\t\tignore: ignore as string[],\n\t\t\tstrictOptional,\n\t\t});\n\t},\n\tdescribe: \"Generates an index file for a package based on typescript types\",\n});\n\nyargsInstance.command({\n\tcommand: \"generateParameterType [directory] [name]\",\n\thandler: async ({ directory, name }) => {\n\t\tconst workspace = detectWorkspace(process.cwd());\n\n\t\tawait preCommandCheck(workspace);\n\n\t\tconst { generateParameterType } =\n\t\t\tawait import(\"./commands/generateParameterType\");\n\n\t\tconst location = detectPackage(workspace, directory as string);\n\n\t\tgenerateParameterType({\n\t\t\tlocation,\n\t\t\tname,\n\t\t});\n\t},\n\tdescribe: \"Generates a parameter type for an interactor or evaluator\",\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: \"Name of the new version\",\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(pjson.version).argv;\n"],"names":["stripUtf8Bom","text","charCodeAt","slice","readNpmManifest","directory","packageJsonPath","path","join","packageJson","fs","readFileSync","encoding","JSON","parse","writeNpmManifest","writePackageSync","getNodeErrorCode","error","code","undefined","isErrorEACCES","isErrorENOENT","isErrorEPERM","PACKAGE_FILE","INDEX_FILE","ANIMATION_FILE_SUFFIX","getCreatorIndexParameterPrimaryJSType","type","parseCreatorPackageName","manifest","domain","subdomain","Package","split","Error","detectPackage","workspace","resolve","scriptsPath","tsPath","location","existsSync","_kind","scriptsDir","manifestDir","readPackageCreatorManifest","err","writePackageCreatorManifest","creatorPackage","writeFileSync","stringify","getPackageCreatorIndexPath","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","PLUGIN_ID","startSession","url","authentication","params","payload","user","password","license","plugin","username","data","session","sessionId","state","response","axios","post","baseURL","message","subDomain","closeSession","get","uploadPackageFromBuffer","version","buffer","uploadPackageToUrl","AxiosError","status","objectBody","text_1","key","getExistingPackages","validateStatus","catch","createDefaultPrompter","confirm","result","ask","question","answer","select","choices","options","default","docsHandler","declarationFile","outFolder","generateDocs","__filename","fileURLToPath","__dirname","dirname","pjson","captureError","console","log","env","NODE_ENV","exit","buildOptions","outDir","description","coerce","input","minimize","clean","docs","preCommandCheck","workspaceLocation","executedLocalPackager","startsWith","repositoryPackage","dependencies","devDependencies","parts","notifier","updateNotifier","pkg","shouldNotifyInNpmScript","updateCheckInterval","notify","isGlobal","defer","scripts","postinstall","yargsInstance","yargs","argv","resolvePackagesFromMaybePatterns","args","folders","Map","arg","glob","sync","absolute","forEach","folder","set","Array","from","values","command","watch","directories","length","buildFolders","buildFoldersWatch","packages","noUpload","newVersion","VERSION","required","address","service","IG_GFX_ASSET_SERVICE","IG_GFX_USER","IG_GFX_PWD","pushOnly","IG_GFX_LICENSE","skipDependencies","fullLicensePath","content","toString","releaseFolder","prompter","fullOptions","banner","parsedName","AssetService","builder","option","handler","ignore","strictOptional","generateIndex","describe","generateParameterType","executePostInstall","dryRun","publishToNpm","demandCommand","pkgConf","showHelpOnFail"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as path from 'path';
2
2
  import * as fs from 'fs';
3
3
  import resolve from 'resolve';
4
- import { n as readNpmManifest, P as PACKAGE_FILE, o as stripUtf8Bom, i as isErrorENOENT, I as INDEX_FILE, b as readWorkspaceNpmManifest } from './cli-CJ9DAMPz.mjs';
4
+ import { n as readNpmManifest, P as PACKAGE_FILE, o as stripUtf8Bom, i as isErrorENOENT, I as INDEX_FILE, b as readWorkspaceNpmManifest } from './cli-CPzBOjl0.mjs';
5
5
 
6
6
  /**
7
7
  * Detects a published package from a path.
@@ -126,4 +126,4 @@ const collectIGLibraries = (workspace, manifest)=>{
126
126
  };
127
127
 
128
128
  export { readPublishedPackageNpmManifest as a, readPublishedPackageCreatorManifest as b, determineWorkspaceIGLibraries as d, readPublishedPackageCreatorIndex as r };
129
- //# sourceMappingURL=dependencies-B6WImRIr.mjs.map
129
+ //# sourceMappingURL=dependencies-CYuZmWpt.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies-B6WImRIr.mjs","sources":["../../tools.core/build/publishedPackage.mjs","../../tools.core/build/dependencies.mjs"],"sourcesContent":["import * as path from 'path';\nimport * as fs from 'fs';\nimport resolve from 'resolve';\nimport { readNpmManifest } from './npmPackage.mjs';\nimport { PACKAGE_FILE, INDEX_FILE } from './package.mjs';\nimport { isErrorENOENT } from './error.mjs';\nimport { stripUtf8Bom } from './stripUtf8Bom.mjs';\n\n/**\n * Detects a published package from a path.\n *\n * Can return undefined if the package is not installed.\n *\n * @param {string} resolveBasePath\n * @param {string} name\n * @return {*} {(PublishedPackageLocation | undefined)}\n */ const detectPublishedPackageFromPath = (resolveBasePath, name)=>{\n try {\n const manifestPath = resolve.sync(name + \"/package.json\", {\n basedir: resolveBasePath\n });\n const dir = path.dirname(manifestPath);\n return {\n _kind: \"PublishedPackageLocation\",\n path: dir\n };\n } catch (err) {\n return undefined;\n }\n};\nconst readPublishedPackageNpmManifest = (location)=>{\n return readNpmManifest(location.path);\n};\nconst readPublishedPackageCreatorManifest = (location)=>{\n try {\n const packageJsonPath = path.join(location.path, PACKAGE_FILE);\n const packageJson = stripUtf8Bom(fs.readFileSync(packageJsonPath, {\n encoding: \"utf8\"\n }));\n return JSON.parse(packageJson);\n } catch (err) {\n if (isErrorENOENT(err)) {\n return undefined;\n }\n throw err;\n }\n};\nconst getPublishedPackageCreatorIndexPath = (location)=>path.join(location.path, INDEX_FILE);\nconst readPublishedPackageCreatorIndex = (location)=>{\n try {\n const packageJsonPath = path.join(location.path, INDEX_FILE);\n const packageJson = stripUtf8Bom(fs.readFileSync(packageJsonPath, {\n encoding: \"utf8\"\n }));\n const result = JSON.parse(packageJson);\n return result;\n } catch (err) {\n if (isErrorENOENT(err)) {\n return undefined;\n }\n throw err;\n }\n};\n\nexport { detectPublishedPackageFromPath, getPublishedPackageCreatorIndexPath, readPublishedPackageCreatorIndex, readPublishedPackageCreatorManifest, readPublishedPackageNpmManifest };\n//# sourceMappingURL=publishedPackage.mjs.map\n","import { readPublishedPackageNpmManifest, detectPublishedPackageFromPath } from './publishedPackage.mjs';\nimport { readWorkspaceNpmManifest } from './workspace.mjs';\n\n// /**\n// * Determines the implicit dependencies of a an actual data workspace package.\n// *\n// * An implicit dependency is a dependency that is installed for the workspace and has the same runtime environment (evaluator, interactor) as the package.\n// *\n// * @param {WorkspaceLocation} workspace\n// * @param {CreatorPackage} creatorPackage\n// * @returns {PublishedPackageLocation[]}\n// */\n// export const determinePackageImplicitDependencies = (\n// \tworkspace: WorkspaceLocation,\n// \tcreatorPackage: CreatorPackage,\n// ): PublishedPackageLocation[] => {\n// \tconst libraries = determineWorkspaceIGLibraries(workspace);\n// \tconst results: PublishedPackageLocation[] = [];\n// \tfor (const librarylocation of libraries) {\n// \t\tconst libraryManifest =\n// \t\t\treadPublishedPackageCreatorManifest(librarylocation);\n// \t\tif (\n// \t\t\tlibraryManifest !== undefined &&\n// \t\t\t(libraryManifest.Type === \"Mixed\" ||\n// \t\t\t\tlibraryManifest.RunTime === creatorPackage.RunTime)\n// \t\t) {\n// \t\t\tresults.push(librarylocation);\n// \t\t}\n// \t}\n// \treturn results;\n// };\n/**\n * Recursively determines all installed ig libraries for a workspace.\n *\n * @param {WorkspaceLocation} workspace\n * @returns {PublishedPackageLocation[]}\n */ const determineWorkspaceIGLibraries = (workspace)=>{\n const manifest = readWorkspaceNpmManifest(workspace);\n const libraries = collectIGLibraries(workspace, manifest);\n const results = new Map();\n for (const location of libraries){\n const manifest = readPublishedPackageNpmManifest(location);\n if (!results.has(manifest.name)) {\n results.set(manifest.name, location);\n }\n }\n return Array.from(results.values());\n};\nconst collectIGLibraries = (workspace, manifest)=>{\n if (!manifest.dependencies) {\n return [];\n }\n const runtimeDependencies = Object.getOwnPropertyNames(manifest.dependencies);\n const result = [];\n for (const runtimeDependency of runtimeDependencies){\n var _runtimeManifest_ig;\n const location = detectPublishedPackageFromPath(workspace.path, runtimeDependency);\n if (location === undefined) {\n continue;\n }\n const runtimeManifest = readPublishedPackageNpmManifest(location);\n // packages need to explicitly be marked as ig scriptingLibraries\n if ((_runtimeManifest_ig = runtimeManifest.ig) == null ? void 0 : _runtimeManifest_ig.scriptingLibrary) {\n result.push(location);\n result.push(...collectIGLibraries(workspace, runtimeManifest));\n }\n }\n return result;\n};\n\nexport { determineWorkspaceIGLibraries };\n//# sourceMappingURL=dependencies.mjs.map\n"],"names":["detectPublishedPackageFromPath","resolveBasePath","name","manifestPath","resolve","sync","basedir","dir","path","dirname","_kind","err","undefined","readPublishedPackageNpmManifest","location","readNpmManifest","readPublishedPackageCreatorManifest","packageJsonPath","join","PACKAGE_FILE","packageJson","stripUtf8Bom","fs","readFileSync","encoding","JSON","parse","isErrorENOENT","readPublishedPackageCreatorIndex","INDEX_FILE","result","determineWorkspaceIGLibraries","workspace","manifest","readWorkspaceNpmManifest","libraries","collectIGLibraries","results","Map","has","set","Array","from","values","dependencies","runtimeDependencies","Object","getOwnPropertyNames","runtimeDependency","runtimeManifest","ig","scriptingLibrary","push"],"mappings":"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"}
1
+ {"version":3,"file":"dependencies-CYuZmWpt.mjs","sources":["../../tools.core/build/publishedPackage.mjs","../../tools.core/build/dependencies.mjs"],"sourcesContent":["import * as path from 'path';\nimport * as fs from 'fs';\nimport resolve from 'resolve';\nimport { readNpmManifest } from './npmPackage.mjs';\nimport { PACKAGE_FILE, INDEX_FILE } from './package.mjs';\nimport { isErrorENOENT } from './error.mjs';\nimport { stripUtf8Bom } from './stripUtf8Bom.mjs';\n\n/**\n * Detects a published package from a path.\n *\n * Can return undefined if the package is not installed.\n *\n * @param {string} resolveBasePath\n * @param {string} name\n * @return {*} {(PublishedPackageLocation | undefined)}\n */ const detectPublishedPackageFromPath = (resolveBasePath, name)=>{\n try {\n const manifestPath = resolve.sync(name + \"/package.json\", {\n basedir: resolveBasePath\n });\n const dir = path.dirname(manifestPath);\n return {\n _kind: \"PublishedPackageLocation\",\n path: dir\n };\n } catch (err) {\n return undefined;\n }\n};\nconst readPublishedPackageNpmManifest = (location)=>{\n return readNpmManifest(location.path);\n};\nconst readPublishedPackageCreatorManifest = (location)=>{\n try {\n const packageJsonPath = path.join(location.path, PACKAGE_FILE);\n const packageJson = stripUtf8Bom(fs.readFileSync(packageJsonPath, {\n encoding: \"utf8\"\n }));\n return JSON.parse(packageJson);\n } catch (err) {\n if (isErrorENOENT(err)) {\n return undefined;\n }\n throw err;\n }\n};\nconst getPublishedPackageCreatorIndexPath = (location)=>path.join(location.path, INDEX_FILE);\nconst readPublishedPackageCreatorIndex = (location)=>{\n try {\n const packageJsonPath = path.join(location.path, INDEX_FILE);\n const packageJson = stripUtf8Bom(fs.readFileSync(packageJsonPath, {\n encoding: \"utf8\"\n }));\n const result = JSON.parse(packageJson);\n return result;\n } catch (err) {\n if (isErrorENOENT(err)) {\n return undefined;\n }\n throw err;\n }\n};\n\nexport { detectPublishedPackageFromPath, getPublishedPackageCreatorIndexPath, readPublishedPackageCreatorIndex, readPublishedPackageCreatorManifest, readPublishedPackageNpmManifest };\n//# sourceMappingURL=publishedPackage.mjs.map\n","import { readPublishedPackageNpmManifest, detectPublishedPackageFromPath } from './publishedPackage.mjs';\nimport { readWorkspaceNpmManifest } from './workspace.mjs';\n\n// /**\n// * Determines the implicit dependencies of a an actual data workspace package.\n// *\n// * An implicit dependency is a dependency that is installed for the workspace and has the same runtime environment (evaluator, interactor) as the package.\n// *\n// * @param {WorkspaceLocation} workspace\n// * @param {CreatorPackage} creatorPackage\n// * @returns {PublishedPackageLocation[]}\n// */\n// export const determinePackageImplicitDependencies = (\n// \tworkspace: WorkspaceLocation,\n// \tcreatorPackage: CreatorPackage,\n// ): PublishedPackageLocation[] => {\n// \tconst libraries = determineWorkspaceIGLibraries(workspace);\n// \tconst results: PublishedPackageLocation[] = [];\n// \tfor (const librarylocation of libraries) {\n// \t\tconst libraryManifest =\n// \t\t\treadPublishedPackageCreatorManifest(librarylocation);\n// \t\tif (\n// \t\t\tlibraryManifest !== undefined &&\n// \t\t\t(libraryManifest.Type === \"Mixed\" ||\n// \t\t\t\tlibraryManifest.RunTime === creatorPackage.RunTime)\n// \t\t) {\n// \t\t\tresults.push(librarylocation);\n// \t\t}\n// \t}\n// \treturn results;\n// };\n/**\n * Recursively determines all installed ig libraries for a workspace.\n *\n * @param {WorkspaceLocation} workspace\n * @returns {PublishedPackageLocation[]}\n */ const determineWorkspaceIGLibraries = (workspace)=>{\n const manifest = readWorkspaceNpmManifest(workspace);\n const libraries = collectIGLibraries(workspace, manifest);\n const results = new Map();\n for (const location of libraries){\n const manifest = readPublishedPackageNpmManifest(location);\n if (!results.has(manifest.name)) {\n results.set(manifest.name, location);\n }\n }\n return Array.from(results.values());\n};\nconst collectIGLibraries = (workspace, manifest)=>{\n if (!manifest.dependencies) {\n return [];\n }\n const runtimeDependencies = Object.getOwnPropertyNames(manifest.dependencies);\n const result = [];\n for (const runtimeDependency of runtimeDependencies){\n var _runtimeManifest_ig;\n const location = detectPublishedPackageFromPath(workspace.path, runtimeDependency);\n if (location === undefined) {\n continue;\n }\n const runtimeManifest = readPublishedPackageNpmManifest(location);\n // packages need to explicitly be marked as ig scriptingLibraries\n if ((_runtimeManifest_ig = runtimeManifest.ig) == null ? void 0 : _runtimeManifest_ig.scriptingLibrary) {\n result.push(location);\n result.push(...collectIGLibraries(workspace, runtimeManifest));\n }\n }\n return result;\n};\n\nexport { determineWorkspaceIGLibraries };\n//# sourceMappingURL=dependencies.mjs.map\n"],"names":["detectPublishedPackageFromPath","resolveBasePath","name","manifestPath","resolve","sync","basedir","dir","path","dirname","_kind","err","undefined","readPublishedPackageNpmManifest","location","readNpmManifest","readPublishedPackageCreatorManifest","packageJsonPath","join","PACKAGE_FILE","packageJson","stripUtf8Bom","fs","readFileSync","encoding","JSON","parse","isErrorENOENT","readPublishedPackageCreatorIndex","INDEX_FILE","result","determineWorkspaceIGLibraries","workspace","manifest","readWorkspaceNpmManifest","libraries","collectIGLibraries","results","Map","has","set","Array","from","values","dependencies","runtimeDependencies","Object","getOwnPropertyNames","runtimeDependency","runtimeManifest","ig","scriptingLibrary","push"],"mappings":"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"}
@@ -4,14 +4,14 @@ import 'path';
4
4
  import 'fs';
5
5
  import 'resolve';
6
6
  import 'write-package';
7
- import { a as readPackageCreatorIndex, r as readPackageCreatorManifest, k as writePackageCreatorIndex } from './cli-CJ9DAMPz.mjs';
7
+ import { a as readPackageCreatorIndex, r as readPackageCreatorManifest, k as writePackageCreatorIndex } from './cli-CPzBOjl0.mjs';
8
8
  import { r as readScriptPackageTSConfig, g as getPackageTypescriptFiles, a as resolveScriptPackageEntryModule } from './scripts-B3noxiX3.mjs';
9
9
  import 'axios';
10
10
  import 'update-notifier';
11
11
  import 'yargs/yargs';
12
12
  import 'url';
13
13
  import 'glob';
14
- import 'inquirer';
14
+ import '@inquirer/prompts';
15
15
 
16
16
  /**
17
17
  * Extracts and returns script array for _Index.json from a src folder
@@ -303,4 +303,4 @@ const detectScriptingClass = (node)=>{
303
303
  };
304
304
 
305
305
  export { generateIndex };
306
- //# sourceMappingURL=generateIndex-CMJBHk9U.mjs.map
306
+ //# sourceMappingURL=generateIndex-D5rR39-Z.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateIndex-CMJBHk9U.mjs","sources":["../src/commands/generateIndex.ts"],"sourcesContent":["import ts from \"typescript\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\n\nimport {\n\tresolveNamespaceFullName,\n\tresolveNamespaces,\n\tNamespace,\n\tfindNamespaceByMemberSourceFile,\n} from \"@intelligentgraphics/declarationbundler\";\n\nimport {\n\tPackageLocation,\n\twritePackageCreatorIndex,\n\treadPackageCreatorIndex,\n\treadPackageCreatorManifest,\n} from \"../lib/package\";\nimport {\n\tgetPackageTypescriptFiles,\n\treadScriptPackageTSConfig,\n\tresolveScriptPackageEntryModule,\n} from \"../lib/scripts\";\nimport {\n\tCreatorIndexEntry,\n\tCreatorIndexParameter,\n\tCreatorIndexParameterType,\n} from \"../lib/package\";\n\nexport interface GenerateIndexOptions {\n\tignore?: string[];\n\tlocation: PackageLocation;\n\n\t/**\n\t * Marks non optional parameter object properties as required in the generated index\n\t *\n\t * @type {boolean}\n\t */\n\tstrictOptional?: boolean;\n}\n\n/**\n * Extracts and returns script array for _Index.json from a src folder\n *\n * @param folderPath path to a src folder\n */\nexport function generateIndex({\n\tlocation,\n\tignore = [],\n\tstrictOptional,\n}: GenerateIndexOptions) {\n\tconst arr: CreatorIndexEntry[] = [];\n\n\tconst existingIndex = readPackageCreatorIndex(location) ?? [];\n\tconst manifest = readPackageCreatorManifest(location);\n\n\tconst compilerOptions = readScriptPackageTSConfig(location).options;\n\n\tconst isModule =\n\t\tcompilerOptions.module === ts.ModuleKind.ES2015 ||\n\t\tcompilerOptions.module === ts.ModuleKind.ESNext;\n\n\tif (strictOptional === undefined) {\n\t\tstrictOptional =\n\t\t\tcompilerOptions.strict === true ||\n\t\t\tcompilerOptions.strictNullChecks === true;\n\t}\n\n\tconst files = getPackageTypescriptFiles(location).filter(\n\t\t(path) => !ignore.some((suffix) => path.endsWith(suffix)),\n\t);\n\n\tlet program: ts.Program;\n\tlet rootNamespace: Namespace | undefined;\n\n\tif (isModule) {\n\t\tconst entryFilePath = resolveScriptPackageEntryModule(\n\t\t\tlocation,\n\t\t\tmanifest,\n\t\t);\n\n\t\tif (entryFilePath === undefined) {\n\t\t\tthrow new Error(`Could not resolve entry module`);\n\t\t}\n\n\t\tconst host = ts.createCompilerHost({}, true);\n\t\tprogram = ts.createProgram(\n\t\t\t[entryFilePath],\n\t\t\t{ allowJs: true, ...compilerOptions },\n\t\t\thost,\n\t\t);\n\n\t\tconst entryFile = program.getSourceFile(entryFilePath);\n\n\t\tif (entryFile === undefined) {\n\t\t\tthrow new Error(`Failed to find entry module`);\n\t\t}\n\n\t\trootNamespace = resolveNamespaces(\n\t\t\tentryFile,\n\t\t\tprogram,\n\t\t\thost,\n\t\t\tprogram.getTypeChecker(),\n\t\t\tmanifest.Scope ?? manifest.Package,\n\t\t);\n\t} else {\n\t\tprogram = ts.createProgram(files, { allowJs: true });\n\t}\n\n\tconst typeChecker = program.getTypeChecker();\n\n\tfiles.forEach((file) => {\n\t\t// Create a Program to represent the project, then pull out the\n\t\t// source file to parse its AST.\n\t\tconst sourceFile = program.getSourceFile(file);\n\n\t\tif (sourceFile === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst namespace =\n\t\t\trootNamespace === undefined\n\t\t\t\t? undefined\n\t\t\t\t: findNamespaceByMemberSourceFile(rootNamespace, sourceFile);\n\t\t// Loop through the root AST nodes of the file\n\n\t\tfor (const scriptingClass of findScriptingClasses(sourceFile)) {\n\t\t\tif (scriptingClass.node.name === undefined) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Expected ${scriptingClass.type} class to have a name`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tlet name: string;\n\n\t\t\tif (isModule && namespace !== undefined) {\n\t\t\t\tconst moduleNamespace = resolveNamespaceFullName(namespace);\n\t\t\t\tname = `${moduleNamespace}.${scriptingClass.node.name.text}`;\n\t\t\t} else {\n\t\t\t\tname = typeChecker.getFullyQualifiedName(\n\t\t\t\t\ttypeChecker.getSymbolAtLocation(scriptingClass.node.name)!,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst parameterDeclaration =\n\t\t\t\tgetScriptingClassParameterdeclaration(scriptingClass);\n\n\t\t\tconst parametersType =\n\t\t\t\tparameterDeclaration === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: typeChecker.getTypeAtLocation(parameterDeclaration);\n\n\t\t\tif (parametersType === undefined) {\n\t\t\t\tconsole.log(\n\t\t\t\t\t`Failed to find parameters type declaration for ${scriptingClass.type} ${name}. Skipping parameter list generation`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst existingIndexEntry = existingIndex.find(\n\t\t\t\t(entry) => entry.Name === name,\n\t\t\t);\n\n\t\t\tconst obj: CreatorIndexEntry = {\n\t\t\t\tName: name,\n\t\t\t\tDescription: existingIndexEntry?.Description ?? name,\n\t\t\t\tType:\n\t\t\t\t\tscriptingClass.type === \"evaluator\"\n\t\t\t\t\t\t? \"Evaluator\"\n\t\t\t\t\t\t: \"Interactor\",\n\t\t\t\tParameters: [],\n\t\t\t};\n\n\t\t\tconst rawDocTags = ts.getJSDocTags(scriptingClass.node);\n\n\t\t\tconst dict = getTagDict(rawDocTags);\n\t\t\tif (dict.summary) {\n\t\t\t\tobj.Description = dict.summary;\n\t\t\t} else {\n\t\t\t\tconst comment = typeChecker\n\t\t\t\t\t.getTypeAtLocation(scriptingClass.node)\n\t\t\t\t\t.symbol.getDocumentationComment(typeChecker)\n\t\t\t\t\t.map((comment) => comment.text)\n\t\t\t\t\t.join(\" \");\n\n\t\t\t\tif (comment) {\n\t\t\t\t\tobj.Description = comment;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (parametersType !== undefined) {\n\t\t\t\tobj.Parameters = parseParametersList(\n\t\t\t\t\ttypeChecker.getPropertiesOfType(parametersType),\n\t\t\t\t\tstrictOptional,\n\t\t\t\t);\n\n\t\t\t\tif (\n\t\t\t\t\tobj.Parameters.length === 0 &&\n\t\t\t\t\tparametersType.getStringIndexType() !== undefined\n\t\t\t\t) {\n\t\t\t\t\tobj.Parameters = existingIndexEntry?.Parameters ?? [];\n\t\t\t\t}\n\t\t\t} else if (existingIndexEntry !== undefined) {\n\t\t\t\tobj.Parameters = existingIndexEntry.Parameters;\n\t\t\t}\n\n\t\t\tarr.push(obj);\n\t\t}\n\t});\n\n\tarr.sort((a, b) => a.Name.localeCompare(b.Name));\n\n\twritePackageCreatorIndex(location, arr);\n}\n\nfunction capitalizeFirstLetter(string: string) {\n\treturn string?.charAt(0).toUpperCase() + string?.slice(1);\n}\n\nconst parseDefault = (value: string, type: string) => {\n\tconst uType: CreatorIndexParameterType = capitalizeFirstLetter(\n\t\ttype,\n\t) as CreatorIndexParameterType;\n\tif (value === \"null\") return null;\n\tswitch (uType) {\n\t\tcase \"LengthM\":\n\t\tcase \"ArcDEG\":\n\t\tcase \"Float\":\n\t\t\treturn parseFloat(value);\n\t\tcase \"Integer\":\n\t\tcase \"Int\":\n\t\t\treturn parseInt(value);\n\t\tcase \"Boolean\":\n\t\tcase \"Bool\":\n\t\t\treturn value === \"true\";\n\t\tcase \"Material\":\n\t\tcase \"String\":\n\t\tcase \"Geometry\":\n\t\tdefault:\n\t\t\treturn value.replace(/^\"/, \"\").replace(/\"$/, \"\");\n\t}\n};\n\nconst parseTypeFromName = (\n\tname: string,\n): CreatorIndexParameterType | undefined => {\n\tconst parts = name.split(\".\");\n\tconst identifier = parts[parts.length - 1];\n\n\tswitch (identifier) {\n\t\tcase \"LengthM\":\n\t\tcase \"ArcDEG\":\n\t\tcase \"Float\":\n\t\tcase \"Integer\":\n\t\t\treturn identifier;\n\t\tcase \"GeometryReference\":\n\t\t\treturn \"Geometry\";\n\t\tcase \"MaterialReference\":\n\t\t\treturn \"Material\";\n\t\tcase \"AnimationReference\":\n\t\t\treturn \"Animation\";\n\t\tcase \"InteractorReference\":\n\t\t\treturn \"Interactor\";\n\t\tcase \"EvaluatorReference\":\n\t\t\treturn \"Evaluator\";\n\t\tcase \"String\":\n\t\tcase \"string\":\n\t\t\treturn \"String\";\n\t\tcase \"number\":\n\t\tcase \"Number\":\n\t\t\treturn \"Float\";\n\t\tcase \"boolean\":\n\t\tcase \"Boolean\":\n\t\t\treturn \"Boolean\";\n\t}\n};\n\nconst parseParametersList = (\n\tproperties: ts.Symbol[],\n\tstrictOptional: boolean,\n): CreatorIndexParameter[] => {\n\treturn properties.map((symbol, i) => {\n\t\tconst parameter: CreatorIndexParameter = {\n\t\t\tName: symbol.name,\n\t\t\tDescription: undefined,\n\t\t\tType: \"String\",\n\t\t\tDefault: undefined,\n\t\t\tDisplayIndex: i + 1,\n\t\t};\n\n\t\tif (parameter.Name.length > 45) {\n\t\t\tthrow new Error(`Parameter name length >45 '${parameter.Name}'`);\n\t\t}\n\n\t\tlet declaration: ts.Declaration | undefined =\n\t\t\tsymbol.getDeclarations()?.[0];\n\t\tlet documentationComment = symbol.getDocumentationComment(undefined);\n\n\t\tlet checkLinksSymbol: ts.Symbol | undefined = symbol;\n\n\t\twhile (checkLinksSymbol !== undefined && declaration === undefined) {\n\t\t\tconst links = (\n\t\t\t\tcheckLinksSymbol as {\n\t\t\t\t\tlinks?: {\n\t\t\t\t\t\tmappedType?: ts.Type;\n\t\t\t\t\t\tsyntheticOrigin?: ts.Symbol;\n\t\t\t\t\t};\n\t\t\t\t} & ts.Symbol\n\t\t\t).links;\n\n\t\t\tif (links?.syntheticOrigin) {\n\t\t\t\tdeclaration = links.syntheticOrigin.getDeclarations()?.[0];\n\n\t\t\t\tif (documentationComment.length === 0) {\n\t\t\t\t\tdocumentationComment =\n\t\t\t\t\t\tlinks.syntheticOrigin.getDocumentationComment(\n\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tcheckLinksSymbol = links.syntheticOrigin;\n\t\t\t}\n\t\t}\n\n\t\tif (declaration !== undefined) {\n\t\t\tconst rawDocTags = ts.getJSDocTags(declaration);\n\n\t\t\tconst dict = getTagDict(rawDocTags);\n\n\t\t\tif (dict.summary) {\n\t\t\t\tparameter.Description = dict.summary;\n\t\t\t} else {\n\t\t\t\tconst comment = documentationComment\n\t\t\t\t\t.map((comment) => comment.text)\n\t\t\t\t\t.join(\" \");\n\n\t\t\t\tif (comment) {\n\t\t\t\t\tparameter.Description = comment;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (dict.creatorType) {\n\t\t\t\tparameter.Type = dict.creatorType as CreatorIndexParameterType;\n\t\t\t} else {\n\t\t\t\tconst propertySignature = declaration as ts.PropertySignature;\n\t\t\t\tif (propertySignature.type !== undefined) {\n\t\t\t\t\tconst parsedType = parseTypeFromName(\n\t\t\t\t\t\tpropertySignature.type.getText(),\n\t\t\t\t\t);\n\n\t\t\t\t\tif (parsedType !== undefined) {\n\t\t\t\t\t\tparameter.Type = parsedType;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (dict.default) {\n\t\t\t\tparameter.Default = parseDefault(dict.default, parameter.Type);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tstrictOptional &&\n\t\t\t\tdeclaration.kind === ts.SyntaxKind.PropertySignature\n\t\t\t) {\n\t\t\t\tconst propertySignature = declaration as ts.PropertySignature;\n\t\t\t\tif (propertySignature.questionToken === undefined) {\n\t\t\t\t\tparameter.Required = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn parameter;\n\t});\n};\n\ninterface IDocTags {\n\tdefault?: string;\n\tcreatorType?: string;\n\tsummary?: string;\n}\n\nfunction getTagDict(tags: readonly ts.JSDocTag[]): IDocTags {\n\tconst dict: IDocTags = {};\n\n\tfor (const tag of tags) {\n\t\tdict[tag.tagName.text] = tag.comment;\n\t}\n\n\treturn dict;\n}\n\nconst getScriptingClassParameterdeclaration = (\n\tscriptingClass: ScriptingClass,\n) => {\n\tfor (const member of scriptingClass.node.members) {\n\t\tif (ts.isMethodDeclaration(member)) {\n\t\t\tfor (let index = 0; index < member.parameters.length; index++) {\n\t\t\t\tconst parameter = member.parameters[index];\n\t\t\t\tif (\n\t\t\t\t\tisScriptingClassParameterDeclaration(\n\t\t\t\t\t\tscriptingClass,\n\t\t\t\t\t\tmember,\n\t\t\t\t\t\tindex,\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn parameter;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (ts.isConstructorDeclaration(member)) {\n\t\t\tfor (let index = 0; index < member.parameters.length; index++) {\n\t\t\t\tconst parameter = member.parameters[index];\n\t\t\t\tif (\n\t\t\t\t\tisScriptingClassParameterDeclaration(\n\t\t\t\t\t\tscriptingClass,\n\t\t\t\t\t\tmember,\n\t\t\t\t\t\tindex,\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn parameter;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst isScriptingClassParameterDeclaration = (\n\tscriptingClass: ScriptingClass,\n\tmemberNode: ts.ClassElement,\n\tparameterIndex: number,\n) => {\n\tif (scriptingClass.type === \"evaluator\") {\n\t\treturn memberNode?.name?.getText() == \"Create\" && parameterIndex === 2;\n\t}\n\tif (scriptingClass.type === \"interactor\") {\n\t\treturn (\n\t\t\tmemberNode.kind === ts.SyntaxKind.Constructor &&\n\t\t\tparameterIndex === 0\n\t\t);\n\t}\n\treturn false;\n};\n\ninterface ScriptingClass {\n\tnode: ts.ClassDeclaration;\n\ttype: \"interactor\" | \"evaluator\";\n}\n\n/**\n * Finds interactors and evaluators within a script file\n *\n * @param {ts.Node} node\n * @return {*}\n */\nfunction* findScriptingClasses(\n\tnode: ts.Node,\n): Generator<ScriptingClass, void, void> {\n\tfor (const child of node.getChildren()) {\n\t\tif (!ts.isClassDeclaration(child)) {\n\t\t\tyield* findScriptingClasses(child);\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst scriptingClass = detectScriptingClass(child);\n\n\t\tif (scriptingClass !== undefined) {\n\t\t\tyield scriptingClass;\n\t\t}\n\t}\n}\n\nconst detectScriptingClass = (\n\tnode: ts.ClassDeclaration,\n): ScriptingClass | undefined => {\n\tconst isEvaluator = node.heritageClauses?.some((clause) => {\n\t\tif (\n\t\t\tclause.token !== ts.SyntaxKind.ExtendsKeyword &&\n\t\t\tclause.token !== ts.SyntaxKind.ImplementsKeyword\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn clause.types.some((type) =>\n\t\t\ttype.getText().includes(\"Evaluator\"),\n\t\t);\n\t});\n\n\tif (isEvaluator) {\n\t\treturn {\n\t\t\tnode,\n\t\t\ttype: \"evaluator\",\n\t\t};\n\t}\n\n\tconst isInteractor = node.heritageClauses?.some((clause) => {\n\t\tif (clause.token !== ts.SyntaxKind.ExtendsKeyword) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn clause.types.some((type) =>\n\t\t\ttype.getText().includes(\"Interactor\"),\n\t\t);\n\t});\n\n\tif (isInteractor) {\n\t\treturn {\n\t\t\tnode,\n\t\t\ttype: \"interactor\",\n\t\t};\n\t}\n};\n"],"names":["generateIndex","location","ignore","strictOptional","arr","existingIndex","readPackageCreatorIndex","manifest","readPackageCreatorManifest","compilerOptions","readScriptPackageTSConfig","options","isModule","module","ts","ModuleKind","ES2015","ESNext","undefined","strict","strictNullChecks","files","getPackageTypescriptFiles","filter","path","some","suffix","endsWith","program","rootNamespace","entryFilePath","resolveScriptPackageEntryModule","Error","host","createCompilerHost","createProgram","allowJs","entryFile","getSourceFile","resolveNamespaces","getTypeChecker","Scope","Package","typeChecker","forEach","file","sourceFile","namespace","findNamespaceByMemberSourceFile","scriptingClass","findScriptingClasses","node","name","type","moduleNamespace","resolveNamespaceFullName","text","getFullyQualifiedName","getSymbolAtLocation","parameterDeclaration","getScriptingClassParameterdeclaration","parametersType","getTypeAtLocation","console","log","existingIndexEntry","find","entry","Name","obj","Description","Type","Parameters","rawDocTags","getJSDocTags","dict","getTagDict","summary","comment","symbol","getDocumentationComment","map","join","parseParametersList","getPropertiesOfType","length","getStringIndexType","push","sort","a","b","localeCompare","writePackageCreatorIndex","capitalizeFirstLetter","string","charAt","toUpperCase","slice","parseDefault","value","uType","parseFloat","parseInt","replace","parseTypeFromName","parts","split","identifier","properties","i","parameter","Default","DisplayIndex","declaration","getDeclarations","documentationComment","checkLinksSymbol","links","syntheticOrigin","creatorType","propertySignature","parsedType","getText","default","kind","SyntaxKind","PropertySignature","questionToken","Required","tags","tag","tagName","member","members","isMethodDeclaration","index","parameters","isScriptingClassParameterDeclaration","isConstructorDeclaration","memberNode","parameterIndex","Constructor","child","getChildren","isClassDeclaration","detectScriptingClass","isEvaluator","heritageClauses","clause","token","ExtendsKeyword","ImplementsKeyword","types","includes","isInteractor"],"mappings":"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"}
1
+ {"version":3,"file":"generateIndex-D5rR39-Z.mjs","sources":["../src/commands/generateIndex.ts"],"sourcesContent":["import ts from \"typescript\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\n\nimport {\n\tresolveNamespaceFullName,\n\tresolveNamespaces,\n\tNamespace,\n\tfindNamespaceByMemberSourceFile,\n} from \"@intelligentgraphics/declarationbundler\";\n\nimport {\n\tPackageLocation,\n\twritePackageCreatorIndex,\n\treadPackageCreatorIndex,\n\treadPackageCreatorManifest,\n} from \"../lib/package\";\nimport {\n\tgetPackageTypescriptFiles,\n\treadScriptPackageTSConfig,\n\tresolveScriptPackageEntryModule,\n} from \"../lib/scripts\";\nimport {\n\tCreatorIndexEntry,\n\tCreatorIndexParameter,\n\tCreatorIndexParameterType,\n} from \"../lib/package\";\n\nexport interface GenerateIndexOptions {\n\tignore?: string[];\n\tlocation: PackageLocation;\n\n\t/**\n\t * Marks non optional parameter object properties as required in the generated index\n\t *\n\t * @type {boolean}\n\t */\n\tstrictOptional?: boolean;\n}\n\n/**\n * Extracts and returns script array for _Index.json from a src folder\n *\n * @param folderPath path to a src folder\n */\nexport function generateIndex({\n\tlocation,\n\tignore = [],\n\tstrictOptional,\n}: GenerateIndexOptions) {\n\tconst arr: CreatorIndexEntry[] = [];\n\n\tconst existingIndex = readPackageCreatorIndex(location) ?? [];\n\tconst manifest = readPackageCreatorManifest(location);\n\n\tconst compilerOptions = readScriptPackageTSConfig(location).options;\n\n\tconst isModule =\n\t\tcompilerOptions.module === ts.ModuleKind.ES2015 ||\n\t\tcompilerOptions.module === ts.ModuleKind.ESNext;\n\n\tif (strictOptional === undefined) {\n\t\tstrictOptional =\n\t\t\tcompilerOptions.strict === true ||\n\t\t\tcompilerOptions.strictNullChecks === true;\n\t}\n\n\tconst files = getPackageTypescriptFiles(location).filter(\n\t\t(path) => !ignore.some((suffix) => path.endsWith(suffix)),\n\t);\n\n\tlet program: ts.Program;\n\tlet rootNamespace: Namespace | undefined;\n\n\tif (isModule) {\n\t\tconst entryFilePath = resolveScriptPackageEntryModule(\n\t\t\tlocation,\n\t\t\tmanifest,\n\t\t);\n\n\t\tif (entryFilePath === undefined) {\n\t\t\tthrow new Error(`Could not resolve entry module`);\n\t\t}\n\n\t\tconst host = ts.createCompilerHost({}, true);\n\t\tprogram = ts.createProgram(\n\t\t\t[entryFilePath],\n\t\t\t{ allowJs: true, ...compilerOptions },\n\t\t\thost,\n\t\t);\n\n\t\tconst entryFile = program.getSourceFile(entryFilePath);\n\n\t\tif (entryFile === undefined) {\n\t\t\tthrow new Error(`Failed to find entry module`);\n\t\t}\n\n\t\trootNamespace = resolveNamespaces(\n\t\t\tentryFile,\n\t\t\tprogram,\n\t\t\thost,\n\t\t\tprogram.getTypeChecker(),\n\t\t\tmanifest.Scope ?? manifest.Package,\n\t\t);\n\t} else {\n\t\tprogram = ts.createProgram(files, { allowJs: true });\n\t}\n\n\tconst typeChecker = program.getTypeChecker();\n\n\tfiles.forEach((file) => {\n\t\t// Create a Program to represent the project, then pull out the\n\t\t// source file to parse its AST.\n\t\tconst sourceFile = program.getSourceFile(file);\n\n\t\tif (sourceFile === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst namespace =\n\t\t\trootNamespace === undefined\n\t\t\t\t? undefined\n\t\t\t\t: findNamespaceByMemberSourceFile(rootNamespace, sourceFile);\n\t\t// Loop through the root AST nodes of the file\n\n\t\tfor (const scriptingClass of findScriptingClasses(sourceFile)) {\n\t\t\tif (scriptingClass.node.name === undefined) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Expected ${scriptingClass.type} class to have a name`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tlet name: string;\n\n\t\t\tif (isModule && namespace !== undefined) {\n\t\t\t\tconst moduleNamespace = resolveNamespaceFullName(namespace);\n\t\t\t\tname = `${moduleNamespace}.${scriptingClass.node.name.text}`;\n\t\t\t} else {\n\t\t\t\tname = typeChecker.getFullyQualifiedName(\n\t\t\t\t\ttypeChecker.getSymbolAtLocation(scriptingClass.node.name)!,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst parameterDeclaration =\n\t\t\t\tgetScriptingClassParameterdeclaration(scriptingClass);\n\n\t\t\tconst parametersType =\n\t\t\t\tparameterDeclaration === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: typeChecker.getTypeAtLocation(parameterDeclaration);\n\n\t\t\tif (parametersType === undefined) {\n\t\t\t\tconsole.log(\n\t\t\t\t\t`Failed to find parameters type declaration for ${scriptingClass.type} ${name}. Skipping parameter list generation`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst existingIndexEntry = existingIndex.find(\n\t\t\t\t(entry) => entry.Name === name,\n\t\t\t);\n\n\t\t\tconst obj: CreatorIndexEntry = {\n\t\t\t\tName: name,\n\t\t\t\tDescription: existingIndexEntry?.Description ?? name,\n\t\t\t\tType:\n\t\t\t\t\tscriptingClass.type === \"evaluator\"\n\t\t\t\t\t\t? \"Evaluator\"\n\t\t\t\t\t\t: \"Interactor\",\n\t\t\t\tParameters: [],\n\t\t\t};\n\n\t\t\tconst rawDocTags = ts.getJSDocTags(scriptingClass.node);\n\n\t\t\tconst dict = getTagDict(rawDocTags);\n\t\t\tif (dict.summary) {\n\t\t\t\tobj.Description = dict.summary;\n\t\t\t} else {\n\t\t\t\tconst comment = typeChecker\n\t\t\t\t\t.getTypeAtLocation(scriptingClass.node)\n\t\t\t\t\t.symbol.getDocumentationComment(typeChecker)\n\t\t\t\t\t.map((comment) => comment.text)\n\t\t\t\t\t.join(\" \");\n\n\t\t\t\tif (comment) {\n\t\t\t\t\tobj.Description = comment;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (parametersType !== undefined) {\n\t\t\t\tobj.Parameters = parseParametersList(\n\t\t\t\t\ttypeChecker.getPropertiesOfType(parametersType),\n\t\t\t\t\tstrictOptional,\n\t\t\t\t);\n\n\t\t\t\tif (\n\t\t\t\t\tobj.Parameters.length === 0 &&\n\t\t\t\t\tparametersType.getStringIndexType() !== undefined\n\t\t\t\t) {\n\t\t\t\t\tobj.Parameters = existingIndexEntry?.Parameters ?? [];\n\t\t\t\t}\n\t\t\t} else if (existingIndexEntry !== undefined) {\n\t\t\t\tobj.Parameters = existingIndexEntry.Parameters;\n\t\t\t}\n\n\t\t\tarr.push(obj);\n\t\t}\n\t});\n\n\tarr.sort((a, b) => a.Name.localeCompare(b.Name));\n\n\twritePackageCreatorIndex(location, arr);\n}\n\nfunction capitalizeFirstLetter(string: string) {\n\treturn string?.charAt(0).toUpperCase() + string?.slice(1);\n}\n\nconst parseDefault = (value: string, type: string) => {\n\tconst uType: CreatorIndexParameterType = capitalizeFirstLetter(\n\t\ttype,\n\t) as CreatorIndexParameterType;\n\tif (value === \"null\") return null;\n\tswitch (uType) {\n\t\tcase \"LengthM\":\n\t\tcase \"ArcDEG\":\n\t\tcase \"Float\":\n\t\t\treturn parseFloat(value);\n\t\tcase \"Integer\":\n\t\tcase \"Int\":\n\t\t\treturn parseInt(value);\n\t\tcase \"Boolean\":\n\t\tcase \"Bool\":\n\t\t\treturn value === \"true\";\n\t\tcase \"Material\":\n\t\tcase \"String\":\n\t\tcase \"Geometry\":\n\t\tdefault:\n\t\t\treturn value.replace(/^\"/, \"\").replace(/\"$/, \"\");\n\t}\n};\n\nconst parseTypeFromName = (\n\tname: string,\n): CreatorIndexParameterType | undefined => {\n\tconst parts = name.split(\".\");\n\tconst identifier = parts[parts.length - 1];\n\n\tswitch (identifier) {\n\t\tcase \"LengthM\":\n\t\tcase \"ArcDEG\":\n\t\tcase \"Float\":\n\t\tcase \"Integer\":\n\t\t\treturn identifier;\n\t\tcase \"GeometryReference\":\n\t\t\treturn \"Geometry\";\n\t\tcase \"MaterialReference\":\n\t\t\treturn \"Material\";\n\t\tcase \"AnimationReference\":\n\t\t\treturn \"Animation\";\n\t\tcase \"InteractorReference\":\n\t\t\treturn \"Interactor\";\n\t\tcase \"EvaluatorReference\":\n\t\t\treturn \"Evaluator\";\n\t\tcase \"String\":\n\t\tcase \"string\":\n\t\t\treturn \"String\";\n\t\tcase \"number\":\n\t\tcase \"Number\":\n\t\t\treturn \"Float\";\n\t\tcase \"boolean\":\n\t\tcase \"Boolean\":\n\t\t\treturn \"Boolean\";\n\t}\n};\n\nconst parseParametersList = (\n\tproperties: ts.Symbol[],\n\tstrictOptional: boolean,\n): CreatorIndexParameter[] => {\n\treturn properties.map((symbol, i) => {\n\t\tconst parameter: CreatorIndexParameter = {\n\t\t\tName: symbol.name,\n\t\t\tDescription: undefined,\n\t\t\tType: \"String\",\n\t\t\tDefault: undefined,\n\t\t\tDisplayIndex: i + 1,\n\t\t};\n\n\t\tif (parameter.Name.length > 45) {\n\t\t\tthrow new Error(`Parameter name length >45 '${parameter.Name}'`);\n\t\t}\n\n\t\tlet declaration: ts.Declaration | undefined =\n\t\t\tsymbol.getDeclarations()?.[0];\n\t\tlet documentationComment = symbol.getDocumentationComment(undefined);\n\n\t\tlet checkLinksSymbol: ts.Symbol | undefined = symbol;\n\n\t\twhile (checkLinksSymbol !== undefined && declaration === undefined) {\n\t\t\tconst links = (\n\t\t\t\tcheckLinksSymbol as {\n\t\t\t\t\tlinks?: {\n\t\t\t\t\t\tmappedType?: ts.Type;\n\t\t\t\t\t\tsyntheticOrigin?: ts.Symbol;\n\t\t\t\t\t};\n\t\t\t\t} & ts.Symbol\n\t\t\t).links;\n\n\t\t\tif (links?.syntheticOrigin) {\n\t\t\t\tdeclaration = links.syntheticOrigin.getDeclarations()?.[0];\n\n\t\t\t\tif (documentationComment.length === 0) {\n\t\t\t\t\tdocumentationComment =\n\t\t\t\t\t\tlinks.syntheticOrigin.getDocumentationComment(\n\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tcheckLinksSymbol = links.syntheticOrigin;\n\t\t\t}\n\t\t}\n\n\t\tif (declaration !== undefined) {\n\t\t\tconst rawDocTags = ts.getJSDocTags(declaration);\n\n\t\t\tconst dict = getTagDict(rawDocTags);\n\n\t\t\tif (dict.summary) {\n\t\t\t\tparameter.Description = dict.summary;\n\t\t\t} else {\n\t\t\t\tconst comment = documentationComment\n\t\t\t\t\t.map((comment) => comment.text)\n\t\t\t\t\t.join(\" \");\n\n\t\t\t\tif (comment) {\n\t\t\t\t\tparameter.Description = comment;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (dict.creatorType) {\n\t\t\t\tparameter.Type = dict.creatorType as CreatorIndexParameterType;\n\t\t\t} else {\n\t\t\t\tconst propertySignature = declaration as ts.PropertySignature;\n\t\t\t\tif (propertySignature.type !== undefined) {\n\t\t\t\t\tconst parsedType = parseTypeFromName(\n\t\t\t\t\t\tpropertySignature.type.getText(),\n\t\t\t\t\t);\n\n\t\t\t\t\tif (parsedType !== undefined) {\n\t\t\t\t\t\tparameter.Type = parsedType;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (dict.default) {\n\t\t\t\tparameter.Default = parseDefault(dict.default, parameter.Type);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tstrictOptional &&\n\t\t\t\tdeclaration.kind === ts.SyntaxKind.PropertySignature\n\t\t\t) {\n\t\t\t\tconst propertySignature = declaration as ts.PropertySignature;\n\t\t\t\tif (propertySignature.questionToken === undefined) {\n\t\t\t\t\tparameter.Required = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn parameter;\n\t});\n};\n\ninterface IDocTags {\n\tdefault?: string;\n\tcreatorType?: string;\n\tsummary?: string;\n}\n\nfunction getTagDict(tags: readonly ts.JSDocTag[]): IDocTags {\n\tconst dict: IDocTags = {};\n\n\tfor (const tag of tags) {\n\t\tdict[tag.tagName.text] = tag.comment;\n\t}\n\n\treturn dict;\n}\n\nconst getScriptingClassParameterdeclaration = (\n\tscriptingClass: ScriptingClass,\n) => {\n\tfor (const member of scriptingClass.node.members) {\n\t\tif (ts.isMethodDeclaration(member)) {\n\t\t\tfor (let index = 0; index < member.parameters.length; index++) {\n\t\t\t\tconst parameter = member.parameters[index];\n\t\t\t\tif (\n\t\t\t\t\tisScriptingClassParameterDeclaration(\n\t\t\t\t\t\tscriptingClass,\n\t\t\t\t\t\tmember,\n\t\t\t\t\t\tindex,\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn parameter;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (ts.isConstructorDeclaration(member)) {\n\t\t\tfor (let index = 0; index < member.parameters.length; index++) {\n\t\t\t\tconst parameter = member.parameters[index];\n\t\t\t\tif (\n\t\t\t\t\tisScriptingClassParameterDeclaration(\n\t\t\t\t\t\tscriptingClass,\n\t\t\t\t\t\tmember,\n\t\t\t\t\t\tindex,\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn parameter;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst isScriptingClassParameterDeclaration = (\n\tscriptingClass: ScriptingClass,\n\tmemberNode: ts.ClassElement,\n\tparameterIndex: number,\n) => {\n\tif (scriptingClass.type === \"evaluator\") {\n\t\treturn memberNode?.name?.getText() == \"Create\" && parameterIndex === 2;\n\t}\n\tif (scriptingClass.type === \"interactor\") {\n\t\treturn (\n\t\t\tmemberNode.kind === ts.SyntaxKind.Constructor &&\n\t\t\tparameterIndex === 0\n\t\t);\n\t}\n\treturn false;\n};\n\ninterface ScriptingClass {\n\tnode: ts.ClassDeclaration;\n\ttype: \"interactor\" | \"evaluator\";\n}\n\n/**\n * Finds interactors and evaluators within a script file\n *\n * @param {ts.Node} node\n * @return {*}\n */\nfunction* findScriptingClasses(\n\tnode: ts.Node,\n): Generator<ScriptingClass, void, void> {\n\tfor (const child of node.getChildren()) {\n\t\tif (!ts.isClassDeclaration(child)) {\n\t\t\tyield* findScriptingClasses(child);\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst scriptingClass = detectScriptingClass(child);\n\n\t\tif (scriptingClass !== undefined) {\n\t\t\tyield scriptingClass;\n\t\t}\n\t}\n}\n\nconst detectScriptingClass = (\n\tnode: ts.ClassDeclaration,\n): ScriptingClass | undefined => {\n\tconst isEvaluator = node.heritageClauses?.some((clause) => {\n\t\tif (\n\t\t\tclause.token !== ts.SyntaxKind.ExtendsKeyword &&\n\t\t\tclause.token !== ts.SyntaxKind.ImplementsKeyword\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn clause.types.some((type) =>\n\t\t\ttype.getText().includes(\"Evaluator\"),\n\t\t);\n\t});\n\n\tif (isEvaluator) {\n\t\treturn {\n\t\t\tnode,\n\t\t\ttype: \"evaluator\",\n\t\t};\n\t}\n\n\tconst isInteractor = node.heritageClauses?.some((clause) => {\n\t\tif (clause.token !== ts.SyntaxKind.ExtendsKeyword) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn clause.types.some((type) =>\n\t\t\ttype.getText().includes(\"Interactor\"),\n\t\t);\n\t});\n\n\tif (isInteractor) {\n\t\treturn {\n\t\t\tnode,\n\t\t\ttype: \"interactor\",\n\t\t};\n\t}\n};\n"],"names":["generateIndex","location","ignore","strictOptional","arr","existingIndex","readPackageCreatorIndex","manifest","readPackageCreatorManifest","compilerOptions","readScriptPackageTSConfig","options","isModule","module","ts","ModuleKind","ES2015","ESNext","undefined","strict","strictNullChecks","files","getPackageTypescriptFiles","filter","path","some","suffix","endsWith","program","rootNamespace","entryFilePath","resolveScriptPackageEntryModule","Error","host","createCompilerHost","createProgram","allowJs","entryFile","getSourceFile","resolveNamespaces","getTypeChecker","Scope","Package","typeChecker","forEach","file","sourceFile","namespace","findNamespaceByMemberSourceFile","scriptingClass","findScriptingClasses","node","name","type","moduleNamespace","resolveNamespaceFullName","text","getFullyQualifiedName","getSymbolAtLocation","parameterDeclaration","getScriptingClassParameterdeclaration","parametersType","getTypeAtLocation","console","log","existingIndexEntry","find","entry","Name","obj","Description","Type","Parameters","rawDocTags","getJSDocTags","dict","getTagDict","summary","comment","symbol","getDocumentationComment","map","join","parseParametersList","getPropertiesOfType","length","getStringIndexType","push","sort","a","b","localeCompare","writePackageCreatorIndex","capitalizeFirstLetter","string","charAt","toUpperCase","slice","parseDefault","value","uType","parseFloat","parseInt","replace","parseTypeFromName","parts","split","identifier","properties","i","parameter","Default","DisplayIndex","declaration","getDeclarations","documentationComment","checkLinksSymbol","links","syntheticOrigin","creatorType","propertySignature","parsedType","getText","default","kind","SyntaxKind","PropertySignature","questionToken","Required","tags","tag","tagName","member","members","isMethodDeclaration","index","parameters","isScriptingClassParameterDeclaration","isConstructorDeclaration","memberNode","parameterIndex","Constructor","child","getChildren","isClassDeclaration","detectScriptingClass","isEvaluator","heritageClauses","clause","token","ExtendsKeyword","ImplementsKeyword","types","includes","isInteractor"],"mappings":"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"}
@@ -4,13 +4,13 @@ import * as path from 'path';
4
4
  import * as os from 'os';
5
5
  import 'resolve';
6
6
  import 'write-package';
7
- import { a as readPackageCreatorIndex, r as readPackageCreatorManifest, l as getCreatorIndexParameterPrimaryJSType } from './cli-CJ9DAMPz.mjs';
7
+ import { a as readPackageCreatorIndex, r as readPackageCreatorManifest, l as getCreatorIndexParameterPrimaryJSType } from './cli-CPzBOjl0.mjs';
8
8
  import 'glob';
9
9
  import 'axios';
10
10
  import 'update-notifier';
11
11
  import 'yargs/yargs';
12
12
  import 'url';
13
- import 'inquirer';
13
+ import '@inquirer/prompts';
14
14
 
15
15
  const generateParameterType = ({ location, name })=>{
16
16
  const index = readPackageCreatorIndex(location);
@@ -66,4 +66,4 @@ const generateParameterType = ({ location, name })=>{
66
66
  };
67
67
 
68
68
  export { generateParameterType };
69
- //# sourceMappingURL=generateParameterType-B2AIk2Tt.mjs.map
69
+ //# sourceMappingURL=generateParameterType-BDyh-daC.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateParameterType-B2AIk2Tt.mjs","sources":["../src/commands/generateParameterType.ts"],"sourcesContent":["import ts from \"typescript\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport * as os from \"os\";\n\nimport {\n\tPackageLocation,\n\tgetCreatorIndexParameterPrimaryJSType,\n\treadPackageCreatorIndex,\n\treadPackageCreatorManifest,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nexport interface GenerateParameterTypeOptions {\n\tlocation: PackageLocation;\n\tname: string;\n}\n\nexport const generateParameterType = ({\n\tlocation,\n\tname,\n}: GenerateParameterTypeOptions) => {\n\tconst index = readPackageCreatorIndex(location);\n\tconst manifest = readPackageCreatorManifest(location);\n\n\tif (index === undefined) {\n\t\tthrow new Error(`Could not find the _Index.json file`);\n\t}\n\n\tlet qualifiedName = name;\n\tlet className = name;\n\n\tconst scope = manifest.Scope ?? manifest.Package;\n\n\tif (name.startsWith(scope)) {\n\t\tclassName = name.slice(scope.length + 1);\n\t} else {\n\t\tqualifiedName = `${scope}.${name}`;\n\t}\n\n\tconst informations = index.find((item) => item.Name === qualifiedName);\n\n\tif (informations === undefined) {\n\t\tthrow new Error(`Could not find an index entry for ${name}`);\n\t}\n\n\tconst members: ts.TypeElement[] = [];\n\n\tif (informations.Parameters !== undefined) {\n\t\tconst sortedList = informations.Parameters.slice();\n\t\tsortedList.sort((a, b) => a.DisplayIndex - b.DisplayIndex);\n\n\t\tfor (const parameter of sortedList) {\n\t\t\tconst jsType = getCreatorIndexParameterPrimaryJSType(\n\t\t\t\tparameter.Type,\n\t\t\t);\n\n\t\t\tconst type =\n\t\t\t\tjsType === \"string\"\n\t\t\t\t\t? ts.factory.createTypeReferenceNode(\"string\")\n\t\t\t\t\t: ts.factory.createUnionTypeNode([\n\t\t\t\t\t\t\tts.factory.createTypeReferenceNode(jsType),\n\t\t\t\t\t\t\tts.factory.createTypeReferenceNode(\"string\"),\n\t\t\t\t\t ]);\n\n\t\t\tlet propertySignature = ts.factory.createPropertySignature(\n\t\t\t\tundefined,\n\t\t\t\tparameter.Name,\n\t\t\t\tparameter.Required\n\t\t\t\t\t? undefined\n\t\t\t\t\t: ts.factory.createToken(ts.SyntaxKind.QuestionToken),\n\t\t\t\ttype,\n\t\t\t);\n\n\t\t\tconst jsdocParts: string[] = [];\n\n\t\t\tif (parameter.Description !== undefined) {\n\t\t\t\tjsdocParts.push(parameter.Description, \"\");\n\t\t\t}\n\n\t\t\tjsdocParts.push(`@creatorType ${parameter.Type}`);\n\n\t\t\tif (jsType === \"string\") {\n\t\t\t\tjsdocParts.push(`@default \"${parameter.Default}\"`);\n\t\t\t} else {\n\t\t\t\tjsdocParts.push(`@default ${parameter.Default}`);\n\t\t\t}\n\n\t\t\tconst jsdocContent = jsdocParts\n\t\t\t\t.map((part) => `* ${part}`)\n\t\t\t\t.join(\"\\n \");\n\t\t\tpropertySignature = ts.addSyntheticLeadingComment(\n\t\t\t\tpropertySignature,\n\t\t\t\tts.SyntaxKind.MultiLineCommentTrivia,\n\t\t\t\t`*\\n ${jsdocContent}\\n `,\n\t\t\t\ttrue,\n\t\t\t);\n\n\t\t\tmembers.push(propertySignature);\n\t\t}\n\t}\n\n\tconst interfaceName = `${className}Params`;\n\n\tlet interfaceDeclaration = ts.factory.createInterfaceDeclaration(\n\t\tundefined,\n\t\tinterfaceName,\n\t\tundefined,\n\t\tundefined,\n\t\tmembers,\n\t);\n\n\tinterfaceDeclaration = ts.addSyntheticLeadingComment(\n\t\tinterfaceDeclaration,\n\t\tts.SyntaxKind.MultiLineCommentTrivia,\n\t\t`*\\n * Parameters for the ${className} class\\n `,\n\t\ttrue,\n\t);\n\n\tconst printer = ts.createPrinter();\n\tconst content = printer\n\t\t.printNode(\n\t\t\tts.EmitHint.Unspecified,\n\t\t\tinterfaceDeclaration,\n\t\t\tts.createSourceFile(\"index.ts\", \"\", ts.ScriptTarget.Latest),\n\t\t)\n\t\t.replace(/ /g, \"\\t\");\n\n\tconst outFile = path.join(location.scriptsDir, `${interfaceName}.txt`);\n\n\tfs.writeFileSync(\n\t\toutFile,\n\t\t`Generated parameters interface for ${className}. Insert the interface declaration next to the class and use it as the type for the parameters. Afterwards you can delete this file.` +\n\t\t\tos.EOL +\n\t\t\tos.EOL +\n\t\t\tcontent,\n\t);\n};\n"],"names":["generateParameterType","location","name","index","readPackageCreatorIndex","manifest","readPackageCreatorManifest","undefined","Error","qualifiedName","className","scope","Scope","Package","startsWith","slice","length","informations","find","item","Name","members","Parameters","sortedList","sort","a","b","DisplayIndex","parameter","jsType","getCreatorIndexParameterPrimaryJSType","Type","type","ts","factory","createTypeReferenceNode","createUnionTypeNode","propertySignature","createPropertySignature","Required","createToken","SyntaxKind","QuestionToken","jsdocParts","Description","push","Default","jsdocContent","map","part","join","addSyntheticLeadingComment","MultiLineCommentTrivia","interfaceName","interfaceDeclaration","createInterfaceDeclaration","printer","createPrinter","content","printNode","EmitHint","Unspecified","createSourceFile","ScriptTarget","Latest","replace","outFile","path","scriptsDir","fs","writeFileSync","os","EOL"],"mappings":"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"}
1
+ {"version":3,"file":"generateParameterType-BDyh-daC.mjs","sources":["../src/commands/generateParameterType.ts"],"sourcesContent":["import ts from \"typescript\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport * as os from \"os\";\n\nimport {\n\tPackageLocation,\n\tgetCreatorIndexParameterPrimaryJSType,\n\treadPackageCreatorIndex,\n\treadPackageCreatorManifest,\n} from \"@intelligentgraphics/ig.gfx.tools.core\";\n\nexport interface GenerateParameterTypeOptions {\n\tlocation: PackageLocation;\n\tname: string;\n}\n\nexport const generateParameterType = ({\n\tlocation,\n\tname,\n}: GenerateParameterTypeOptions) => {\n\tconst index = readPackageCreatorIndex(location);\n\tconst manifest = readPackageCreatorManifest(location);\n\n\tif (index === undefined) {\n\t\tthrow new Error(`Could not find the _Index.json file`);\n\t}\n\n\tlet qualifiedName = name;\n\tlet className = name;\n\n\tconst scope = manifest.Scope ?? manifest.Package;\n\n\tif (name.startsWith(scope)) {\n\t\tclassName = name.slice(scope.length + 1);\n\t} else {\n\t\tqualifiedName = `${scope}.${name}`;\n\t}\n\n\tconst informations = index.find((item) => item.Name === qualifiedName);\n\n\tif (informations === undefined) {\n\t\tthrow new Error(`Could not find an index entry for ${name}`);\n\t}\n\n\tconst members: ts.TypeElement[] = [];\n\n\tif (informations.Parameters !== undefined) {\n\t\tconst sortedList = informations.Parameters.slice();\n\t\tsortedList.sort((a, b) => a.DisplayIndex - b.DisplayIndex);\n\n\t\tfor (const parameter of sortedList) {\n\t\t\tconst jsType = getCreatorIndexParameterPrimaryJSType(\n\t\t\t\tparameter.Type,\n\t\t\t);\n\n\t\t\tconst type =\n\t\t\t\tjsType === \"string\"\n\t\t\t\t\t? ts.factory.createTypeReferenceNode(\"string\")\n\t\t\t\t\t: ts.factory.createUnionTypeNode([\n\t\t\t\t\t\t\tts.factory.createTypeReferenceNode(jsType),\n\t\t\t\t\t\t\tts.factory.createTypeReferenceNode(\"string\"),\n\t\t\t\t\t ]);\n\n\t\t\tlet propertySignature = ts.factory.createPropertySignature(\n\t\t\t\tundefined,\n\t\t\t\tparameter.Name,\n\t\t\t\tparameter.Required\n\t\t\t\t\t? undefined\n\t\t\t\t\t: ts.factory.createToken(ts.SyntaxKind.QuestionToken),\n\t\t\t\ttype,\n\t\t\t);\n\n\t\t\tconst jsdocParts: string[] = [];\n\n\t\t\tif (parameter.Description !== undefined) {\n\t\t\t\tjsdocParts.push(parameter.Description, \"\");\n\t\t\t}\n\n\t\t\tjsdocParts.push(`@creatorType ${parameter.Type}`);\n\n\t\t\tif (jsType === \"string\") {\n\t\t\t\tjsdocParts.push(`@default \"${parameter.Default}\"`);\n\t\t\t} else {\n\t\t\t\tjsdocParts.push(`@default ${parameter.Default}`);\n\t\t\t}\n\n\t\t\tconst jsdocContent = jsdocParts\n\t\t\t\t.map((part) => `* ${part}`)\n\t\t\t\t.join(\"\\n \");\n\t\t\tpropertySignature = ts.addSyntheticLeadingComment(\n\t\t\t\tpropertySignature,\n\t\t\t\tts.SyntaxKind.MultiLineCommentTrivia,\n\t\t\t\t`*\\n ${jsdocContent}\\n `,\n\t\t\t\ttrue,\n\t\t\t);\n\n\t\t\tmembers.push(propertySignature);\n\t\t}\n\t}\n\n\tconst interfaceName = `${className}Params`;\n\n\tlet interfaceDeclaration = ts.factory.createInterfaceDeclaration(\n\t\tundefined,\n\t\tinterfaceName,\n\t\tundefined,\n\t\tundefined,\n\t\tmembers,\n\t);\n\n\tinterfaceDeclaration = ts.addSyntheticLeadingComment(\n\t\tinterfaceDeclaration,\n\t\tts.SyntaxKind.MultiLineCommentTrivia,\n\t\t`*\\n * Parameters for the ${className} class\\n `,\n\t\ttrue,\n\t);\n\n\tconst printer = ts.createPrinter();\n\tconst content = printer\n\t\t.printNode(\n\t\t\tts.EmitHint.Unspecified,\n\t\t\tinterfaceDeclaration,\n\t\t\tts.createSourceFile(\"index.ts\", \"\", ts.ScriptTarget.Latest),\n\t\t)\n\t\t.replace(/ /g, \"\\t\");\n\n\tconst outFile = path.join(location.scriptsDir, `${interfaceName}.txt`);\n\n\tfs.writeFileSync(\n\t\toutFile,\n\t\t`Generated parameters interface for ${className}. Insert the interface declaration next to the class and use it as the type for the parameters. Afterwards you can delete this file.` +\n\t\t\tos.EOL +\n\t\t\tos.EOL +\n\t\t\tcontent,\n\t);\n};\n"],"names":["generateParameterType","location","name","index","readPackageCreatorIndex","manifest","readPackageCreatorManifest","undefined","Error","qualifiedName","className","scope","Scope","Package","startsWith","slice","length","informations","find","item","Name","members","Parameters","sortedList","sort","a","b","DisplayIndex","parameter","jsType","getCreatorIndexParameterPrimaryJSType","Type","type","ts","factory","createTypeReferenceNode","createUnionTypeNode","propertySignature","createPropertySignature","Required","createToken","SyntaxKind","QuestionToken","jsdocParts","Description","push","Default","jsdocContent","map","part","join","addSyntheticLeadingComment","MultiLineCommentTrivia","interfaceName","interfaceDeclaration","createInterfaceDeclaration","printer","createPrinter","content","printNode","EmitHint","Unspecified","createSourceFile","ScriptTarget","Latest","replace","outFile","path","scriptsDir","fs","writeFileSync","os","EOL"],"mappings":"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"}
@@ -6,7 +6,7 @@ import ts from 'typescript';
6
6
  import * as fs from 'fs';
7
7
  import 'resolve';
8
8
  import 'write-package';
9
- import { e as readPackageAnimationList, r as readPackageCreatorManifest, q as readPackageNpmManifest, i as isErrorENOENT } from './cli-CJ9DAMPz.mjs';
9
+ import { e as readPackageAnimationList, r as readPackageCreatorManifest, q as readPackageNpmManifest, i as isErrorENOENT } from './cli-CPzBOjl0.mjs';
10
10
  import { g as getPackageTypescriptFiles, i as isScriptPackageModules } from './scripts-B3noxiX3.mjs';
11
11
  import 'axios';
12
12
  import EventEmitter from 'events';
@@ -1367,4 +1367,4 @@ var index = /*#__PURE__*/Object.freeze({
1367
1367
  });
1368
1368
 
1369
1369
  export { PackageVersion as P, consoleReporter as a, buildFolders as b, createPackageScopedReporter as c, index as i };
1370
- //# sourceMappingURL=index-CEP6mpzl.mjs.map
1370
+ //# sourceMappingURL=index-Dn5_iPca.mjs.map