@vltpkg/cli-sdk 0.0.0-9 → 1.0.0-rc.1
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/esm/commands/build.d.ts +25 -0
- package/dist/esm/commands/build.d.ts.map +1 -0
- package/dist/esm/commands/build.js +102 -0
- package/dist/esm/commands/build.js.map +1 -0
- package/dist/esm/commands/cache.d.ts +18 -0
- package/dist/esm/commands/cache.d.ts.map +1 -1
- package/dist/esm/commands/cache.js +48 -2
- package/dist/esm/commands/cache.js.map +1 -1
- package/dist/esm/commands/ci.d.ts +11 -0
- package/dist/esm/commands/ci.d.ts.map +1 -0
- package/dist/esm/commands/ci.js +32 -0
- package/dist/esm/commands/ci.js.map +1 -0
- package/dist/esm/commands/config.d.ts +3 -2
- package/dist/esm/commands/config.d.ts.map +1 -1
- package/dist/esm/commands/config.js +372 -101
- package/dist/esm/commands/config.js.map +1 -1
- package/dist/esm/commands/docs.d.ts +18 -0
- package/dist/esm/commands/docs.d.ts.map +1 -0
- package/dist/esm/commands/docs.js +154 -0
- package/dist/esm/commands/docs.js.map +1 -0
- package/dist/esm/commands/exec-cache.d.ts +49 -0
- package/dist/esm/commands/exec-cache.d.ts.map +1 -0
- package/dist/esm/commands/exec-cache.js +146 -0
- package/dist/esm/commands/exec-cache.js.map +1 -0
- package/dist/esm/commands/exec-local.d.ts +1 -0
- package/dist/esm/commands/exec-local.d.ts.map +1 -1
- package/dist/esm/commands/exec-local.js +2 -0
- package/dist/esm/commands/exec-local.js.map +1 -1
- package/dist/esm/commands/exec.d.ts +6 -1
- package/dist/esm/commands/exec.d.ts.map +1 -1
- package/dist/esm/commands/exec.js +79 -5
- package/dist/esm/commands/exec.js.map +1 -1
- package/dist/esm/commands/help.d.ts +1 -1
- package/dist/esm/commands/help.d.ts.map +1 -1
- package/dist/esm/commands/help.js +32 -3
- package/dist/esm/commands/help.js.map +1 -1
- package/dist/esm/commands/init.d.ts +3 -3
- package/dist/esm/commands/init.d.ts.map +1 -1
- package/dist/esm/commands/init.js +95 -9
- package/dist/esm/commands/init.js.map +1 -1
- package/dist/esm/commands/install/reporter.d.ts +3 -2
- package/dist/esm/commands/install/reporter.d.ts.map +1 -1
- package/dist/esm/commands/install/reporter.js +42 -15
- package/dist/esm/commands/install/reporter.js.map +1 -1
- package/dist/esm/commands/install.d.ts +21 -3
- package/dist/esm/commands/install.d.ts.map +1 -1
- package/dist/esm/commands/install.js +27 -3
- package/dist/esm/commands/install.js.map +1 -1
- package/dist/esm/commands/list.d.ts +2 -2
- package/dist/esm/commands/list.d.ts.map +1 -1
- package/dist/esm/commands/list.js +149 -49
- package/dist/esm/commands/list.js.map +1 -1
- package/dist/esm/commands/pack.d.ts +32 -0
- package/dist/esm/commands/pack.d.ts.map +1 -0
- package/dist/esm/commands/pack.js +147 -0
- package/dist/esm/commands/pack.js.map +1 -0
- package/dist/esm/commands/pkg.d.ts +1 -2
- package/dist/esm/commands/pkg.d.ts.map +1 -1
- package/dist/esm/commands/pkg.js +123 -38
- package/dist/esm/commands/pkg.js.map +1 -1
- package/dist/esm/commands/publish.d.ts +22 -0
- package/dist/esm/commands/publish.d.ts.map +1 -0
- package/dist/esm/commands/publish.js +245 -0
- package/dist/esm/commands/publish.js.map +1 -0
- package/dist/esm/commands/query.d.ts +2 -3
- package/dist/esm/commands/query.d.ts.map +1 -1
- package/dist/esm/commands/query.js +132 -38
- package/dist/esm/commands/query.js.map +1 -1
- package/dist/esm/commands/run-exec.d.ts +1 -0
- package/dist/esm/commands/run-exec.d.ts.map +1 -1
- package/dist/esm/commands/run-exec.js +1 -0
- package/dist/esm/commands/run-exec.js.map +1 -1
- package/dist/esm/commands/run.d.ts +1 -0
- package/dist/esm/commands/run.d.ts.map +1 -1
- package/dist/esm/commands/run.js +13 -16
- package/dist/esm/commands/run.js.map +1 -1
- package/dist/esm/commands/serve.d.ts +14 -0
- package/dist/esm/commands/serve.d.ts.map +1 -0
- package/dist/esm/commands/serve.js +103 -0
- package/dist/esm/commands/serve.js.map +1 -0
- package/dist/esm/commands/uninstall.d.ts +8 -2
- package/dist/esm/commands/uninstall.d.ts.map +1 -1
- package/dist/esm/commands/uninstall.js +8 -3
- package/dist/esm/commands/uninstall.js.map +1 -1
- package/dist/esm/commands/update.d.ts +14 -0
- package/dist/esm/commands/update.d.ts.map +1 -0
- package/dist/esm/commands/update.js +41 -0
- package/dist/esm/commands/update.js.map +1 -0
- package/dist/esm/commands/version.d.ts +26 -0
- package/dist/esm/commands/version.d.ts.map +1 -0
- package/dist/esm/commands/version.js +226 -0
- package/dist/esm/commands/version.js.map +1 -0
- package/dist/esm/config/definition.d.ts +118 -15
- package/dist/esm/config/definition.d.ts.map +1 -1
- package/dist/esm/config/definition.js +185 -37
- package/dist/esm/config/definition.js.map +1 -1
- package/dist/esm/config/index.d.ts +41 -37
- package/dist/esm/config/index.d.ts.map +1 -1
- package/dist/esm/config/index.js +109 -172
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/config/merge.d.ts +3 -1
- package/dist/esm/config/merge.d.ts.map +1 -1
- package/dist/esm/config/merge.js +11 -6
- package/dist/esm/config/merge.js.map +1 -1
- package/dist/esm/custom-help.d.ts +9 -0
- package/dist/esm/custom-help.d.ts.map +1 -0
- package/dist/esm/custom-help.js +400 -0
- package/dist/esm/custom-help.js.map +1 -0
- package/dist/esm/exec-command.d.ts +33 -14
- package/dist/esm/exec-command.d.ts.map +1 -1
- package/dist/esm/exec-command.js +213 -64
- package/dist/esm/exec-command.js.map +1 -1
- package/dist/esm/index.d.ts +1 -14
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +45 -19
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/load-command.d.ts +16 -0
- package/dist/esm/load-command.d.ts.map +1 -0
- package/dist/esm/load-command.js +21 -0
- package/dist/esm/load-command.js.map +1 -0
- package/dist/esm/output.d.ts +6 -11
- package/dist/esm/output.d.ts.map +1 -1
- package/dist/esm/output.js +64 -27
- package/dist/esm/output.js.map +1 -1
- package/dist/esm/pack-tarball.d.ts +22 -0
- package/dist/esm/pack-tarball.d.ts.map +1 -0
- package/dist/esm/pack-tarball.js +249 -0
- package/dist/esm/pack-tarball.js.map +1 -0
- package/dist/esm/print-err.d.ts +9 -2
- package/dist/esm/print-err.d.ts.map +1 -1
- package/dist/esm/print-err.js +130 -46
- package/dist/esm/print-err.js.map +1 -1
- package/dist/esm/query-host-contexts.d.ts +16 -0
- package/dist/esm/query-host-contexts.d.ts.map +1 -0
- package/dist/esm/query-host-contexts.js +135 -0
- package/dist/esm/query-host-contexts.js.map +1 -0
- package/dist/esm/start-gui.d.ts +1 -0
- package/dist/esm/start-gui.d.ts.map +1 -1
- package/dist/esm/start-gui.js +25 -6
- package/dist/esm/start-gui.js.map +1 -1
- package/dist/esm/view.d.ts +2 -3
- package/dist/esm/view.d.ts.map +1 -1
- package/dist/esm/view.js +1 -1
- package/dist/esm/view.js.map +1 -1
- package/package.json +51 -37
- package/dist/esm/commands/gui.d.ts +0 -6
- package/dist/esm/commands/gui.d.ts.map +0 -1
- package/dist/esm/commands/gui.js +0 -13
- package/dist/esm/commands/gui.js.map +0 -1
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
import { loadPackageJson } from 'package-json-from-dist';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
const { version } = loadPackageJson(import.meta.filename, process.env.__VLT_INTERNAL_CLI_PACKAGE_JSON);
|
|
4
|
+
// Custom yellow color: #FFE15D
|
|
5
|
+
const customYellow = chalk.hex('#FFE15D');
|
|
6
|
+
const makeStyler = (colors) => {
|
|
7
|
+
if (!colors)
|
|
8
|
+
return (_, s) => s;
|
|
9
|
+
return (style, text) => {
|
|
10
|
+
const styles = Array.isArray(style) ? style : [style];
|
|
11
|
+
let styledText = text;
|
|
12
|
+
for (const s of styles) {
|
|
13
|
+
switch (s) {
|
|
14
|
+
case 'yellow':
|
|
15
|
+
case 'yellowBright':
|
|
16
|
+
styledText = customYellow(styledText);
|
|
17
|
+
break;
|
|
18
|
+
case 'bold':
|
|
19
|
+
styledText = chalk.bold(styledText);
|
|
20
|
+
break;
|
|
21
|
+
case 'dim':
|
|
22
|
+
styledText = chalk.dim(styledText);
|
|
23
|
+
break;
|
|
24
|
+
case 'dark':
|
|
25
|
+
styledText = chalk.gray(styledText);
|
|
26
|
+
break;
|
|
27
|
+
case 'cyan':
|
|
28
|
+
styledText = chalk.cyan(styledText);
|
|
29
|
+
break;
|
|
30
|
+
case 'green':
|
|
31
|
+
styledText = chalk.green(styledText);
|
|
32
|
+
break;
|
|
33
|
+
default:
|
|
34
|
+
// Fallback to chalk's built-in colors
|
|
35
|
+
if (s in chalk &&
|
|
36
|
+
typeof chalk[s] === 'function') {
|
|
37
|
+
styledText = chalk[s](styledText);
|
|
38
|
+
}
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return styledText;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
// Single source of truth for all commands with metadata
|
|
46
|
+
const allCommands = [
|
|
47
|
+
{
|
|
48
|
+
name: 'build',
|
|
49
|
+
aliases: ['b'],
|
|
50
|
+
args: '<selector>',
|
|
51
|
+
desc: 'Build packages with lifecycle scripts',
|
|
52
|
+
showByDefault: true,
|
|
53
|
+
defaultOrder: 4,
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: 'cache',
|
|
57
|
+
aliases: [],
|
|
58
|
+
args: '[add|ls|info|clean|delete|delete-before|delete-all]',
|
|
59
|
+
desc: 'Manage the package cache',
|
|
60
|
+
showByDefault: false,
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: 'ci',
|
|
64
|
+
aliases: [],
|
|
65
|
+
args: '',
|
|
66
|
+
desc: 'Clean install (frozen lockfile)',
|
|
67
|
+
showByDefault: false,
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: 'config',
|
|
71
|
+
aliases: [],
|
|
72
|
+
args: '[get|pick|list|set|delete|edit|location]',
|
|
73
|
+
desc: 'Get or set configuration',
|
|
74
|
+
showByDefault: false,
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: 'docs',
|
|
78
|
+
aliases: [],
|
|
79
|
+
args: '',
|
|
80
|
+
desc: 'Open the docs of the current project',
|
|
81
|
+
showByDefault: false,
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
name: 'exec',
|
|
85
|
+
aliases: ['x'],
|
|
86
|
+
args: '<executable>',
|
|
87
|
+
desc: 'Execute a package bin',
|
|
88
|
+
showByDefault: true,
|
|
89
|
+
defaultOrder: 6,
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
name: 'exec-cache',
|
|
93
|
+
aliases: ['xc'],
|
|
94
|
+
args: '[ls|delete|info|install]',
|
|
95
|
+
desc: 'Manage the exec cache',
|
|
96
|
+
showByDefault: false,
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: 'exec-local',
|
|
100
|
+
aliases: ['xl'],
|
|
101
|
+
args: '<command>',
|
|
102
|
+
desc: 'Execute a local package bin',
|
|
103
|
+
showByDefault: false,
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
name: 'help',
|
|
107
|
+
aliases: ['h', '?'],
|
|
108
|
+
args: '[<command>]',
|
|
109
|
+
desc: 'Show help for a command',
|
|
110
|
+
showByDefault: false,
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
name: 'init',
|
|
114
|
+
aliases: [],
|
|
115
|
+
args: '',
|
|
116
|
+
desc: 'Initialize a new project',
|
|
117
|
+
showByDefault: true,
|
|
118
|
+
defaultOrder: 1,
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
name: 'install',
|
|
122
|
+
aliases: ['i', 'add'],
|
|
123
|
+
args: '[<package>...]',
|
|
124
|
+
desc: 'Install dependencies',
|
|
125
|
+
showByDefault: true,
|
|
126
|
+
defaultOrder: 2,
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
name: 'list',
|
|
130
|
+
aliases: ['ls'],
|
|
131
|
+
args: '',
|
|
132
|
+
desc: 'List installed packages',
|
|
133
|
+
showByDefault: false,
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
name: 'login',
|
|
137
|
+
aliases: [],
|
|
138
|
+
args: '',
|
|
139
|
+
desc: 'Authenticate with a registry',
|
|
140
|
+
showByDefault: false,
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
name: 'logout',
|
|
144
|
+
aliases: [],
|
|
145
|
+
args: '',
|
|
146
|
+
desc: 'Log out from a registry',
|
|
147
|
+
showByDefault: false,
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
name: 'pack',
|
|
151
|
+
aliases: [],
|
|
152
|
+
args: '',
|
|
153
|
+
desc: 'Create a tarball from a package',
|
|
154
|
+
showByDefault: false,
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
name: 'pkg',
|
|
158
|
+
aliases: ['p'],
|
|
159
|
+
args: '<command>',
|
|
160
|
+
desc: 'Manage package metadata',
|
|
161
|
+
showByDefault: true,
|
|
162
|
+
defaultOrder: 7,
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
name: 'publish',
|
|
166
|
+
aliases: ['pub'],
|
|
167
|
+
args: '',
|
|
168
|
+
desc: 'Publish package to registry',
|
|
169
|
+
showByDefault: true,
|
|
170
|
+
defaultOrder: 8,
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
name: 'query',
|
|
174
|
+
aliases: ['q'],
|
|
175
|
+
args: '<selector>',
|
|
176
|
+
desc: 'Query for packages in the project',
|
|
177
|
+
showByDefault: true,
|
|
178
|
+
defaultOrder: 3,
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
name: 'run',
|
|
182
|
+
aliases: ['r'],
|
|
183
|
+
args: '<script>',
|
|
184
|
+
desc: 'Run a script defined in package.json',
|
|
185
|
+
showByDefault: true,
|
|
186
|
+
defaultOrder: 5,
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
name: 'run-exec',
|
|
190
|
+
aliases: ['rx'],
|
|
191
|
+
args: '<script>',
|
|
192
|
+
desc: 'Run a script &/or fallback to executing a binary',
|
|
193
|
+
showByDefault: false,
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
name: 'serve',
|
|
197
|
+
aliases: ['s'],
|
|
198
|
+
args: '',
|
|
199
|
+
desc: 'Start a local package registry server',
|
|
200
|
+
showByDefault: true,
|
|
201
|
+
defaultOrder: 9,
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
name: 'token',
|
|
205
|
+
aliases: [],
|
|
206
|
+
args: '[add|rm]',
|
|
207
|
+
desc: 'Manage authentication tokens',
|
|
208
|
+
showByDefault: false,
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
name: 'uninstall',
|
|
212
|
+
aliases: ['rm'],
|
|
213
|
+
args: '[<package>...]',
|
|
214
|
+
desc: 'Remove dependencies',
|
|
215
|
+
showByDefault: false,
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
name: 'update',
|
|
219
|
+
aliases: ['u'],
|
|
220
|
+
args: '',
|
|
221
|
+
desc: 'Update package versions to latest in-range',
|
|
222
|
+
showByDefault: false,
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
name: 'version',
|
|
226
|
+
aliases: [],
|
|
227
|
+
args: '<increment>',
|
|
228
|
+
desc: 'Bump package version',
|
|
229
|
+
showByDefault: false,
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
name: 'whoami',
|
|
233
|
+
aliases: [],
|
|
234
|
+
args: '',
|
|
235
|
+
desc: 'Display the current user',
|
|
236
|
+
showByDefault: false,
|
|
237
|
+
},
|
|
238
|
+
];
|
|
239
|
+
/**
|
|
240
|
+
* Generates the custom default help output for vlt
|
|
241
|
+
*/
|
|
242
|
+
export const generateDefaultHelp = (colors = false) => {
|
|
243
|
+
const s = makeStyler(colors);
|
|
244
|
+
// Get default commands and sort by defaultOrder
|
|
245
|
+
const defaultCommands = allCommands
|
|
246
|
+
.filter(cmd => cmd.showByDefault)
|
|
247
|
+
.sort((a, b) => (a.defaultOrder || 0) - (b.defaultOrder || 0));
|
|
248
|
+
// Generate commands with tighter alias spacing but proper table structure
|
|
249
|
+
const commandsSection = defaultCommands
|
|
250
|
+
.map(cmd => {
|
|
251
|
+
// Tighter alias column (5 chars to accommodate space after comma) - only show first alias
|
|
252
|
+
const firstAlias = cmd.aliases.length > 0 ? cmd.aliases[0] : '';
|
|
253
|
+
const aliasColumn = firstAlias ? (firstAlias + ', ').padEnd(5) : ' ';
|
|
254
|
+
// Consistent name column (10 chars)
|
|
255
|
+
const nameColumn = cmd.name.padEnd(10);
|
|
256
|
+
// Consistent args column (14 chars)
|
|
257
|
+
const argsColumn = cmd.args.padEnd(16);
|
|
258
|
+
return ` ${s('dim', aliasColumn)}${s(['yellow', 'bold'], nameColumn)}${s('dim', argsColumn)}${cmd.desc}`;
|
|
259
|
+
})
|
|
260
|
+
.join('\n');
|
|
261
|
+
return `${s(['bold'], '⚡️ vlt')} ${s('dim', '/vōlt/')} next-gen package management ${s('dim', `v${version}`)}
|
|
262
|
+
|
|
263
|
+
${s('bold', 'USAGE')}
|
|
264
|
+
|
|
265
|
+
${s('bold', 'vlt')} ${s('dim', '<command>')}
|
|
266
|
+
|
|
267
|
+
${s('bold', 'COMMON COMMANDS')}
|
|
268
|
+
|
|
269
|
+
${commandsSection}
|
|
270
|
+
|
|
271
|
+
${s('bold', 'COMPANION BINS')}
|
|
272
|
+
|
|
273
|
+
${s('bold', 'vlr')} ${s('dim', 'eq. vlt run')}
|
|
274
|
+
${s('bold', 'vlx')} ${s('dim', 'eq. vlt exec')}
|
|
275
|
+
|
|
276
|
+
${s('bold', 'COMMON FLAGS')}
|
|
277
|
+
|
|
278
|
+
${s('green', '-v, --version')} Log the cli version
|
|
279
|
+
${s('green', '-a, --all')} List all commands, bins & flags
|
|
280
|
+
|
|
281
|
+
Learn more: https://${s('bold', 'vlt.sh')}
|
|
282
|
+
Get support: https://${s('bold', 'vlt.community')}
|
|
283
|
+
|
|
284
|
+
${s('dim', `This is not the full usage information, run \`vlt -a\` for more.`)}
|
|
285
|
+
`;
|
|
286
|
+
};
|
|
287
|
+
/**
|
|
288
|
+
* Generates the full help output with all commands when --all flag is used
|
|
289
|
+
*/
|
|
290
|
+
export const generateFullHelp = (colors = false) => {
|
|
291
|
+
const s = makeStyler(colors);
|
|
292
|
+
// Use all commands sorted alphabetically
|
|
293
|
+
const commands = [...allCommands].sort((a, b) => a.name.localeCompare(b.name));
|
|
294
|
+
// Define only globally applicable flags (alphabetically sorted by long name)
|
|
295
|
+
const flags = [
|
|
296
|
+
{
|
|
297
|
+
shorts: ['a'],
|
|
298
|
+
long: 'all',
|
|
299
|
+
args: '',
|
|
300
|
+
desc: 'Show all commands, bins, and flags',
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
shorts: ['c'],
|
|
304
|
+
long: 'color',
|
|
305
|
+
args: '',
|
|
306
|
+
desc: 'Enable color output',
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
shorts: ['h'],
|
|
310
|
+
long: 'help',
|
|
311
|
+
args: '',
|
|
312
|
+
desc: 'Print helpful information',
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
shorts: [],
|
|
316
|
+
long: 'no-color',
|
|
317
|
+
args: '',
|
|
318
|
+
desc: 'Disable color output',
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
shorts: [],
|
|
322
|
+
long: 'registry',
|
|
323
|
+
args: '<url>',
|
|
324
|
+
desc: 'Override default registry',
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
shorts: ['v'],
|
|
328
|
+
long: 'version',
|
|
329
|
+
args: '',
|
|
330
|
+
desc: 'Print the version',
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
shorts: ['y'],
|
|
334
|
+
long: 'yes',
|
|
335
|
+
args: '',
|
|
336
|
+
desc: 'Automatically accept prompts',
|
|
337
|
+
},
|
|
338
|
+
];
|
|
339
|
+
// Generate commands section with letter grouping spacing
|
|
340
|
+
let commandsSection = '';
|
|
341
|
+
let lastFirstLetter = '';
|
|
342
|
+
commands.forEach((cmd, index) => {
|
|
343
|
+
const firstLetter = cmd.name[0]?.toLowerCase() || '';
|
|
344
|
+
// Add extra spacing between different letter groups
|
|
345
|
+
if (firstLetter !== lastFirstLetter && index > 0) {
|
|
346
|
+
commandsSection += '\n';
|
|
347
|
+
}
|
|
348
|
+
// Fixed width columns for proper alignment with space after comma
|
|
349
|
+
const aliasColumn = cmd.aliases.length > 0 ?
|
|
350
|
+
(cmd.aliases.join(', ') + ', ').padEnd(9)
|
|
351
|
+
: ' ';
|
|
352
|
+
const nameColumn = cmd.name.padEnd(12);
|
|
353
|
+
// Truncate args if longer than 16 chars and add ellipsis
|
|
354
|
+
const truncatedArgs = cmd.args.length > 16 ?
|
|
355
|
+
cmd.args.substring(0, 13) + '...'
|
|
356
|
+
: cmd.args;
|
|
357
|
+
const argsColumn = truncatedArgs.padEnd(16);
|
|
358
|
+
commandsSection += `${s('dim', aliasColumn)}${s(['yellow', 'bold'], nameColumn)}${s('dim', argsColumn)}${cmd.desc}`;
|
|
359
|
+
if (index < commands.length - 1) {
|
|
360
|
+
commandsSection += '\n';
|
|
361
|
+
}
|
|
362
|
+
lastFirstLetter = firstLetter;
|
|
363
|
+
});
|
|
364
|
+
// Generate flags section with same structure as commands
|
|
365
|
+
const flagsSection = flags
|
|
366
|
+
.map(f => {
|
|
367
|
+
// Match command structure: alias column, name column, args column, description
|
|
368
|
+
const aliasColumn = f.shorts.length > 0 ?
|
|
369
|
+
('-' + f.shorts.join(', -') + ', ').padEnd(7)
|
|
370
|
+
: ' ';
|
|
371
|
+
const nameColumn = ('--' + f.long).padEnd(12);
|
|
372
|
+
const argsColumn = (f.args || '').padEnd(17);
|
|
373
|
+
return ` ${s('dim', aliasColumn)}${s('green', nameColumn)}${s('dim', argsColumn)}${f.desc}`;
|
|
374
|
+
})
|
|
375
|
+
.join('\n');
|
|
376
|
+
return `${s(['bold'], '⚡️ vlt')} ${s('dim', '/vōlt/')} ${s('dim', '- next-gen package management')} ${s('dim', `v${version}`)}
|
|
377
|
+
|
|
378
|
+
${s('bold', 'USAGE')}
|
|
379
|
+
|
|
380
|
+
${s('bold', 'vlt')} ${s('dim', '<command>')}
|
|
381
|
+
|
|
382
|
+
${s('bold', 'COMMANDS')}
|
|
383
|
+
|
|
384
|
+
${commandsSection}
|
|
385
|
+
|
|
386
|
+
${s('bold', 'COMPANION BINS')}
|
|
387
|
+
|
|
388
|
+
vlr ${s('dim', 'eq. vlt run')}
|
|
389
|
+
vlx ${s('dim', 'eq. vlt exec')}
|
|
390
|
+
|
|
391
|
+
${s('bold', 'FLAGS')}
|
|
392
|
+
|
|
393
|
+
${flagsSection}
|
|
394
|
+
|
|
395
|
+
Learn more: https://${s('bold', 'vlt.sh')}
|
|
396
|
+
Get support: https://${s('bold', 'vlt.community')}
|
|
397
|
+
|
|
398
|
+
${s('dim', `Run \`vlt help <command>\` for detailed information about a specific command.`)}`;
|
|
399
|
+
};
|
|
400
|
+
//# sourceMappingURL=custom-help.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-help.js","sourceRoot":"","sources":["../../src/custom-help.ts"],"names":[],"mappings":"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","sourcesContent":["import { loadPackageJson } from 'package-json-from-dist'\nimport chalk from 'chalk'\n\nconst { version } = loadPackageJson(\n import.meta.filename,\n process.env.__VLT_INTERNAL_CLI_PACKAGE_JSON,\n) as {\n version: string\n}\n\n// Custom yellow color: #FFE15D\nconst customYellow = chalk.hex('#FFE15D')\n\ntype StylerFn = (style: string | string[], text: string) => string\n\nconst makeStyler = (colors: boolean): StylerFn => {\n if (!colors) return (_, s) => s\n\n return (style: string | string[], text: string): string => {\n const styles = Array.isArray(style) ? style : [style]\n let styledText = text\n\n for (const s of styles) {\n switch (s) {\n case 'yellow':\n case 'yellowBright':\n styledText = customYellow(styledText)\n break\n case 'bold':\n styledText = chalk.bold(styledText)\n break\n case 'dim':\n styledText = chalk.dim(styledText)\n break\n case 'dark':\n styledText = chalk.gray(styledText)\n break\n case 'cyan':\n styledText = chalk.cyan(styledText)\n break\n case 'green':\n styledText = chalk.green(styledText)\n break\n default:\n // Fallback to chalk's built-in colors\n if (\n s in chalk &&\n typeof chalk[s as keyof typeof chalk] === 'function'\n ) {\n styledText = (\n chalk[s as keyof typeof chalk] as (\n text: string,\n ) => string\n )(styledText)\n }\n break\n }\n }\n\n return styledText\n }\n}\n\n// Single source of truth for all commands with metadata\nconst allCommands = [\n {\n name: 'build',\n aliases: ['b'],\n args: '<selector>',\n desc: 'Build packages with lifecycle scripts',\n showByDefault: true,\n defaultOrder: 4,\n },\n {\n name: 'cache',\n aliases: [],\n args: '[add|ls|info|clean|delete|delete-before|delete-all]',\n desc: 'Manage the package cache',\n showByDefault: false,\n },\n {\n name: 'ci',\n aliases: [],\n args: '',\n desc: 'Clean install (frozen lockfile)',\n showByDefault: false,\n },\n {\n name: 'config',\n aliases: [],\n args: '[get|pick|list|set|delete|edit|location]',\n desc: 'Get or set configuration',\n showByDefault: false,\n },\n {\n name: 'docs',\n aliases: [],\n args: '',\n desc: 'Open the docs of the current project',\n showByDefault: false,\n },\n {\n name: 'exec',\n aliases: ['x'],\n args: '<executable>',\n desc: 'Execute a package bin',\n showByDefault: true,\n defaultOrder: 6,\n },\n {\n name: 'exec-cache',\n aliases: ['xc'],\n args: '[ls|delete|info|install]',\n desc: 'Manage the exec cache',\n showByDefault: false,\n },\n {\n name: 'exec-local',\n aliases: ['xl'],\n args: '<command>',\n desc: 'Execute a local package bin',\n showByDefault: false,\n },\n {\n name: 'help',\n aliases: ['h', '?'],\n args: '[<command>]',\n desc: 'Show help for a command',\n showByDefault: false,\n },\n {\n name: 'init',\n aliases: [],\n args: '',\n desc: 'Initialize a new project',\n showByDefault: true,\n defaultOrder: 1,\n },\n {\n name: 'install',\n aliases: ['i', 'add'],\n args: '[<package>...]',\n desc: 'Install dependencies',\n showByDefault: true,\n defaultOrder: 2,\n },\n {\n name: 'list',\n aliases: ['ls'],\n args: '',\n desc: 'List installed packages',\n showByDefault: false,\n },\n {\n name: 'login',\n aliases: [],\n args: '',\n desc: 'Authenticate with a registry',\n showByDefault: false,\n },\n {\n name: 'logout',\n aliases: [],\n args: '',\n desc: 'Log out from a registry',\n showByDefault: false,\n },\n {\n name: 'pack',\n aliases: [],\n args: '',\n desc: 'Create a tarball from a package',\n showByDefault: false,\n },\n {\n name: 'pkg',\n aliases: ['p'],\n args: '<command>',\n desc: 'Manage package metadata',\n showByDefault: true,\n defaultOrder: 7,\n },\n {\n name: 'publish',\n aliases: ['pub'],\n args: '',\n desc: 'Publish package to registry',\n showByDefault: true,\n defaultOrder: 8,\n },\n {\n name: 'query',\n aliases: ['q'],\n args: '<selector>',\n desc: 'Query for packages in the project',\n showByDefault: true,\n defaultOrder: 3,\n },\n {\n name: 'run',\n aliases: ['r'],\n args: '<script>',\n desc: 'Run a script defined in package.json',\n showByDefault: true,\n defaultOrder: 5,\n },\n {\n name: 'run-exec',\n aliases: ['rx'],\n args: '<script>',\n desc: 'Run a script &/or fallback to executing a binary',\n showByDefault: false,\n },\n {\n name: 'serve',\n aliases: ['s'],\n args: '',\n desc: 'Start a local package registry server',\n showByDefault: true,\n defaultOrder: 9,\n },\n {\n name: 'token',\n aliases: [],\n args: '[add|rm]',\n desc: 'Manage authentication tokens',\n showByDefault: false,\n },\n {\n name: 'uninstall',\n aliases: ['rm'],\n args: '[<package>...]',\n desc: 'Remove dependencies',\n showByDefault: false,\n },\n {\n name: 'update',\n aliases: ['u'],\n args: '',\n desc: 'Update package versions to latest in-range',\n showByDefault: false,\n },\n {\n name: 'version',\n aliases: [],\n args: '<increment>',\n desc: 'Bump package version',\n showByDefault: false,\n },\n {\n name: 'whoami',\n aliases: [],\n args: '',\n desc: 'Display the current user',\n showByDefault: false,\n },\n]\n\n/**\n * Generates the custom default help output for vlt\n */\nexport const generateDefaultHelp = (colors = false): string => {\n const s = makeStyler(colors)\n\n // Get default commands and sort by defaultOrder\n const defaultCommands = allCommands\n .filter(cmd => cmd.showByDefault)\n .sort((a, b) => (a.defaultOrder || 0) - (b.defaultOrder || 0))\n\n // Generate commands with tighter alias spacing but proper table structure\n const commandsSection = defaultCommands\n .map(cmd => {\n // Tighter alias column (5 chars to accommodate space after comma) - only show first alias\n const firstAlias = cmd.aliases.length > 0 ? cmd.aliases[0] : ''\n const aliasColumn =\n firstAlias ? (firstAlias + ', ').padEnd(5) : ' '\n // Consistent name column (10 chars)\n const nameColumn = cmd.name.padEnd(10)\n // Consistent args column (14 chars)\n const argsColumn = cmd.args.padEnd(16)\n\n return ` ${s('dim', aliasColumn)}${s(['yellow', 'bold'], nameColumn)}${s('dim', argsColumn)}${cmd.desc}`\n })\n .join('\\n')\n\n return `${s(['bold'], '⚡️ vlt')} ${s('dim', '/vōlt/')} next-gen package management ${s('dim', `v${version}`)}\n\n${s('bold', 'USAGE')}\n\n ${s('bold', 'vlt')} ${s('dim', '<command>')}\n\n${s('bold', 'COMMON COMMANDS')}\n\n${commandsSection}\n \n${s('bold', 'COMPANION BINS')}\n\n ${s('bold', 'vlr')} ${s('dim', 'eq. vlt run')}\n ${s('bold', 'vlx')} ${s('dim', 'eq. vlt exec')}\n \n${s('bold', 'COMMON FLAGS')}\n\n ${s('green', '-v, --version')} Log the cli version\n ${s('green', '-a, --all')} List all commands, bins & flags\n\nLearn more: https://${s('bold', 'vlt.sh')}\nGet support: https://${s('bold', 'vlt.community')}\n\n${s('dim', `This is not the full usage information, run \\`vlt -a\\` for more.`)}\n`\n}\n\n/**\n * Generates the full help output with all commands when --all flag is used\n */\nexport const generateFullHelp = (colors = false): string => {\n const s = makeStyler(colors)\n\n // Use all commands sorted alphabetically\n const commands = [...allCommands].sort((a, b) =>\n a.name.localeCompare(b.name),\n )\n\n // Define only globally applicable flags (alphabetically sorted by long name)\n const flags = [\n {\n shorts: ['a'],\n long: 'all',\n args: '',\n desc: 'Show all commands, bins, and flags',\n },\n {\n shorts: ['c'],\n long: 'color',\n args: '',\n desc: 'Enable color output',\n },\n {\n shorts: ['h'],\n long: 'help',\n args: '',\n desc: 'Print helpful information',\n },\n {\n shorts: [],\n long: 'no-color',\n args: '',\n desc: 'Disable color output',\n },\n {\n shorts: [],\n long: 'registry',\n args: '<url>',\n desc: 'Override default registry',\n },\n {\n shorts: ['v'],\n long: 'version',\n args: '',\n desc: 'Print the version',\n },\n {\n shorts: ['y'],\n long: 'yes',\n args: '',\n desc: 'Automatically accept prompts',\n },\n ]\n\n // Generate commands section with letter grouping spacing\n let commandsSection = ''\n let lastFirstLetter = ''\n\n commands.forEach((cmd, index) => {\n const firstLetter = cmd.name[0]?.toLowerCase() || ''\n\n // Add extra spacing between different letter groups\n if (firstLetter !== lastFirstLetter && index > 0) {\n commandsSection += '\\n'\n }\n\n // Fixed width columns for proper alignment with space after comma\n const aliasColumn =\n cmd.aliases.length > 0 ?\n (cmd.aliases.join(', ') + ', ').padEnd(9)\n : ' '\n const nameColumn = cmd.name.padEnd(12)\n // Truncate args if longer than 16 chars and add ellipsis\n const truncatedArgs =\n cmd.args.length > 16 ?\n cmd.args.substring(0, 13) + '...'\n : cmd.args\n const argsColumn = truncatedArgs.padEnd(16)\n\n commandsSection += `${s('dim', aliasColumn)}${s(['yellow', 'bold'], nameColumn)}${s('dim', argsColumn)}${cmd.desc}`\n\n if (index < commands.length - 1) {\n commandsSection += '\\n'\n }\n\n lastFirstLetter = firstLetter\n })\n\n // Generate flags section with same structure as commands\n const flagsSection = flags\n .map(f => {\n // Match command structure: alias column, name column, args column, description\n const aliasColumn =\n f.shorts.length > 0 ?\n ('-' + f.shorts.join(', -') + ', ').padEnd(7)\n : ' '\n const nameColumn = ('--' + f.long).padEnd(12)\n const argsColumn = (f.args || '').padEnd(17)\n\n return ` ${s('dim', aliasColumn)}${s('green', nameColumn)}${s('dim', argsColumn)}${f.desc}`\n })\n .join('\\n')\n\n return `${s(['bold'], '⚡️ vlt')} ${s('dim', '/vōlt/')} ${s('dim', '- next-gen package management')} ${s('dim', `v${version}`)}\n\n${s('bold', 'USAGE')}\n\n ${s('bold', 'vlt')} ${s('dim', '<command>')}\n\n${s('bold', 'COMMANDS')}\n\n${commandsSection}\n\n${s('bold', 'COMPANION BINS')}\n\n vlr ${s('dim', 'eq. vlt run')}\n vlx ${s('dim', 'eq. vlt exec')}\n\n${s('bold', 'FLAGS')}\n\n${flagsSection}\n\nLearn more: https://${s('bold', 'vlt.sh')}\nGet support: https://${s('bold', 'vlt.community')}\n\n${s('dim', `Run \\`vlt help <command>\\` for detailed information about a specific command.`)}`\n}\n"]}
|
|
@@ -1,34 +1,53 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* impl for `vlt run`, `vlt run-exec`, `vlt exec-local`, `vlt exec`
|
|
3
|
+
* @module
|
|
3
4
|
*/
|
|
4
|
-
import type {
|
|
5
|
-
import {
|
|
6
|
-
import type { Workspace } from '@vltpkg/workspaces';
|
|
5
|
+
import type { NormalizedManifest } from '@vltpkg/types';
|
|
6
|
+
import type { exec, execFG, ExecOptions, run, runExec, runExecFG, RunExecOptions, runFG, RunFGResult, RunOptions, RunResult } from '@vltpkg/run';
|
|
7
7
|
import type { LoadedConfig } from './config/index.ts';
|
|
8
|
-
import type { SpawnResultNoStdio } from '@vltpkg/promise-spawn';
|
|
9
8
|
export type RunnerBG = typeof exec | typeof run | typeof runExec;
|
|
10
9
|
export type RunnerFG = typeof execFG | typeof runExecFG | typeof runFG;
|
|
11
10
|
export type RunnerOptions = ExecOptions & RunExecOptions & RunOptions;
|
|
12
|
-
export type
|
|
11
|
+
export type MultiRunResult = Record<string, RunResult>;
|
|
12
|
+
export type ScriptSet = Record<string, string>;
|
|
13
|
+
export type MultiScriptSet = Record<string, ScriptSet>;
|
|
14
|
+
export type ExecResult = RunFGResult | MultiRunResult | ScriptSet | MultiScriptSet;
|
|
15
|
+
export declare const views: {
|
|
16
|
+
readonly human: (result: ExecResult) => void;
|
|
17
|
+
readonly json: (result: ExecResult) => ExecResult | undefined;
|
|
18
|
+
};
|
|
19
|
+
type ViewValues = 'human' | 'json' | 'inspect' | 'silent';
|
|
13
20
|
export declare class ExecCommand<B extends RunnerBG, F extends RunnerFG> {
|
|
21
|
+
#private;
|
|
14
22
|
bg: B;
|
|
15
23
|
fg: F;
|
|
16
24
|
arg0?: string;
|
|
17
25
|
args: string[];
|
|
18
|
-
|
|
19
|
-
/** how many places are we doing things in? */
|
|
20
|
-
spaces: number;
|
|
26
|
+
env?: NodeJS.ProcessEnv;
|
|
21
27
|
conf: LoadedConfig;
|
|
22
28
|
projectRoot: string;
|
|
29
|
+
view: ViewValues;
|
|
30
|
+
validViewValues: Map<string, ViewValues>;
|
|
23
31
|
constructor(conf: LoadedConfig, bg: B, fg: F);
|
|
32
|
+
hasArg0(): this is this & {
|
|
33
|
+
arg0: string;
|
|
34
|
+
};
|
|
24
35
|
run(): Promise<ExecResult>;
|
|
25
|
-
printResult(
|
|
26
|
-
setExitCode(result: RunResult): void;
|
|
36
|
+
printResult(path: string, result: RunResult): void;
|
|
27
37
|
interactiveShell(): string;
|
|
28
38
|
defaultArg0(): string | undefined;
|
|
39
|
+
getCwd(): string;
|
|
29
40
|
fgArg(): RunnerOptions | undefined;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
41
|
+
bgArg(this: this & {
|
|
42
|
+
arg0: string;
|
|
43
|
+
}, cwd: string): RunnerOptions;
|
|
44
|
+
noArgsSingle(): ScriptSet;
|
|
45
|
+
noArgsMulti(): MultiScriptSet;
|
|
46
|
+
getTargets(): {
|
|
47
|
+
label: string;
|
|
48
|
+
cwd: string;
|
|
49
|
+
manifest: NormalizedManifest;
|
|
50
|
+
}[];
|
|
33
51
|
}
|
|
52
|
+
export {};
|
|
34
53
|
//# sourceMappingURL=exec-command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec-command.d.ts","sourceRoot":"","sources":["../../src/exec-command.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"exec-command.d.ts","sourceRoot":"","sources":["../../src/exec-command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,KAAK,EACV,IAAI,EACJ,MAAM,EACN,WAAW,EACX,GAAG,EACH,OAAO,EACP,SAAS,EACT,cAAc,EACd,KAAK,EACL,WAAW,EACX,UAAU,EACV,SAAS,EACV,MAAM,aAAa,CAAA;AAMpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAQrD,MAAM,MAAM,QAAQ,GAAG,OAAO,IAAI,GAAG,OAAO,GAAG,GAAG,OAAO,OAAO,CAAA;AAChE,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,GAAG,OAAO,SAAS,GAAG,OAAO,KAAK,CAAA;AACtE,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,cAAc,GAAG,UAAU,CAAA;AACrE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AACtD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAC9C,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AACtD,MAAM,MAAM,UAAU,GAClB,WAAW,GACX,cAAc,GACd,SAAS,GACT,cAAc,CAAA;AA6BlB,eAAO,MAAM,KAAK;;;CAeoB,CAAA;AAEtC,KAAK,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEzD,qBAAa,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,QAAQ;;IAC7D,EAAE,EAAE,CAAC,CAAA;IACL,EAAE,EAAE,CAAC,CAAA;IACL,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IAIvB,IAAI,EAAE,YAAY,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,UAAU,CAAA;IAChB,eAAe,0BAKb;gBAEU,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IAmB5C,OAAO,IAAI,IAAI,IAAI,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;IAIpC,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;IA+HhC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS;IA0B3C,gBAAgB,IAAI,MAAM;IAU1B,WAAW,IAAI,MAAM,GAAG,SAAS;IAIjC,MAAM,IAAI,MAAM;IAYhB,KAAK,IAAI,aAAa,GAAG,SAAS;IAmBlC,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa;IAgBhE,YAAY,IAAI,SAAS;IAKzB,WAAW,IAAI,cAAc;IAM7B,UAAU,IAAI;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,QAAQ,EAAE,kBAAkB,CAAA;KAC7B,EAAE;CAsBJ"}
|