@rockcarver/frodo-cli 0.18.2-3 → 0.18.2-4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.18.2-4] - 2022-11-10
11
+
10
12
  ## [0.18.2-3] - 2022-11-09
11
13
 
12
14
  ## [0.18.2-2] - 2022-11-09
@@ -717,7 +719,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
717
719
  - Fixed problem with adding connection profiles
718
720
  - Miscellaneous bug fixes
719
721
 
720
- [Unreleased]: https://github.com/rockcarver/frodo-cli/compare/v0.18.2-3...HEAD
722
+ [Unreleased]: https://github.com/rockcarver/frodo-cli/compare/v0.18.2-4...HEAD
723
+
724
+ [0.18.2-4]: https://github.com/rockcarver/frodo-cli/compare/v0.18.2-3...v0.18.2-4
721
725
 
722
726
  [0.18.2-3]: https://github.com/rockcarver/frodo-cli/compare/v0.18.2-2...v0.18.2-3
723
727
 
@@ -1,7 +1,7 @@
1
1
  import { Command, Option } from 'commander';
2
2
  import { Authenticate, Idm, state } from '@rockcarver/frodo-lib';
3
- import * as common from '../cmd_common.js';
4
- import { printMessage } from '../../utils/Console.js';
3
+ import * as common from '../cmd_common';
4
+ import { printMessage } from '../../utils/Console';
5
5
  const {
6
6
  getTokens
7
7
  } = Authenticate;
