clever-tools 3.13.0 → 3.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.
- package/bin/clever.js +3 -3
- package/package.json +2 -1
- package/src/commands/create.js +1 -1
- package/src/commands/deploy.js +1 -1
- package/src/commands/service.js +12 -4
- package/src/logger.js +3 -0
- package/src/models/addon.js +2 -3
- package/src/models/log-v4.js +4 -1
package/bin/clever.js
CHANGED
|
@@ -872,7 +872,7 @@ async function run () {
|
|
|
872
872
|
const keycloakVersionsCommands = cliparse.command('version', {
|
|
873
873
|
description: 'Check Keycloak deployed version',
|
|
874
874
|
args: [args.addonIdOrName],
|
|
875
|
-
|
|
875
|
+
privateOptions: [opts.humanJsonOutputFormat],
|
|
876
876
|
commands: [keycloakVersionCheckCommand, keycloakVersionUpdateCommand],
|
|
877
877
|
}, keycloak.checkVersion);
|
|
878
878
|
const keycloakCommand = cliparse.command('keycloak', {
|
|
@@ -991,7 +991,7 @@ async function run () {
|
|
|
991
991
|
const metabaseVersionsCommands = cliparse.command('version', {
|
|
992
992
|
description: 'Manage Metabase deployed version',
|
|
993
993
|
args: [args.addonIdOrName],
|
|
994
|
-
|
|
994
|
+
privateOptions: [opts.humanJsonOutputFormat],
|
|
995
995
|
commands: [metabaseVersionCheckCommand, metabaseVersionUpdateCommand],
|
|
996
996
|
}, metabase.checkVersion);
|
|
997
997
|
const metabaseCommand = cliparse.command('metabase', {
|
|
@@ -1121,7 +1121,7 @@ async function run () {
|
|
|
1121
1121
|
const otoroshiVersionsCommands = cliparse.command('version', {
|
|
1122
1122
|
description: 'Manage Otoroshi deployed version',
|
|
1123
1123
|
args: [args.addonIdOrName],
|
|
1124
|
-
|
|
1124
|
+
privateOptions: [opts.humanJsonOutputFormat],
|
|
1125
1125
|
commands: [otoroshiVersionCheckCommand, otoroshiVersionUpdateCommand],
|
|
1126
1126
|
}, otoroshi.checkVersion);
|
|
1127
1127
|
const otoroshiCommand = cliparse.command('otoroshi', {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clever-tools",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.14.0",
|
|
4
4
|
"description": "Command Line Interface for Clever Cloud.",
|
|
5
5
|
"main": "bin/clever.js",
|
|
6
6
|
"type": "module",
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
"license": "Apache-2.0",
|
|
18
18
|
"bin": {
|
|
19
19
|
"clever": "bin/clever.js",
|
|
20
|
+
"clever-tools": "bin/clever.js",
|
|
20
21
|
"install-clever-completion": "scripts/install-autocomplete.sh",
|
|
21
22
|
"uninstall-clever-completion": "scripts/uninstall-autocomplete.sh"
|
|
22
23
|
},
|
package/src/commands/create.js
CHANGED
|
@@ -73,7 +73,7 @@ async function displayAppCreation (app, alias, github, taskCommand) {
|
|
|
73
73
|
printFieldsAsTable(2, {
|
|
74
74
|
Type: colors.blue(`⬢ ${app.instance.variant.name}`),
|
|
75
75
|
ID: app.id,
|
|
76
|
-
'
|
|
76
|
+
'Organisation ID': app.ownerId,
|
|
77
77
|
Name: app.name,
|
|
78
78
|
GitHub: github != null && `${github.owner}/${github.name}`,
|
|
79
79
|
Alias: hasDistinctAlias && alias,
|
package/src/commands/deploy.js
CHANGED
|
@@ -56,7 +56,7 @@ export async function deploy (params) {
|
|
|
56
56
|
Logger.println(dedent`
|
|
57
57
|
${colors.bold(`🚀 Deploying ${colors.green(appData.name)}`)}
|
|
58
58
|
Application ID ${colors.grey(`${appId}`)}
|
|
59
|
-
|
|
59
|
+
Organisation ID ${colors.grey(`${ownerId}`)}
|
|
60
60
|
`);
|
|
61
61
|
|
|
62
62
|
Logger.println();
|
package/src/commands/service.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import colors from 'colors/safe.js';
|
|
1
2
|
import * as Addon from '../models/addon.js';
|
|
2
3
|
import * as Application from '../models/application.js';
|
|
3
4
|
import { Logger } from '../logger.js';
|
|
@@ -38,14 +39,21 @@ export async function list (params) {
|
|
|
38
39
|
}
|
|
39
40
|
case 'human':
|
|
40
41
|
default: {
|
|
41
|
-
|
|
42
|
+
const { applications = [], addons = [] } = formattedServices;
|
|
43
|
+
|
|
44
|
+
if (applications.length === 0 && addons.length === 0) {
|
|
45
|
+
Logger.printInfo(`No linked services found, use ${colors.bold.blue('clever service link-app')} or ${colors.bold.blue('clever service link-addon')} to link services to an application`);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
if (applications.length > 0) {
|
|
42
50
|
Logger.println('Applications:');
|
|
43
|
-
|
|
51
|
+
applications.forEach(({ isLinked, name }) => Logger.println(`${isLinked ? '*' : ' '} ${name}`));
|
|
44
52
|
}
|
|
45
53
|
|
|
46
|
-
if (
|
|
54
|
+
if (addons.length > 0) {
|
|
47
55
|
Logger.println('Addons:');
|
|
48
|
-
|
|
56
|
+
addons.forEach(({ isLinked, name, realId }) => Logger.println(`${isLinked ? '*' : ' '} ${name} (${realId})`));
|
|
49
57
|
}
|
|
50
58
|
}
|
|
51
59
|
}
|
package/src/logger.js
CHANGED
|
@@ -58,6 +58,9 @@ Logger.println = console.log;
|
|
|
58
58
|
// Logger for success with a green check before the message
|
|
59
59
|
Logger.printSuccess = (message) => console.log(`${colors.bold.green('✓')} ${message}`);
|
|
60
60
|
|
|
61
|
+
// Logger for information with a blue 'i' before the message
|
|
62
|
+
Logger.printInfo = (message) => console.log(`${colors.bold.blue('i')} ${message}`);
|
|
63
|
+
|
|
61
64
|
// No decoration for Logger.println
|
|
62
65
|
Logger.printJson = (obj) => {
|
|
63
66
|
console.log(JSON.stringify(obj, null, 2));
|
package/src/models/addon.js
CHANGED
|
@@ -43,9 +43,8 @@ export async function list (ownerId, appId, showAll) {
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
const myAddons = await getAllLinkedAddons({ id: ownerId, appId }).then(sendToApi);
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return myAddons;
|
|
46
|
+
if (!showAll) {
|
|
47
|
+
return myAddons.map((addon) => ({ ...addon, isLinked: true }));
|
|
49
48
|
}
|
|
50
49
|
|
|
51
50
|
const myAddonIds = myAddons.map((addon) => addon.id);
|
package/src/models/log-v4.js
CHANGED
|
@@ -9,6 +9,8 @@ import * as ExitStrategy from '../models/exit-strategy-option.js';
|
|
|
9
9
|
import { getBest } from './domain.js';
|
|
10
10
|
import { conf } from './configuration.js';
|
|
11
11
|
|
|
12
|
+
const RESET_COLOR = '\x1B[0m';
|
|
13
|
+
|
|
12
14
|
// 2000 logs per 100ms maximum
|
|
13
15
|
const THROTTLE_ELEMENTS = 2000;
|
|
14
16
|
const THROTTLE_PER_IN_MILLISECONDS = 100;
|
|
@@ -67,6 +69,7 @@ export async function displayLogs (params) {
|
|
|
67
69
|
return;
|
|
68
70
|
case 'human':
|
|
69
71
|
default:
|
|
72
|
+
if (log.message === RESET_COLOR) return;
|
|
70
73
|
Logger.println(formatLogLine(log));
|
|
71
74
|
}
|
|
72
75
|
});
|
|
@@ -162,7 +165,7 @@ function formatLogLine (log) {
|
|
|
162
165
|
else if (isBuildSucessMessage(log)) {
|
|
163
166
|
return `${date.toISOString()}: ${colors.bold.blue(message)}`;
|
|
164
167
|
}
|
|
165
|
-
return `${date.toISOString()}: ${message}`;
|
|
168
|
+
return `${date.toISOString()}: ${message}${RESET_COLOR}`;
|
|
166
169
|
}
|
|
167
170
|
|
|
168
171
|
function isCleverMessage (log) {
|