@rockcarver/frodo-cli 0.13.3 → 0.14.0

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 (138) hide show
  1. package/CHANGELOG.md +21 -1
  2. package/babel.config.esm.json +6 -0
  3. package/package.json +14 -7
  4. package/src/{app.js → app.ts} +14 -14
  5. package/src/cli/_template/{cmd-delete.js → cmd-delete.ts} +0 -0
  6. package/src/cli/_template/{cmd-describe.js → cmd-describe.ts} +0 -0
  7. package/src/cli/_template/{cmd-export.js → cmd-export.ts} +0 -0
  8. package/src/cli/_template/{cmd-import.js → cmd-import.ts} +0 -0
  9. package/src/cli/_template/{cmd-list.js → cmd-list.ts} +0 -0
  10. package/src/cli/_template/{cmd-sub1-delete.js → cmd-sub1-delete.ts} +0 -0
  11. package/src/cli/_template/{cmd-sub1-describe.js → cmd-sub1-describe.ts} +0 -0
  12. package/src/cli/_template/{cmd-sub1-export.js → cmd-sub1-export.ts} +0 -0
  13. package/src/cli/_template/{cmd-sub1-import.js → cmd-sub1-import.ts} +0 -0
  14. package/src/cli/_template/{cmd-sub1-list.js → cmd-sub1-list.ts} +0 -0
  15. package/src/cli/_template/{cmd-sub1.js → cmd-sub1.ts} +0 -0
  16. package/src/cli/_template/{cmd-sub2-delete.js → cmd-sub2-delete.ts} +0 -0
  17. package/src/cli/_template/{cmd-sub2-describe.js → cmd-sub2-describe.ts} +0 -0
  18. package/src/cli/_template/{cmd-sub2-export.js → cmd-sub2-export.ts} +0 -0
  19. package/src/cli/_template/{cmd-sub2-import.js → cmd-sub2-import.ts} +0 -0
  20. package/src/cli/_template/{cmd-sub2-list.js → cmd-sub2-list.ts} +0 -0
  21. package/src/cli/_template/{cmd-sub2.js → cmd-sub2.ts} +0 -0
  22. package/src/cli/_template/{cmd.js → cmd.ts} +0 -0
  23. package/src/cli/admin/{admin-add-autoid-static-user-mapping.js → admin-add-autoid-static-user-mapping.ts} +0 -0
  24. package/src/cli/admin/{admin-create-oauth2-client-with-admin-privileges.js → admin-create-oauth2-client-with-admin-privileges.ts} +0 -0
  25. package/src/cli/admin/{admin-get-access-token.js → admin-get-access-token.ts} +0 -0
  26. package/src/cli/admin/{admin-grant-oauth2-client-admin-privileges.js → admin-grant-oauth2-client-admin-privileges.ts} +0 -0
  27. package/src/cli/admin/{admin-hide-generic-extension-attributes.js → admin-hide-generic-extension-attributes.ts} +0 -0
  28. package/src/cli/admin/{admin-list-oauth2-clients-with-admin-privileges.js → admin-list-oauth2-clients-with-admin-privileges.ts} +0 -0
  29. package/src/cli/admin/{admin-list-oauth2-clients-with-custom-privileges.js → admin-list-oauth2-clients-with-custom-privileges.ts} +0 -0
  30. package/src/cli/admin/{admin-list-static-user-mappings.js → admin-list-static-user-mappings.ts} +0 -0
  31. package/src/cli/admin/{admin-remove-static-user-mapping.js → admin-remove-static-user-mapping.ts} +0 -0
  32. package/src/cli/admin/{admin-repair-org-model.js → admin-repair-org-model.ts} +7 -1
  33. package/src/cli/admin/{admin-revoke-oauth2-client-admin-privileges.js → admin-revoke-oauth2-client-admin-privileges.ts} +0 -0
  34. package/src/cli/admin/{admin-show-generic-extension-attributes.js → admin-show-generic-extension-attributes.ts} +0 -0
  35. package/src/cli/admin/{admin.js → admin.ts} +0 -0
  36. package/src/cli/app/{app-delete.js → app-delete.ts} +0 -0
  37. package/src/cli/app/{app-describe.js → app-describe.ts} +0 -0
  38. package/src/cli/app/{app-export.js → app-export.ts} +0 -0
  39. package/src/cli/app/{app-import.js → app-import.ts} +0 -0
  40. package/src/cli/app/{app-list.js → app-list.ts} +0 -0
  41. package/src/cli/app/{app.js → app.ts} +0 -0
  42. package/src/cli/{cmd_common.js → cmd_common.ts} +0 -0
  43. package/src/cli/conn/{conn-add.js → conn-add.ts} +0 -0
  44. package/src/cli/conn/{conn-delete.js → conn-delete.ts} +0 -0
  45. package/src/cli/conn/{conn-describe.js → conn-describe.ts} +0 -0
  46. package/src/cli/conn/{conn-list.js → conn-list.ts} +0 -0
  47. package/src/cli/conn/{conn.js → conn.ts} +0 -0
  48. package/src/cli/email/{email-template-export.js → email-template-export.ts} +0 -0
  49. package/src/cli/email/{email-template-import.js → email-template-import.ts} +0 -0
  50. package/src/cli/email/{email-template-list.js → email-template-list.ts} +0 -0
  51. package/src/cli/email/{email-template.js → email-template.ts} +0 -0
  52. package/src/cli/email/{email.js → email.ts} +0 -0
  53. package/src/cli/esv/{esv-apply.js → esv-apply.ts} +0 -0
  54. package/src/cli/esv/{esv-secret-create.js → esv-secret-create.ts} +0 -0
  55. package/src/cli/esv/{esv-secret-delete.js → esv-secret-delete.ts} +0 -0
  56. package/src/cli/esv/{esv-secret-describe.js → esv-secret-describe.ts} +0 -0
  57. package/src/cli/esv/{esv-secret-export.js → esv-secret-export.ts} +0 -0
  58. package/src/cli/esv/{esv-secret-import.js → esv-secret-import.ts} +0 -0
  59. package/src/cli/esv/{esv-secret-list.js → esv-secret-list.ts} +0 -0
  60. package/src/cli/esv/{esv-secret-set.js → esv-secret-set.ts} +0 -0
  61. package/src/cli/esv/{esv-secret-version-activate.js → esv-secret-version-activate.ts} +0 -0
  62. package/src/cli/esv/{esv-secret-version-create.js → esv-secret-version-create.ts} +0 -0
  63. package/src/cli/esv/{esv-secret-version-deactivate.js → esv-secret-version-deactivate.ts} +0 -0
  64. package/src/cli/esv/{esv-secret-version-delete.js → esv-secret-version-delete.ts} +0 -0
  65. package/src/cli/esv/{esv-secret-version-list.js → esv-secret-version-list.ts} +0 -0
  66. package/src/cli/esv/{esv-secret-version.js → esv-secret-version.ts} +0 -0
  67. package/src/cli/esv/{esv-secret.js → esv-secret.ts} +0 -0
  68. package/src/cli/esv/{esv-variable-create.js → esv-variable-create.ts} +0 -0
  69. package/src/cli/esv/{esv-variable-delete.js → esv-variable-delete.ts} +0 -0
  70. package/src/cli/esv/{esv-variable-describe.js → esv-variable-describe.ts} +0 -0
  71. package/src/cli/esv/{esv-variable-export.js → esv-variable-export.ts} +0 -0
  72. package/src/cli/esv/{esv-variable-import.js → esv-variable-import.ts} +0 -0
  73. package/src/cli/esv/{esv-variable-list.js → esv-variable-list.ts} +0 -0
  74. package/src/cli/esv/{esv-variable-set.js → esv-variable-set.ts} +0 -0
  75. package/src/cli/esv/{esv-variable.js → esv-variable.ts} +0 -0
  76. package/src/cli/esv/{esv.js → esv.ts} +0 -0
  77. package/src/cli/idm/{idm-count.js → idm-count.ts} +0 -0
  78. package/src/cli/idm/{idm-export.js → idm-export.ts} +0 -0
  79. package/src/cli/idm/{idm-list.js → idm-list.ts} +0 -0
  80. package/src/cli/idm/{idm.js → idm.ts} +0 -0
  81. package/src/cli/idp/{idp-export.js → idp-export.ts} +0 -0
  82. package/src/cli/idp/{idp-import.js → idp-import.ts} +0 -0
  83. package/src/cli/idp/{idp-list.js → idp-list.ts} +0 -0
  84. package/src/cli/idp/{idp.js → idp.ts} +0 -0
  85. package/src/cli/info/{info.js → info.ts} +1 -1
  86. package/src/cli/journey/journey-delete.e2e.test_.ts +380 -0
  87. package/src/cli/journey/{journey-delete.js → journey-delete.ts} +0 -0
  88. package/src/cli/journey/{journey-describe.js → journey-describe.ts} +19 -14
  89. package/src/cli/journey/{journey-export.js → journey-export.ts} +0 -0
  90. package/src/cli/journey/{journey-import.js → journey-import.ts} +0 -0
  91. package/src/cli/journey/journey-list.e2e.test_.ts +142 -0
  92. package/src/cli/journey/{journey-list.js → journey-list.ts} +0 -0
  93. package/src/cli/journey/{journey-prune.js → journey-prune.ts} +0 -0
  94. package/src/cli/journey/{journey.js → journey.ts} +0 -0
  95. package/src/cli/logging/{logs-list.js → logs-list.ts} +0 -0
  96. package/src/cli/logging/{logs-tail.js → logs-tail.ts} +0 -0
  97. package/src/cli/logging/{logs.js → logs.ts} +0 -0
  98. package/src/cli/realm/{realm-add-custom-domain.js → realm-add-custom-domain.ts} +0 -0
  99. package/src/cli/realm/{realm-describe.js → realm-describe.ts} +0 -0
  100. package/src/cli/realm/{realm-list.js → realm-list.ts} +0 -0
  101. package/src/cli/realm/{realm-remove-custom-domain.js → realm-remove-custom-domain.ts} +0 -0
  102. package/src/cli/realm/{realm.js → realm.ts} +0 -0
  103. package/src/cli/saml/{saml-cot-export.js → saml-cot-export.ts} +0 -0
  104. package/src/cli/saml/{saml-cot-import.js → saml-cot-import.ts} +0 -0
  105. package/src/cli/saml/{saml-cot-list.js → saml-cot-list.ts} +0 -0
  106. package/src/cli/saml/{saml-cot.js → saml-cot.ts} +0 -0
  107. package/src/cli/saml/{saml-describe.js → saml-describe.ts} +0 -0
  108. package/src/cli/saml/{saml-export.js → saml-export.ts} +0 -0
  109. package/src/cli/saml/{saml-import.js → saml-import.ts} +0 -0
  110. package/src/cli/saml/{saml-list.js → saml-list.ts} +0 -0
  111. package/src/cli/saml/{saml-metadata-export.js → saml-metadata-export.ts} +0 -0
  112. package/src/cli/saml/{saml-metadata.js → saml-metadata.ts} +0 -0
  113. package/src/cli/saml/{saml.js → saml.ts} +0 -0
  114. package/src/cli/script/{script-delete.js → script-delete.ts} +0 -0
  115. package/src/cli/script/{script-describe.js → script-describe.ts} +0 -0
  116. package/src/cli/script/{script-export.js → script-export.ts} +0 -0
  117. package/src/cli/script/{script-import.js → script-import.ts} +0 -0
  118. package/src/cli/script/{script-list.js → script-list.ts} +0 -0
  119. package/src/cli/script/{script.js → script.ts} +0 -0
  120. package/src/cli/theme/theme-delete.e2e.test_.ts +178 -0
  121. package/src/cli/theme/{theme-delete.js → theme-delete.ts} +0 -0
  122. package/src/cli/theme/{theme-export.js → theme-export.ts} +0 -0
  123. package/src/cli/theme/{theme-import.js → theme-import.ts} +0 -0
  124. package/src/cli/theme/theme-list.e2e.test_.ts +119 -0
  125. package/src/cli/theme/{theme-list.js → theme-list.ts} +0 -0
  126. package/src/cli/theme/{theme.js → theme.ts} +0 -0
  127. package/src/ops/CirclesOfTrustOps.ts +12 -0
  128. package/src/ops/EmailTemplateOps.ts +19 -0
  129. package/src/ops/IdpOps.ts +11 -0
  130. package/src/ops/JourneyOps.ts +278 -0
  131. package/src/ops/NodeOps.ts +47 -0
  132. package/src/ops/Saml2Ops.ts +24 -0
  133. package/src/ops/ScriptOps.ts +11 -0
  134. package/src/ops/ThemeOps.ts +17 -0
  135. package/src/ops/utils/Wordwrap.ts +11 -0
  136. package/src/storage/{StaticStorage.js → StaticStorage.ts} +0 -0
  137. package/src/utils/{Console.js → Console.ts} +3 -2
  138. package/tsconfig.json +6 -6