@@ -1 +1 @@
1
- {"version":3,"file":"idm-export.js","names":["Command","Option","Authenticate","Idm","state","common","printMessage","getTokens","exportAllConfigEntities","exportAllRawConfigEntities","exportConfigEntity","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","name","getRealm","file","allSeparate","directory","entitiesFile","envFile","help","parse"],"sources":["cli/idm/idm-export.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Idm, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst {\n exportAllConfigEntities,\n exportAllRawConfigEntities,\n exportConfigEntity,\n} = Idm;\n\nconst program = new Command('frodo idm export');\n\nprogram\n .description('Export IDM configuration objects.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option(\n '-N, --name <name>',\n 'Config entity name. E.g. \"managed\", \"sync\", \"provisioner-<connector-name>\", etc.'\n )\n )\n .addOption(new Option('-f, --file [file]', 'Export file. Ignored with -A.'))\n .addOption(\n new Option(\n '-E, --entities-file [entities-file]',\n 'Name of the entity file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-e, --env-file [envfile]',\n 'Name of the env file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Export all IDM configuration objects into a single file in directory -D. Ignored with -N.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all IDM configuration objects into separate JSON files in directory -D. Ignored with -N, and -a.'\n )\n )\n .addOption(\n new Option(\n '-D, --directory <directory>',\n 'Export directory. Required with and ignored without -a/-A.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // export by id/name\n if (options.name) {\n printMessage(\n `Exporting object \"${\n options.name\n }\" from realm \"${state.default.session.getRealm()}\"...`\n );\n exportConfigEntity(options.name, options.file);\n }\n // --all-separate -A\n else if (\n options.allSeparate &&\n options.directory &&\n options.entitiesFile &&\n options.envFile\n ) {\n printMessage(\n `Exporting IDM configuration objects specified in ${options.entitiesFile} into separate files in ${options.directory} using ${options.envFile} for variable replacement...`\n );\n exportAllConfigEntities(\n options.directory,\n options.entitiesFile,\n options.envFile\n );\n }\n // --all-separate -A without variable replacement\n else if (options.allSeparate && options.directory) {\n printMessage(\n `Exporting all IDM configuration objects into separate files in ${options.directory}...`\n );\n exportAllRawConfigEntities(options.directory);\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n }\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
1
+ {"version":3,"file":"idm-export.js","names":["Command","Option","Authenticate","Idm","state","common","printMessage","getTokens","exportAllConfigEntities","exportAllRawConfigEntities","exportConfigEntity","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","name","getRealm","file","allSeparate","directory","entitiesFile","envFile","help","parse"],"sources":["cli/idm/idm-export.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Idm, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport { printMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\nconst {\n exportAllConfigEntities,\n exportAllRawConfigEntities,\n exportConfigEntity,\n} = Idm;\n\nconst program = new Command('frodo idm export');\n\nprogram\n .description('Export IDM configuration objects.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option(\n '-N, --name <name>',\n 'Config entity name. E.g. \"managed\", \"sync\", \"provisioner-<connector-name>\", etc.'\n )\n )\n .addOption(new Option('-f, --file [file]', 'Export file. Ignored with -A.'))\n .addOption(\n new Option(\n '-E, --entities-file [entities-file]',\n 'Name of the entity file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-e, --env-file [envfile]',\n 'Name of the env file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Export all IDM configuration objects into a single file in directory -D. Ignored with -N.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all IDM configuration objects into separate JSON files in directory -D. Ignored with -N, and -a.'\n )\n )\n .addOption(\n new Option(\n '-D, --directory <directory>',\n 'Export directory. Required with and ignored without -a/-A.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // export by id/name\n if (options.name) {\n printMessage(\n `Exporting object \"${\n options.name\n }\" from realm \"${state.default.session.getRealm()}\"...`\n );\n exportConfigEntity(options.name, options.file);\n }\n // --all-separate -A\n else if (\n options.allSeparate &&\n options.directory &&\n options.entitiesFile &&\n options.envFile\n ) {\n printMessage(\n `Exporting IDM configuration objects specified in ${options.entitiesFile} into separate files in ${options.directory} using ${options.envFile} for variable replacement...`\n );\n exportAllConfigEntities(\n options.directory,\n options.entitiesFile,\n options.envFile\n );\n }\n // --all-separate -A without variable replacement\n else if (options.allSeparate && options.directory) {\n printMessage(\n `Exporting all IDM configuration objects into separate files in ${options.directory}...`\n );\n exportAllRawConfigEntities(options.directory);\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n }\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { Command, Option } from 'commander';
2
+ import { Authenticate, Idm, state } from '@rockcarver/frodo-lib';
3
+ import * as common from '../cmd_common';
4
+ import { printMessage } from '../../utils/Console';
5
+ const {
6
+ getTokens
7
+ } = Authenticate;
8
+ const {
9
+ importAllConfigEntities,
10
+ importAllRawConfigEntities,
11
+ importConfigEntity
12
+ } = Idm;
13
+ const program = new Command('frodo idm import');
14
+ program.description('Import IDM configuration objects.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-N, --name <name>', 'Config entity name. E.g. "managed", "sync", "provisioner-<connector-name>", etc.')).addOption(new Option('-f, --file [file]', 'Import file. Ignored with -A.')).addOption(new Option('-E, --entities-file [entities-file]', 'Name of the entity file. Ignored with -A.')).addOption(new Option('-e, --env-file [envfile]', 'Name of the env file. Ignored with -A.')).addOption(new Option('-A, --all-separate', 'Import all IDM configuration objects into separate JSON files in directory -D. Ignored with -N, and -a.')).addOption(new Option('-D, --directory <directory>', 'Import directory. Required with and ignored without -a/-A.')).action( // implement command logic inside action handler
15
+ async (host, realm, user, password, options) => {
16
+ state.default.session.setTenant(host);
17
+ state.default.session.setRealm(realm);
18
+ state.default.session.setUsername(user);
19
+ state.default.session.setPassword(password);
20
+ state.default.session.setDeploymentType(options.type);
21
+ state.default.session.setAllowInsecureConnection(options.insecure);
22
+
23
+ if (await getTokens()) {
24
+ // import by id/name
25
+ if (options.name) {
26
+ printMessage(`Importing object "${options.name}" to realm "${state.default.session.getRealm()}"...`);
27
+ await importConfigEntity(options.name, options.file);
28
+ } // --all-separate -A
29
+ else if (options.allSeparate && options.directory && options.entitiesFile && options.envFile) {
30
+ printMessage(`Importing IDM configuration objects specified in ${options.entitiesFile} into separate files in ${options.directory} using ${options.envFile} for variable replacement...`);
31
+ await importAllConfigEntities(options.directory, options.entitiesFile, options.envFile);
32
+ } // --all-separate -A without variable replacement
33
+ else if (options.allSeparate && options.directory) {
34
+ printMessage(`Importing all IDM configuration objects into separate files in ${options.directory}...`);
35
+ await importAllRawConfigEntities(options.directory);
36
+ } // unrecognized combination of options or no options
37
+ else {
38
+ printMessage('Unrecognized combination of options or no options...', 'error');
39
+ program.help();
40
+ }
41
+ }
42
+ } // end command logic inside action handler
43
+ );
44
+ program.parse();
45
+ //# sourceMappingURL=idm-import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idm-import.js","names":["Command","Option","Authenticate","Idm","state","common","printMessage","getTokens","importAllConfigEntities","importAllRawConfigEntities","importConfigEntity","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","name","getRealm","file","allSeparate","directory","entitiesFile","envFile","help","parse"],"sources":["cli/idm/idm-import.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Idm, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport { printMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\nconst {\n importAllConfigEntities,\n importAllRawConfigEntities,\n importConfigEntity,\n} = Idm;\n\nconst program = new Command('frodo idm import');\n\ninterface IdmImportOptions {\n type?: string;\n insecure?: string;\n name?: string;\n file?: string;\n entitiesFile?: string;\n envFile?: string;\n all?: string;\n allSeparate?: string;\n directory?: string;\n}\n\nprogram\n .description('Import IDM configuration objects.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option(\n '-N, --name <name>',\n 'Config entity name. E.g. \"managed\", \"sync\", \"provisioner-<connector-name>\", etc.'\n )\n )\n .addOption(new Option('-f, --file [file]', 'Import file. Ignored with -A.'))\n .addOption(\n new Option(\n '-E, --entities-file [entities-file]',\n 'Name of the entity file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-e, --env-file [envfile]',\n 'Name of the env file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all IDM configuration objects into separate JSON files in directory -D. Ignored with -N, and -a.'\n )\n )\n .addOption(\n new Option(\n '-D, --directory <directory>',\n 'Import directory. Required with and ignored without -a/-A.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (\n host: string,\n realm: string,\n user: string,\n password: string,\n options: IdmImportOptions\n ) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // import by id/name\n if (options.name) {\n printMessage(\n `Importing object \"${\n options.name\n }\" to realm \"${state.default.session.getRealm()}\"...`\n );\n await importConfigEntity(options.name, options.file);\n }\n // --all-separate -A\n else if (\n options.allSeparate &&\n options.directory &&\n options.entitiesFile &&\n options.envFile\n ) {\n printMessage(\n `Importing IDM configuration objects specified in ${options.entitiesFile} into separate files in ${options.directory} using ${options.envFile} for variable replacement...`\n );\n await importAllConfigEntities(\n options.directory,\n options.entitiesFile,\n options.envFile\n );\n }\n // --all-separate -A without variable replacement\n else if (options.allSeparate && options.directory) {\n printMessage(\n `Importing all IDM configuration objects into separate files in ${options.directory}...`\n );\n await importAllRawConfigEntities(options.directory);\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n }\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,YAAT,EAAuBC,GAAvB,EAA4BC,KAA5B,QAAyC,uBAAzC;AACA,OAAO,KAAKC,MAAZ,MAAwB,eAAxB;AACA,SAASC,YAAT,QAA6B,qBAA7B;AAEA,MAAM;EAAEC;AAAF,IAAgBL,YAAtB;AACA,MAAM;EACJM,uBADI;EAEJC,0BAFI;EAGJC;AAHI,IAIFP,GAJJ;AAMA,MAAMQ,OAAO,GAAG,IAAIX,OAAJ,CAAY,kBAAZ,CAAhB;AAcAW,OAAO,CACJC,WADH,CACe,mCADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeV,MAAM,CAACW,aAJtB,EAKGD,WALH,CAKeV,MAAM,CAACY,aALtB,EAMGF,WANH,CAMeV,MAAM,CAACa,YANtB,EAOGH,WAPH,CAOeV,MAAM,CAACc,gBAPtB,EAQGC,SARH,CAQaf,MAAM,CAACgB,gBARpB,EASGD,SATH,CASaf,MAAM,CAACiB,cATpB,EAUGF,SAVH,CAWI,IAAInB,MAAJ,CACE,mBADF,EAEE,kFAFF,CAXJ,EAgBGmB,SAhBH,CAgBa,IAAInB,MAAJ,CAAW,mBAAX,EAAgC,+BAAhC,CAhBb,EAiBGmB,SAjBH,CAkBI,IAAInB,MAAJ,CACE,qCADF,EAEE,2CAFF,CAlBJ,EAuBGmB,SAvBH,CAwBI,IAAInB,MAAJ,CACE,0BADF,EAEE,wCAFF,CAxBJ,EA6BGmB,SA7BH,CA8BI,IAAInB,MAAJ,CACE,oBADF,EAEE,yGAFF,CA9BJ,EAmCGmB,SAnCH,CAoCI,IAAInB,MAAJ,CACE,6BADF,EAEE,4DAFF,CApCJ,EAyCGsB,MAzCH,EA0CI;AACA,OACEC,IADF,EAEEC,KAFF,EAGEC,IAHF,EAIEC,QAJF,EAKEC,OALF,KAMK;EACHxB,KAAK,CAACyB,OAAN,CAAcC,OAAd,CAAsBC,SAAtB,CAAgCP,IAAhC;EACApB,KAAK,CAACyB,OAAN,CAAcC,OAAd,CAAsBE,QAAtB,CAA+BP,KAA/B;EACArB,KAAK,CAACyB,OAAN,CAAcC,OAAd,CAAsBG,WAAtB,CAAkCP,IAAlC;EACAtB,KAAK,CAACyB,OAAN,CAAcC,OAAd,CAAsBI,WAAtB,CAAkCP,QAAlC;EACAvB,KAAK,CAACyB,OAAN,CAAcC,OAAd,CAAsBK,iBAAtB,CAAwCP,OAAO,CAACQ,IAAhD;EACAhC,KAAK,CAACyB,OAAN,CAAcC,OAAd,CAAsBO,0BAAtB,CAAiDT,OAAO,CAACU,QAAzD;;EACA,IAAI,MAAM/B,SAAS,EAAnB,EAAuB;IACrB;IACA,IAAIqB,OAAO,CAACW,IAAZ,EAAkB;MAChBjC,YAAY,CACT,qBACCsB,OAAO,CAACW,IACT,eAAcnC,KAAK,CAACyB,OAAN,CAAcC,OAAd,CAAsBU,QAAtB,EAAiC,MAHtC,CAAZ;MAKA,MAAM9B,kBAAkB,CAACkB,OAAO,CAACW,IAAT,EAAeX,OAAO,CAACa,IAAvB,CAAxB;IACD,CAPD,CAQA;IARA,KASK,IACHb,OAAO,CAACc,WAAR,IACAd,OAAO,CAACe,SADR,IAEAf,OAAO,CAACgB,YAFR,IAGAhB,OAAO,CAACiB,OAJL,EAKH;MACAvC,YAAY,CACT,oDAAmDsB,OAAO,CAACgB,YAAa,2BAA0BhB,OAAO,CAACe,SAAU,UAASf,OAAO,CAACiB,OAAQ,8BADpI,CAAZ;MAGA,MAAMrC,uBAAuB,CAC3BoB,OAAO,CAACe,SADmB,EAE3Bf,OAAO,CAACgB,YAFmB,EAG3BhB,OAAO,CAACiB,OAHmB,CAA7B;IAKD,CAdI,CAeL;IAfK,KAgBA,IAAIjB,OAAO,CAACc,WAAR,IAAuBd,OAAO,CAACe,SAAnC,EAA8C;MACjDrC,YAAY,CACT,kEAAiEsB,OAAO,CAACe,SAAU,KAD1E,CAAZ;MAGA,MAAMlC,0BAA0B,CAACmB,OAAO,CAACe,SAAT,CAAhC;IACD,CALI,CAML;IANK,KAOA;MACHrC,YAAY,CACV,sDADU,EAEV,OAFU,CAAZ;MAIAK,OAAO,CAACmC,IAAR;IACD;EACF;AACF,CAlGL,CAmGI;AAnGJ;AAsGAnC,OAAO,CAACoC,KAAR"}
@@ -9,6 +9,7 @@ export default function setup() {
9
9
  program.command('list', 'List all IDM configuration objects.').showHelpAfterError(); // Do all 3 commands (raw / all / one ) or seperate?
10
10
 
11
11
  program.command('export', 'Export IDM configuration objects.').showHelpAfterError();
12
+ program.command('import', 'Import IDM configuration objects.').showHelpAfterError();
12
13
  program.command('count', 'Count number of managed objects of a given type.').showHelpAfterError();
13
14
  program.showHelpAfterError();
14
15
  return program;
@@ -1 +1 @@
1
- {"version":3,"file":"idm.js","names":["Command","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","helpOption","description","executableDir","command","showHelpAfterError"],"sources":["cli/idm/idm.ts"],"sourcesContent":["import { Command } from 'commander';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport default function setup() {\n const program = new Command('idm')\n .helpOption('-h, --help', 'Help')\n .description('Manage IDM configuration.')\n .executableDir(__dirname);\n\n program\n .command('list', 'List all IDM configuration objects.')\n .showHelpAfterError();\n\n // Do all 3 commands (raw / all / one ) or seperate?\n program\n .command('export', 'Export IDM configuration objects.')\n .showHelpAfterError();\n\n program\n .command('count', 'Count number of managed objects of a given type.')\n .showHelpAfterError();\n\n program.showHelpAfterError();\n return program;\n}\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,WAAxB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,SAASC,aAAT,QAA8B,KAA9B;;AAEA,MAAMC,SAAS,GAAGF,IAAI,CAACG,OAAL,CAAaF,aAAa,CAACG,MAAM,CAACC,IAAP,CAAYC,GAAb,CAA1B,CAAlB;;AAEA,eAAe,SAASC,KAAT,GAAiB;EAC9B,MAAMC,OAAO,GAAG,IAAIT,OAAJ,CAAY,KAAZ,EACbU,UADa,CACF,YADE,EACY,MADZ,EAEbC,WAFa,CAED,2BAFC,EAGbC,aAHa,CAGCT,SAHD,CAAhB;EAKAM,OAAO,CACJI,OADH,CACW,MADX,EACmB,qCADnB,EAEGC,kBAFH,GAN8B,CAU9B;;EACAL,OAAO,CACJI,OADH,CACW,QADX,EACqB,mCADrB,EAEGC,kBAFH;EAIAL,OAAO,CACJI,OADH,CACW,OADX,EACoB,kDADpB,EAEGC,kBAFH;EAIAL,OAAO,CAACK,kBAAR;EACA,OAAOL,OAAP;AACD"}
1
+ {"version":3,"file":"idm.js","names":["Command","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","helpOption","description","executableDir","command","showHelpAfterError"],"sources":["cli/idm/idm.ts"],"sourcesContent":["import { Command } from 'commander';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport default function setup() {\n const program = new Command('idm')\n .helpOption('-h, --help', 'Help')\n .description('Manage IDM configuration.')\n .executableDir(__dirname);\n\n program\n .command('list', 'List all IDM configuration objects.')\n .showHelpAfterError();\n\n // Do all 3 commands (raw / all / one ) or seperate?\n program\n .command('export', 'Export IDM configuration objects.')\n .showHelpAfterError();\n\n program\n .command('import', 'Import IDM configuration objects.')\n .showHelpAfterError();\n\n program\n .command('count', 'Count number of managed objects of a given type.')\n .showHelpAfterError();\n\n program.showHelpAfterError();\n return program;\n}\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,WAAxB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,SAASC,aAAT,QAA8B,KAA9B;;AAEA,MAAMC,SAAS,GAAGF,IAAI,CAACG,OAAL,CAAaF,aAAa,CAACG,MAAM,CAACC,IAAP,CAAYC,GAAb,CAA1B,CAAlB;;AAEA,eAAe,SAASC,KAAT,GAAiB;EAC9B,MAAMC,OAAO,GAAG,IAAIT,OAAJ,CAAY,KAAZ,EACbU,UADa,CACF,YADE,EACY,MADZ,EAEbC,WAFa,CAED,2BAFC,EAGbC,aAHa,CAGCT,SAHD,CAAhB;EAKAM,OAAO,CACJI,OADH,CACW,MADX,EACmB,qCADnB,EAEGC,kBAFH,GAN8B,CAU9B;;EACAL,OAAO,CACJI,OADH,CACW,QADX,EACqB,mCADrB,EAEGC,kBAFH;EAIAL,OAAO,CACJI,OADH,CACW,QADX,EACqB,mCADrB,EAEGC,kBAFH;EAIAL,OAAO,CACJI,OADH,CACW,OADX,EACoB,kDADpB,EAEGC,kBAFH;EAIAL,OAAO,CAACK,kBAAR;EACA,OAAOL,OAAP;AACD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rockcarver/frodo-cli",
3
- "version": "0.18.2-3",
3
+ "version": "0.18.2-4",
4
4
  "type": "module",
5
5
  "description": "A command line interface to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.",
6
6
  "keywords": [
@@ -90,7 +90,7 @@
90
90
  ]
91
91
  },
92
92
  "dependencies": {
93
- "@rockcarver/frodo-lib": "0.16.2-4",
93
+ "@rockcarver/frodo-lib": "0.16.2-5",
94
94
  "cli-progress": "^3.11.2",
95
95
  "cli-table3": "^0.6.2",
96
96
  "colors": "^1.4.0",