@rockcarver/frodo-cli 0.16.2-0 → 0.17.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.
- package/CHANGELOG.md +28 -1
- package/esm/app.js +3 -3
- package/esm/app.js.map +1 -1
- package/esm/cli/cmd_common.js +4 -4
- package/esm/cli/cmd_common.js.map +1 -1
- package/esm/cli/idm/idm-export.js +3 -3
- package/esm/cli/idm/idm-export.js.map +1 -1
- package/esm/cli/journey/journey-describe.js +45 -16
- package/esm/cli/journey/journey-describe.js.map +1 -1
- package/esm/ops/CirclesOfTrustOps.js +21 -0
- package/esm/ops/CirclesOfTrustOps.js.map +1 -1
- package/esm/ops/EmailTemplateOps.js +26 -0
- package/esm/ops/EmailTemplateOps.js.map +1 -1
- package/esm/ops/IdpOps.js +21 -0
- package/esm/ops/IdpOps.js.map +1 -1
- package/esm/ops/JourneyOps.js +203 -5
- package/esm/ops/JourneyOps.js.map +1 -1
- package/esm/ops/NodeOps.js +56 -0
- package/esm/ops/NodeOps.js.map +1 -1
- package/esm/ops/Saml2Ops.js +29 -0
- package/esm/ops/Saml2Ops.js.map +1 -1
- package/esm/ops/ScriptOps.js +27 -0
- package/esm/ops/ScriptOps.js.map +1 -1
- package/esm/ops/ThemeOps.js +21 -0
- package/esm/ops/ThemeOps.js.map +1 -1
- package/esm/utils/Console.js +91 -115
- package/esm/utils/Console.js.map +1 -1
- package/package.json +2 -2
package/esm/utils/Console.js
CHANGED
|
@@ -1,116 +1,132 @@
|
|
|
1
1
|
import { SingleBar, Presets } from 'cli-progress';
|
|
2
2
|
import { createSpinner } from 'nanospinner';
|
|
3
3
|
import Table from 'cli-table3';
|
|
4
|
-
import { state } from '@rockcarver/frodo-lib';
|
|
4
|
+
import { ExportImportUtils, state } from '@rockcarver/frodo-lib';
|
|
5
5
|
import Color from 'colors';
|
|
6
6
|
Color.enable();
|
|
7
|
+
const {
|
|
8
|
+
appendTextToFile
|
|
9
|
+
} = ExportImportUtils;
|
|
7
10
|
/**
|
|
8
|
-
* Output a
|
|
9
|
-
* @param {
|
|
11
|
+
* Output a message in default color to stdout or append to `state.default.session.getOutputFile()`
|
|
12
|
+
* @param {string | object} message the message
|
|
10
13
|
*/
|
|
11
14
|
|
|
12
|
-
function data(message) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
});
|
|
18
|
-
break;
|
|
15
|
+
function data(message, newline = true) {
|
|
16
|
+
if (state.default.session.getOutputFile()) {
|
|
17
|
+
if (typeof message === 'object') {
|
|
18
|
+
message = JSON.stringify(message, null, 2);
|
|
19
|
+
}
|
|
19
20
|
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
if (newline) {
|
|
22
|
+
message += '\n';
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
appendTextToFile(message, state.default.session.getOutputFile());
|
|
26
|
+
} else if (typeof message === 'object') {
|
|
27
|
+
console.dir(message, {
|
|
28
|
+
depth: 3
|
|
29
|
+
});
|
|
30
|
+
} else if (newline) {
|
|
31
|
+
console.log(message);
|
|
32
|
+
} else {
|
|
33
|
+
process.stdout.write(message);
|
|
22
34
|
}
|
|
23
35
|
}
|
|
24
36
|
/**
|
|
25
|
-
* Output a
|
|
37
|
+
* Output a default color message to stderr
|
|
26
38
|
* @param {Object} message the message
|
|
27
39
|
*/
|
|
28
40
|
|
|
29
41
|
|
|
30
|
-
function text(message) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
console.error(message);
|
|
42
|
+
function text(message, newline = true) {
|
|
43
|
+
if (typeof message === 'object') {
|
|
44
|
+
console.dir(message, {
|
|
45
|
+
depth: 3
|
|
46
|
+
});
|
|
47
|
+
} else if (newline) {
|
|
48
|
+
console.error(message);
|
|
49
|
+
} else {
|
|
50
|
+
process.stderr.write(message);
|
|
40
51
|
}
|
|
41
52
|
}
|
|
42
53
|
/**
|
|
43
|
-
* Output
|
|
54
|
+
* Output a message in bright cyan to stderr
|
|
44
55
|
* @param {Object} message the message
|
|
45
56
|
*/
|
|
46
57
|
|
|
47
58
|
|
|
48
|
-
function info(message) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
console.error(message.brightCyan);
|
|
59
|
+
function info(message, newline = true) {
|
|
60
|
+
if (typeof message === 'object') {
|
|
61
|
+
console.dir(message, {
|
|
62
|
+
depth: 3
|
|
63
|
+
});
|
|
64
|
+
} else if (newline) {
|
|
65
|
+
console.error(message['brightCyan']);
|
|
66
|
+
} else {
|
|
67
|
+
process.stderr.write(message['brightCyan']);
|
|
58
68
|
}
|
|
59
69
|
}
|
|
60
70
|
/**
|
|
61
|
-
* Output a
|
|
71
|
+
* Output a message in yellow to stderr
|
|
62
72
|
* @param {Object} message the message
|
|
63
73
|
*/
|
|
64
74
|
|
|
65
75
|
|
|
66
|
-
function warn(message) {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
console.error(message.yellow);
|
|
76
|
+
function warn(message, newline = true) {
|
|
77
|
+
if (typeof message === 'object') {
|
|
78
|
+
console.dir(message, {
|
|
79
|
+
depth: 3
|
|
80
|
+
});
|
|
81
|
+
} else if (newline) {
|
|
82
|
+
console.error(message['yellow']);
|
|
83
|
+
} else {
|
|
84
|
+
process.stderr.write(message['yellow']);
|
|
76
85
|
}
|
|
77
86
|
}
|
|
78
87
|
/**
|
|
79
|
-
* Output
|
|
88
|
+
* Output a message in bright red to stderr
|
|
80
89
|
* @param {Object} message the message
|
|
81
90
|
*/
|
|
82
91
|
|
|
83
92
|
|
|
84
|
-
function error(message) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
console.error(message.brightRed);
|
|
93
|
+
function error(message, newline = true) {
|
|
94
|
+
if (typeof message === 'object') {
|
|
95
|
+
console.dir(message, {
|
|
96
|
+
depth: 3
|
|
97
|
+
});
|
|
98
|
+
} else if (newline) {
|
|
99
|
+
console.error(message['brightRed']);
|
|
100
|
+
} else {
|
|
101
|
+
process.stderr.write(message['brightRed']);
|
|
94
102
|
}
|
|
95
103
|
}
|
|
96
104
|
/**
|
|
97
105
|
* Output a debug message
|
|
106
|
+
* @param {string | object} message the message
|
|
107
|
+
*/
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
function debug(message, newline = true) {
|
|
111
|
+
if (typeof message === 'object') {
|
|
112
|
+
console.dir(message, {
|
|
113
|
+
depth: 6
|
|
114
|
+
});
|
|
115
|
+
} else if (newline) {
|
|
116
|
+
console.error(message['brightMagenta']);
|
|
117
|
+
} else {
|
|
118
|
+
process.stderr.write(message['brightMagenta']);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Output a message in default color to stderr
|
|
98
123
|
* @param {Object} message the message
|
|
99
124
|
*/
|
|
100
125
|
|
|
101
126
|
|
|
102
|
-
export function
|
|
127
|
+
export function verboseMessage(message) {
|
|
103
128
|
if (state.default.session.getVerbose()) {
|
|
104
|
-
|
|
105
|
-
case 'object':
|
|
106
|
-
console.dir(message, {
|
|
107
|
-
depth: 3
|
|
108
|
-
});
|
|
109
|
-
break;
|
|
110
|
-
|
|
111
|
-
default:
|
|
112
|
-
console.error(message);
|
|
113
|
-
}
|
|
129
|
+
text(message);
|
|
114
130
|
}
|
|
115
131
|
}
|
|
116
132
|
/**
|
|
@@ -118,18 +134,9 @@ export function verbose(message) {
|
|
|
118
134
|
* @param {Object} message the message
|
|
119
135
|
*/
|
|
120
136
|
|
|
121
|
-
export function
|
|
137
|
+
export function debugMessage(message) {
|
|
122
138
|
if (state.default.session.getDebug()) {
|
|
123
|
-
|
|
124
|
-
case 'object':
|
|
125
|
-
console.dir(message, {
|
|
126
|
-
depth: 10
|
|
127
|
-
});
|
|
128
|
-
break;
|
|
129
|
-
|
|
130
|
-
default:
|
|
131
|
-
console.error(message.brightMagenta);
|
|
132
|
-
}
|
|
139
|
+
debug(message);
|
|
133
140
|
}
|
|
134
141
|
}
|
|
135
142
|
/**
|
|
@@ -143,60 +150,29 @@ export function debug(message) {
|
|
|
143
150
|
*/
|
|
144
151
|
|
|
145
152
|
export function printMessage(message, type = 'text', newline = true) {
|
|
146
|
-
// if (state.default.session.getItem('scriptFriendly')) {
|
|
147
153
|
switch (type) {
|
|
148
154
|
case 'data':
|
|
149
|
-
|
|
150
|
-
data(message);
|
|
151
|
-
} else {
|
|
152
|
-
process.stdout.write(message);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
+
data(message, newline);
|
|
155
156
|
break;
|
|
156
157
|
|
|
157
158
|
case 'text':
|
|
158
|
-
|
|
159
|
-
text(message);
|
|
160
|
-
} else {
|
|
161
|
-
process.stderr.write(message);
|
|
162
|
-
}
|
|
163
|
-
|
|
159
|
+
text(message, newline);
|
|
164
160
|
break;
|
|
165
161
|
|
|
166
162
|
case 'info':
|
|
167
|
-
|
|
168
|
-
info(message);
|
|
169
|
-
} else {
|
|
170
|
-
process.stderr.write(message['brightCyan']);
|
|
171
|
-
}
|
|
172
|
-
|
|
163
|
+
info(message, newline);
|
|
173
164
|
break;
|
|
174
165
|
|
|
175
166
|
case 'warn':
|
|
176
|
-
|
|
177
|
-
warn(message);
|
|
178
|
-
} else {
|
|
179
|
-
process.stderr.write(message.yellow);
|
|
180
|
-
}
|
|
181
|
-
|
|
167
|
+
warn(message, newline);
|
|
182
168
|
break;
|
|
183
169
|
|
|
184
170
|
case 'error':
|
|
185
|
-
|
|
186
|
-
error(message);
|
|
187
|
-
} else {
|
|
188
|
-
process.stderr.write(message['brightRed']);
|
|
189
|
-
}
|
|
190
|
-
|
|
171
|
+
error(message, newline);
|
|
191
172
|
break;
|
|
192
173
|
|
|
193
174
|
default:
|
|
194
|
-
|
|
195
|
-
error(message);
|
|
196
|
-
} else {
|
|
197
|
-
process.stderr.write(message['bgBrightRed']);
|
|
198
|
-
}
|
|
199
|
-
|
|
175
|
+
text(message, newline);
|
|
200
176
|
}
|
|
201
177
|
}
|
|
202
178
|
/**
|
package/esm/utils/Console.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Console.js","names":["SingleBar","Presets","createSpinner","Table","state","Color","enable","data","message","console","dir","depth","log","text","error","info","brightCyan","warn","yellow","brightRed","verbose","default","session","getVerbose","debug","getDebug","brightMagenta","printMessage","type","newline","process","stdout","write","stderr","createProgressBar","total","options","format","noTTYOutput","opt","pBar","getItem","legacy","start","setItem","updateProgressBar","increment","stopProgressBar","update","stop","showSpinner","spinner","stopSpinner","succeedSpinner","success","warnSpinner","failSpinner","spinSpinner","spin","createProgressIndicator","updateProgressIndicator","progressBar","stopProgressIndicator","status","createTable","head","table","chars","top","bottom","left","mid","right","style","createKeyValueTable","wordWrap","getObjectDepth","object","Object","Math","max","values","map","hasValues","has","keys","key","addRows","level","keyMap","space","push","hAlign","content","gray","indention","Array","fill","join","concat","createObjectTable"],"sources":["utils/Console.ts"],"sourcesContent":["import { SingleBar, Presets } from 'cli-progress';\nimport { createSpinner } from 'nanospinner';\nimport Table from 'cli-table3';\nimport { state } from '@rockcarver/frodo-lib';\nimport Color from 'colors';\n\nColor.enable();\n\n/**\n * Output a data message\n * @param {Object} message the message\n */\nfunction data(message) {\n switch (typeof message) {\n case 'object':\n console.dir(message, { depth: 3 });\n break;\n default:\n console.log(message);\n }\n}\n\n/**\n * Output a text message\n * @param {Object} message the message\n */\nfunction text(message) {\n switch (typeof message) {\n case 'object':\n console.dir(message, { depth: 3 });\n break;\n default:\n console.error(message);\n }\n}\n\n/**\n * Output an info message\n * @param {Object} message the message\n */\nfunction info(message) {\n switch (typeof message) {\n case 'object':\n console.dir(message, { depth: 3 });\n break;\n default:\n console.error(message.brightCyan);\n }\n}\n\n/**\n * Output a warn message\n * @param {Object} message the message\n */\nfunction warn(message) {\n switch (typeof message) {\n case 'object':\n console.dir(message, { depth: 3 });\n break;\n default:\n console.error(message.yellow);\n }\n}\n\n/**\n * Output an error message\n * @param {Object} message the message\n */\nfunction error(message) {\n switch (typeof message) {\n case 'object':\n console.dir(message, { depth: 3 });\n break;\n default:\n console.error(message.brightRed);\n }\n}\n\n/**\n * Output a debug message\n * @param {Object} message the message\n */\nexport function verbose(message) {\n if (state.default.session.getVerbose()) {\n switch (typeof message) {\n case 'object':\n console.dir(message, { depth: 3 });\n break;\n default:\n console.error(message);\n }\n }\n}\n\n/**\n * Output a debug message\n * @param {Object} message the message\n */\nexport function debug(message) {\n if (state.default.session.getDebug()) {\n switch (typeof message) {\n case 'object':\n console.dir(message, { depth: 10 });\n break;\n default:\n console.error(message.brightMagenta);\n }\n }\n}\n\n/**\n * Prints a string message to console\n *\n * @param {string} message The string message to print\n * @param {string} [type=text] \"text\", \"info\", \"warn\", \"error\" or \"data\". All but\n * type=\"data\" will be written to stderr.\n * @param {boolean} [newline=true] Whether to add a newline at the end of message\n *\n */\nexport function printMessage(message, type = 'text', newline = true) {\n // if (state.default.session.getItem('scriptFriendly')) {\n switch (type) {\n case 'data':\n if (newline) {\n data(message);\n } else {\n process.stdout.write(message);\n }\n break;\n case 'text':\n if (newline) {\n text(message);\n } else {\n process.stderr.write(message);\n }\n break;\n case 'info':\n if (newline) {\n info(message);\n } else {\n process.stderr.write(message['brightCyan']);\n }\n break;\n case 'warn':\n if (newline) {\n warn(message);\n } else {\n process.stderr.write(message.yellow);\n }\n break;\n case 'error':\n if (newline) {\n error(message);\n } else {\n process.stderr.write(message['brightRed']);\n }\n break;\n default:\n if (newline) {\n error(message);\n } else {\n process.stderr.write(message['bgBrightRed']);\n }\n }\n}\n\n/**\n * Creates a progress bar on stderr\n *\n * Example:\n * [========================================] 100% | 49/49 | Analyzing journey - transactional_auth\n *\n * @param {Number} total The total number of entries to track progress for\n * @param {String} message optional progress bar message\n * @param {Object} options progress bar configuration options\n *\n */\nexport function createProgressBar(\n total,\n message = null,\n options = {\n format: '[{bar}] {percentage}% | {value}/{total} | {data}',\n noTTYOutput: true,\n }\n) {\n let opt = options;\n if (message == null) {\n opt = {\n format: '[{bar}] {percentage}% | {value}/{total}',\n noTTYOutput: true,\n };\n }\n let pBar = state.default.session.getItem('progressBar');\n if (!pBar) pBar = new SingleBar(opt, Presets.legacy); // create only when needed\n pBar.start(total, 0, {\n data: message,\n });\n state.default.session.setItem('progressBar', pBar);\n}\n\n/**\n * Updates the progress bar by 1\n * @param {string} message optional message to update the progress bar\n *\n */\nexport function updateProgressBar(message = null) {\n const pBar = state.default.session.getItem('progressBar');\n if (message)\n pBar.increment({\n data: message,\n });\n else pBar.increment();\n}\n\n/**\n * Stop and hide the progress bar\n * @param {*} message optional message to update the progress bar\n */\nexport function stopProgressBar(message = null) {\n const pBar = state.default.session.getItem('progressBar');\n if (message)\n pBar.update({\n data: message,\n });\n pBar.stop();\n}\n\n/**\n * Create the spinner\n * @param {String} message optional spinner message\n */\nexport function showSpinner(message) {\n const spinner = createSpinner(message).start();\n state.default.session.setItem('Spinner', spinner);\n}\n\n/**\n * Stop the spinner\n * @param {String} message optional message to update the spinner\n */\nexport function stopSpinner(message = null) {\n const spinner = state.default.session.getItem('Spinner');\n if (spinner) {\n let options = {};\n if (message) options = { text: message };\n spinner.stop(options);\n }\n}\n\n/**\n * Succeed the spinner. Stop and render success checkmark with optional message.\n * @param {String} message optional message to update the spinner\n */\nexport function succeedSpinner(message = null) {\n const spinner = state.default.session.getItem('Spinner');\n if (spinner) {\n let options = {};\n if (message) options = { text: message };\n spinner.success(options);\n }\n}\n\n/**\n * Warn the spinner\n * @param {String} message optional message to update the spinner\n */\nexport function warnSpinner(message = null) {\n const spinner = state.default.session.getItem('Spinner');\n if (spinner) {\n let options = {};\n if (message) options = { text: message };\n spinner.warn(options);\n }\n}\n\n/**\n * Fail the spinner\n * @param {String} message optional message to update the spinner\n */\nexport function failSpinner(message = null) {\n const spinner = state.default.session.getItem('Spinner');\n if (spinner) {\n let options = {};\n if (message) options = { text: message };\n spinner.error(options);\n }\n}\n\n/**\n * Spin the spinner\n * @param {String} message optional message to update the spinner\n */\nexport function spinSpinner(message = null) {\n const spinner = state.default.session.getItem('Spinner');\n if (spinner) {\n let options = {};\n if (message) options = { text: message };\n spinner.update(options);\n spinner.spin();\n }\n}\n\nexport function createProgressIndicator(\n type = 'determinate',\n total = 0,\n message = null\n) {\n if (type === 'determinate') {\n createProgressBar(total, message);\n } else {\n showSpinner(message);\n }\n}\n\nexport function updateProgressIndicator(message) {\n const progressBar = state.default.session.getItem('progressBar');\n if (!progressBar) {\n spinSpinner(message);\n } else {\n updateProgressBar(message);\n }\n}\n\nexport function stopProgressIndicator(message, status = 'none') {\n const progressBar = state.default.session.getItem('progressBar');\n if (!progressBar) {\n switch (status) {\n case 'none':\n stopSpinner(message);\n break;\n case 'success':\n succeedSpinner(message);\n break;\n case 'warn':\n warnSpinner(message);\n break;\n case 'fail':\n failSpinner(message);\n break;\n default:\n stopSpinner(message);\n break;\n }\n } else {\n stopProgressBar(message);\n }\n}\n\n/**\n * Create an empty table\n * @param {string[]} head header row as an array of strings\n * @returns {any} an empty table\n */\nexport function createTable(head) {\n const table = new Table({\n head,\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n },\n style: { 'padding-left': 0, 'padding-right': 0, head: ['brightCyan'] },\n });\n return table;\n}\n\n/**\n * Create a new key/value table\n * @returns {any} an empty key/value table\n */\nexport function createKeyValueTable() {\n const table = new Table({\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n },\n style: { 'padding-left': 0, 'padding-right': 0 },\n wordWrap: true,\n });\n return table;\n}\n\n/**\n * Helper function to determine the total depth of an object\n * @param {Object} object input object\n * @returns {Number} total depth of the input object\n */\nfunction getObjectDepth(object) {\n return Object(object) === object\n ? 1 + Math.max(-1, ...Object.values(object).map(getObjectDepth))\n : 0;\n}\n\n/**\n * Helper function to determine if an object has values\n * @param {Object} object input object\n * @returns {boolean} true of the object or any of its sub-objects contain values, false otherwise\n */\nfunction hasValues(object) {\n let has = false;\n const keys = Object.keys(object);\n for (const key of keys) {\n if (Object(object[key]) !== object[key]) {\n return true;\n }\n has = has || hasValues(object[key]);\n }\n return has;\n}\n\n/**\n * Helper function (recursive) to add rows to an object table\n * @param {object} object object to render\n * @param {number} depth total depth of initial object\n * @param {number} level current level\n * @param {any} table the object table to add the rows to\n * @returns the updated object table\n */\nfunction addRows(object, depth, level, table, keyMap) {\n const space = ' ';\n const keys = Object.keys(object);\n for (const key of keys) {\n if (Object(object[key]) !== object[key]) {\n if (level === 1) {\n table.push([\n keyMap[key] ? keyMap[key].brightCyan : key['brightCyan'],\n object[key],\n ]);\n } else {\n table.push([\n {\n hAlign: 'right',\n content: keyMap[key] ? keyMap[key].gray : key.gray,\n },\n object[key],\n ]);\n }\n }\n }\n for (const key of keys) {\n if (Object(object[key]) === object[key]) {\n // only print header if there are any values below\n if (hasValues(object[key])) {\n let indention = new Array(level).fill(space).join('');\n if (level < 3) indention = `\\n${indention}`;\n table.push([\n indention.concat(\n keyMap[key] ? keyMap[key].brightCyan : key['brightCyan']\n ),\n '',\n ]);\n }\n // eslint-disable-next-line no-param-reassign\n table = addRows(object[key], depth, level + 1, table, keyMap);\n }\n }\n return table;\n}\n\n/**\n * Create and populate an object table from any JSON object. Use for describe commands.\n * @param {Object} object JSON object to create\n * @returns {any} a table that can be printed to the console\n */\nexport function createObjectTable(object, keyMap = {}) {\n // eslint-disable-next-line no-param-reassign\n const depth = getObjectDepth(object);\n // eslint-disable-next-line no-param-reassign\n const level = 0;\n // eslint-disable-next-line no-param-reassign\n const table = new Table({\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n },\n style: { 'padding-left': 0, 'padding-right': 0, head: ['brightCyan'] },\n });\n addRows(object, depth, level + 1, table, keyMap);\n return table;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Console.js","names":["SingleBar","Presets","createSpinner","Table","ExportImportUtils","state","Color","enable","appendTextToFile","data","message","newline","default","session","getOutputFile","JSON","stringify","console","dir","depth","log","process","stdout","write","text","error","stderr","info","warn","debug","verboseMessage","getVerbose","debugMessage","getDebug","printMessage","type","createProgressBar","total","options","format","noTTYOutput","opt","pBar","getItem","legacy","start","setItem","updateProgressBar","increment","stopProgressBar","update","stop","showSpinner","spinner","stopSpinner","succeedSpinner","success","warnSpinner","failSpinner","spinSpinner","spin","createProgressIndicator","updateProgressIndicator","progressBar","stopProgressIndicator","status","createTable","head","table","chars","top","bottom","left","mid","right","style","createKeyValueTable","wordWrap","getObjectDepth","object","Object","Math","max","values","map","hasValues","has","keys","key","addRows","level","keyMap","space","push","brightCyan","hAlign","content","gray","indention","Array","fill","join","concat","createObjectTable"],"sources":["utils/Console.ts"],"sourcesContent":["import { SingleBar, Presets } from 'cli-progress';\nimport { createSpinner } from 'nanospinner';\nimport Table from 'cli-table3';\nimport { ExportImportUtils, state } from '@rockcarver/frodo-lib';\nimport Color from 'colors';\n\nColor.enable();\n\nconst { appendTextToFile } = ExportImportUtils;\n\n/**\n * Output a message in default color to stdout or append to `state.default.session.getOutputFile()`\n * @param {string | object} message the message\n */\nfunction data(message: string | object, newline = true) {\n if (state.default.session.getOutputFile()) {\n if (typeof message === 'object') {\n message = JSON.stringify(message, null, 2);\n }\n if (newline) {\n message += '\\n';\n }\n appendTextToFile(message, state.default.session.getOutputFile());\n } else if (typeof message === 'object') {\n console.dir(message, { depth: 3 });\n } else if (newline) {\n console.log(message);\n } else {\n process.stdout.write(message);\n }\n}\n\n/**\n * Output a default color message to stderr\n * @param {Object} message the message\n */\nfunction text(message: string | object, newline = true) {\n if (typeof message === 'object') {\n console.dir(message, { depth: 3 });\n } else if (newline) {\n console.error(message);\n } else {\n process.stderr.write(message);\n }\n}\n\n/**\n * Output a message in bright cyan to stderr\n * @param {Object} message the message\n */\nfunction info(message: string | object, newline = true) {\n if (typeof message === 'object') {\n console.dir(message, { depth: 3 });\n } else if (newline) {\n console.error(message['brightCyan']);\n } else {\n process.stderr.write(message['brightCyan']);\n }\n}\n\n/**\n * Output a message in yellow to stderr\n * @param {Object} message the message\n */\nfunction warn(message: string | object, newline = true) {\n if (typeof message === 'object') {\n console.dir(message, { depth: 3 });\n } else if (newline) {\n console.error(message['yellow']);\n } else {\n process.stderr.write(message['yellow']);\n }\n}\n\n/**\n * Output a message in bright red to stderr\n * @param {Object} message the message\n */\nfunction error(message: string | object, newline = true) {\n if (typeof message === 'object') {\n console.dir(message, { depth: 3 });\n } else if (newline) {\n console.error(message['brightRed']);\n } else {\n process.stderr.write(message['brightRed']);\n }\n}\n\n/**\n * Output a debug message\n * @param {string | object} message the message\n */\nfunction debug(message: string | object, newline = true) {\n if (typeof message === 'object') {\n console.dir(message, { depth: 6 });\n } else if (newline) {\n console.error(message['brightMagenta']);\n } else {\n process.stderr.write(message['brightMagenta']);\n }\n}\n\n/**\n * Output a message in default color to stderr\n * @param {Object} message the message\n */\nexport function verboseMessage(message) {\n if (state.default.session.getVerbose()) {\n text(message);\n }\n}\n\n/**\n * Output a debug message\n * @param {Object} message the message\n */\nexport function debugMessage(message) {\n if (state.default.session.getDebug()) {\n debug(message);\n }\n}\n\n/**\n * Prints a string message to console\n *\n * @param {string} message The string message to print\n * @param {string} [type=text] \"text\", \"info\", \"warn\", \"error\" or \"data\". All but\n * type=\"data\" will be written to stderr.\n * @param {boolean} [newline=true] Whether to add a newline at the end of message\n *\n */\nexport function printMessage(message, type = 'text', newline = true) {\n switch (type) {\n case 'data':\n data(message, newline);\n break;\n case 'text':\n text(message, newline);\n break;\n case 'info':\n info(message, newline);\n break;\n case 'warn':\n warn(message, newline);\n break;\n case 'error':\n error(message, newline);\n break;\n default:\n text(message, newline);\n }\n}\n\n/**\n * Creates a progress bar on stderr\n *\n * Example:\n * [========================================] 100% | 49/49 | Analyzing journey - transactional_auth\n *\n * @param {Number} total The total number of entries to track progress for\n * @param {String} message optional progress bar message\n * @param {Object} options progress bar configuration options\n *\n */\nexport function createProgressBar(\n total,\n message = null,\n options = {\n format: '[{bar}] {percentage}% | {value}/{total} | {data}',\n noTTYOutput: true,\n }\n) {\n let opt = options;\n if (message == null) {\n opt = {\n format: '[{bar}] {percentage}% | {value}/{total}',\n noTTYOutput: true,\n };\n }\n let pBar = state.default.session.getItem('progressBar');\n if (!pBar) pBar = new SingleBar(opt, Presets.legacy); // create only when needed\n pBar.start(total, 0, {\n data: message,\n });\n state.default.session.setItem('progressBar', pBar);\n}\n\n/**\n * Updates the progress bar by 1\n * @param {string} message optional message to update the progress bar\n *\n */\nexport function updateProgressBar(message = null) {\n const pBar = state.default.session.getItem('progressBar');\n if (message)\n pBar.increment({\n data: message,\n });\n else pBar.increment();\n}\n\n/**\n * Stop and hide the progress bar\n * @param {*} message optional message to update the progress bar\n */\nexport function stopProgressBar(message = null) {\n const pBar = state.default.session.getItem('progressBar');\n if (message)\n pBar.update({\n data: message,\n });\n pBar.stop();\n}\n\n/**\n * Create the spinner\n * @param {String} message optional spinner message\n */\nexport function showSpinner(message) {\n const spinner = createSpinner(message).start();\n state.default.session.setItem('Spinner', spinner);\n}\n\n/**\n * Stop the spinner\n * @param {String} message optional message to update the spinner\n */\nexport function stopSpinner(message = null) {\n const spinner = state.default.session.getItem('Spinner');\n if (spinner) {\n let options = {};\n if (message) options = { text: message };\n spinner.stop(options);\n }\n}\n\n/**\n * Succeed the spinner. Stop and render success checkmark with optional message.\n * @param {String} message optional message to update the spinner\n */\nexport function succeedSpinner(message = null) {\n const spinner = state.default.session.getItem('Spinner');\n if (spinner) {\n let options = {};\n if (message) options = { text: message };\n spinner.success(options);\n }\n}\n\n/**\n * Warn the spinner\n * @param {String} message optional message to update the spinner\n */\nexport function warnSpinner(message = null) {\n const spinner = state.default.session.getItem('Spinner');\n if (spinner) {\n let options = {};\n if (message) options = { text: message };\n spinner.warn(options);\n }\n}\n\n/**\n * Fail the spinner\n * @param {String} message optional message to update the spinner\n */\nexport function failSpinner(message = null) {\n const spinner = state.default.session.getItem('Spinner');\n if (spinner) {\n let options = {};\n if (message) options = { text: message };\n spinner.error(options);\n }\n}\n\n/**\n * Spin the spinner\n * @param {String} message optional message to update the spinner\n */\nexport function spinSpinner(message = null) {\n const spinner = state.default.session.getItem('Spinner');\n if (spinner) {\n let options = {};\n if (message) options = { text: message };\n spinner.update(options);\n spinner.spin();\n }\n}\n\nexport function createProgressIndicator(\n type = 'determinate',\n total = 0,\n message = null\n) {\n if (type === 'determinate') {\n createProgressBar(total, message);\n } else {\n showSpinner(message);\n }\n}\n\nexport function updateProgressIndicator(message) {\n const progressBar = state.default.session.getItem('progressBar');\n if (!progressBar) {\n spinSpinner(message);\n } else {\n updateProgressBar(message);\n }\n}\n\nexport function stopProgressIndicator(message, status = 'none') {\n const progressBar = state.default.session.getItem('progressBar');\n if (!progressBar) {\n switch (status) {\n case 'none':\n stopSpinner(message);\n break;\n case 'success':\n succeedSpinner(message);\n break;\n case 'warn':\n warnSpinner(message);\n break;\n case 'fail':\n failSpinner(message);\n break;\n default:\n stopSpinner(message);\n break;\n }\n } else {\n stopProgressBar(message);\n }\n}\n\n/**\n * Create an empty table\n * @param {string[]} head header row as an array of strings\n * @returns {any} an empty table\n */\nexport function createTable(head) {\n const table = new Table({\n head,\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n },\n style: { 'padding-left': 0, 'padding-right': 0, head: ['brightCyan'] },\n });\n return table;\n}\n\n/**\n * Create a new key/value table\n * @returns {any} an empty key/value table\n */\nexport function createKeyValueTable() {\n const table = new Table({\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n },\n style: { 'padding-left': 0, 'padding-right': 0 },\n wordWrap: true,\n });\n return table;\n}\n\n/**\n * Helper function to determine the total depth of an object\n * @param {Object} object input object\n * @returns {Number} total depth of the input object\n */\nfunction getObjectDepth(object) {\n return Object(object) === object\n ? 1 + Math.max(-1, ...Object.values(object).map(getObjectDepth))\n : 0;\n}\n\n/**\n * Helper function to determine if an object has values\n * @param {Object} object input object\n * @returns {boolean} true of the object or any of its sub-objects contain values, false otherwise\n */\nfunction hasValues(object) {\n let has = false;\n const keys = Object.keys(object);\n for (const key of keys) {\n if (Object(object[key]) !== object[key]) {\n return true;\n }\n has = has || hasValues(object[key]);\n }\n return has;\n}\n\n/**\n * Helper function (recursive) to add rows to an object table\n * @param {object} object object to render\n * @param {number} depth total depth of initial object\n * @param {number} level current level\n * @param {any} table the object table to add the rows to\n * @returns the updated object table\n */\nfunction addRows(object, depth, level, table, keyMap) {\n const space = ' ';\n const keys = Object.keys(object);\n for (const key of keys) {\n if (Object(object[key]) !== object[key]) {\n if (level === 1) {\n table.push([\n keyMap[key] ? keyMap[key].brightCyan : key['brightCyan'],\n object[key],\n ]);\n } else {\n table.push([\n {\n hAlign: 'right',\n content: keyMap[key] ? keyMap[key].gray : key.gray,\n },\n object[key],\n ]);\n }\n }\n }\n for (const key of keys) {\n if (Object(object[key]) === object[key]) {\n // only print header if there are any values below\n if (hasValues(object[key])) {\n let indention = new Array(level).fill(space).join('');\n if (level < 3) indention = `\\n${indention}`;\n table.push([\n indention.concat(\n keyMap[key] ? keyMap[key].brightCyan : key['brightCyan']\n ),\n '',\n ]);\n }\n // eslint-disable-next-line no-param-reassign\n table = addRows(object[key], depth, level + 1, table, keyMap);\n }\n }\n return table;\n}\n\n/**\n * Create and populate an object table from any JSON object. Use for describe commands.\n * @param {Object} object JSON object to create\n * @returns {any} a table that can be printed to the console\n */\nexport function createObjectTable(object, keyMap = {}) {\n // eslint-disable-next-line no-param-reassign\n const depth = getObjectDepth(object);\n // eslint-disable-next-line no-param-reassign\n const level = 0;\n // eslint-disable-next-line no-param-reassign\n const table = new Table({\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n },\n style: { 'padding-left': 0, 'padding-right': 0, head: ['brightCyan'] },\n });\n addRows(object, depth, level + 1, table, keyMap);\n return table;\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rockcarver/frodo-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.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": [
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
]
|
|
89
89
|
},
|
|
90
90
|
"dependencies": {
|
|
91
|
-
"@rockcarver/frodo-lib": "0.
|
|
91
|
+
"@rockcarver/frodo-lib": "0.15.1",
|
|
92
92
|
"cli-progress": "^3.11.2",
|
|
93
93
|
"cli-table3": "^0.6.2",
|
|
94
94
|
"colors": "^1.4.0",
|