@akala/pm 14.6.1 → 14.6.3
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 +6 -1
- package/cli-commands.json +5 -11
- package/commands.json +15 -0
- package/dist/esm/akala.d.mts +1 -2
- package/dist/esm/akala.mjs +8 -164
- package/dist/esm/akala.mjs.map +1 -1
- package/dist/esm/cli-commands/{$init-akala.js → $init.js} +1 -3
- package/dist/esm/cli-commands/$init.js.map +1 -0
- package/dist/esm/cli-commands/run.d.ts +6 -1
- package/dist/esm/cli-commands/run.js +7 -2
- package/dist/esm/cli-commands/run.js.map +1 -1
- package/dist/esm/cli-container.d.ts +2 -2
- package/dist/esm/cli-container.js +1 -1
- package/dist/esm/cli-container.js.map +1 -1
- package/dist/esm/container.d.ts +0 -2
- package/dist/esm/container.js +1 -1
- package/dist/esm/container.js.map +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/src/akala.mts +15 -201
- package/src/cli-commands/{$init-akala.ts → $init.ts} +0 -3
- package/src/cli-commands/run.json +2 -1
- package/src/cli-commands/run.ts +9 -4
- package/src/cli-commands/start.json +0 -7
- package/src/cli-container.ts +3 -3
- package/src/commands/$init.json +15 -0
- package/src/container.ts +1 -3
- package/dist/esm/cli-commands/$init-akala.js.map +0 -1
- /package/dist/esm/cli-commands/{$init-akala.d.ts → $init.d.ts} +0 -0
- /package/src/cli-commands/{$init-akala.json → $init.json} +0 -0
package/package.json
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
"pm": "dist/esm/cli.js",
|
5
5
|
"pm-fork": "dist/esm/fork.js"
|
6
6
|
},
|
7
|
-
"version": "14.6.
|
7
|
+
"version": "14.6.3",
|
8
8
|
"scripts": {
|
9
9
|
"test": "echo 1",
|
10
10
|
"generate": "ac generate dist/esm/commands commands.json --name pm && ac generate dist/esm/cli-commands cli-commands.json --name pm",
|
@@ -29,11 +29,11 @@
|
|
29
29
|
"src/fork.ts"
|
30
30
|
],
|
31
31
|
"dependencies": {
|
32
|
-
"@akala/cli": "^5.
|
33
|
-
"@akala/commands": "^
|
34
|
-
"@akala/config": "^6.0.
|
35
|
-
"@akala/core": "^39.1.
|
36
|
-
"@akala/json-rpc-ws": "^11.0.
|
32
|
+
"@akala/cli": "^5.8.0",
|
33
|
+
"@akala/commands": "^15.0.0",
|
34
|
+
"@akala/config": "^6.0.68",
|
35
|
+
"@akala/core": "^39.1.1",
|
36
|
+
"@akala/json-rpc-ws": "^11.0.78",
|
37
37
|
"reflect-metadata": "^0.2.2",
|
38
38
|
"source-map-support": "^0.5.21"
|
39
39
|
},
|
package/src/akala.mts
CHANGED
@@ -1,21 +1,16 @@
|
|
1
|
-
import
|
2
|
-
import {
|
3
|
-
import { platform, homedir } from 'os';
|
1
|
+
import { Processors, Metadata, Container, Triggers, Cli, connect, registerCommands } from '@akala/commands';
|
2
|
+
import { platform } from 'os';
|
4
3
|
import { Readable } from 'stream';
|
5
4
|
|
6
|
-
import { spawnAsync } from '@akala/cli/cli-helper';
|
7
5
|
import { StateConfiguration } from './state.js';
|
8
|
-
import { CliContext,
|
9
|
-
import { eachAsync, HttpStatusCode, logger
|
10
|
-
import module from 'module'
|
6
|
+
import { CliContext, NamespaceMiddleware } from '@akala/cli';
|
7
|
+
import { eachAsync, HttpStatusCode, logger } from '@akala/core';
|
11
8
|
import commands from './container.js';
|
12
9
|
import cliCommands from './cli-container.js';
|
13
10
|
import Configuration from '@akala/config';
|
14
11
|
|
15
12
|
const log = logger('akala:pm');
|
16
13
|
|
17
|
-
const require = module.createRequire(import.meta.url);
|
18
|
-
|
19
14
|
const tableChars = {
|
20
15
|
'top': '─'
|
21
16
|
, 'top-mid': '┬'
|
@@ -59,8 +54,6 @@ export default async function (_config, program: NamespaceMiddleware<{ configFil
|
|
59
54
|
|
60
55
|
cli.preAction(async c =>
|
61
56
|
{
|
62
|
-
process.stdin.pause();
|
63
|
-
process.stdin.setEncoding('utf8');
|
64
57
|
if (!container)
|
65
58
|
{
|
66
59
|
if (c.options.pmSock)
|
@@ -113,64 +106,8 @@ export default async function (_config, program: NamespaceMiddleware<{ configFil
|
|
113
106
|
await container.attach(Triggers.cli, cli);
|
114
107
|
}
|
115
108
|
}
|
116
|
-
})
|
117
|
-
// cli.
|
118
|
-
// useMiddleware(null, handle).
|
119
|
-
useError(async (err: InteractError, args) =>
|
120
|
-
{
|
121
|
-
if (err.code === 'INTERACT')
|
122
|
-
{
|
123
|
-
console.log(err.message);
|
124
|
-
const value = await readLine();
|
125
|
-
if (typeof err.as == 'string')
|
126
|
-
{
|
127
|
-
const indexOfDot = err.as.indexOf('.');
|
128
|
-
if (indexOfDot > 0)
|
129
|
-
{
|
130
|
-
ObservableObject.setValue(args.options, new Parser().parse(err.as), value);
|
131
|
-
}
|
132
|
-
args.options[err.as] = value;
|
133
|
-
}
|
134
|
-
else
|
135
|
-
args.args.push(value);
|
136
|
-
return await cli.process(args);
|
137
|
-
}
|
138
|
-
throw err;
|
139
|
-
})
|
109
|
+
})
|
140
110
|
|
141
|
-
// handle.action(async args =>
|
142
|
-
// {
|
143
|
-
// try
|
144
|
-
// {
|
145
|
-
// const cmdName = args.args[0].toString();
|
146
|
-
// if (cmdName == '$metadata')
|
147
|
-
// return formatResult(metaContainer, args.options.output);
|
148
|
-
// else
|
149
|
-
// {
|
150
|
-
// const cmd = metaContainer.commands.find(c => c.name === cmdName);
|
151
|
-
// await tryRun(processor, cmd, args, false);
|
152
|
-
// }
|
153
|
-
// await new Promise<void>((resolve) => socket.end(resolve));
|
154
|
-
// }
|
155
|
-
// catch (e)
|
156
|
-
// {
|
157
|
-
// if (e.code == 'INTERACT')
|
158
|
-
// {
|
159
|
-
// console.log(e.message);
|
160
|
-
// const value = await readLine();
|
161
|
-
// if (e.as)
|
162
|
-
// args.options[e] = value;
|
163
|
-
// else
|
164
|
-
// args.args.push(value);
|
165
|
-
// return handle.handle(args).then(e => { if (e) throw e }, res => res);
|
166
|
-
// }
|
167
|
-
// if (args.options.verbose)
|
168
|
-
// console.log(e);
|
169
|
-
// else
|
170
|
-
// console.log(e.message)
|
171
|
-
// await new Promise<void>((resolve) => socket.end(resolve));
|
172
|
-
// }
|
173
|
-
// });
|
174
111
|
cli.format(async (result, context) =>
|
175
112
|
{
|
176
113
|
if (result instanceof Readable)
|
@@ -179,28 +116,23 @@ export default async function (_config, program: NamespaceMiddleware<{ configFil
|
|
179
116
|
return new Promise((resolve) => result.on('close', resolve));
|
180
117
|
}
|
181
118
|
|
182
|
-
return formatResult(result, context.options.output);
|
119
|
+
return formatResult(result, context.options.output, context);
|
183
120
|
});
|
184
|
-
program.useError((err
|
121
|
+
program.useError((err, context) =>
|
185
122
|
{
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
console.log(err.message)
|
190
|
-
else
|
191
|
-
console.error('Error: ' + err.message);
|
192
|
-
return NotHandled;
|
193
|
-
})
|
123
|
+
context.abort.abort();
|
124
|
+
return Promise.reject(err);
|
125
|
+
});
|
194
126
|
}
|
195
127
|
|
196
|
-
function formatResult(result: unknown, outputFormat: string)
|
128
|
+
function formatResult(result: unknown, outputFormat: string, context: CliContext)
|
197
129
|
{
|
198
130
|
if (typeof result == 'undefined')
|
199
131
|
return;
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
132
|
+
|
133
|
+
if (!context.options.$repl)
|
134
|
+
context.abort.abort();
|
135
|
+
|
204
136
|
switch (outputFormat)
|
205
137
|
{
|
206
138
|
case 'table':
|
@@ -363,121 +295,3 @@ function formatResult(result: unknown, outputFormat: string)
|
|
363
295
|
break;
|
364
296
|
}
|
365
297
|
}
|
366
|
-
|
367
|
-
function prepareParam(cmd: Metadata.Command, args: CliContext, standalone?: boolean)
|
368
|
-
{
|
369
|
-
if (!cmd)
|
370
|
-
return false;
|
371
|
-
|
372
|
-
if (!cmd.config || !cmd.config.cli || (standalone && !cmd.config.cli['standalone']))
|
373
|
-
return false;
|
374
|
-
|
375
|
-
delete args.options.pmSock;
|
376
|
-
return {
|
377
|
-
options: args.options, param: args.args.slice(1), _trigger: 'cli', cwd: args.currentWorkingDirectory, context: args, get stdin()
|
378
|
-
{
|
379
|
-
return new Promise<string>((resolve) =>
|
380
|
-
{
|
381
|
-
const buffers = [];
|
382
|
-
process.stdin.on('data', data => buffers.push(data));
|
383
|
-
process.stdin.on('end', () => resolve(Buffer.concat(buffers).toString('utf8')));
|
384
|
-
})
|
385
|
-
}
|
386
|
-
};
|
387
|
-
}
|
388
|
-
|
389
|
-
async function tryRun(processor: ICommandProcessor, cmd: Metadata.Command, args: CliContext, localProcessing: boolean)
|
390
|
-
{
|
391
|
-
const params = prepareParam(cmd, args, localProcessing);
|
392
|
-
if (!params)
|
393
|
-
throw new Error('Either command does not exist or it is not standalone');
|
394
|
-
|
395
|
-
try
|
396
|
-
{
|
397
|
-
const result = await processor.handle(null, cmd, params).then(err => { throw err }, res => res);
|
398
|
-
if (result instanceof Readable)
|
399
|
-
result.pipe(process.stdout);
|
400
|
-
else
|
401
|
-
formatResult(result, args.options.output as string);
|
402
|
-
}
|
403
|
-
|
404
|
-
catch (e)
|
405
|
-
{
|
406
|
-
if (e.code == 'INTERACT')
|
407
|
-
{
|
408
|
-
console.log(e.message);
|
409
|
-
let value = await readLine();
|
410
|
-
value = value.trim();
|
411
|
-
if (e.as)
|
412
|
-
args.options[e] = value;
|
413
|
-
else
|
414
|
-
args.args.push(value);
|
415
|
-
args.args.unshift(cmd.name);
|
416
|
-
return await tryRun(processor, cmd, args, localProcessing);
|
417
|
-
}
|
418
|
-
if (args.options.verbose)
|
419
|
-
console.log(e);
|
420
|
-
else
|
421
|
-
console.log(e.message);
|
422
|
-
}
|
423
|
-
|
424
|
-
}
|
425
|
-
|
426
|
-
export async function tryLocalProcessing(args: CliContext)
|
427
|
-
{
|
428
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
429
|
-
const config: StateConfiguration = require(path.join(homedir(), './.pm.config.json'));
|
430
|
-
let cmdName = args.args.shift();
|
431
|
-
if (!cmdName)
|
432
|
-
throw undefined;
|
433
|
-
const indexOfDot = cmdName.indexOf('.');
|
434
|
-
if (indexOfDot > -1)
|
435
|
-
{
|
436
|
-
const containerName = cmdName.substring(0, indexOfDot);
|
437
|
-
if (config.containers[containerName] && config.containers[containerName].commandable)
|
438
|
-
{
|
439
|
-
cmdName = cmdName.substring(indexOfDot + 1);
|
440
|
-
const container = new Container('cli-temp', {});
|
441
|
-
const options: Processors.DiscoveryOptions = {};
|
442
|
-
await Processors.FileSystem.discoverCommands(config.containers[containerName].path, container, options);
|
443
|
-
const cmd = container.resolve(cmdName);
|
444
|
-
return tryRun(options.processor, cmd, args, true);
|
445
|
-
}
|
446
|
-
}
|
447
|
-
else
|
448
|
-
{
|
449
|
-
if (!config.containers[cmdName].commandable)
|
450
|
-
return spawnAsync(config.containers[cmdName].path, null, ...unparse(args));
|
451
|
-
}
|
452
|
-
}
|
453
|
-
|
454
|
-
let stdinBuffer = '';
|
455
|
-
function readLine()
|
456
|
-
{
|
457
|
-
process.stdin.pause();
|
458
|
-
return new Promise<string>((resolve) =>
|
459
|
-
{
|
460
|
-
|
461
|
-
process.stdin.on('data', function processChunk(chunk)
|
462
|
-
{
|
463
|
-
const indexOfNewLine = stdinBuffer.length + chunk.indexOf('\n');
|
464
|
-
stdinBuffer += chunk;
|
465
|
-
if (indexOfNewLine > -1)
|
466
|
-
{
|
467
|
-
process.stdin.pause();
|
468
|
-
process.stdin.removeListener('data', processChunk);
|
469
|
-
if (indexOfNewLine < stdinBuffer.length - 1)
|
470
|
-
{
|
471
|
-
resolve(stdinBuffer.substr(0, indexOfNewLine));
|
472
|
-
stdinBuffer = stdinBuffer.substr(indexOfNewLine + 1);
|
473
|
-
}
|
474
|
-
else
|
475
|
-
{
|
476
|
-
resolve(stdinBuffer);
|
477
|
-
stdinBuffer = '';
|
478
|
-
}
|
479
|
-
}
|
480
|
-
})
|
481
|
-
process.stdin.resume();
|
482
|
-
})
|
483
|
-
}
|
@@ -13,9 +13,6 @@ export default async function (c: CliContext<CliOptions, ProxyConfiguration<{ pm
|
|
13
13
|
{
|
14
14
|
let container: Container<unknown>;
|
15
15
|
|
16
|
-
process.stdin.pause();
|
17
|
-
process.stdin.setEncoding('utf8');
|
18
|
-
|
19
16
|
if (typeof c.options.pmSock == 'string' && URL.canParse(c.options.pmSock))
|
20
17
|
container = await connect(c.options.pmSock, c.abort.signal)
|
21
18
|
else if (typeof c.options.pmSock == 'number')
|
package/src/cli-commands/run.ts
CHANGED
@@ -5,14 +5,15 @@ import path from 'path'
|
|
5
5
|
import pmDef from '../container.js';
|
6
6
|
import { IpcAdapter } from "../ipc-adapter.js";
|
7
7
|
import { module as coreModule } from '@akala/core';
|
8
|
-
import { CliContext } from '@akala/cli';
|
8
|
+
import { buildCliContextFromContext, CliContext, NamespaceMiddleware } from '@akala/cli';
|
9
9
|
import { Processors, ServeMetadata, Cli, registerCommands, SelfDefinedCommand, StructuredParameters, Container, serveMetadata, connectByPreference, Metadata, $metadata, protocolHandlers } from '@akala/commands';
|
10
10
|
import { pathToFileURL } from 'url';
|
11
11
|
import commands from '../container.js';
|
12
12
|
import fsHandler, { Stats } from '@akala/fs';
|
13
|
+
import { Triggers } from '@akala/commands';
|
13
14
|
|
14
15
|
|
15
|
-
export default async function run(program: string, name: string, c: CliContext, pmSocket?: string)
|
16
|
+
export default async function run(program: string, name: string, c: CliContext<{ help: boolean, configFile: string, name?: string, args?: string[] }>, pmSocket?: string)
|
16
17
|
{
|
17
18
|
let folderOrFile: Stats;
|
18
19
|
if (!URL.canParse(program))
|
@@ -31,6 +32,7 @@ export default async function run(program: string, name: string, c: CliContext,
|
|
31
32
|
|
32
33
|
const isPm = name === 'pm' && program === new URL('../../../commands.json', import.meta.url).toString();
|
33
34
|
const init = cliContainer.resolve('$init');
|
35
|
+
const cli = await Triggers.cli.register(cliContainer, new NamespaceMiddleware(null));
|
34
36
|
|
35
37
|
process.on('unhandledRejection', (x) =>
|
36
38
|
{
|
@@ -102,9 +104,12 @@ export default async function run(program: string, name: string, c: CliContext,
|
|
102
104
|
|
103
105
|
if (init)
|
104
106
|
{
|
105
|
-
c
|
106
|
-
|
107
|
+
const subContext = buildCliContextFromContext(c, '$init', ...c.options.args);
|
108
|
+
subContext.options = c.options;
|
109
|
+
subContext.options.configFile = c.options.configFile + '#' + c.options.name
|
110
|
+
await cli.process(subContext);
|
107
111
|
}
|
112
|
+
|
108
113
|
try
|
109
114
|
{
|
110
115
|
const serveArgs = await pm.dispatch('connect', c.options.name);
|
@@ -51,13 +51,6 @@
|
|
51
51
|
"needsValue": false,
|
52
52
|
"doc": "starts the process with --inspect-brk parameter to help debugging"
|
53
53
|
},
|
54
|
-
"new": {
|
55
|
-
"needsValue": false
|
56
|
-
},
|
57
|
-
"name": {
|
58
|
-
"doc": "name to assign to the process",
|
59
|
-
"needsValue": true
|
60
|
-
},
|
61
54
|
"program": {
|
62
55
|
"doc": "program to start"
|
63
56
|
}
|
package/src/cli-container.ts
CHANGED
@@ -8,7 +8,7 @@ namespace cliCommands
|
|
8
8
|
{
|
9
9
|
export interface container
|
10
10
|
{
|
11
|
-
dispatch (cmd:'$init
|
11
|
+
dispatch (cmd:'$init', ...args: [Argument0<typeof import('./cli-commands/$init.js').default>]): ReturnType<typeof import('./cli-commands/$init.js').default>
|
12
12
|
dispatch (cmd:'connect', ...args: [Argument0<typeof import('./cli-commands/connect.js').default>, Argument1<typeof import('./cli-commands/connect.js').default>]): ReturnType<typeof import('./cli-commands/connect.js').default>
|
13
13
|
dispatch (cmd:'discover', ...args: [Argument0<typeof import('./cli-commands/discover.js').default>, Argument1<typeof import('./cli-commands/discover.js').default>]): ReturnType<typeof import('./cli-commands/discover.js').default>
|
14
14
|
dispatch (cmd:'install', ...args: [Argument0<typeof import('./cli-commands/install.js').default>]): ReturnType<typeof import('./cli-commands/install.js').default>
|
@@ -24,7 +24,7 @@ namespace cliCommands
|
|
24
24
|
}
|
25
25
|
export interface proxy
|
26
26
|
{
|
27
|
-
'$init
|
27
|
+
'$init'(...args: [Argument0<typeof import('./cli-commands/$init.js').default>]): ReturnType<typeof import('./cli-commands/$init.js').default>
|
28
28
|
'connect'(...args: [Argument0<typeof import('./cli-commands/connect.js').default>, Argument1<typeof import('./cli-commands/connect.js').default>]): ReturnType<typeof import('./cli-commands/connect.js').default>
|
29
29
|
'discover'(...args: [Argument0<typeof import('./cli-commands/discover.js').default>, Argument1<typeof import('./cli-commands/discover.js').default>]): ReturnType<typeof import('./cli-commands/discover.js').default>
|
30
30
|
'install'(...args: [Argument0<typeof import('./cli-commands/install.js').default>]): ReturnType<typeof import('./cli-commands/install.js').default>
|
@@ -38,7 +38,7 @@ namespace cliCommands
|
|
38
38
|
'update'(...args: [Argument0<typeof import('./cli-commands/update.js').default>, Argument1<typeof import('./cli-commands/update.js').default>, Argument2<typeof import('./cli-commands/update.js').default>]): ReturnType<typeof import('./cli-commands/update.js').default>
|
39
39
|
'version'(...args: [Argument0<typeof import('./cli-commands/version.js').default>, Argument1<typeof import('./cli-commands/version.js').default>]): ReturnType<typeof import('./cli-commands/version.js').default>
|
40
40
|
}
|
41
|
-
export const meta={"name":"pm","commands":[{"name":"$init
|
41
|
+
export const meta={"name":"pm","commands":[{"name":"$init","config":{"fs":{"path":"dist/esm/cli-commands/$init.js","source":"src/cli-commands/$init.ts","inject":["param.0"]},"cli":{"inject":["context"],"options":{"pmSock":{"aliases":["pm-sock"],"needsValue":true}}},"":{"inject":["param.0"]}}},{"name":"connect","config":{"fs":{"path":"dist/esm/cli-commands/connect.js","source":"src/cli-commands/connect.ts","inject":["param.0","param.1"]},"":{"inject":["param.0","param.1"]},"cli":{"usage":"connect <name>","inject":["options.name","context"],"options":{"tcpPort":{"needsValue":true,"aliases":["tcp-port"]},"port":{"needsValue":true},"key":{"needsValue":true},"cert":{"needsValue":true}}}}},{"name":"discover","config":{"fs":{"path":"dist/esm/cli-commands/discover.js","source":"src/cli-commands/discover.ts","inject":["param.0","param.1","$container"]},"":{"inject":["param.0","param.1","$container"]},"cli":{"usage":"discover <name> <folder>","options":{"folder":{"normalize":true}},"inject":["options.name","options.folder","$container"]}}},{"name":"install","config":{"fs":{"path":"dist/esm/cli-commands/install.js","source":"src/cli-commands/install.ts","inject":["param.0","$container"]},"":{"inject":["param.0","$container"]},"cli":{"inject":["param.0","$container"]}}},{"name":"link","config":{"fs":{"path":"dist/esm/cli-commands/link.js","source":"src/cli-commands/link.ts","inject":["param.0","param.1","$container"]},"":{"inject":["param.0","param.1","$container"]},"cli":{"inject":["param.0","param.1","$container"]}}},{"name":"log","config":{"fs":{"path":"dist/esm/cli-commands/log.js","source":"src/cli-commands/log.ts","inject":["param.0"]},"":{"inject":["param.0"]},"cli":{"inject":["param.0"]}}},{"name":"ls","config":{"fs":{"path":"dist/esm/cli-commands/ls.js","source":"src/cli-commands/ls.ts","inject":[]},"":{"inject":[]},"cli":{"inject":[]},"html-form":{"inject":[]}}},{"name":"map","config":{"fs":{"path":"dist/esm/cli-commands/map.js","source":"src/cli-commands/map.ts","inject":["param.0","param.1","param.2","param.3"]},"":{"inject":["param.0","param.1","param.2","param.3"]},"cli":{"inject":["options.name","options.path","cwd","options"],"options":{"commandable":{"aliases":["c"],"needsValue":false},"stateless":{"aliases":["s"],"needsValue":false}},"usage":"map <name> <path>"}}},{"name":"run","config":{"fs":{"path":"dist/esm/cli-commands/run.js","source":"src/cli-commands/run.ts","inject":["param.0","param.1"]},"":{"inject":["param.0","param.1"]},"cli":{"options":{"output":{"aliases":["o"],"needsValue":true,"doc":"output as `table` if array otherwise falls back to standard node output"},"verbose":{"aliases":["v"]},"tls":{"doc":"enables tls connection to the `pmSock`"},"pmSock":{"aliases":["pm-sock"],"needsValue":true,"doc":"path to the unix socket or destination in the form host:port"},"help":{"doc":"displays this help message"},"keepAttached":{"aliases":["keep-attached"],"needsValue":false,"doc":"keeps the process attached to the current terminal"},"wait":{"aliases":["w"],"needsValue":false,"doc":"waits for the program to be started before returning, otherwise, returns after the start command is sent to the pm daemon"},"inspect":{"needsValue":false,"doc":"starts the process with --inspect-brk parameter to help debugging"},"new":{"needsValue":false},"name":{"doc":"name to assign to the process","needsValue":true},"program":{"doc":"program to start"}},"inject":["options.program","options.name","context","options.pmSock"],"usage":"run [...args]"}}},{"name":"start","config":{"fs":{"path":"dist/esm/cli-commands/start.js","source":"src/cli-commands/start.ts","inject":["param.0","param.1"]},"":{"inject":["param.0","param.1"]},"cli":{"options":{"output":{"aliases":["o"],"needsValue":true,"doc":"output as `table` if array otherwise falls back to standard node output"},"verbose":{"aliases":["v"]},"tls":{"doc":"enables tls connection to the `pmSock`"},"pmSock":{"aliases":["pm-sock"],"needsValue":true,"doc":"path to the unix socket or destination in the form host:port"},"help":{"doc":"displays this help message"},"keepAttached":{"aliases":["keep-attached"],"needsValue":false,"doc":"keeps the process attached to the current terminal"},"wait":{"aliases":["w"],"needsValue":false,"doc":"waits for the program to be started before returning, otherwise, returns after the start command is sent to the pm daemon"},"inspect":{"needsValue":false,"doc":"starts the process with --inspect-brk parameter to help debugging"},"program":{"doc":"program to start"}},"inject":["options.program","context"],"usage":"start pm"}}},{"name":"uninstall","config":{"fs":{"path":"dist/esm/cli-commands/uninstall.js","source":"src/cli-commands/uninstall.ts","inject":["param.0","$container"]},"":{"inject":["param.0","$container"]},"cli":{"inject":["param.0","$container"]}}},{"name":"update","config":{"fs":{"path":"dist/esm/cli-commands/update.js","source":"src/cli-commands/update.ts","inject":["param.0","param.1","param.2"]},"cli":{"inject":["param.0","param.1","$container"]},"":{"inject":["param.0","param.1","param.2"]}}},{"name":"version","config":{"fs":{"path":"dist/esm/cli-commands/version.js","source":"src/cli-commands/version.ts","inject":["param.0","param.1"]},"":{"inject":["param.0","param.1"]},"cli":{"inject":["options.packageName","options.folder"],"usage":"version <packageName> [folder]"},"schema":{"inject":["param.0","param.1"],"$defs":{"param.0":{"type":"string"},"param.1":{"type":"string"}}}}}],"$schema":"https://raw.githubusercontent.com/npenin/akala/main/packages/commands/container-schema.json"} as Metadata.Container;
|
42
42
|
|
43
43
|
export function connect(processor?:ICommandProcessor) {
|
44
44
|
const container = new Container<void>("cliCommands", void 0);
|
package/src/commands/$init.json
CHANGED
@@ -35,6 +35,21 @@
|
|
35
35
|
],
|
36
36
|
"needsValue": false,
|
37
37
|
"doc": "waits for the program to be started before returning, otherwise, returns after the start command is sent to the pm daemon"
|
38
|
+
},
|
39
|
+
"tcpPort": {
|
40
|
+
"needsValue": true,
|
41
|
+
"aliases": [
|
42
|
+
"tcp-port"
|
43
|
+
]
|
44
|
+
},
|
45
|
+
"port": {
|
46
|
+
"needsValue": true
|
47
|
+
},
|
48
|
+
"key": {
|
49
|
+
"needsValue": true
|
50
|
+
},
|
51
|
+
"cert": {
|
52
|
+
"needsValue": true
|
38
53
|
}
|
39
54
|
}
|
40
55
|
}
|
package/src/container.ts
CHANGED
@@ -17,7 +17,6 @@ namespace commands
|
|
17
17
|
dispatch (cmd:'start', ...args: [Argument1<typeof import('./commands/start.js').default>, Argument2<typeof import('./commands/start.js').default>, Argument3<typeof import('./commands/start.js').default>]): ReturnType<typeof import('./commands/start.js').default>
|
18
18
|
dispatch (cmd:'status', ...args: [Argument0<typeof import('./commands/status.js').default>]): ReturnType<typeof import('./commands/status.js').default>
|
19
19
|
dispatch (cmd:'stop', ...args: [Argument0<typeof import('./commands/stop.js').default>]): ReturnType<typeof import('./commands/stop.js').default>
|
20
|
-
dispatch (cmd:'$init-akala', ...args: [Argument0<typeof import('./cli-commands/$init-akala.js').default>]): ReturnType<typeof import('./cli-commands/$init-akala.js').default>
|
21
20
|
dispatch (cmd:'connect', ...args: [Argument0<typeof import('./cli-commands/connect.js').default>, Argument1<typeof import('./cli-commands/connect.js').default>]): ReturnType<typeof import('./cli-commands/connect.js').default>
|
22
21
|
dispatch (cmd:'discover', ...args: [Argument0<typeof import('./cli-commands/discover.js').default>, Argument1<typeof import('./cli-commands/discover.js').default>]): ReturnType<typeof import('./cli-commands/discover.js').default>
|
23
22
|
dispatch (cmd:'install', ...args: [Argument0<typeof import('./cli-commands/install.js').default>]): ReturnType<typeof import('./cli-commands/install.js').default>
|
@@ -41,7 +40,6 @@ namespace commands
|
|
41
40
|
'start'(...args: [Argument1<typeof import('./commands/start.js').default>, Argument2<typeof import('./commands/start.js').default>, Argument3<typeof import('./commands/start.js').default>]): ReturnType<typeof import('./commands/start.js').default>
|
42
41
|
'status'(...args: [Argument0<typeof import('./commands/status.js').default>]): ReturnType<typeof import('./commands/status.js').default>
|
43
42
|
'stop'(...args: [Argument0<typeof import('./commands/stop.js').default>]): ReturnType<typeof import('./commands/stop.js').default>
|
44
|
-
'$init-akala'(...args: [Argument0<typeof import('./cli-commands/$init-akala.js').default>]): ReturnType<typeof import('./cli-commands/$init-akala.js').default>
|
45
43
|
'connect'(...args: [Argument0<typeof import('./cli-commands/connect.js').default>, Argument1<typeof import('./cli-commands/connect.js').default>]): ReturnType<typeof import('./cli-commands/connect.js').default>
|
46
44
|
'discover'(...args: [Argument0<typeof import('./cli-commands/discover.js').default>, Argument1<typeof import('./cli-commands/discover.js').default>]): ReturnType<typeof import('./cli-commands/discover.js').default>
|
47
45
|
'install'(...args: [Argument0<typeof import('./cli-commands/install.js').default>]): ReturnType<typeof import('./cli-commands/install.js').default>
|
@@ -54,7 +52,7 @@ namespace commands
|
|
54
52
|
'update'(...args: [Argument0<typeof import('./cli-commands/update.js').default>, Argument1<typeof import('./cli-commands/update.js').default>, Argument2<typeof import('./cli-commands/update.js').default>]): ReturnType<typeof import('./cli-commands/update.js').default>
|
55
53
|
'version'(...args: [Argument0<typeof import('./cli-commands/version.js').default>, Argument1<typeof import('./cli-commands/version.js').default>]): ReturnType<typeof import('./cli-commands/version.js').default>
|
56
54
|
}
|
57
|
-
export const meta={"name":"pm","commands":[{"name":"$init","config":{"fs":{"disabled":true,"path":"dist/esm/commands/$init.js","source":"src/commands/$init.ts","inject":["$container","param.0"]},"":{"inject":["$container","param.0"]},"cli":{"inject":["$container","context"],"usage":"$init [...args]","options":{"configFile":{"needsValue":true,"aliases":["c"]},"keepAttached":{"aliases":["keep-attached"],"needsValue":false,"doc":"keeps the process attached to the current terminal"},"wait":{"aliases":["w"],"needsValue":false,"doc":"waits for the program to be started before returning, otherwise, returns after the start command is sent to the pm daemon"}}}}},{"name":"bridge","config":{"fs":{"path":"dist/esm/commands/bridge.js","source":"src/commands/bridge.ts","inject":["param.0","param.1"]},"jsonrpc":{"inject":["param.0","socket"]},"":{"inject":["param.0","param.1"]}}},{"name":"name","config":{"fs":{"path":"dist/esm/commands/name.js","source":"src/commands/name.ts","inject":["param.0"]},"":{"inject":["param.0"]}}},{"name":"proxy","config":{"fs":{"path":"dist/esm/commands/proxy.js","source":"src/commands/proxy.ts","inject":["param.0","param.1"]},"jsonrpc":{"inject":["param.0","socket"]},"":{"inject":["param.0","param.1"]}}},{"name":"ready","config":{"fs":{"path":"dist/esm/commands/ready.js","source":"src/commands/ready.ts","inject":["$container","ignore"]},"jsonrpc":{"inject":["$container","dummy","connectionAsContainer"]},"":{"inject":["$container","connectionAsContainer"]}}},{"name":"reload-metadata","config":{"fs":{"inject":["param.0"],"path":"dist/esm/commands/reload-metadata.js","source":"src/commands/reload-metadata.ts"},"jsonrpc":{"inject":["connectionAsContainer"]},"":{"inject":["param.0"]}}},{"name":"restart","config":{"fs":{"path":"dist/esm/commands/restart.js","source":"src/commands/restart.ts","inject":["$container","param.0","param.1"]},"":{"inject":["$container","param.0","param.1"]},"cli":{"options":{"wait":{"aliases":["w"],"needsValue":false,"doc":"waits for the program to be started before returning, otherwise, returns after the start command is sent to the pm daemon"},"inspect":{"needsValue":false,"doc":"starts the process with --inspect-brk parameter to help debugging"},"new":{"needsValue":false},"name":{"doc":"name to assign to the process","needsValue":true},"program":{"doc":"program to start"}},"inject":["$container","param.0","context"],"usage":"restart <program>"},"schema":{"inject":["$container","param.0","param.1"],"$defs":{"param.0":{"type":"string"},"param.1":{"type":"object","properties":{"wait":{"type":"boolean"}}}}},"html-form":{"inject":["$container","param.0","param.1"]}}},{"name":"start","config":{"fs":{"path":"dist/esm/commands/start.js","source":"src/commands/start.ts","inject":["$container","param.0","param.1","param.2"]},"":{"inject":["$container","param.0","param.1","param.2"]},"cli":{"options":{"wait":{"aliases":["w"],"needsValue":false,"doc":"waits for the program to be started before returning, otherwise, returns after the start command is sent to the pm daemon"},"inspect":{"needsValue":false,"doc":"starts the process with --inspect-brk parameter to help debugging"},"new":{"needsValue":false},"name":{"doc":"name to assign to the process","needsValue":true},"program":{"doc":"program to start"},"autostart":{"doc":"start automatically when pm starts"}},"inject":["$container","options.program","options","context"],"usage":"start <program>"},"html-form":{"inject":["$container","param.0","param.1","param.2"]},"schema":{"inject":["$container","param.0","param.1","param.2"],"$defs":{"param.0":{"type":"string"},"param.1":{"type":"object","properties":{"wait":{"type":"boolean"},"inspect":{"type":"boolean"},"new":{"type":"boolean"},"name":{"type":"string"},"program":{"type":"string"}}},"param.2":{"type":"object","properties":{"args":{"type":"array","items":{"type":"string"}}}}}}}},{"name":"status","config":{"fs":{"path":"dist/esm/commands/status.js","source":"src/commands/status.ts","inject":["param.0"]},"":{"inject":["param.0"]},"cli":{"inject":["param.0"]},"html-form":{"inject":["param.0"]},"schema":{"inject":["param.0"],"$defs":{"param.0":{"type":"string","description":"The name of the container to get the status of"}}}}},{"name":"stop","config":{"fs":{"path":"dist/esm/commands/stop.js","source":"src/commands/stop.ts","inject":["param.0","$container"]},"":{"inject":["param.0","$container"]},"cli":{"inject":["options.process","$container"],"options":{"process":{"doc":"process to stop. Stops all the processes otherwise (including pm)."}},"usage":"stop [process]"},"html-form":{"inject":["param.0","$container"]},"schema":{"inject":["param.0","$container"],"$defs":{"param.0":{"type":"string"}}}}},{"name":"
|
55
|
+
export const meta={"name":"pm","commands":[{"name":"$init","config":{"fs":{"disabled":true,"path":"dist/esm/commands/$init.js","source":"src/commands/$init.ts","inject":["$container","param.0"]},"":{"inject":["$container","param.0"]},"cli":{"inject":["$container","context"],"usage":"$init [...args]","options":{"configFile":{"needsValue":true,"aliases":["c"]},"keepAttached":{"aliases":["keep-attached"],"needsValue":false,"doc":"keeps the process attached to the current terminal"},"wait":{"aliases":["w"],"needsValue":false,"doc":"waits for the program to be started before returning, otherwise, returns after the start command is sent to the pm daemon"},"tcpPort":{"needsValue":true,"aliases":["tcp-port"]},"port":{"needsValue":true},"key":{"needsValue":true},"cert":{"needsValue":true}}}}},{"name":"bridge","config":{"fs":{"path":"dist/esm/commands/bridge.js","source":"src/commands/bridge.ts","inject":["param.0","param.1"]},"jsonrpc":{"inject":["param.0","socket"]},"":{"inject":["param.0","param.1"]}}},{"name":"name","config":{"fs":{"path":"dist/esm/commands/name.js","source":"src/commands/name.ts","inject":["param.0"]},"":{"inject":["param.0"]}}},{"name":"proxy","config":{"fs":{"path":"dist/esm/commands/proxy.js","source":"src/commands/proxy.ts","inject":["param.0","param.1"]},"jsonrpc":{"inject":["param.0","socket"]},"":{"inject":["param.0","param.1"]}}},{"name":"ready","config":{"fs":{"path":"dist/esm/commands/ready.js","source":"src/commands/ready.ts","inject":["$container","ignore"]},"jsonrpc":{"inject":["$container","dummy","connectionAsContainer"]},"":{"inject":["$container","connectionAsContainer"]}}},{"name":"reload-metadata","config":{"fs":{"inject":["param.0"],"path":"dist/esm/commands/reload-metadata.js","source":"src/commands/reload-metadata.ts"},"jsonrpc":{"inject":["connectionAsContainer"]},"":{"inject":["param.0"]}}},{"name":"restart","config":{"fs":{"path":"dist/esm/commands/restart.js","source":"src/commands/restart.ts","inject":["$container","param.0","param.1"]},"":{"inject":["$container","param.0","param.1"]},"cli":{"options":{"wait":{"aliases":["w"],"needsValue":false,"doc":"waits for the program to be started before returning, otherwise, returns after the start command is sent to the pm daemon"},"inspect":{"needsValue":false,"doc":"starts the process with --inspect-brk parameter to help debugging"},"new":{"needsValue":false},"name":{"doc":"name to assign to the process","needsValue":true},"program":{"doc":"program to start"}},"inject":["$container","param.0","context"],"usage":"restart <program>"},"schema":{"inject":["$container","param.0","param.1"],"$defs":{"param.0":{"type":"string"},"param.1":{"type":"object","properties":{"wait":{"type":"boolean"}}}}},"html-form":{"inject":["$container","param.0","param.1"]}}},{"name":"start","config":{"fs":{"path":"dist/esm/commands/start.js","source":"src/commands/start.ts","inject":["$container","param.0","param.1","param.2"]},"":{"inject":["$container","param.0","param.1","param.2"]},"cli":{"options":{"wait":{"aliases":["w"],"needsValue":false,"doc":"waits for the program to be started before returning, otherwise, returns after the start command is sent to the pm daemon"},"inspect":{"needsValue":false,"doc":"starts the process with --inspect-brk parameter to help debugging"},"new":{"needsValue":false},"name":{"doc":"name to assign to the process","needsValue":true},"program":{"doc":"program to start"},"autostart":{"doc":"start automatically when pm starts"}},"inject":["$container","options.program","options","context"],"usage":"start <program>"},"html-form":{"inject":["$container","param.0","param.1","param.2"]},"schema":{"inject":["$container","param.0","param.1","param.2"],"$defs":{"param.0":{"type":"string"},"param.1":{"type":"object","properties":{"wait":{"type":"boolean"},"inspect":{"type":"boolean"},"new":{"type":"boolean"},"name":{"type":"string"},"program":{"type":"string"}}},"param.2":{"type":"object","properties":{"args":{"type":"array","items":{"type":"string"}}}}}}}},{"name":"status","config":{"fs":{"path":"dist/esm/commands/status.js","source":"src/commands/status.ts","inject":["param.0"]},"":{"inject":["param.0"]},"cli":{"inject":["param.0"]},"html-form":{"inject":["param.0"]},"schema":{"inject":["param.0"],"$defs":{"param.0":{"type":"string","description":"The name of the container to get the status of"}}}}},{"name":"stop","config":{"fs":{"path":"dist/esm/commands/stop.js","source":"src/commands/stop.ts","inject":["param.0","$container"]},"":{"inject":["param.0","$container"]},"cli":{"inject":["options.process","$container"],"options":{"process":{"doc":"process to stop. Stops all the processes otherwise (including pm)."}},"usage":"stop [process]"},"html-form":{"inject":["param.0","$container"]},"schema":{"inject":["param.0","$container"],"$defs":{"param.0":{"type":"string"}}}}},{"name":"connect","config":{"fs":{"path":"dist/esm/cli-commands/connect.js","source":"src/cli-commands/connect.ts","inject":["param.0","param.1"]},"":{"inject":["param.0","param.1"]},"cli":{"usage":"connect <name>","inject":["options.name","context"],"options":{"tcpPort":{"needsValue":true,"aliases":["tcp-port"]},"port":{"needsValue":true},"key":{"needsValue":true},"cert":{"needsValue":true}}}}},{"name":"discover","config":{"fs":{"path":"dist/esm/cli-commands/discover.js","source":"src/cli-commands/discover.ts","inject":["param.0","param.1","$container"]},"":{"inject":["param.0","param.1","$container"]},"cli":{"usage":"discover <name> <folder>","options":{"folder":{"normalize":true}},"inject":["options.name","options.folder","$container"]}}},{"name":"install","config":{"fs":{"path":"dist/esm/cli-commands/install.js","source":"src/cli-commands/install.ts","inject":["param.0","$container"]},"":{"inject":["param.0","$container"]},"cli":{"inject":["param.0","$container"]}}},{"name":"link","config":{"fs":{"path":"dist/esm/cli-commands/link.js","source":"src/cli-commands/link.ts","inject":["param.0","param.1","$container"]},"":{"inject":["param.0","param.1","$container"]},"cli":{"inject":["param.0","param.1","$container"]}}},{"name":"log","config":{"fs":{"path":"dist/esm/cli-commands/log.js","source":"src/cli-commands/log.ts","inject":["param.0"]},"":{"inject":["param.0"]},"cli":{"inject":["param.0"]}}},{"name":"ls","config":{"fs":{"path":"dist/esm/cli-commands/ls.js","source":"src/cli-commands/ls.ts","inject":[]},"":{"inject":[]},"cli":{"inject":[]},"html-form":{"inject":[]}}},{"name":"map","config":{"fs":{"path":"dist/esm/cli-commands/map.js","source":"src/cli-commands/map.ts","inject":["param.0","param.1","param.2","param.3"]},"":{"inject":["param.0","param.1","param.2","param.3"]},"cli":{"inject":["options.name","options.path","cwd","options"],"options":{"commandable":{"aliases":["c"],"needsValue":false},"stateless":{"aliases":["s"],"needsValue":false}},"usage":"map <name> <path>"}}},{"name":"run","config":{"fs":{"path":"dist/esm/cli-commands/run.js","source":"src/cli-commands/run.ts","inject":["param.0","param.1"]},"":{"inject":["param.0","param.1"]},"cli":{"options":{"output":{"aliases":["o"],"needsValue":true,"doc":"output as `table` if array otherwise falls back to standard node output"},"verbose":{"aliases":["v"]},"tls":{"doc":"enables tls connection to the `pmSock`"},"pmSock":{"aliases":["pm-sock"],"needsValue":true,"doc":"path to the unix socket or destination in the form host:port"},"help":{"doc":"displays this help message"},"keepAttached":{"aliases":["keep-attached"],"needsValue":false,"doc":"keeps the process attached to the current terminal"},"wait":{"aliases":["w"],"needsValue":false,"doc":"waits for the program to be started before returning, otherwise, returns after the start command is sent to the pm daemon"},"inspect":{"needsValue":false,"doc":"starts the process with --inspect-brk parameter to help debugging"},"new":{"needsValue":false},"name":{"doc":"name to assign to the process","needsValue":true},"program":{"doc":"program to start"}},"inject":["options.program","options.name","context","options.pmSock"],"usage":"run [...args]"}}},{"name":"uninstall","config":{"fs":{"path":"dist/esm/cli-commands/uninstall.js","source":"src/cli-commands/uninstall.ts","inject":["param.0","$container"]},"":{"inject":["param.0","$container"]},"cli":{"inject":["param.0","$container"]}}},{"name":"update","config":{"fs":{"path":"dist/esm/cli-commands/update.js","source":"src/cli-commands/update.ts","inject":["param.0","param.1","param.2"]},"cli":{"inject":["param.0","param.1","$container"]},"":{"inject":["param.0","param.1","param.2"]}}},{"name":"version","config":{"fs":{"path":"dist/esm/cli-commands/version.js","source":"src/cli-commands/version.ts","inject":["param.0","param.1"]},"":{"inject":["param.0","param.1"]},"cli":{"inject":["options.packageName","options.folder"],"usage":"version <packageName> [folder]"},"schema":{"inject":["param.0","param.1"],"$defs":{"param.0":{"type":"string"},"param.1":{"type":"string"}}}}}],"extends":["./cli-commands.json"],"$schema":"https://raw.githubusercontent.com/npenin/akala/main/packages/commands/container-schema.json"} as Metadata.Container;
|
58
56
|
|
59
57
|
export function connect(processor?:ICommandProcessor) {
|
60
58
|
const container = new Container<void>("commands", void 0);
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"$init-akala.js","sourceRoot":"","sources":["../../../src/cli-commands/$init-akala.ts"],"names":[],"mappings":"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"}
|
File without changes
|
File without changes
|