package/CHANGELOG.md CHANGED
@@ -7,6 +7,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.14.0] - 2022-10-03
11
+
12
+ ### Changed
13
+
14
+ - Updated frodo-lib to 0.12.7
15
+ - Changes to `frodo journey describe` command:
16
+ - Added journey status (enabled/disabled)
17
+ - Added journey/node classification:
18
+ Classifications are shown for the whole journey and for each node type and node, making it easy to determine why a journey is classified a certain way.
19
+ - `standard`: can run on any instance of a ForgeRock platform
20
+ - `cloud`: utilize nodes, which are exclusively available in the ForgeRock Identity Cloud
21
+ - `premium`: utilizes nodes, which come at a premium
22
+ - `custom`: utilizes nodes not included in the ForgeRock platform release
23
+ - Added journey categories/tags
24
+ - Added consideration of version from export file meta data when using `-f [file]` option to describe a juorney export
25
+ - Added `-o`/`--override-version` parameter. Notation: '<major>.<minor>.<patch>' e.g. `7.2.0`. Override detected version with any version. This is helpful in order to check if journeys in one environment would be compatible running in another environment (e.g. in preparation of migrating from on-prem to ForgeRock Identity Cloud.
26
+ - \#59: Converted frodo-cli to TypeScript
27
+
10
28
  ## [0.13.3] - 2022-09-30
11
29
 
12
30
  ### Added
@@ -570,7 +588,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
570
588
  - Fixed problem with adding connection profiles
571
589
  - Miscellaneous bug fixes
572
590
 
573
- [Unreleased]: https://github.com/rockcarver/frodo-cli/compare/v0.13.3...HEAD
591
+ [Unreleased]: https://github.com/rockcarver/frodo-cli/compare/v0.14.0...HEAD
592
+
593
+ [0.14.0]: https://github.com/rockcarver/frodo-cli/compare/v0.13.3...v0.14.0
574
594
 
575
595
  [0.13.3]: https://github.com/rockcarver/frodo-cli/compare/v0.13.2...v0.13.3
576
596
 
@@ -0,0 +1,6 @@
1
+ {
2
+ "presets": [
3
+ ["@babel/preset-env", { "targets": { "node": "14" }, "modules": false }],
4
+ "@babel/preset-typescript"
5
+ ]
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rockcarver/frodo-cli",
3
- "version": "0.13.3",
3
+ "version": "0.14.0",
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": [
@@ -27,14 +27,17 @@
27
27
  "bugs": {
28
28
  "url": "https://github.com/rockcarver/frodo-cli/issues"
29
29
  },
30
- "main": "src/app.js",
30
+ "main": "esm/app.js",
31
31
  "scripts": {
32
- "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
32
+ "test": "npx tsc && node --experimental-vm-modules node_modules/jest/bin/jest.js",
33
33
  "test:list": "node --experimental-vm-modules node_modules/jest/bin/jest.js --listTests",
34
34
  "test:e2e": "node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand e2e",
35
35
  "test:e2e:list": "node --experimental-vm-modules node_modules/jest/bin/jest.js --listTests e2e",
36
36
  "lint": "npx eslint --ext .js --ignore-path .gitignore .",
37
- "build": "npx gulp"
37
+ "build": "npx gulp",
38
+ "build:local": "npx gulp build-local",
39
+ "build:binary": "npx gulp build-binary",
40
+ "watch": "npx gulp watch"
38
41
  },
39
42
  "contributors": [
40
43
  {
@@ -60,7 +63,7 @@
60
63
  ],
61
64
  "license": "MIT",
62
65
  "bin": {
63
- "frodo": "./src/app.js"
66
+ "frodo": "./esm/app.js"
64
67
  },
65
68
  "babel": {
66
69
  "plugins": [
@@ -84,10 +87,10 @@
84
87
  ]
85
88
  },
86
89
  "dependencies": {
87
- "@colors/colors": "^1.5.0",
88
- "@rockcarver/frodo-lib": "0.12.6",
90
+ "@rockcarver/frodo-lib": "0.12.7",
89
91
  "cli-progress": "^3.11.2",
90
92
  "cli-table3": "^0.6.2",
93
+ "colors": "^1.4.0",
91
94
  "commander": "^9.4.0",
92
95
  "nanospinner": "^1.1.0",
93
96
  "uuid": "^8.3.2",
@@ -97,6 +100,9 @@
97
100
  "@babel/eslint-parser": "^7.18.9",
98
101
  "@babel/plugin-syntax-import-assertions": "^7.16.7",
99
102
  "@babel/plugin-transform-modules-commonjs": "^7.16.8",
103
+ "@babel/preset-env": "^7.19.3",
104
+ "@babel/preset-typescript": "^7.18.6",
105
+ "@types/colors": "^1.2.1",
100
106
  "babel-plugin-transform-import-meta": "^2.1.1",
101
107
  "del": "^6.0.0",
102
108
  "eslint": "^8.21.0",
@@ -111,6 +117,7 @@
111
117
  "gulp": "^4.0.2",
112
118
  "gulp-babel": "^8.0.0",
113
119
  "gulp-install": "^1.1.0",
120
+ "gulp-rename": "^2.0.0",
114
121
  "gulp-sourcemaps": "^3.0.0",
115
122
  "jest": "^28.1.3",
116
123
  "map-stream": "^0.0.7",
@@ -7,20 +7,20 @@ import path from 'path';
7
7
  import { fileURLToPath } from 'url';
8
8
 
9
9
  // commands
10
- import admin from './cli/admin/admin.js';
11
- import app from './cli/app/app.js';
12
- import conn from './cli/conn/conn.js';
13
- import email from './cli/email/email.js';
14
- import esv from './cli/esv/esv.js';
15
- import idm from './cli/idm/idm.js';
16
- import idp from './cli/idp/idp.js';
17
- import info from './cli/info/info.js';
18
- import journey from './cli/journey/journey.js';
19
- import logging from './cli/logging/logs.js';
20
- import realm from './cli/realm/realm.js';
21
- import saml from './cli/saml/saml.js';
22
- import script from './cli/script/script.js';
23
- import theme from './cli/theme/theme.js';
10
+ import admin from './cli/admin/admin';
11
+ import app from './cli/app/app';
12
+ import conn from './cli/conn/conn';
13
+ import email from './cli/email/email';
14
+ import esv from './cli/esv/esv';
15
+ import idm from './cli/idm/idm';
16
+ import idp from './cli/idp/idp';
17
+ import info from './cli/info/info';
18
+ import journey from './cli/journey/journey';
19
+ import logging from './cli/logging/logs';
20
+ import realm from './cli/realm/realm';
21
+ import saml from './cli/saml/saml';
22
+ import script from './cli/script/script';
23
+ import theme from './cli/theme/theme';
24
24
 
25
25
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
26
26
 
File without changes
File without changes
File without changes
File without changes
@@ -17,6 +17,12 @@ program
17
17
  .addArgument(common.passwordArgument)
18
18
  .addOption(common.deploymentOption)
19
19
  .addOption(common.insecureOption)
20
+ .addOption(
21
+ new Option(
22
+ '--exclude-customized',
23
+ 'Exclude customized properties from repair.'
24
+ )
25
+ )
20
26
  .addOption(
21
27
  new Option(
22
28
  '--extend-permissions',
@@ -37,7 +43,7 @@ program
37
43
  console.log(
38
44
  `Repairing org model in realm "${state.default.session.getRealm()}"...`
39
45
  );
40
- await repairOrgModel(options.extendPermissions, options.dryRun);
46
+ await repairOrgModel(options.excludeCustomized, options.extendPermissions, options.dryRun);
41
47
  console.log('Done.');
42
48
  }
43
49
  }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -43,7 +43,7 @@ export default function setup() {
43
43
  sessionToken: state.default.session.getCookieValue(),
44
44
  };
45
45
  if (state.default.session.getBearerToken()) {
46
- output.bearerToken = state.default.session.getBearerToken();
46
+ output['bearerToken'] = state.default.session.getBearerToken();
47
47
  }
48
48
  console.log(JSON.stringify(output, null, 2), 'data');
49
49
  } else {