@eik/cli 3.1.50 → 3.1.51
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 +8 -0
- package/classes/meta.js +1 -1
- package/classes/publish/package/tasks/cleanup.js +4 -3
- package/commands/login.js +2 -2
- package/commands/map.js +1 -1
- package/commands/publish.js +4 -4
- package/index.js +1 -1
- package/package.json +5 -6
- package/utils/command-handler.js +9 -8
- package/utils/logger.js +20 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## [3.1.51](https://github.com/eik-lib/cli/compare/v3.1.50...v3.1.51) (2026-05-28)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* replace ora with picospinner ([784e3c5](https://github.com/eik-lib/cli/commit/784e3c51c677fbe9d542622ce9f5375532b244b6))
|
|
7
|
+
* replace rimraf with native Node ([ee58048](https://github.com/eik-lib/cli/commit/ee58048544dffedfc9f9a359f9fdd56a0130d280))
|
|
8
|
+
|
|
1
9
|
## [3.1.50](https://github.com/eik-lib/cli/compare/v3.1.49...v3.1.50) (2026-05-25)
|
|
2
10
|
|
|
3
11
|
|
package/classes/meta.js
CHANGED
|
@@ -61,7 +61,7 @@ export default class Meta {
|
|
|
61
61
|
};
|
|
62
62
|
|
|
63
63
|
const vers = new Map(versions);
|
|
64
|
-
data[type].versions =
|
|
64
|
+
data[type].versions = [...vers.values()];
|
|
65
65
|
for (let i = 0; i < data[type].versions.length; i++) {
|
|
66
66
|
const { version } = data[type].versions[i];
|
|
67
67
|
const url = new URL(
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
2
|
import { existsSync } from "node:fs";
|
|
3
|
-
import { readdir } from "node:fs/promises";
|
|
4
|
-
import { rimraf } from "rimraf";
|
|
3
|
+
import { readdir, rm } from "node:fs/promises";
|
|
5
4
|
import Task from "./task.js";
|
|
6
5
|
|
|
7
6
|
export default class Cleanup extends Task {
|
|
@@ -14,7 +13,9 @@ export default class Cleanup extends Task {
|
|
|
14
13
|
await Promise.all(
|
|
15
14
|
dir
|
|
16
15
|
.filter((file) => file !== "integrity.json")
|
|
17
|
-
.map((file) =>
|
|
16
|
+
.map((file) =>
|
|
17
|
+
rm(join(path, file), { recursive: true, force: true }),
|
|
18
|
+
),
|
|
18
19
|
);
|
|
19
20
|
}
|
|
20
21
|
}
|
package/commands/login.js
CHANGED
|
@@ -71,7 +71,7 @@ export const handler = commandHandler(
|
|
|
71
71
|
|
|
72
72
|
if (rl) rl.close();
|
|
73
73
|
|
|
74
|
-
spinner.start();
|
|
74
|
+
if (!spinner.running) spinner.start();
|
|
75
75
|
const token = await new Login({
|
|
76
76
|
logger,
|
|
77
77
|
key: k,
|
|
@@ -85,7 +85,7 @@ export const handler = commandHandler(
|
|
|
85
85
|
|
|
86
86
|
const tokens = new Map(meta.tokens);
|
|
87
87
|
tokens.set(s, token);
|
|
88
|
-
meta.tokens =
|
|
88
|
+
meta.tokens = [...tokens];
|
|
89
89
|
|
|
90
90
|
await write(meta, { cwd: homedir, filename: ".eikrc" });
|
|
91
91
|
}
|
package/commands/map.js
CHANGED
|
@@ -68,7 +68,7 @@ export const handler = commandHandler(
|
|
|
68
68
|
|
|
69
69
|
const artifact = new Artifact(pkgMeta);
|
|
70
70
|
const versions = new Map(pkgMeta.versions);
|
|
71
|
-
artifact.versions =
|
|
71
|
+
artifact.versions = [...versions.values()];
|
|
72
72
|
artifact.format(server);
|
|
73
73
|
|
|
74
74
|
process.stdout.write("\n");
|
package/commands/publish.js
CHANGED
|
@@ -96,14 +96,14 @@ export const handler = commandHandler(
|
|
|
96
96
|
const artifact = new Artifact(pkgMeta);
|
|
97
97
|
artifact.versions = [pkgVersionMeta];
|
|
98
98
|
|
|
99
|
-
spinner.
|
|
100
|
-
spinner.
|
|
99
|
+
spinner.setText("");
|
|
100
|
+
spinner.stop();
|
|
101
101
|
|
|
102
102
|
artifact.format(server);
|
|
103
103
|
process.stdout.write("\n");
|
|
104
104
|
} else {
|
|
105
|
-
spinner.
|
|
106
|
-
spinner.
|
|
105
|
+
spinner.setText("");
|
|
106
|
+
spinner.stop();
|
|
107
107
|
|
|
108
108
|
process.stdout.write(
|
|
109
109
|
`:: ${c.bgYellow(
|
package/index.js
CHANGED
|
@@ -34,7 +34,7 @@ const { version: cliVersion } = JSON.parse(
|
|
|
34
34
|
if (
|
|
35
35
|
process.argv.includes("-v") ||
|
|
36
36
|
// last position only to avoid conflict with publish command
|
|
37
|
-
process.argv
|
|
37
|
+
process.argv.at(-1).includes("--version")
|
|
38
38
|
) {
|
|
39
39
|
console.log(cliVersion);
|
|
40
40
|
process.exit(0);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eik/cli",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.51",
|
|
4
4
|
"description": "CLI tool for publishing assets to an Eik server",
|
|
5
5
|
"main": "./classes/index.js",
|
|
6
6
|
"types": "./types/classes/index.d.ts",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"types"
|
|
21
21
|
],
|
|
22
22
|
"scripts": {
|
|
23
|
-
"clean": "
|
|
23
|
+
"clean": "git clean -fdx",
|
|
24
24
|
"test": "cross-env HTTP_PORT=0 LOG_LEVEL=fatal tap --timeout 180 --jobs=1 --disable-coverage",
|
|
25
25
|
"test:integration": "cross-env HTTP_PORT=0 LOG_LEVEL=fatal tap --timeout 180 --jobs=1 --disable-coverage test/integration/**/*.test.mjs",
|
|
26
26
|
"test:unit": "cross-env HTTP_PORT=0 LOG_LEVEL=fatal tap --timeout 180 --jobs=1 --disable-coverage test/*.test.mjs",
|
|
@@ -48,8 +48,7 @@
|
|
|
48
48
|
"date-fns": "4.3.0",
|
|
49
49
|
"form-data": "4.0.5",
|
|
50
50
|
"gzip-size": "7.0.0",
|
|
51
|
-
"
|
|
52
|
-
"rimraf": "6.1.3",
|
|
51
|
+
"picospinner": "3.0.0",
|
|
53
52
|
"semver": "7.8.1",
|
|
54
53
|
"tar": "7.5.15",
|
|
55
54
|
"tinyrainbow": "3.1.0",
|
|
@@ -62,17 +61,17 @@
|
|
|
62
61
|
}
|
|
63
62
|
},
|
|
64
63
|
"devDependencies": {
|
|
65
|
-
"@eik/eslint-config": "
|
|
64
|
+
"@eik/eslint-config": "2.0.0",
|
|
66
65
|
"@eik/prettier-config": "1.0.1",
|
|
67
66
|
"@eik/semantic-release-config": "1.0.15",
|
|
68
67
|
"@eik/service": "5.1.45",
|
|
69
68
|
"@eik/sink-memory": "2.0.27",
|
|
70
69
|
"@eik/typescript-config": "1.0.0",
|
|
70
|
+
"@types/node": "^20.0.0",
|
|
71
71
|
"@types/yargs": "17.0.35",
|
|
72
72
|
"cross-env": "10.1.0",
|
|
73
73
|
"eslint": "9.39.2",
|
|
74
74
|
"fastify": "5.8.5",
|
|
75
|
-
"fs-extra": "11.3.3",
|
|
76
75
|
"npm-run-all2": "8.0.4",
|
|
77
76
|
"prettier": "3.8.1",
|
|
78
77
|
"semantic-release": "25.0.3",
|
package/utils/command-handler.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Spinner } from "picospinner";
|
|
2
2
|
import logger from "./logger.js";
|
|
3
3
|
import { EikCliError } from "./error.js";
|
|
4
4
|
import { getArgsOrDefaults } from "./defaults.js";
|
|
@@ -25,7 +25,8 @@ import { getArgsOrDefaults } from "./defaults.js";
|
|
|
25
25
|
*/
|
|
26
26
|
export function commandHandler(opts, handlerFunction) {
|
|
27
27
|
return async (argv) => {
|
|
28
|
-
const spinner =
|
|
28
|
+
const spinner = new Spinner();
|
|
29
|
+
spinner.start();
|
|
29
30
|
const log = logger(spinner, argv.debug);
|
|
30
31
|
|
|
31
32
|
try {
|
|
@@ -38,8 +39,8 @@ ${JSON.stringify(args, null, 2)}`);
|
|
|
38
39
|
|
|
39
40
|
await handlerFunction(args, log, spinner);
|
|
40
41
|
|
|
41
|
-
spinner.
|
|
42
|
-
spinner.
|
|
42
|
+
spinner.setText("");
|
|
43
|
+
spinner.stop();
|
|
43
44
|
} catch (e) {
|
|
44
45
|
if (e instanceof EikCliError) {
|
|
45
46
|
log.error(e.message);
|
|
@@ -52,8 +53,8 @@ ${JSON.stringify(args, null, 2)}`);
|
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
55
|
|
|
55
|
-
spinner.
|
|
56
|
-
spinner.
|
|
56
|
+
spinner.setText("");
|
|
57
|
+
spinner.stop();
|
|
57
58
|
return process.exit(e.exitCode);
|
|
58
59
|
}
|
|
59
60
|
|
|
@@ -64,8 +65,8 @@ ${JSON.stringify(args, null, 2)}`);
|
|
|
64
65
|
log.debug(error.stack);
|
|
65
66
|
}
|
|
66
67
|
|
|
67
|
-
spinner.
|
|
68
|
-
spinner.
|
|
68
|
+
spinner.setText("");
|
|
69
|
+
spinner.stop();
|
|
69
70
|
process.exit(1);
|
|
70
71
|
}
|
|
71
72
|
};
|
package/utils/logger.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Creates a logger object that wraps an instance of the "
|
|
2
|
+
* Creates a logger object that wraps an instance of the "picospinner" module in order to provide consistent command line logging that includes a spinner
|
|
3
3
|
*
|
|
4
|
-
* @param {
|
|
4
|
+
* @param {import('picospinner').Spinner} spinner
|
|
5
5
|
* @param {boolean} debug
|
|
6
6
|
*/
|
|
7
7
|
const logger = (spinner, debug = false) => ({
|
|
@@ -9,45 +9,55 @@ const logger = (spinner, debug = false) => ({
|
|
|
9
9
|
* @param {string} message
|
|
10
10
|
*/
|
|
11
11
|
fatal(message) {
|
|
12
|
-
spinner.fail(message)
|
|
12
|
+
spinner.fail(message);
|
|
13
|
+
if (!spinner.running) spinner.start();
|
|
13
14
|
},
|
|
14
15
|
/**
|
|
15
16
|
* @param {string} message
|
|
16
17
|
*/
|
|
17
18
|
error(message) {
|
|
18
|
-
spinner.fail(message)
|
|
19
|
+
spinner.fail(message);
|
|
20
|
+
if (!spinner.running) spinner.start();
|
|
19
21
|
},
|
|
20
22
|
/**
|
|
21
23
|
* @param {string} message
|
|
22
24
|
*/
|
|
23
25
|
warn(message) {
|
|
24
|
-
spinner.warn(message)
|
|
26
|
+
spinner.warn(message);
|
|
27
|
+
if (!spinner.running) spinner.start();
|
|
25
28
|
},
|
|
26
29
|
/**
|
|
27
30
|
* @param {string} message
|
|
28
31
|
*/
|
|
29
32
|
info(message) {
|
|
30
33
|
if (typeof message !== "string") {
|
|
31
|
-
spinner.
|
|
32
|
-
spinner.
|
|
34
|
+
spinner.setText("");
|
|
35
|
+
spinner.stop();
|
|
33
36
|
|
|
34
37
|
console.log(message);
|
|
35
38
|
spinner.start();
|
|
36
39
|
} else {
|
|
37
|
-
spinner.succeed(message)
|
|
40
|
+
spinner.succeed(message);
|
|
41
|
+
if (!spinner.running) spinner.start();
|
|
38
42
|
}
|
|
39
43
|
},
|
|
40
44
|
/**
|
|
41
45
|
* @param {string} message
|
|
42
46
|
*/
|
|
43
47
|
debug(message) {
|
|
44
|
-
if (debug)
|
|
48
|
+
if (debug) {
|
|
49
|
+
spinner.info(message);
|
|
50
|
+
if (!spinner.running) spinner.start();
|
|
51
|
+
}
|
|
45
52
|
},
|
|
46
53
|
/**
|
|
47
54
|
* @param {string} message
|
|
48
55
|
*/
|
|
49
56
|
trace(message) {
|
|
50
|
-
if (debug)
|
|
57
|
+
if (debug) {
|
|
58
|
+
spinner.info(message);
|
|
59
|
+
if (!spinner.running) spinner.start();
|
|
60
|
+
}
|
|
51
61
|
},
|
|
52
62
|
});
|
|
53
63
|
|