contensis-cli 1.0.0-beta.70 → 1.0.0-beta.72
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/README.md +41 -0
- package/dist/commands/list.js +18 -0
- package/dist/commands/list.js.map +2 -2
- package/dist/localisation/en-GB.js +57 -1
- package/dist/localisation/en-GB.js.map +2 -2
- package/dist/services/ContensisCliService.js +89 -22
- package/dist/services/ContensisCliService.js.map +2 -2
- package/dist/shell.js +2 -0
- package/dist/shell.js.map +2 -2
- package/dist/util/logger.js +4 -2
- package/dist/util/logger.js.map +2 -2
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +2 -2
- package/src/commands/list.ts +28 -0
- package/src/localisation/en-GB.ts +67 -1
- package/src/services/ContensisCliService.ts +107 -30
- package/src/shell.ts +2 -0
- package/src/util/logger.ts +2 -2
- package/src/version.ts +1 -1
package/dist/util/logger.js
CHANGED
|
@@ -194,9 +194,11 @@ const logError = (err = new Error("Undefined error"), msg, level = "error") => {
|
|
|
194
194
|
Logger[level](msg || err.message || ((_a = err == null ? void 0 : err.data) == null ? void 0 : _a.message) || err.Message);
|
|
195
195
|
(Array.isArray(err) ? err : [err]).map((error) => {
|
|
196
196
|
if ("stack" in error)
|
|
197
|
-
Logger.raw(` ${Logger.infoText(error.stack)}
|
|
197
|
+
Logger.raw(` ${Logger.infoText(error.stack)}
|
|
198
|
+
`);
|
|
198
199
|
if ("data" in error)
|
|
199
|
-
Logger.raw(` ${Logger.infoText((0, import__.tryStringify)(error.data))}
|
|
200
|
+
Logger.raw(` ${Logger.infoText((0, import__.tryStringify)(error.data))}
|
|
201
|
+
`);
|
|
200
202
|
});
|
|
201
203
|
return null;
|
|
202
204
|
};
|
package/dist/util/logger.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/util/logger.ts"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable no-console */\nimport chalk from 'chalk';\nimport dateFormat from 'dateformat';\nimport deepCleaner from 'deep-cleaner';\n// import ProgressBar from 'progress';\nimport { isSysError, tryStringify } from '.';\n\ntype LogMethod = (content: string) => void;\ntype LogErrorMethod = (content: string, err?: any, newline?: string) => void;\ntype LogJsonMethod = (content: any, depth?: number, indent?: string) => void;\ntype LogJsonDepthMethod = (content: any, depth: number) => void;\ntype LogArrayMethod = (contentArray: string[]) => void;\ntype LogErrorFunc = (\n err: any,\n msg?: string,\n level?: 'error' | 'critical'\n) => void;\n\nexport class Logger {\n static isUserTerminal = !!process.stdout.columns;\n static getPrefix = () => {\n return Logger.isUserTerminal\n ? Logger.infoText(`[cli]`)\n : `[${dateFormat(new Date(), 'dd/mm HH:MM:ss')}]`;\n };\n static errorText = chalk.bold.red;\n static warningText = chalk.keyword('orange');\n static successText = chalk.keyword('green');\n static helpText = chalk.blue;\n static highlightText = chalk.yellow;\n static infoText = chalk.keyword('grey');\n static standardText = chalk.keyword('white');\n static boldText = chalk.bold;\n static critical: LogMethod = content => {\n const message = `${Logger.getPrefix()} ${Logger.errorText(\n '[CRITICAL]'\n )} ${content}`;\n console.log(message);\n };\n static error: LogErrorMethod = (content, err, newline = '\\n') => {\n const message = `${Logger.getPrefix()} ${Logger.errorText(\n `${Logger.isUserTerminal ? '\u274C' : '[ERROR]'} ${content}${\n err\n ? `\\n\\n${\n isSysError(err) ? err.toString() : JSON.stringify(err, null, 2)\n }`\n : ''\n }`\n )}${newline}`;\n if (progress.active) progress.current.interrupt(message);\n else console.log(message);\n };\n static warning: LogMethod = content => {\n // if (process.env.DEBUG === 'true') {\n const message = `${Logger.getPrefix()} ${Logger.warningText(\n `${Logger.isUserTerminal ? '\u26A0\uFE0F ' : '[WARN]'} ${content}`\n )}\\n`;\n if (progress.active) progress.current.interrupt(message);\n else console.log(message);\n // }\n };\n static success: LogMethod = content => {\n const message = `${Logger.getPrefix()} ${Logger.successText(\n `${Logger.isUserTerminal ? '\u2705' : '[OK]'} ${content}`\n )}`;\n if (progress.active) progress.current.interrupt(message);\n else console.log(message);\n };\n static info: LogMethod = content => {\n const message = `${Logger.getPrefix()} ${\n Logger.isUserTerminal ? chalk.bgCyan(' \u2139 ') : '[INFO]'\n } ${Logger.infoText(content)}`;\n if (progress.active) progress.current.interrupt(message);\n else console.log(message);\n };\n static help: LogMethod = content => {\n const message = `${Logger.getPrefix()} ${chalk.blue(\n `${Logger.isUserTerminal ? '\u23E9' : '[HELP]'} ${content}`\n )}\\n`;\n if (progress.active) progress.current.interrupt(message);\n else console.log(message);\n };\n static standard: LogMethod = content => {\n const message = `${Logger.getPrefix()} ${\n Logger.isUserTerminal ? '\u25FB\uFE0F' : '[STD]'\n } \\n${Logger.standardText(content)}`;\n if (progress.active) progress.current.interrupt(message);\n else console.log(message);\n progress.current.interrupt(message);\n };\n static json: LogJsonDepthMethod = (content, depth = 9) =>\n console.dir(deepCleaner(content), { colors: true, depth });\n static mixed: LogArrayMethod = contentArray =>\n console.log(`${Logger.getPrefix()} ${contentArray.join(' ')}`);\n static line = () =>\n Logger.raw(` ${Logger.infoText(`-------------------------------------`)}`);\n\n static object: LogJsonMethod = content => {\n for (const [key, value] of Object.entries(content || {})) {\n if (value && typeof value === 'object') {\n Logger.raw(` ${chalk.bold.grey(key)}:`);\n if (key === 'fields' && Array.isArray(value)) {\n for (const field of value || []) {\n Logger.raw(\n ` ${chalk.bold(field.id)}${\n field.id === content.entryTitleField\n ? '**'\n : field.validations.minCount?.value ||\n typeof field.validations.required?.message !== 'undefined'\n ? '*'\n : ''\n }: ${chalk.grey(\n `${field.dataType}${\n field.dataFormat\n ? `<${\n Array.isArray(\n field.validations.allowedFieldTypes?.fields\n )\n ? `composer[${field.validations.allowedFieldTypes.fields\n .map((f: any) => f.id)\n .join(' | ')}]`\n : field.dataFormat\n }${\n field.dataFormat === 'entry'\n ? `, ${field.validations.allowedContentTypes.contentTypes.join(\n ' | '\n )}`\n : ''\n }>`\n : ''\n }${\n field.validations.maxLength?.value\n ? `(${field.validations.maxLength.value})`\n : ''\n }`\n )}`\n );\n }\n } else if (key === 'groups' && Array.isArray(value)) {\n for (const group of value || []) {\n const description =\n Object.keys(group.description).length &&\n Object.values(group.description)?.[0];\n Logger.raw(\n ` ${chalk.bold(group.id)}${\n description\n ? `: ${chalk.grey(Object.values(group.description)?.[0])}`\n : ''\n }`\n );\n }\n } else {\n Logger.objectRecurse(value, 3, ' ');\n // for (const [innerkey, innervalue] of Object.entries(value)) {\n // if (innervalue && typeof innervalue === 'object') {\n // Logger.raw(` ${chalk.bold.grey(innerkey)}:`);\n // console.table(innervalue);\n // } else if (\n // typeof innervalue !== 'undefined' &&\n // innervalue !== null\n // ) {\n // Logger.raw(` ${chalk.bold.grey(innerkey)}: ${innervalue}`);\n // }\n // }\n }\n } else if (typeof value !== 'undefined' && value !== null) {\n const valueText =\n key === 'id' && typeof value === 'string'\n ? Logger.highlightText(value)\n : value;\n Logger.raw(` ${chalk.bold.grey(key)}: ${valueText}`);\n }\n }\n };\n\n static objectRecurse: LogJsonMethod = (content, depth = 3, indent = '') => {\n if (Array.isArray(content)) {\n for (const item of content) {\n if (item && typeof item === 'object') {\n if (Array.isArray(item) && depth > 3)\n Logger.raw(chalk.grey(`${indent} [${item.join(', ')}]`));\n else Logger.objectRecurse(item, depth + 1, `${indent} `);\n } else Logger.raw(`${indent}${item}`);\n }\n } else {\n let pos = 0;\n for (const [key, value] of Object.entries(content)) {\n const thisIndent =\n pos === 0 ? `${indent.substring(0, indent.length - 2)}- ` : indent;\n if (Array.isArray(value)) {\n if (value.length) Logger.raw(`${thisIndent}${chalk.bold.grey(key)}:`);\n for (const item of value) {\n if (item && typeof item === 'object') {\n if (Array.isArray(item) && depth > 3)\n Logger.raw(chalk.grey(`${indent} [${item.join(', ')}]`));\n else Logger.objectRecurse(item, depth + 1, `${indent} `);\n } else {\n Logger.raw(`${indent} ${item}`);\n }\n }\n } else if (value && typeof value === 'object') {\n Logger.raw(`${indent}${chalk.bold.grey(key)}:`);\n\n Logger.objectRecurse(value, depth + 1, `${indent} `);\n // console.table(value);\n } else if (typeof value !== 'undefined' && value !== null) {\n Logger.raw(`${thisIndent}${chalk.bold.grey(key)}: ${value}`);\n }\n pos++;\n }\n }\n };\n static raw: LogMethod = (content: string) => {\n if (progress.active) progress.current.interrupt(content);\n else console.log(content);\n };\n}\n\nexport const logError: LogErrorFunc = (\n err = new Error('Undefined error'),\n msg,\n level = 'error'\n) => {\n Logger[level](msg || err.message || err?.data?.message || err.Message);\n (Array.isArray(err) ? err : [err]).map((error: AppError) => {\n if ('stack' in error) Logger.raw(` ${Logger.infoText(error.stack)}`);\n if ('data' in error)\n Logger.raw(` ${Logger.infoText(tryStringify(error.data))}`);\n });\n //Logger.line();\n return null;\n};\n\nexport const progress = {\n current: { interrupt: (x: string) => {} },\n active: false,\n // done: () => new ProgressBar('', 0),\n // colours: { green: '\\u001b[42m \\u001b[0m', red: '\\u001b[41m \\u001b[0m' },\n // current: new ProgressBar(`:bar`, {\n // complete: '=',\n // incomplete: ' ',\n // width: 20,\n // total: 100,\n // }),\n};\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["/* eslint-disable no-console */\nimport chalk from 'chalk';\nimport dateFormat from 'dateformat';\nimport deepCleaner from 'deep-cleaner';\n// import ProgressBar from 'progress';\nimport { isSysError, tryStringify } from '.';\n\ntype LogMethod = (content: string) => void;\ntype LogErrorMethod = (content: string, err?: any, newline?: string) => void;\ntype LogJsonMethod = (content: any, depth?: number, indent?: string) => void;\ntype LogJsonDepthMethod = (content: any, depth: number) => void;\ntype LogArrayMethod = (contentArray: string[]) => void;\ntype LogErrorFunc = (\n err: any,\n msg?: string,\n level?: 'error' | 'critical'\n) => void;\n\nexport class Logger {\n static isUserTerminal = !!process.stdout.columns;\n static getPrefix = () => {\n return Logger.isUserTerminal\n ? Logger.infoText(`[cli]`)\n : `[${dateFormat(new Date(), 'dd/mm HH:MM:ss')}]`;\n };\n static errorText = chalk.bold.red;\n static warningText = chalk.keyword('orange');\n static successText = chalk.keyword('green');\n static helpText = chalk.blue;\n static highlightText = chalk.yellow;\n static infoText = chalk.keyword('grey');\n static standardText = chalk.keyword('white');\n static boldText = chalk.bold;\n static critical: LogMethod = content => {\n const message = `${Logger.getPrefix()} ${Logger.errorText(\n '[CRITICAL]'\n )} ${content}`;\n console.log(message);\n };\n static error: LogErrorMethod = (content, err, newline = '\\n') => {\n const message = `${Logger.getPrefix()} ${Logger.errorText(\n `${Logger.isUserTerminal ? '\u274C' : '[ERROR]'} ${content}${\n err\n ? `\\n\\n${\n isSysError(err) ? err.toString() : JSON.stringify(err, null, 2)\n }`\n : ''\n }`\n )}${newline}`;\n if (progress.active) progress.current.interrupt(message);\n else console.log(message);\n };\n static warning: LogMethod = content => {\n // if (process.env.DEBUG === 'true') {\n const message = `${Logger.getPrefix()} ${Logger.warningText(\n `${Logger.isUserTerminal ? '\u26A0\uFE0F ' : '[WARN]'} ${content}`\n )}\\n`;\n if (progress.active) progress.current.interrupt(message);\n else console.log(message);\n // }\n };\n static success: LogMethod = content => {\n const message = `${Logger.getPrefix()} ${Logger.successText(\n `${Logger.isUserTerminal ? '\u2705' : '[OK]'} ${content}`\n )}`;\n if (progress.active) progress.current.interrupt(message);\n else console.log(message);\n };\n static info: LogMethod = content => {\n const message = `${Logger.getPrefix()} ${\n Logger.isUserTerminal ? chalk.bgCyan(' \u2139 ') : '[INFO]'\n } ${Logger.infoText(content)}`;\n if (progress.active) progress.current.interrupt(message);\n else console.log(message);\n };\n static help: LogMethod = content => {\n const message = `${Logger.getPrefix()} ${chalk.blue(\n `${Logger.isUserTerminal ? '\u23E9' : '[HELP]'} ${content}`\n )}\\n`;\n if (progress.active) progress.current.interrupt(message);\n else console.log(message);\n };\n static standard: LogMethod = content => {\n const message = `${Logger.getPrefix()} ${\n Logger.isUserTerminal ? '\u25FB\uFE0F' : '[STD]'\n } \\n${Logger.standardText(content)}`;\n if (progress.active) progress.current.interrupt(message);\n else console.log(message);\n progress.current.interrupt(message);\n };\n static json: LogJsonDepthMethod = (content, depth = 9) =>\n console.dir(deepCleaner(content), { colors: true, depth });\n static mixed: LogArrayMethod = contentArray =>\n console.log(`${Logger.getPrefix()} ${contentArray.join(' ')}`);\n static line = () =>\n Logger.raw(` ${Logger.infoText(`-------------------------------------`)}`);\n\n static object: LogJsonMethod = content => {\n for (const [key, value] of Object.entries(content || {})) {\n if (value && typeof value === 'object') {\n Logger.raw(` ${chalk.bold.grey(key)}:`);\n if (key === 'fields' && Array.isArray(value)) {\n for (const field of value || []) {\n Logger.raw(\n ` ${chalk.bold(field.id)}${\n field.id === content.entryTitleField\n ? '**'\n : field.validations.minCount?.value ||\n typeof field.validations.required?.message !== 'undefined'\n ? '*'\n : ''\n }: ${chalk.grey(\n `${field.dataType}${\n field.dataFormat\n ? `<${\n Array.isArray(\n field.validations.allowedFieldTypes?.fields\n )\n ? `composer[${field.validations.allowedFieldTypes.fields\n .map((f: any) => f.id)\n .join(' | ')}]`\n : field.dataFormat\n }${\n field.dataFormat === 'entry'\n ? `, ${field.validations.allowedContentTypes.contentTypes.join(\n ' | '\n )}`\n : ''\n }>`\n : ''\n }${\n field.validations.maxLength?.value\n ? `(${field.validations.maxLength.value})`\n : ''\n }`\n )}`\n );\n }\n } else if (key === 'groups' && Array.isArray(value)) {\n for (const group of value || []) {\n const description =\n Object.keys(group.description).length &&\n Object.values(group.description)?.[0];\n Logger.raw(\n ` ${chalk.bold(group.id)}${\n description\n ? `: ${chalk.grey(Object.values(group.description)?.[0])}`\n : ''\n }`\n );\n }\n } else {\n Logger.objectRecurse(value, 3, ' ');\n // for (const [innerkey, innervalue] of Object.entries(value)) {\n // if (innervalue && typeof innervalue === 'object') {\n // Logger.raw(` ${chalk.bold.grey(innerkey)}:`);\n // console.table(innervalue);\n // } else if (\n // typeof innervalue !== 'undefined' &&\n // innervalue !== null\n // ) {\n // Logger.raw(` ${chalk.bold.grey(innerkey)}: ${innervalue}`);\n // }\n // }\n }\n } else if (typeof value !== 'undefined' && value !== null) {\n const valueText =\n key === 'id' && typeof value === 'string'\n ? Logger.highlightText(value)\n : value;\n Logger.raw(` ${chalk.bold.grey(key)}: ${valueText}`);\n }\n }\n };\n\n static objectRecurse: LogJsonMethod = (content, depth = 3, indent = '') => {\n if (Array.isArray(content)) {\n for (const item of content) {\n if (item && typeof item === 'object') {\n if (Array.isArray(item) && depth > 3)\n Logger.raw(chalk.grey(`${indent} [${item.join(', ')}]`));\n else Logger.objectRecurse(item, depth + 1, `${indent} `);\n } else Logger.raw(`${indent}${item}`);\n }\n } else {\n let pos = 0;\n for (const [key, value] of Object.entries(content)) {\n const thisIndent =\n pos === 0 ? `${indent.substring(0, indent.length - 2)}- ` : indent;\n if (Array.isArray(value)) {\n if (value.length) Logger.raw(`${thisIndent}${chalk.bold.grey(key)}:`);\n for (const item of value) {\n if (item && typeof item === 'object') {\n if (Array.isArray(item) && depth > 3)\n Logger.raw(chalk.grey(`${indent} [${item.join(', ')}]`));\n else Logger.objectRecurse(item, depth + 1, `${indent} `);\n } else {\n Logger.raw(`${indent} ${item}`);\n }\n }\n } else if (value && typeof value === 'object') {\n Logger.raw(`${indent}${chalk.bold.grey(key)}:`);\n\n Logger.objectRecurse(value, depth + 1, `${indent} `);\n // console.table(value);\n } else if (typeof value !== 'undefined' && value !== null) {\n Logger.raw(`${thisIndent}${chalk.bold.grey(key)}: ${value}`);\n }\n pos++;\n }\n }\n };\n static raw: LogMethod = (content: string) => {\n if (progress.active) progress.current.interrupt(content);\n else console.log(content);\n };\n}\n\nexport const logError: LogErrorFunc = (\n err = new Error('Undefined error'),\n msg,\n level = 'error'\n) => {\n Logger[level](msg || err.message || err?.data?.message || err.Message);\n (Array.isArray(err) ? err : [err]).map((error: AppError) => {\n if ('stack' in error) Logger.raw(` ${Logger.infoText(error.stack)}\\n`);\n if ('data' in error)\n Logger.raw(` ${Logger.infoText(tryStringify(error.data))}\\n`);\n });\n //Logger.line();\n return null;\n};\n\nexport const progress = {\n current: { interrupt: (x: string) => {} },\n active: false,\n // done: () => new ProgressBar('', 0),\n // colours: { green: '\\u001b[42m \\u001b[0m', red: '\\u001b[41m \\u001b[0m' },\n // current: new ProgressBar(`:bar`, {\n // complete: '=',\n // incomplete: ' ',\n // width: 20,\n // total: 100,\n // }),\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["dateFormat", "chalk", "deepCleaner"]
|
|
7
7
|
}
|
package/dist/version.js
CHANGED
|
@@ -21,7 +21,7 @@ __export(version_exports, {
|
|
|
21
21
|
LIB_VERSION: () => LIB_VERSION
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(version_exports);
|
|
24
|
-
const LIB_VERSION = "1.0.0-beta.
|
|
24
|
+
const LIB_VERSION = "1.0.0-beta.72";
|
|
25
25
|
// Annotate the CommonJS export names for ESM import in node:
|
|
26
26
|
0 && (module.exports = {
|
|
27
27
|
LIB_VERSION
|
package/dist/version.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/version.ts"],
|
|
4
|
-
"sourcesContent": ["export const LIB_VERSION = \"1.0.0-beta.
|
|
4
|
+
"sourcesContent": ["export const LIB_VERSION = \"1.0.0-beta.72\";\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,cAAc;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "contensis-cli",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.72",
|
|
4
4
|
"description": "A fully featured Contensis command line interface with a shell UI provides simple and intuitive ways to manage or profile your content in any NodeJS terminal.",
|
|
5
5
|
"repository": "https://github.com/contensis/node-cli",
|
|
6
6
|
"homepage": "https://github.com/contensis/node-cli/tree/main/packages/contensis-cli#readme",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"jsonpath-mapper": "^1.1.0",
|
|
36
36
|
"keytar": "^7.9.0",
|
|
37
37
|
"lodash": "^4.17.21",
|
|
38
|
-
"migratortron": "^1.0.0-beta.
|
|
38
|
+
"migratortron": "^1.0.0-beta.28",
|
|
39
39
|
"node-fetch": "^2.6.7",
|
|
40
40
|
"patch-package": "^6.4.7",
|
|
41
41
|
"xml2js": "^0.4.23"
|
package/src/commands/list.ts
CHANGED
|
@@ -107,6 +107,34 @@ Example call:
|
|
|
107
107
|
await cliCommand(['list', 'keys'], opts).PrintApiKeys();
|
|
108
108
|
});
|
|
109
109
|
|
|
110
|
+
list
|
|
111
|
+
.command('proxies')
|
|
112
|
+
.description('print list of proxies')
|
|
113
|
+
.addHelpText(
|
|
114
|
+
'after',
|
|
115
|
+
`
|
|
116
|
+
Example call:
|
|
117
|
+
> list proxies
|
|
118
|
+
`
|
|
119
|
+
)
|
|
120
|
+
.action(async opts => {
|
|
121
|
+
await cliCommand(['list', 'proxies'], opts).PrintProxies();
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
list
|
|
125
|
+
.command('renderers')
|
|
126
|
+
.description('print list of renderers')
|
|
127
|
+
.addHelpText(
|
|
128
|
+
'after',
|
|
129
|
+
`
|
|
130
|
+
Example call:
|
|
131
|
+
> list renderers
|
|
132
|
+
`
|
|
133
|
+
)
|
|
134
|
+
.action(async opts => {
|
|
135
|
+
await cliCommand(['list', 'renderers'], opts).PrintRenderers();
|
|
136
|
+
});
|
|
137
|
+
|
|
110
138
|
list
|
|
111
139
|
.command('roles')
|
|
112
140
|
.description('print list of roles')
|
|
@@ -216,6 +216,72 @@ export const LogMessages = {
|
|
|
216
216
|
failedRemove: (env: string, id: string) =>
|
|
217
217
|
`[${env}] Unable to delete API key ${Logger.highlightText(id)}`,
|
|
218
218
|
},
|
|
219
|
+
proxies: {
|
|
220
|
+
list: (env: string, projectId: string | undefined) =>
|
|
221
|
+
`[${env}] Retrieved proxies in project ${projectId}:`,
|
|
222
|
+
noList: (env: string, projectId: string | undefined) =>
|
|
223
|
+
`[${env}] Cannot retrieve proxies in project ${projectId}`,
|
|
224
|
+
// noneExist: () => `Create a role with "create renderer"`,
|
|
225
|
+
failedGet: (env: string, name: string, projectId: string) =>
|
|
226
|
+
`[${env}] Unable to find proxy ${Logger.highlightText(
|
|
227
|
+
name
|
|
228
|
+
)} in project ${projectId}`,
|
|
229
|
+
created: (env: string, name: string, projectId: string) =>
|
|
230
|
+
`[${env}] Created proxy ${Logger.highlightText(
|
|
231
|
+
name
|
|
232
|
+
)} in project ${projectId}\n`,
|
|
233
|
+
failedCreate: (env: string, name: string, projectId: string) =>
|
|
234
|
+
`[${env}] Unable to create proxy ${Logger.highlightText(
|
|
235
|
+
name
|
|
236
|
+
)} in project ${projectId}`,
|
|
237
|
+
setPayload: () => `Updating proxy with details\n`,
|
|
238
|
+
set: () => `Succesfully updated proxy\n`,
|
|
239
|
+
failedSet: (env: string, name: string, projectId: string) =>
|
|
240
|
+
`[${env}] Unable to update proxy ${Logger.highlightText(
|
|
241
|
+
name
|
|
242
|
+
)} in project ${projectId}`,
|
|
243
|
+
removed: (env: string, id: string, projectId: string) =>
|
|
244
|
+
`[${env}] Deleted proxy ${Logger.highlightText(
|
|
245
|
+
id
|
|
246
|
+
)} in project ${projectId}\n`,
|
|
247
|
+
failedRemove: (env: string, id: string, projectId: string) =>
|
|
248
|
+
`[${env}] Unable to delete proxy ${Logger.highlightText(
|
|
249
|
+
id
|
|
250
|
+
)} in project ${projectId}`,
|
|
251
|
+
},
|
|
252
|
+
renderers: {
|
|
253
|
+
list: (env: string, projectId: string | undefined) =>
|
|
254
|
+
`[${env}] Retrieved renderers in project ${projectId}:`,
|
|
255
|
+
noList: (env: string, projectId: string | undefined) =>
|
|
256
|
+
`[${env}] Cannot retrieve renderers in project ${projectId}`,
|
|
257
|
+
// noneExist: () => `Create a role with "create renderer"`,
|
|
258
|
+
failedGet: (env: string, name: string, projectId: string) =>
|
|
259
|
+
`[${env}] Unable to find renderer ${Logger.highlightText(
|
|
260
|
+
name
|
|
261
|
+
)} in project ${projectId}`,
|
|
262
|
+
created: (env: string, name: string, projectId: string) =>
|
|
263
|
+
`[${env}] Created renderer ${Logger.highlightText(
|
|
264
|
+
name
|
|
265
|
+
)} in project ${projectId}\n`,
|
|
266
|
+
failedCreate: (env: string, name: string, projectId: string) =>
|
|
267
|
+
`[${env}] Unable to create renderer ${Logger.highlightText(
|
|
268
|
+
name
|
|
269
|
+
)} in project ${projectId}`,
|
|
270
|
+
setPayload: () => `Updating renderer with details\n`,
|
|
271
|
+
set: () => `Succesfully updated renderer\n`,
|
|
272
|
+
failedSet: (env: string, name: string, projectId: string) =>
|
|
273
|
+
`[${env}] Unable to update renderer ${Logger.highlightText(
|
|
274
|
+
name
|
|
275
|
+
)} in project ${projectId}`,
|
|
276
|
+
removed: (env: string, id: string, projectId: string) =>
|
|
277
|
+
`[${env}] Deleted renderer ${Logger.highlightText(
|
|
278
|
+
id
|
|
279
|
+
)} in project ${projectId}\n`,
|
|
280
|
+
failedRemove: (env: string, id: string, projectId: string) =>
|
|
281
|
+
`[${env}] Unable to delete renderer ${Logger.highlightText(
|
|
282
|
+
id
|
|
283
|
+
)} in project ${projectId}`,
|
|
284
|
+
},
|
|
219
285
|
roles: {
|
|
220
286
|
list: (env: string) => `[${env}] Retrieved roles`,
|
|
221
287
|
noList: (env: string) => `[${env}] Cannot retrieve roles`,
|
|
@@ -290,7 +356,7 @@ export const LogMessages = {
|
|
|
290
356
|
id
|
|
291
357
|
)} in project ${projectId} ${Logger.highlightText(version)}`,
|
|
292
358
|
failedParsingVersion: () =>
|
|
293
|
-
`
|
|
359
|
+
`Did not find a "version.versionNo" in response`,
|
|
294
360
|
actionComplete: (
|
|
295
361
|
action: BlockActionType,
|
|
296
362
|
id: string,
|
|
@@ -5,7 +5,7 @@ import inquirer from 'inquirer';
|
|
|
5
5
|
import to from 'await-to-js';
|
|
6
6
|
import chalk from 'chalk';
|
|
7
7
|
import { Component, ContentType, Project } from 'contensis-core-api';
|
|
8
|
-
import { isPassword, isSharedSecret, isUuid, url } from '~/util';
|
|
8
|
+
import { isPassword, isSharedSecret, isUuid, tryStringify, url } from '~/util';
|
|
9
9
|
import SessionCacheProvider from '../providers/SessionCacheProvider';
|
|
10
10
|
import ContensisAuthService from './ContensisAuthService';
|
|
11
11
|
import CredentialProvider from '~/providers/CredentialProvider';
|
|
@@ -21,7 +21,6 @@ import {
|
|
|
21
21
|
Model,
|
|
22
22
|
MigrateModelsResult,
|
|
23
23
|
BlockActionType,
|
|
24
|
-
BlockVersion,
|
|
25
24
|
} from 'migratortron';
|
|
26
25
|
import { Entry, Role } from 'contensis-management-api/lib/models';
|
|
27
26
|
|
|
@@ -1903,45 +1902,39 @@ class ContensisCli {
|
|
|
1903
1902
|
}
|
|
1904
1903
|
};
|
|
1905
1904
|
|
|
1906
|
-
|
|
1907
|
-
blockId: string
|
|
1905
|
+
GetLatestBlockVersion = async (
|
|
1906
|
+
blockId: string,
|
|
1907
|
+
branch = 'default'
|
|
1908
1908
|
): Promise<[AppError | null, string | undefined]> => {
|
|
1909
1909
|
const { contensis, log, messages } = this;
|
|
1910
1910
|
|
|
1911
|
-
// Look for block versions pushed to
|
|
1912
|
-
const [
|
|
1913
|
-
(await contensis?.blocks.GetBlockVersions(blockId,
|
|
1914
|
-
|
|
1915
|
-
let blockVersionResponse = [] as BlockVersion[];
|
|
1911
|
+
// Look for block versions pushed to "default" branch
|
|
1912
|
+
const [getErr, blockVersions] =
|
|
1913
|
+
(await contensis?.blocks.GetBlockVersions(blockId, branch)) || [];
|
|
1916
1914
|
|
|
1917
|
-
if (
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
(await contensis?.blocks.GetBlockVersions(blockId, 'master')) || [];
|
|
1921
|
-
if (getErrMaster) {
|
|
1922
|
-
return [getErrMaster, undefined];
|
|
1923
|
-
} else if (blockVersionMaster) blockVersionResponse = blockVersionMaster;
|
|
1924
|
-
} else if (getErrMain) {
|
|
1925
|
-
return [getErrMain, undefined];
|
|
1926
|
-
} else if (blockVersionMain) blockVersionResponse = blockVersionMain;
|
|
1915
|
+
if (getErr) {
|
|
1916
|
+
return [getErr, undefined];
|
|
1917
|
+
}
|
|
1927
1918
|
|
|
1928
1919
|
// Parse versionNo from response
|
|
1929
1920
|
let blockVersionNo = 'latest';
|
|
1930
1921
|
// The first blockVersion should be the latest one
|
|
1931
1922
|
try {
|
|
1932
|
-
blockVersionNo = `${
|
|
1923
|
+
blockVersionNo = `${blockVersions?.[0]?.version.versionNo}`;
|
|
1933
1924
|
|
|
1934
1925
|
if (!Number.isNaN(blockVersionNo) && Number(blockVersionNo) > 0)
|
|
1935
1926
|
// Is a valid versionNo
|
|
1936
1927
|
return [null, blockVersionNo];
|
|
1937
|
-
else
|
|
1938
|
-
throw new Error(
|
|
1939
|
-
`Value cannot be parsed as a number: ${blockVersionNo}`
|
|
1940
|
-
);
|
|
1928
|
+
else throw new Error(`'${blockVersionNo}' is not a valid version number`);
|
|
1941
1929
|
} catch (parseVersionEx: any) {
|
|
1942
1930
|
// Catch parsing errors in case of an unexpected response
|
|
1943
|
-
log.
|
|
1944
|
-
|
|
1931
|
+
log.info(
|
|
1932
|
+
`Request for blockId: ${blockId}, branch: ${branch}, version: latest`
|
|
1933
|
+
);
|
|
1934
|
+
log.info(
|
|
1935
|
+
`Get block versions response was: ${tryStringify(blockVersions)}`
|
|
1936
|
+
);
|
|
1937
|
+
log.error(messages.blocks.failedParsingVersion());
|
|
1945
1938
|
return [parseVersionEx, undefined];
|
|
1946
1939
|
}
|
|
1947
1940
|
};
|
|
@@ -1958,15 +1951,18 @@ class ContensisCli {
|
|
|
1958
1951
|
|
|
1959
1952
|
// If action is release and version is latest, find the latest version number
|
|
1960
1953
|
if (action === 'release' && version === 'latest') {
|
|
1961
|
-
const [getErr, blockVersion] =
|
|
1962
|
-
|
|
1954
|
+
const [getErr, blockVersion] = await this.GetLatestBlockVersion(
|
|
1955
|
+
blockId
|
|
1956
|
+
);
|
|
1963
1957
|
|
|
1964
1958
|
if (getErr) {
|
|
1965
1959
|
// Log error getting latest block version no
|
|
1966
|
-
log.error(jsonFormatter(getErr));
|
|
1967
1960
|
// and throw the error message so the process can exit with a failure
|
|
1968
1961
|
throw new Error(
|
|
1969
|
-
messages.blocks.noList(
|
|
1962
|
+
`${messages.blocks.noList(
|
|
1963
|
+
currentEnv,
|
|
1964
|
+
env.currentProject
|
|
1965
|
+
)} (${getErr})`
|
|
1970
1966
|
);
|
|
1971
1967
|
} else if (blockVersion) {
|
|
1972
1968
|
actionOnBlockVersion = blockVersion;
|
|
@@ -2053,6 +2049,87 @@ class ContensisCli {
|
|
|
2053
2049
|
}
|
|
2054
2050
|
};
|
|
2055
2051
|
|
|
2052
|
+
PrintProxies = async (proxyId?: string) => {
|
|
2053
|
+
const { currentEnv, env, log, messages } = this;
|
|
2054
|
+
const contensis = await this.ConnectContensis();
|
|
2055
|
+
if (contensis) {
|
|
2056
|
+
// Retrieve proxies list for env
|
|
2057
|
+
const [err, proxies] = await contensis.proxies.GetProxies(proxyId);
|
|
2058
|
+
|
|
2059
|
+
if (Array.isArray(proxies)) {
|
|
2060
|
+
this.HandleFormattingAndOutput(proxies, () => {
|
|
2061
|
+
// print the proxies to console
|
|
2062
|
+
log.success(messages.proxies.list(currentEnv, env.currentProject));
|
|
2063
|
+
for (const { id, name, description, endpoints, version } of proxies) {
|
|
2064
|
+
console.log(
|
|
2065
|
+
` - ${name} [${
|
|
2066
|
+
version.versionNo
|
|
2067
|
+
}] ${id} ${log.infoText`${description}`}`
|
|
2068
|
+
);
|
|
2069
|
+
for (const [language, endpoint] of Object.entries(endpoints))
|
|
2070
|
+
console.log(
|
|
2071
|
+
` - ${log.infoText`language: ${language}
|
|
2072
|
+
server: ${endpoint.server}
|
|
2073
|
+
headers.host: ${endpoint.headers.host}
|
|
2074
|
+
ssl: ${endpoint.ssl}`}`
|
|
2075
|
+
);
|
|
2076
|
+
}
|
|
2077
|
+
});
|
|
2078
|
+
}
|
|
2079
|
+
|
|
2080
|
+
if (err) {
|
|
2081
|
+
log.error(messages.proxies.noList(currentEnv, env.currentProject));
|
|
2082
|
+
log.error(jsonFormatter(err));
|
|
2083
|
+
}
|
|
2084
|
+
}
|
|
2085
|
+
};
|
|
2086
|
+
|
|
2087
|
+
PrintRenderers = async (rendererId?: string) => {
|
|
2088
|
+
const { currentEnv, env, log, messages } = this;
|
|
2089
|
+
const contensis = await this.ConnectContensis();
|
|
2090
|
+
if (contensis) {
|
|
2091
|
+
// Retrieve renderers list for env
|
|
2092
|
+
const [err, renderers] = await contensis.renderers.GetRenderers(
|
|
2093
|
+
rendererId
|
|
2094
|
+
);
|
|
2095
|
+
|
|
2096
|
+
if (Array.isArray(renderers)) {
|
|
2097
|
+
this.HandleFormattingAndOutput(renderers, () => {
|
|
2098
|
+
// print the renderers to console
|
|
2099
|
+
log.success(messages.renderers.list(currentEnv, env.currentProject));
|
|
2100
|
+
for (const {
|
|
2101
|
+
id,
|
|
2102
|
+
description,
|
|
2103
|
+
assignedContentTypes,
|
|
2104
|
+
rules,
|
|
2105
|
+
version,
|
|
2106
|
+
} of renderers) {
|
|
2107
|
+
console.log(
|
|
2108
|
+
` - ${id} [${version.versionNo}] ${log.infoText`${description}`}`
|
|
2109
|
+
);
|
|
2110
|
+
if (assignedContentTypes?.length)
|
|
2111
|
+
console.log(
|
|
2112
|
+
log.infoText` assignedContentTypes: ${assignedContentTypes.join(
|
|
2113
|
+
', '
|
|
2114
|
+
)}`
|
|
2115
|
+
);
|
|
2116
|
+
for (const rule of rules)
|
|
2117
|
+
if (rule.return)
|
|
2118
|
+
console.log(
|
|
2119
|
+
log.infoText` ${
|
|
2120
|
+
rule.return.endpointId ? 'endpointId' : 'blockId'
|
|
2121
|
+
}: ${rule.return.endpointId || rule.return.blockId}`
|
|
2122
|
+
);
|
|
2123
|
+
}
|
|
2124
|
+
});
|
|
2125
|
+
}
|
|
2126
|
+
|
|
2127
|
+
if (err) {
|
|
2128
|
+
log.error(messages.renderers.noList(currentEnv, env.currentProject));
|
|
2129
|
+
log.error(jsonFormatter(err));
|
|
2130
|
+
}
|
|
2131
|
+
}
|
|
2132
|
+
};
|
|
2056
2133
|
HandleFormattingAndOutput = <T>(obj: T, logFn: (obj: T) => void) => {
|
|
2057
2134
|
const { format, log, messages, output } = this;
|
|
2058
2135
|
if (!format) {
|
package/src/shell.ts
CHANGED
package/src/util/logger.ts
CHANGED
|
@@ -223,9 +223,9 @@ export const logError: LogErrorFunc = (
|
|
|
223
223
|
) => {
|
|
224
224
|
Logger[level](msg || err.message || err?.data?.message || err.Message);
|
|
225
225
|
(Array.isArray(err) ? err : [err]).map((error: AppError) => {
|
|
226
|
-
if ('stack' in error) Logger.raw(` ${Logger.infoText(error.stack)}`);
|
|
226
|
+
if ('stack' in error) Logger.raw(` ${Logger.infoText(error.stack)}\n`);
|
|
227
227
|
if ('data' in error)
|
|
228
|
-
Logger.raw(` ${Logger.infoText(tryStringify(error.data))}`);
|
|
228
|
+
Logger.raw(` ${Logger.infoText(tryStringify(error.data))}\n`);
|
|
229
229
|
});
|
|
230
230
|
//Logger.line();
|
|
231
231
|
return null;
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const LIB_VERSION = "1.0.0-beta.
|
|
1
|
+
export const LIB_VERSION = "1.0.0-beta.72";
|