goke 6.7.0 → 6.9.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/__test__/index.test.js +124 -0
- package/dist/__test__/just-bash.test.js +109 -0
- package/dist/__test__/types.test-d.js +37 -0
- package/dist/goke.d.ts +99 -2
- package/dist/goke.d.ts.map +1 -1
- package/dist/goke.js +62 -34
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/just-bash.d.ts +1 -1
- package/dist/just-bash.d.ts.map +1 -1
- package/dist/just-bash.js +80 -15
- package/package.json +1 -1
- package/src/__test__/index.test.ts +166 -0
- package/src/__test__/just-bash.test.ts +125 -1
- package/src/__test__/types.test-d.ts +41 -0
- package/src/goke.ts +130 -13
- package/src/index.ts +1 -1
- package/src/just-bash.ts +92 -18
- package/README.md +0 -1254
|
@@ -1831,3 +1831,127 @@ describe('middleware', () => {
|
|
|
1831
1831
|
expect(order).toEqual(['sync1', 'async', 'sync2', 'action']);
|
|
1832
1832
|
});
|
|
1833
1833
|
});
|
|
1834
|
+
describe('use() with sub-CLI composition', () => {
|
|
1835
|
+
test('basic composition: sub-CLI command runs via parent', () => {
|
|
1836
|
+
const parent = goke('mycli');
|
|
1837
|
+
const sub = goke();
|
|
1838
|
+
let matched = '';
|
|
1839
|
+
sub
|
|
1840
|
+
.command('deploy', 'Deploy the app')
|
|
1841
|
+
.action(() => { matched = 'deploy'; });
|
|
1842
|
+
parent.use(sub);
|
|
1843
|
+
parent.parse(['node', 'bin', 'deploy'], { run: true });
|
|
1844
|
+
expect(matched).toBe('deploy');
|
|
1845
|
+
});
|
|
1846
|
+
test('multiple sub-CLIs composed together', () => {
|
|
1847
|
+
const parent = goke('mycli');
|
|
1848
|
+
const subA = goke();
|
|
1849
|
+
const subB = goke();
|
|
1850
|
+
let matched = '';
|
|
1851
|
+
subA.command('login', 'Login').action(() => { matched = 'login'; });
|
|
1852
|
+
subB.command('deploy', 'Deploy').action(() => { matched = 'deploy'; });
|
|
1853
|
+
parent.use(subA).use(subB);
|
|
1854
|
+
parent.parse(['node', 'bin', 'login'], { run: true });
|
|
1855
|
+
expect(matched).toBe('login');
|
|
1856
|
+
matched = '';
|
|
1857
|
+
parent.parse(['node', 'bin', 'deploy'], { run: true });
|
|
1858
|
+
expect(matched).toBe('deploy');
|
|
1859
|
+
});
|
|
1860
|
+
test('sub-CLI command with options and schema coercion', () => {
|
|
1861
|
+
const parent = goke('mycli');
|
|
1862
|
+
const sub = goke();
|
|
1863
|
+
let result = {};
|
|
1864
|
+
sub
|
|
1865
|
+
.command('serve', 'Start server')
|
|
1866
|
+
.option('--port <port>', z.number().describe('Port'))
|
|
1867
|
+
.option('--host <host>', z.string().describe('Host'))
|
|
1868
|
+
.action((options) => { result = options; });
|
|
1869
|
+
parent.use(sub);
|
|
1870
|
+
parent.parse('node bin serve --port 3000 --host localhost'.split(' '), { run: true });
|
|
1871
|
+
expect(result.port).toBe(3000);
|
|
1872
|
+
expect(typeof result.port).toBe('number');
|
|
1873
|
+
expect(result.host).toBe('localhost');
|
|
1874
|
+
});
|
|
1875
|
+
test('sub-CLI command with positional args', () => {
|
|
1876
|
+
const parent = goke('mycli');
|
|
1877
|
+
const sub = goke();
|
|
1878
|
+
let receivedId = '';
|
|
1879
|
+
sub
|
|
1880
|
+
.command('get <id>', 'Get a resource')
|
|
1881
|
+
.action((id) => { receivedId = id; });
|
|
1882
|
+
parent.use(sub);
|
|
1883
|
+
parent.parse(['node', 'bin', 'get', 'abc123'], { run: true });
|
|
1884
|
+
expect(receivedId).toBe('abc123');
|
|
1885
|
+
});
|
|
1886
|
+
test('sub-CLI with multi-word commands', () => {
|
|
1887
|
+
const parent = goke('mycli');
|
|
1888
|
+
const sub = goke();
|
|
1889
|
+
let matched = '';
|
|
1890
|
+
sub.command('mcp login', 'Login to MCP').action(() => { matched = 'mcp login'; });
|
|
1891
|
+
sub.command('mcp logout', 'Logout from MCP').action(() => { matched = 'mcp logout'; });
|
|
1892
|
+
parent.use(sub);
|
|
1893
|
+
parent.parse(['node', 'bin', 'mcp', 'login'], { run: true });
|
|
1894
|
+
expect(matched).toBe('mcp login');
|
|
1895
|
+
matched = '';
|
|
1896
|
+
parent.parse(['node', 'bin', 'mcp', 'logout'], { run: true });
|
|
1897
|
+
expect(matched).toBe('mcp logout');
|
|
1898
|
+
});
|
|
1899
|
+
test('help output includes composed commands', () => {
|
|
1900
|
+
const stdout = createTestOutputStream();
|
|
1901
|
+
const parent = goke('mycli', { stdout });
|
|
1902
|
+
const sub = goke();
|
|
1903
|
+
sub.command('selfhost', 'Set up on your own workspace')
|
|
1904
|
+
.option('-t, --token [token]', 'Admin token');
|
|
1905
|
+
parent.command('init', 'Initialize project');
|
|
1906
|
+
parent.use(sub);
|
|
1907
|
+
parent.help();
|
|
1908
|
+
parent.parse(['node', 'bin', '--help'], { run: false });
|
|
1909
|
+
expect(stdout.text).toContain('init');
|
|
1910
|
+
expect(stdout.text).toContain('selfhost');
|
|
1911
|
+
expect(stdout.text).toContain('Set up on your own workspace');
|
|
1912
|
+
});
|
|
1913
|
+
test('sub-CLI middlewares are NOT copied to parent', () => {
|
|
1914
|
+
const parent = goke('mycli');
|
|
1915
|
+
const sub = goke();
|
|
1916
|
+
let subMiddlewareCalled = false;
|
|
1917
|
+
const order = [];
|
|
1918
|
+
sub.use(() => { subMiddlewareCalled = true; });
|
|
1919
|
+
sub.command('deploy', 'Deploy').action(() => { order.push('deploy'); });
|
|
1920
|
+
parent.use(() => { order.push('parent-mw'); });
|
|
1921
|
+
parent.use(sub);
|
|
1922
|
+
parent.parse(['node', 'bin', 'deploy'], { run: true });
|
|
1923
|
+
expect(subMiddlewareCalled).toBe(false);
|
|
1924
|
+
expect(order).toEqual(['parent-mw', 'deploy']);
|
|
1925
|
+
});
|
|
1926
|
+
test('parent global options are available to composed commands', () => {
|
|
1927
|
+
const parent = goke('mycli');
|
|
1928
|
+
const sub = goke();
|
|
1929
|
+
let result = {};
|
|
1930
|
+
parent.option('--verbose', 'Verbose output');
|
|
1931
|
+
sub
|
|
1932
|
+
.command('build', 'Build')
|
|
1933
|
+
.option('--target <target>', 'Build target')
|
|
1934
|
+
.action((options) => { result = options; });
|
|
1935
|
+
parent.use(sub);
|
|
1936
|
+
parent.parse('node bin build --verbose --target production'.split(' '), { run: true });
|
|
1937
|
+
expect(result.verbose).toBe(true);
|
|
1938
|
+
expect(result.target).toBe('production');
|
|
1939
|
+
});
|
|
1940
|
+
test('composed commands coexist with inline commands', () => {
|
|
1941
|
+
const parent = goke('mycli');
|
|
1942
|
+
const sub = goke();
|
|
1943
|
+
let matched = '';
|
|
1944
|
+
parent.command('init', 'Initialize').action(() => { matched = 'init'; });
|
|
1945
|
+
sub.command('deploy', 'Deploy').action(() => { matched = 'deploy'; });
|
|
1946
|
+
sub.command('rollback', 'Rollback').action(() => { matched = 'rollback'; });
|
|
1947
|
+
parent.use(sub);
|
|
1948
|
+
parent.parse(['node', 'bin', 'init'], { run: true });
|
|
1949
|
+
expect(matched).toBe('init');
|
|
1950
|
+
matched = '';
|
|
1951
|
+
parent.parse(['node', 'bin', 'deploy'], { run: true });
|
|
1952
|
+
expect(matched).toBe('deploy');
|
|
1953
|
+
matched = '';
|
|
1954
|
+
parent.parse(['node', 'bin', 'rollback'], { run: true });
|
|
1955
|
+
expect(matched).toBe('rollback');
|
|
1956
|
+
});
|
|
1957
|
+
});
|
|
@@ -4,6 +4,31 @@
|
|
|
4
4
|
import { describe, expect, test } from 'vitest';
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
import goke from '../index.js';
|
|
7
|
+
/**
|
|
8
|
+
* Build a minimal `GokeFs` stub where every method throws unless the
|
|
9
|
+
* caller overrides it. Used by `createExecutionContext` tests that
|
|
10
|
+
* only care about a single method (e.g. `readFile`) but still need
|
|
11
|
+
* an object that satisfies the full `GokeFs` interface.
|
|
12
|
+
*/
|
|
13
|
+
function stubGokeFs(overrides) {
|
|
14
|
+
const notImplemented = () => { throw new Error('not implemented in stub'); };
|
|
15
|
+
return {
|
|
16
|
+
appendFile: notImplemented,
|
|
17
|
+
chmod: notImplemented,
|
|
18
|
+
copyFile: notImplemented,
|
|
19
|
+
link: notImplemented,
|
|
20
|
+
mkdir: notImplemented,
|
|
21
|
+
readFile: notImplemented,
|
|
22
|
+
readlink: notImplemented,
|
|
23
|
+
realpath: notImplemented,
|
|
24
|
+
rename: notImplemented,
|
|
25
|
+
rm: notImplemented,
|
|
26
|
+
symlink: notImplemented,
|
|
27
|
+
utimes: notImplemented,
|
|
28
|
+
writeFile: notImplemented,
|
|
29
|
+
...overrides,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
7
32
|
const ANSI_RE = /\x1B\[[0-9;]*m/g;
|
|
8
33
|
const stripAnsi = (text) => text.replace(ANSI_RE, '');
|
|
9
34
|
function createTestOutputStream() {
|
|
@@ -62,6 +87,71 @@ describe('clone', () => {
|
|
|
62
87
|
expect(cli.matchedCommandName).toBeUndefined();
|
|
63
88
|
});
|
|
64
89
|
});
|
|
90
|
+
describe('createExecutionContext', () => {
|
|
91
|
+
test('returns a context that mirrors the cli defaults when called with no override', () => {
|
|
92
|
+
const stdout = createTestOutputStream();
|
|
93
|
+
const stderr = createTestOutputStream();
|
|
94
|
+
const cli = gokeTestable('mycli', {
|
|
95
|
+
cwd: '/workspace',
|
|
96
|
+
env: { TOKEN: 'abc' },
|
|
97
|
+
stdin: 'stdin-text',
|
|
98
|
+
stdout,
|
|
99
|
+
stderr,
|
|
100
|
+
});
|
|
101
|
+
const ctx = cli.createExecutionContext();
|
|
102
|
+
expect(ctx.process.cwd).toBe('/workspace');
|
|
103
|
+
expect(ctx.process.env.TOKEN).toBe('abc');
|
|
104
|
+
expect(ctx.process.stdin).toBe('stdin-text');
|
|
105
|
+
expect(ctx.process.stdout).toBe(stdout);
|
|
106
|
+
expect(ctx.process.stderr).toBe(stderr);
|
|
107
|
+
ctx.console.log('hi');
|
|
108
|
+
expect(stdout.text).toBe('hi\n');
|
|
109
|
+
});
|
|
110
|
+
test('honors per-call overrides for stdout, cwd, env, stdin, fs, and exit', async () => {
|
|
111
|
+
const defaultStdout = createTestOutputStream();
|
|
112
|
+
const defaultFs = stubGokeFs({ readFile: async () => 'default' });
|
|
113
|
+
const cli = gokeTestable('mycli', {
|
|
114
|
+
cwd: '/default',
|
|
115
|
+
env: { DEFAULT: '1' },
|
|
116
|
+
stdin: 'default-stdin',
|
|
117
|
+
stdout: defaultStdout,
|
|
118
|
+
fs: defaultFs,
|
|
119
|
+
});
|
|
120
|
+
const overrideStdout = createTestOutputStream();
|
|
121
|
+
const overrideStderr = createTestOutputStream();
|
|
122
|
+
const overrideFs = stubGokeFs({ readFile: async () => 'override' });
|
|
123
|
+
let receivedExitCode;
|
|
124
|
+
const ctx = cli.createExecutionContext({
|
|
125
|
+
cwd: '/tenant',
|
|
126
|
+
env: { TOKEN: 'xyz' },
|
|
127
|
+
stdin: 'tenant-stdin',
|
|
128
|
+
stdout: overrideStdout,
|
|
129
|
+
stderr: overrideStderr,
|
|
130
|
+
fs: overrideFs,
|
|
131
|
+
exit: (code) => {
|
|
132
|
+
receivedExitCode = code;
|
|
133
|
+
},
|
|
134
|
+
});
|
|
135
|
+
expect(ctx.process.cwd).toBe('/tenant');
|
|
136
|
+
expect(ctx.process.env.TOKEN).toBe('xyz');
|
|
137
|
+
expect(ctx.process.env.DEFAULT).toBeUndefined();
|
|
138
|
+
expect(ctx.process.stdin).toBe('tenant-stdin');
|
|
139
|
+
expect(ctx.process.stdout).toBe(overrideStdout);
|
|
140
|
+
expect(ctx.process.stderr).toBe(overrideStderr);
|
|
141
|
+
expect(ctx.fs).toBe(overrideFs);
|
|
142
|
+
expect(await ctx.fs.readFile('unused')).toBe('override');
|
|
143
|
+
// The cli's own stdout must NOT receive writes made through the
|
|
144
|
+
// override. This is what makes per-request capturing safe.
|
|
145
|
+
ctx.console.log('per-tenant');
|
|
146
|
+
expect(defaultStdout.text).toBe('');
|
|
147
|
+
expect(overrideStdout.text).toBe('per-tenant\n');
|
|
148
|
+
// Custom exit callback runs, then the wrapper throws GokeProcessExit
|
|
149
|
+
// so the action's code path stops at the exit site.
|
|
150
|
+
const { GokeProcessExit } = await import('../goke.js');
|
|
151
|
+
expect(() => ctx.process.exit(7)).toThrow(GokeProcessExit);
|
|
152
|
+
expect(receivedExitCode).toBe(7);
|
|
153
|
+
});
|
|
154
|
+
});
|
|
65
155
|
describe('createJustBashCommand', () => {
|
|
66
156
|
test('runs multi-word goke subcommands through one just-bash command', async () => {
|
|
67
157
|
const cli = gokeTestable('parent');
|
|
@@ -222,4 +312,23 @@ describe('createJustBashCommand', () => {
|
|
|
222
312
|
exitCode: 7,
|
|
223
313
|
});
|
|
224
314
|
});
|
|
315
|
+
test('truncates captured output to just-bash maxOutputSize and appends a notice', async () => {
|
|
316
|
+
const { Bash } = await import('just-bash');
|
|
317
|
+
const cli = gokeTestable('parent');
|
|
318
|
+
cli
|
|
319
|
+
.command('spam-stderr', 'Write too much stderr')
|
|
320
|
+
.action((options, { console }) => {
|
|
321
|
+
console.error('x'.repeat(60));
|
|
322
|
+
console.error('y'.repeat(60));
|
|
323
|
+
});
|
|
324
|
+
const bash = new Bash({
|
|
325
|
+
executionLimits: { maxOutputSize: 80 },
|
|
326
|
+
customCommands: [await cli.createJustBashCommand()],
|
|
327
|
+
});
|
|
328
|
+
const result = await bash.exec('parent spam-stderr');
|
|
329
|
+
expect(result.exitCode).toBe(0);
|
|
330
|
+
expect(result.stdout).toBe('');
|
|
331
|
+
expect(result.stderr.length).toBeLessThanOrEqual(80);
|
|
332
|
+
expect(result.stderr).toBe(`${'x'.repeat(60)}\n[output truncated]\n`);
|
|
333
|
+
});
|
|
225
334
|
});
|
|
@@ -397,6 +397,43 @@ describe('type-level: README TypeScript examples', () => {
|
|
|
397
397
|
expectTypeOf(process.cwd).toEqualTypeOf();
|
|
398
398
|
});
|
|
399
399
|
});
|
|
400
|
+
test('use() with sub-CLI preserves parent middleware typing', () => {
|
|
401
|
+
const sub = goke();
|
|
402
|
+
sub
|
|
403
|
+
.command('deploy', 'Deploy the app')
|
|
404
|
+
.option('--force', z.boolean())
|
|
405
|
+
.action((options) => {
|
|
406
|
+
// Sub-CLI command's action sees its own options
|
|
407
|
+
expectTypeOf(options.force).toEqualTypeOf();
|
|
408
|
+
});
|
|
409
|
+
goke('test')
|
|
410
|
+
.option('--verbose', z.boolean().default(false).describe('Verbose'))
|
|
411
|
+
.use(sub)
|
|
412
|
+
.use((options) => {
|
|
413
|
+
// Parent middleware still sees parent's accumulated options after .use(subCli)
|
|
414
|
+
expectTypeOf(options.verbose).toEqualTypeOf();
|
|
415
|
+
})
|
|
416
|
+
.command('build', 'Build')
|
|
417
|
+
.option('--target <target>', z.string())
|
|
418
|
+
.action((options) => {
|
|
419
|
+
// Parent's inline command still sees global options
|
|
420
|
+
expectTypeOf(options.verbose).toEqualTypeOf();
|
|
421
|
+
expectTypeOf(options.target).toEqualTypeOf();
|
|
422
|
+
});
|
|
423
|
+
});
|
|
424
|
+
test('use() with sub-CLI does not leak sub-CLI types to parent', () => {
|
|
425
|
+
const sub = goke()
|
|
426
|
+
.option('--sub-only <val>', z.string());
|
|
427
|
+
sub.command('sub-cmd', 'Sub command').action(() => { });
|
|
428
|
+
goke('test')
|
|
429
|
+
.option('--parent-only <val>', z.number())
|
|
430
|
+
.use(sub)
|
|
431
|
+
.use((options) => {
|
|
432
|
+
expectTypeOf(options.parentOnly).toEqualTypeOf();
|
|
433
|
+
// @ts-expect-error subOnly is not declared on the parent
|
|
434
|
+
options.subOnly;
|
|
435
|
+
});
|
|
436
|
+
});
|
|
400
437
|
test('README global options and middleware example stays typed end-to-end', () => {
|
|
401
438
|
// `z.boolean().default(false)` and `z.string().default(...)` are
|
|
402
439
|
// effectively required at runtime: the default applies when the flag is
|
package/dist/goke.d.ts
CHANGED
|
@@ -330,6 +330,44 @@ interface GokeExecutionContext {
|
|
|
330
330
|
fs: GokeFs;
|
|
331
331
|
process: GokeProcess;
|
|
332
332
|
}
|
|
333
|
+
/**
|
|
334
|
+
* Per-request overrides accepted by `Goke#createExecutionContext()`.
|
|
335
|
+
*
|
|
336
|
+
* Any field left `undefined` falls back to the `Goke` instance's
|
|
337
|
+
* defaults (set via `GokeOptions`), which themselves fall back to the
|
|
338
|
+
* real Node.js `process.*`. Use this to construct an execution context
|
|
339
|
+
* with tenant-specific values — e.g. a per-user `cwd`/`env`/`fs` pair
|
|
340
|
+
* for a remote MCP server, or capture streams for stdout/stderr.
|
|
341
|
+
*
|
|
342
|
+
* Passing a custom `exit` replaces the default behavior of calling
|
|
343
|
+
* `this.exit(code)`. The returned `process.exit` still throws
|
|
344
|
+
* `GokeProcessExit` after the user-provided `exit` returns, so callers
|
|
345
|
+
* can catch the exit without the outer code needing to know about it.
|
|
346
|
+
*/
|
|
347
|
+
interface GokeExecutionContextOverride {
|
|
348
|
+
/** Override the argv array exposed as `process.argv`. Defaults to the cli's raw parsed argv. */
|
|
349
|
+
argv?: string[];
|
|
350
|
+
/** Override the working directory exposed as `process.cwd`. */
|
|
351
|
+
cwd?: string;
|
|
352
|
+
/** Override the environment exposed as `process.env`. */
|
|
353
|
+
env?: Record<string, string | undefined>;
|
|
354
|
+
/** Override the filesystem exposed as `ctx.fs`. */
|
|
355
|
+
fs?: GokeFs;
|
|
356
|
+
/** Override the stdin content exposed as `process.stdin`. */
|
|
357
|
+
stdin?: string;
|
|
358
|
+
/** Override the stdout stream used by `ctx.console.log` and exposed as `process.stdout`. */
|
|
359
|
+
stdout?: GokeOutputStream;
|
|
360
|
+
/** Override the stderr stream used by `ctx.console.error` and exposed as `process.stderr`. */
|
|
361
|
+
stderr?: GokeOutputStream;
|
|
362
|
+
/**
|
|
363
|
+
* Override the exit function called by `process.exit(code)`.
|
|
364
|
+
*
|
|
365
|
+
* The returned context still throws `GokeProcessExit` after this
|
|
366
|
+
* callback returns, so callers that want to capture the exit
|
|
367
|
+
* without killing the host process can pass `() => {}`.
|
|
368
|
+
*/
|
|
369
|
+
exit?: (code: number) => void;
|
|
370
|
+
}
|
|
333
371
|
declare class GokeProcessExit extends Error {
|
|
334
372
|
code: number;
|
|
335
373
|
constructor(code: number);
|
|
@@ -424,7 +462,43 @@ declare class Goke<Opts = {}> extends EventEmitter {
|
|
|
424
462
|
*/
|
|
425
463
|
constructor(name?: string, options?: GokeOptions);
|
|
426
464
|
clone(options?: GokeOptions): Goke<Opts>;
|
|
427
|
-
|
|
465
|
+
/**
|
|
466
|
+
* Build a `GokeExecutionContext` using this cli's defaults, optionally
|
|
467
|
+
* overridden per-request.
|
|
468
|
+
*
|
|
469
|
+
* `runMatchedCommand()` calls this internally with no arguments to
|
|
470
|
+
* construct the context passed to command actions and middlewares.
|
|
471
|
+
*
|
|
472
|
+
* The method is also public so adapters (MCP, remote RPC, batch
|
|
473
|
+
* runners, etc.) can build a context for a single invocation with
|
|
474
|
+
* tenant-specific values — e.g. capture streams for stdout/stderr,
|
|
475
|
+
* a per-user `cwd`/`env`/`fs`, or an `exit` that throws instead of
|
|
476
|
+
* killing the host process. See {@link GokeExecutionContextOverride}.
|
|
477
|
+
*
|
|
478
|
+
* @example
|
|
479
|
+
* ```ts
|
|
480
|
+
* // Build an execution context that captures output into strings and
|
|
481
|
+
* // treats `ctx.process.exit(code)` as a `GokeProcessExit` throw
|
|
482
|
+
* // instead of terminating the host process.
|
|
483
|
+
* const stdout = createTextCaptureStream()
|
|
484
|
+
* const stderr = createTextCaptureStream()
|
|
485
|
+
* const ctx = cli.createExecutionContext({
|
|
486
|
+
* stdout,
|
|
487
|
+
* stderr,
|
|
488
|
+
* exit: () => {},
|
|
489
|
+
* })
|
|
490
|
+
* try {
|
|
491
|
+
* await action(...args, options, ctx)
|
|
492
|
+
* } catch (err) {
|
|
493
|
+
* if (err instanceof GokeProcessExit) {
|
|
494
|
+
* // handle exit code
|
|
495
|
+
* } else {
|
|
496
|
+
* throw err
|
|
497
|
+
* }
|
|
498
|
+
* }
|
|
499
|
+
* ```
|
|
500
|
+
*/
|
|
501
|
+
createExecutionContext(override?: GokeExecutionContextOverride): GokeExecutionContext;
|
|
428
502
|
createJustBashCommand(options?: {
|
|
429
503
|
name?: string;
|
|
430
504
|
}): Promise<import("./just-bash.js").JustBashCommand>;
|
|
@@ -479,7 +553,30 @@ declare class Goke<Opts = {}> extends EventEmitter {
|
|
|
479
553
|
* }
|
|
480
554
|
* })
|
|
481
555
|
* ```
|
|
556
|
+
*
|
|
557
|
+
* Alternatively, pass another `Goke` instance to compose commands from
|
|
558
|
+
* separate files. All commands defined on the sub-CLI are merged into
|
|
559
|
+
* this CLI. Middlewares and global options from the sub-CLI are NOT
|
|
560
|
+
* copied; only commands are composed.
|
|
561
|
+
*
|
|
562
|
+
* @example
|
|
563
|
+
* ```ts
|
|
564
|
+
* // selfhost.ts
|
|
565
|
+
* export const selfhostCli = goke()
|
|
566
|
+
* selfhostCli
|
|
567
|
+
* .command('selfhost', 'Set up on your own workspace')
|
|
568
|
+
* .option('-t, --token [token]', 'Admin token')
|
|
569
|
+
* .action((options) => { ... })
|
|
570
|
+
*
|
|
571
|
+
* // main.ts
|
|
572
|
+
* import { selfhostCli } from './selfhost.js'
|
|
573
|
+
* goke('mycli')
|
|
574
|
+
* .use(selfhostCli)
|
|
575
|
+
* .help()
|
|
576
|
+
* .parse(process.argv)
|
|
577
|
+
* ```
|
|
482
578
|
*/
|
|
579
|
+
use(subCli: Goke<any>): this;
|
|
483
580
|
use(callback: (options: Opts & DoubleDashOptions, context: GokeExecutionContext) => void | Promise<void>): this;
|
|
484
581
|
/**
|
|
485
582
|
* Show help message when `-h, --help` flags appear.
|
|
@@ -537,7 +634,7 @@ declare class Goke<Opts = {}> extends EventEmitter {
|
|
|
537
634
|
private mri;
|
|
538
635
|
runMatchedCommand(): any;
|
|
539
636
|
}
|
|
540
|
-
export type { GokeOutputStream, GokeConsole, GokeOptions, GokeProcess, GokeExecutionContext, GokeFs };
|
|
637
|
+
export type { GokeOutputStream, GokeConsole, GokeOptions, GokeProcess, GokeExecutionContext, GokeExecutionContextOverride, GokeFs };
|
|
541
638
|
export { createConsole, Command, GokeProcessExit, openInBrowser };
|
|
542
639
|
export default Goke;
|
|
543
640
|
//# sourceMappingURL=goke.d.ts.map
|
package/dist/goke.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"goke.d.ts","sourceRoot":"","sources":["../src/goke.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"goke.d.ts","sourceRoot":"","sources":["../src/goke.ts"],"names":[],"mappings":"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"}
|
package/dist/goke.js
CHANGED
|
@@ -729,19 +729,63 @@ class Goke extends EventEmitter {
|
|
|
729
729
|
}
|
|
730
730
|
return cloned;
|
|
731
731
|
}
|
|
732
|
-
|
|
732
|
+
/**
|
|
733
|
+
* Build a `GokeExecutionContext` using this cli's defaults, optionally
|
|
734
|
+
* overridden per-request.
|
|
735
|
+
*
|
|
736
|
+
* `runMatchedCommand()` calls this internally with no arguments to
|
|
737
|
+
* construct the context passed to command actions and middlewares.
|
|
738
|
+
*
|
|
739
|
+
* The method is also public so adapters (MCP, remote RPC, batch
|
|
740
|
+
* runners, etc.) can build a context for a single invocation with
|
|
741
|
+
* tenant-specific values — e.g. capture streams for stdout/stderr,
|
|
742
|
+
* a per-user `cwd`/`env`/`fs`, or an `exit` that throws instead of
|
|
743
|
+
* killing the host process. See {@link GokeExecutionContextOverride}.
|
|
744
|
+
*
|
|
745
|
+
* @example
|
|
746
|
+
* ```ts
|
|
747
|
+
* // Build an execution context that captures output into strings and
|
|
748
|
+
* // treats `ctx.process.exit(code)` as a `GokeProcessExit` throw
|
|
749
|
+
* // instead of terminating the host process.
|
|
750
|
+
* const stdout = createTextCaptureStream()
|
|
751
|
+
* const stderr = createTextCaptureStream()
|
|
752
|
+
* const ctx = cli.createExecutionContext({
|
|
753
|
+
* stdout,
|
|
754
|
+
* stderr,
|
|
755
|
+
* exit: () => {},
|
|
756
|
+
* })
|
|
757
|
+
* try {
|
|
758
|
+
* await action(...args, options, ctx)
|
|
759
|
+
* } catch (err) {
|
|
760
|
+
* if (err instanceof GokeProcessExit) {
|
|
761
|
+
* // handle exit code
|
|
762
|
+
* } else {
|
|
763
|
+
* throw err
|
|
764
|
+
* }
|
|
765
|
+
* }
|
|
766
|
+
* ```
|
|
767
|
+
*/
|
|
768
|
+
createExecutionContext(override) {
|
|
769
|
+
const stdout = override?.stdout ?? this.stdout;
|
|
770
|
+
const stderr = override?.stderr ?? this.stderr;
|
|
771
|
+
// Reuse the cached console when streams aren't overridden; otherwise
|
|
772
|
+
// build a new one so ctx.console.log writes to the overridden streams.
|
|
773
|
+
const contextConsole = (override?.stdout !== undefined || override?.stderr !== undefined)
|
|
774
|
+
? createConsole(stdout, stderr)
|
|
775
|
+
: this.console;
|
|
776
|
+
const exitFn = override?.exit ?? this.exit;
|
|
733
777
|
return {
|
|
734
|
-
console:
|
|
735
|
-
fs: this.fs,
|
|
778
|
+
console: contextConsole,
|
|
779
|
+
fs: override?.fs ?? this.fs,
|
|
736
780
|
process: {
|
|
737
|
-
argv,
|
|
738
|
-
cwd: this.cwd ?? process.cwd(),
|
|
739
|
-
env: this.env ?? process.env,
|
|
740
|
-
stdin: this.stdin ?? '',
|
|
741
|
-
stdout
|
|
742
|
-
stderr
|
|
781
|
+
argv: override?.argv ?? this.rawArgs,
|
|
782
|
+
cwd: override?.cwd ?? this.cwd ?? process.cwd(),
|
|
783
|
+
env: override?.env ?? this.env ?? process.env,
|
|
784
|
+
stdin: override?.stdin ?? this.stdin ?? '',
|
|
785
|
+
stdout,
|
|
786
|
+
stderr,
|
|
743
787
|
exit: (code) => {
|
|
744
|
-
|
|
788
|
+
exitFn(code);
|
|
745
789
|
throw new GokeProcessExit(code);
|
|
746
790
|
},
|
|
747
791
|
},
|
|
@@ -778,30 +822,14 @@ class Goke extends EventEmitter {
|
|
|
778
822
|
this.globalCommand.options.push(option);
|
|
779
823
|
return this;
|
|
780
824
|
}
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
* `.option()` calls that precede this `.use()` in the chain, plus an injected
|
|
790
|
-
* execution context with `{ console, process }` for portable output and exits.
|
|
791
|
-
*
|
|
792
|
-
* @example
|
|
793
|
-
* ```ts
|
|
794
|
-
* cli
|
|
795
|
-
* .option('--verbose', z.boolean().default(false).describe('Verbose'))
|
|
796
|
-
* .use((options, { console }) => {
|
|
797
|
-
* if (options.verbose) {
|
|
798
|
-
* console.log('verbose mode enabled')
|
|
799
|
-
* }
|
|
800
|
-
* })
|
|
801
|
-
* ```
|
|
802
|
-
*/
|
|
803
|
-
use(callback) {
|
|
804
|
-
this.middlewares.push({ action: callback });
|
|
825
|
+
use(callbackOrCli) {
|
|
826
|
+
if (callbackOrCli instanceof Goke) {
|
|
827
|
+
for (const command of callbackOrCli.commands) {
|
|
828
|
+
this.commands.push(cloneCommandInto(command, this));
|
|
829
|
+
}
|
|
830
|
+
return this;
|
|
831
|
+
}
|
|
832
|
+
this.middlewares.push({ action: callbackOrCli });
|
|
805
833
|
return this;
|
|
806
834
|
}
|
|
807
835
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ declare const goke: (name?: string, options?: GokeOptions) => Goke<{}>;
|
|
|
9
9
|
export default goke;
|
|
10
10
|
export { goke, Goke, Command };
|
|
11
11
|
export { createConsole, GokeProcessExit, openInBrowser } from "./goke.js";
|
|
12
|
-
export type { GokeOutputStream, GokeConsole, GokeExecutionContext, GokeFs, GokeOptions, GokeProcess } from "./goke.js";
|
|
12
|
+
export type { GokeOutputStream, GokeConsole, GokeExecutionContext, GokeExecutionContextOverride, GokeFs, GokeOptions, GokeProcess } from "./goke.js";
|
|
13
13
|
export type { StandardTypedV1, StandardJSONSchemaV1, JsonSchema } from "./coerce.js";
|
|
14
14
|
export { GokeError, coerceBySchema, extractJsonSchema, wrapJsonSchema, isStandardSchema, extractSchemaMetadata } from "./coerce.js";
|
|
15
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC;;;GAGG;AACH,QAAA,MAAM,IAAI,GAAI,aAAS,EAAE,UAAU,WAAW,aAA4B,CAAA;AAE1E,eAAe,IAAI,CAAA;AACnB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC;;;GAGG;AACH,QAAA,MAAM,IAAI,GAAI,aAAS,EAAE,UAAU,WAAW,aAA4B,CAAA;AAE1E,eAAe,IAAI,CAAA;AACnB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACpJ,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACpF,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/just-bash.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ interface JustBashCommand {
|
|
|
17
17
|
trusted: true;
|
|
18
18
|
execute(args: string[], context?: JustBashExecutionContext): Promise<JustBashExecResult>;
|
|
19
19
|
}
|
|
20
|
-
type JustBashExecutionContext = Pick<CommandContext, 'cwd' | 'env' | 'fs' | 'stdin'>;
|
|
20
|
+
type JustBashExecutionContext = Pick<CommandContext, 'cwd' | 'env' | 'fs' | 'stdin' | 'limits'>;
|
|
21
21
|
export declare function createJustBashCommand(cli: Goke<any>, options?: {
|
|
22
22
|
name?: string;
|
|
23
23
|
}): JustBashCommand;
|
package/dist/just-bash.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"just-bash.d.ts","sourceRoot":"","sources":["../src/just-bash.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,WAAW,CAAA;AAC5D,OAAO,IAAyB,MAAM,WAAW,CAAA;AAIjD,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,IAAI,CAAA;IACb,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;CACzF;AAED,KAAK,wBAAwB,GAAG,IAAI,CAAC,cAAc,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"just-bash.d.ts","sourceRoot":"","sources":["../src/just-bash.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,WAAW,CAAA;AAC5D,OAAO,IAAyB,MAAM,WAAW,CAAA;AAIjD,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,IAAI,CAAA;IACb,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;CACzF;AAED,KAAK,wBAAwB,GAAG,IAAI,CAAC,cAAc,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAA;AAqQ/F,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EACd,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1B,eAAe,CAsDjB;AAED,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAA"}
|