@ketrics/ketrics-cli 0.4.0 → 0.5.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/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +9 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/update.d.ts +13 -0
- package/dist/src/commands/update.d.ts.map +1 -0
- package/dist/src/commands/update.js +78 -0
- package/dist/src/commands/update.js.map +1 -0
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/package.json +1 -1
package/dist/src/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAyEnC"}
|
package/dist/src/cli.js
CHANGED
|
@@ -12,6 +12,7 @@ const build_1 = require("./commands/build");
|
|
|
12
12
|
const deploy_1 = require("./commands/deploy");
|
|
13
13
|
const validate_1 = require("./commands/validate");
|
|
14
14
|
const run_1 = require("./commands/run");
|
|
15
|
+
const update_1 = require("./commands/update");
|
|
15
16
|
const version_1 = require("./version");
|
|
16
17
|
/**
|
|
17
18
|
* Create and configure CLI program
|
|
@@ -72,6 +73,14 @@ function createCLI() {
|
|
|
72
73
|
verbose: options.verbose,
|
|
73
74
|
});
|
|
74
75
|
});
|
|
76
|
+
// Update command
|
|
77
|
+
program
|
|
78
|
+
.command("update")
|
|
79
|
+
.description("Update Ketrics CLI to the latest version")
|
|
80
|
+
.option("--check", "Show the currently installed version without updating")
|
|
81
|
+
.action(async (options) => {
|
|
82
|
+
await (0, update_1.updateCommand)({ check: options.check });
|
|
83
|
+
});
|
|
75
84
|
return program;
|
|
76
85
|
}
|
|
77
86
|
//# sourceMappingURL=cli.js.map
|
package/dist/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAcH,8BAyEC;AArFD,yCAAoC;AACpC,8CAAkD;AAClD,4CAAgD;AAChD,8CAAkD;AAClD,kDAAsD;AACtD,wCAA4C;AAC5C,8CAAkD;AAClD,uCAAoC;AAEpC;;GAEG;AACH,SAAgB,SAAS;IACvB,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,SAAS,CAAC;SACf,WAAW,CAAC,yDAAyD,CAAC;SACtE,OAAO,CAAC,iBAAO,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC;IAEzD,iBAAiB;IACjB,OAAO;SACJ,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,kDAAkD,CAAC;SAC/D,MAAM,CAAC,uBAAuB,EAAE,oDAAoD,CAAC;SACrF,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACjC,MAAM,IAAA,sBAAa,EAAC,OAAO,EAAE;YAC3B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,gBAAgB;IAChB,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,IAAA,oBAAY,GAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEL,iBAAiB;IACjB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;SAC/C,MAAM,CAAC,WAAW,EAAE,yDAAyD,CAAC;SAC9E,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,IAAA,sBAAa,EAAC;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,mBAAmB;IACnB,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,uCAAuC,CAAC;SACpD,MAAM,CAAC,qBAAqB,EAAE,6BAA6B,CAAC;SAC5D,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;SAC/C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,IAAA,0BAAe,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEL,cAAc;IACd,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;SAC/C,MAAM,CAAC,eAAe,EAAE,4CAA4C,CAAC;SACrE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,IAAA,gBAAU,EAAC,QAAQ,EAAE;YACzB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,iBAAiB;IACjB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,SAAS,EAAE,uDAAuD,CAAC;SAC1E,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,IAAA,sBAAa,EAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Update Command
|
|
3
|
+
*
|
|
4
|
+
* Updates the Ketrics CLI to the latest version from npm.
|
|
5
|
+
*/
|
|
6
|
+
export interface UpdateOptions {
|
|
7
|
+
check?: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Execute update command
|
|
11
|
+
*/
|
|
12
|
+
export declare function updateCommand(options?: UpdateOptions): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoBH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuE9E"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Update Command
|
|
4
|
+
*
|
|
5
|
+
* Updates the Ketrics CLI to the latest version from npm.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.updateCommand = updateCommand;
|
|
9
|
+
const child_process_1 = require("child_process");
|
|
10
|
+
const logger_1 = require("../utils/logger");
|
|
11
|
+
const spinner_1 = require("../utils/spinner");
|
|
12
|
+
const version_1 = require("../version");
|
|
13
|
+
const PACKAGE_NAME = '@ketrics/ketrics-cli';
|
|
14
|
+
/**
|
|
15
|
+
* Fetch the latest version from the npm registry
|
|
16
|
+
*/
|
|
17
|
+
async function getLatestVersion() {
|
|
18
|
+
const output = (0, child_process_1.execSync)(`npm view ${PACKAGE_NAME} version`, {
|
|
19
|
+
encoding: 'utf-8',
|
|
20
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
21
|
+
});
|
|
22
|
+
return output.trim();
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Execute update command
|
|
26
|
+
*/
|
|
27
|
+
async function updateCommand(options = {}) {
|
|
28
|
+
const currentVersion = version_1.VERSION;
|
|
29
|
+
logger_1.logger.info(`Current version: ${currentVersion}`);
|
|
30
|
+
if (options.check) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
logger_1.logger.newline();
|
|
34
|
+
// Check for latest version
|
|
35
|
+
let latestVersion;
|
|
36
|
+
try {
|
|
37
|
+
latestVersion = await (0, spinner_1.withSpinner)('Checking for updates...', () => getLatestVersion(), 'Checked for updates');
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
logger_1.logger.error('Failed to check for updates. Ensure you have internet access and npm is installed.');
|
|
41
|
+
process.exit(1);
|
|
42
|
+
}
|
|
43
|
+
logger_1.logger.keyValue('Latest version', latestVersion);
|
|
44
|
+
logger_1.logger.newline();
|
|
45
|
+
// Compare versions
|
|
46
|
+
if (currentVersion === latestVersion) {
|
|
47
|
+
logger_1.logger.success('You are already on the latest version!');
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
// Install latest version
|
|
51
|
+
logger_1.logger.info(`Updating ${currentVersion} → ${latestVersion}...`);
|
|
52
|
+
logger_1.logger.newline();
|
|
53
|
+
try {
|
|
54
|
+
await (0, spinner_1.withSpinner)('Installing latest version...', async () => {
|
|
55
|
+
(0, child_process_1.execSync)(`npm install -g ${PACKAGE_NAME}@latest`, {
|
|
56
|
+
encoding: 'utf-8',
|
|
57
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
58
|
+
});
|
|
59
|
+
}, 'Installed latest version');
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
63
|
+
if (message.includes('EACCES') || message.includes('permission')) {
|
|
64
|
+
logger_1.logger.error('Permission denied. Try running with sudo:');
|
|
65
|
+
logger_1.logger.newline();
|
|
66
|
+
logger_1.logger.indent(`sudo npm install -g ${PACKAGE_NAME}@latest`, 1);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
logger_1.logger.error('Failed to update. You can try manually:');
|
|
70
|
+
logger_1.logger.newline();
|
|
71
|
+
logger_1.logger.indent(`npm install -g ${PACKAGE_NAME}@latest`, 1);
|
|
72
|
+
}
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
logger_1.logger.newline();
|
|
76
|
+
logger_1.logger.success(`Successfully updated to v${latestVersion}!`);
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/update.ts"],"names":[],"mappings":"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"}
|
package/dist/src/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.
|
|
1
|
+
export declare const VERSION = "0.5.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/src/version.js
CHANGED