@cleocode/cleo 2026.5.108 → 2026.5.110
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/cli/index.js +1249 -171
- package/dist/cli/index.js.map +3 -3
- package/package.json +12 -12
- package/scripts/generate-command-manifest.mjs +22 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cleocode/cleo",
|
|
3
|
-
"version": "2026.5.
|
|
3
|
+
"version": "2026.5.110",
|
|
4
4
|
"description": "CLEO CLI — the assembled product consuming @cleocode/core",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cli/index.js",
|
|
@@ -30,18 +30,18 @@
|
|
|
30
30
|
"tree-sitter-rust": "0.23.1",
|
|
31
31
|
"tree-sitter-typescript": "^0.23.2",
|
|
32
32
|
"yaml": "^2.8.3",
|
|
33
|
-
"@cleocode/
|
|
34
|
-
"@cleocode/
|
|
35
|
-
"@cleocode/
|
|
36
|
-
"@cleocode/
|
|
37
|
-
"@cleocode/
|
|
38
|
-
"@cleocode/nexus": "2026.5.
|
|
39
|
-
"@cleocode/paths": "2026.5.
|
|
40
|
-
"@cleocode/
|
|
41
|
-
"@cleocode/
|
|
33
|
+
"@cleocode/caamp": "2026.5.110",
|
|
34
|
+
"@cleocode/cant": "2026.5.110",
|
|
35
|
+
"@cleocode/contracts": "2026.5.110",
|
|
36
|
+
"@cleocode/lafs": "2026.5.110",
|
|
37
|
+
"@cleocode/animations": "2026.5.110",
|
|
38
|
+
"@cleocode/nexus": "2026.5.110",
|
|
39
|
+
"@cleocode/paths": "2026.5.110",
|
|
40
|
+
"@cleocode/runtime": "2026.5.110",
|
|
41
|
+
"@cleocode/playbooks": "2026.5.110"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
|
-
"@cleocode/core": "2026.5.
|
|
44
|
+
"@cleocode/core": "2026.5.110"
|
|
45
45
|
},
|
|
46
46
|
"peerDependenciesMeta": {
|
|
47
47
|
"@cleocode/core": {
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
}
|
|
50
50
|
},
|
|
51
51
|
"engines": {
|
|
52
|
-
"node": ">=24.
|
|
52
|
+
"node": ">=24.13.0"
|
|
53
53
|
},
|
|
54
54
|
"license": "MIT",
|
|
55
55
|
"publishConfig": {
|
|
@@ -69,6 +69,11 @@ function main() {
|
|
|
69
69
|
...e,
|
|
70
70
|
// Import path used at runtime — relative to cli/generated/
|
|
71
71
|
importPath: `../commands/${f.replace(/\.ts$/, '.js')}`,
|
|
72
|
+
// Whether this export is a SubCommand-only binding (mounted under a
|
|
73
|
+
// parent command). SubCommands MAY share a `meta.name` with a
|
|
74
|
+
// top-level command — the parent command's `subCommands` table
|
|
75
|
+
// disambiguates at run time (e.g. `cleo verify` vs `cleo backup verify`).
|
|
76
|
+
isSubCommand: /SubCommand$/.test(e.exportName),
|
|
72
77
|
});
|
|
73
78
|
}
|
|
74
79
|
}
|
|
@@ -79,9 +84,13 @@ function main() {
|
|
|
79
84
|
}
|
|
80
85
|
|
|
81
86
|
// Detect duplicate command names so we surface conflicts at build time.
|
|
82
|
-
|
|
87
|
+
// SubCommand exports are skipped when a non-SubCommand owns the name — the
|
|
88
|
+
// SubCommand is mounted under its parent in source and never collides at
|
|
89
|
+
// the top level. Two TOP-level commands sharing a name is still an error.
|
|
90
|
+
const topLevelByName = new Map();
|
|
83
91
|
for (const e of entries) {
|
|
84
|
-
|
|
92
|
+
if (e.isSubCommand) continue;
|
|
93
|
+
const prev = topLevelByName.get(e.name);
|
|
85
94
|
if (prev && prev.exportName !== e.exportName) {
|
|
86
95
|
console.error(
|
|
87
96
|
`generate-command-manifest: duplicate command name "${e.name}" — ` +
|
|
@@ -89,7 +98,17 @@ function main() {
|
|
|
89
98
|
);
|
|
90
99
|
process.exit(1);
|
|
91
100
|
}
|
|
92
|
-
|
|
101
|
+
topLevelByName.set(e.name, e);
|
|
102
|
+
}
|
|
103
|
+
// Prune SubCommand entries whose name is already owned by a top-level
|
|
104
|
+
// command — keeping them in the manifest would silently override the
|
|
105
|
+
// top-level binding via `subCommands[entry.name] = wrapper` in
|
|
106
|
+
// `packages/cleo/src/cli/index.ts`.
|
|
107
|
+
for (let i = entries.length - 1; i >= 0; i--) {
|
|
108
|
+
const e = entries[i];
|
|
109
|
+
if (e.isSubCommand && topLevelByName.has(e.name)) {
|
|
110
|
+
entries.splice(i, 1);
|
|
111
|
+
}
|
|
93
112
|
}
|
|
94
113
|
|
|
95
114
|
const banner = `/**
|