@akala/pm 5.2.30 → 5.2.31

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.
Files changed (91) hide show
  1. package/changelog.md +0 -5
  2. package/dist/cjs/cli-helper.js +29 -2
  3. package/dist/cjs/cli-helper.js.map +1 -1
  4. package/dist/cjs/commands/$init.js +33 -22
  5. package/dist/cjs/commands/$init.js.map +1 -1
  6. package/dist/cjs/commands/bridge.js +4 -1
  7. package/dist/cjs/commands/bridge.js.map +1 -1
  8. package/dist/cjs/commands/config.js +29 -3
  9. package/dist/cjs/commands/config.js.map +1 -1
  10. package/dist/cjs/commands/connect.js +12 -9
  11. package/dist/cjs/commands/connect.js.map +1 -1
  12. package/dist/cjs/commands/discover.js +21 -18
  13. package/dist/cjs/commands/discover.js.map +1 -1
  14. package/dist/cjs/commands/install.js +36 -7
  15. package/dist/cjs/commands/install.js.map +1 -1
  16. package/dist/cjs/commands/link.js +36 -7
  17. package/dist/cjs/commands/link.js.map +1 -1
  18. package/dist/cjs/commands/log.js +7 -4
  19. package/dist/cjs/commands/log.js.map +1 -1
  20. package/dist/cjs/commands/ls.js +4 -1
  21. package/dist/cjs/commands/ls.js.map +1 -1
  22. package/dist/cjs/commands/map.js +8 -5
  23. package/dist/cjs/commands/map.js.map +1 -1
  24. package/dist/cjs/commands/name.js +5 -2
  25. package/dist/cjs/commands/name.js.map +1 -1
  26. package/dist/cjs/commands/plugin/add.js +4 -1
  27. package/dist/cjs/commands/plugin/add.js.map +1 -1
  28. package/dist/cjs/commands/plugin/remove.js +4 -1
  29. package/dist/cjs/commands/plugin/remove.js.map +1 -1
  30. package/dist/cjs/commands/proxy.js +9 -6
  31. package/dist/cjs/commands/proxy.js.map +1 -1
  32. package/dist/cjs/commands/ready.js +8 -5
  33. package/dist/cjs/commands/ready.js.map +1 -1
  34. package/dist/cjs/commands/reload-metadata.js +7 -4
  35. package/dist/cjs/commands/reload-metadata.js.map +1 -1
  36. package/dist/cjs/commands/restart.js +5 -2
  37. package/dist/cjs/commands/restart.js.map +1 -1
  38. package/dist/cjs/commands/start.js +39 -32
  39. package/dist/cjs/commands/start.js.map +1 -1
  40. package/dist/cjs/commands/status.js +4 -1
  41. package/dist/cjs/commands/status.js.map +1 -1
  42. package/dist/cjs/commands/stop.js +5 -2
  43. package/dist/cjs/commands/stop.js.map +1 -1
  44. package/dist/cjs/commands/update.js +36 -7
  45. package/dist/cjs/commands/update.js.map +1 -1
  46. package/dist/cjs/commands/version.js +8 -5
  47. package/dist/cjs/commands/version.js.map +1 -1
  48. package/dist/cjs/container.js +2 -1
  49. package/dist/cjs/index.js +53 -19
  50. package/dist/cjs/index.js.map +1 -1
  51. package/dist/cjs/ipc-adapter.js +5 -1
  52. package/dist/cjs/ipc-adapter.js.map +1 -1
  53. package/dist/cjs/new-line-prefixer.js +6 -2
  54. package/dist/cjs/new-line-prefixer.js.map +1 -1
  55. package/dist/cjs/npm-helper.js +10 -8
  56. package/dist/cjs/npm-helper.js.map +1 -1
  57. package/dist/cjs/sidecar.js +40 -12
  58. package/dist/cjs/sidecar.js.map +1 -1
  59. package/dist/cjs/standalone.js +44 -16
  60. package/dist/cjs/standalone.js.map +1 -1
  61. package/dist/cjs/state.js +2 -1
  62. package/dist/cjs/test/pwet.js +10 -4
  63. package/dist/cjs/test/pwet.js.map +1 -1
  64. package/dist/cjs/yarn-helper.js +17 -13
  65. package/dist/cjs/yarn-helper.js.map +1 -1
  66. package/dist/esm/cli.js +0 -7
  67. package/dist/esm/cli.js.map +1 -1
  68. package/dist/esm/commands/$init.js +2 -0
  69. package/dist/esm/commands/$init.js.map +1 -1
  70. package/dist/esm/commands/start.js +1 -0
  71. package/dist/esm/commands/start.js.map +1 -1
  72. package/dist/esm/fork.js +1 -1
  73. package/dist/esm/fork.js.map +1 -1
  74. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  75. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  76. package/package.json +6 -6
  77. package/src/cli.ts +0 -10
  78. package/src/commands/$init.ts +2 -0
  79. package/src/commands/start.ts +1 -0
  80. package/src/container.ts +2 -1
  81. package/src/fork.ts +1 -1
  82. package/tsconfig.cjs.json +10 -1
  83. package/dist/cjs/akala.d.mts +0 -2
  84. package/dist/cjs/akala.mjs +0 -439
  85. package/dist/cjs/akala.mjs.map +0 -1
  86. package/dist/cjs/cli.d.ts +0 -2
  87. package/dist/cjs/cli.js +0 -371
  88. package/dist/cjs/cli.js.map +0 -1
  89. package/dist/cjs/fork.d.ts +0 -2
  90. package/dist/cjs/fork.js +0 -157
  91. package/dist/cjs/fork.js.map +0 -1
package/dist/cjs/cli.js DELETED
@@ -1,371 +0,0 @@
1
- #!/usr/bin/env node
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- import * as path from 'path';
12
- import { Processors, NetSocketAdapter, Metadata, proxy, Triggers, Cli } from '@akala/commands';
13
- import { Socket } from 'net';
14
- import { TLSSocket } from 'tls';
15
- import { platform, homedir } from 'os';
16
- import start from './commands/start.js';
17
- import { Readable } from 'stream';
18
- import { program, buildCliContextFromProcess, ErrorMessage } from '@akala/cli';
19
- import { Binding } from '@akala/core';
20
- const tableChars = {
21
- 'top': '─',
22
- 'top-mid': '┬',
23
- 'top-left': '┌',
24
- 'top-right': '┐',
25
- 'bottom': '─',
26
- 'bottom-mid': '┴',
27
- 'bottom-left': '└',
28
- 'bottom-right': '┘',
29
- 'left': '│',
30
- 'left-mid': '├',
31
- 'mid': '─',
32
- 'mid-mid': '┼',
33
- 'right': '│',
34
- 'right-mid': '┤',
35
- 'middle': '│'
36
- };
37
- const truncate = '…';
38
- function requireOrImportJson(path) {
39
- if (require)
40
- return Promise.resolve(require(path));
41
- else
42
- //@ts-ignore
43
- return import(path, { assert: { type: 'json' } }).then(i => i.default);
44
- }
45
- const cli = program.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" } });
46
- cli.command('start pm')
47
- .option('inspect', { doc: "starts the process with --inspect-brk parameter to help debugging" })
48
- .option('keepAttached', { doc: "keeps the process attached" })
49
- .action(c => {
50
- c.options['name'] = 'pm';
51
- c.options['program'] = new URL('../../commands.json', import.meta.url).toString();
52
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
53
- return start.call({}, null, 'pm', c);
54
- });
55
- let socket;
56
- let processor;
57
- let metaContainer;
58
- let container;
59
- cli.preAction((c) => __awaiter(void 0, void 0, void 0, function* () {
60
- process.stdin.pause();
61
- process.stdin.setEncoding('utf8');
62
- if (!socket) {
63
- const netsocket = socket = new Socket();
64
- if (c.options.tls) {
65
- socket = new TLSSocket(netsocket, {});
66
- }
67
- yield new Promise((resolve, reject) => {
68
- if (c.options.pmSock) {
69
- if (typeof (c.options.pmSock) == 'string') {
70
- const indexOfColon = c.options.pmSock.indexOf(':');
71
- if (indexOfColon > -1)
72
- netsocket.connect(Number(c.options.pmSock.substring(indexOfColon + 1)), c.options.pmSock.substring(0, indexOfColon));
73
- else
74
- netsocket.connect(c.options.pmSock);
75
- }
76
- else
77
- netsocket.connect(c.options.pmSock);
78
- }
79
- else if (platform() == 'win32')
80
- netsocket.connect('\\\\?\\pipe\\pm');
81
- else {
82
- try {
83
- // eslint-disable-next-line @typescript-eslint/no-var-requires
84
- import(path.join(homedir(), './.pm.config.json'), { assert: { type: 'json' } }).then(config => netsocket.connect(config.default.mapping.pm.connect.socket[0]));
85
- }
86
- catch (e) {
87
- if (e.code != 'MODULE_NOT_FOUND')
88
- reject(e);
89
- else {
90
- e.code = 'ENOENT';
91
- socket.destroy(e);
92
- }
93
- }
94
- }
95
- if (c.options.tls) {
96
- // socket.on('data', function (e) { console.log(e) });
97
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
98
- socket.connect({});
99
- netsocket.on('error', function (e) {
100
- console.log(e);
101
- });
102
- socket.on('error', function (e) {
103
- console.log(e);
104
- });
105
- }
106
- socket.on('connect', function () {
107
- return __awaiter(this, void 0, void 0, function* () {
108
- resolve();
109
- socket.setEncoding('utf-8');
110
- });
111
- });
112
- socket.on('error', (e) => __awaiter(void 0, void 0, void 0, function* () {
113
- if (c.options.help)
114
- resolve();
115
- else {
116
- if (e.code === 'ENOENT') {
117
- // return tryLocalProcessing(c).catch(() =>
118
- // {
119
- resolve();
120
- // reject(new Error('pm is not started'));
121
- // });
122
- }
123
- else
124
- reject(e);
125
- }
126
- }));
127
- });
128
- }
129
- if (socket.readyState == 'open') {
130
- if (!processor)
131
- processor = new Processors.JsonRpc(Processors.JsonRpc.getConnection(new NetSocketAdapter(socket)));
132
- if (!metaContainer)
133
- metaContainer = (yield import(new URL('../../commands.json', import.meta.url).toString(), { assert: { type: 'json' } })).default;
134
- if (!container) {
135
- container = proxy(metaContainer, processor);
136
- container.unregister(Cli.Metadata.name);
137
- container.register(Metadata.extractCommandMetadata(Cli.Metadata));
138
- yield container.attach(Triggers.cli, cli);
139
- }
140
- }
141
- })).
142
- // cli.
143
- // useMiddleware(null, handle).
144
- useError((err, args) => __awaiter(void 0, void 0, void 0, function* () {
145
- if (err.code === 'INTERACT') {
146
- console.log(err.message);
147
- const value = yield readLine();
148
- if (typeof err.as == 'string') {
149
- const indexOfDot = err.as.indexOf('.');
150
- if (indexOfDot > 0) {
151
- Binding.getSetter(args.options, err.as)(value);
152
- }
153
- args.options[err.as] = value;
154
- }
155
- else
156
- args.args.push(value);
157
- return yield cli.process(args);
158
- }
159
- throw err;
160
- }));
161
- // handle.action(async args =>
162
- // {
163
- // try
164
- // {
165
- // const cmdName = args.args[0].toString();
166
- // if (cmdName == '$metadata')
167
- // return formatResult(metaContainer, args.options.output);
168
- // else
169
- // {
170
- // const cmd = metaContainer.commands.find(c => c.name === cmdName);
171
- // await tryRun(processor, cmd, args, false);
172
- // }
173
- // await new Promise<void>((resolve) => socket.end(resolve));
174
- // }
175
- // catch (e)
176
- // {
177
- // if (e.code == 'INTERACT')
178
- // {
179
- // console.log(e.message);
180
- // const value = await readLine();
181
- // if (e.as)
182
- // args.options[e] = value;
183
- // else
184
- // args.args.push(value);
185
- // return handle.handle(args).then(e => { if (e) throw e }, res => res);
186
- // }
187
- // if (args.options.verbose)
188
- // console.log(e);
189
- // else
190
- // console.log(e.message)
191
- // await new Promise<void>((resolve) => socket.end(resolve));
192
- // }
193
- // });
194
- cli.format((result, context) => formatResult(result, context.options.output));
195
- program.useError((err, context) => {
196
- if (context.options.verbose)
197
- console.error(err);
198
- else if (err instanceof ErrorMessage)
199
- console.log(err.message);
200
- else
201
- console.error('Error: ' + err.message);
202
- return Promise.reject(err);
203
- });
204
- program.process(buildCliContextFromProcess()).then(result => {
205
- if (result instanceof Readable) {
206
- result.pipe(process.stdout);
207
- return;
208
- }
209
- if (socket)
210
- socket.end();
211
- }, err => {
212
- if (err && !(err instanceof ErrorMessage))
213
- console.error(err);
214
- process.exit(err && err.statusCode || 50);
215
- });
216
- function formatResult(result, outputFormat) {
217
- if (typeof result == 'undefined')
218
- return;
219
- if (result instanceof Readable) {
220
- return result;
221
- }
222
- switch (outputFormat) {
223
- case 'table':
224
- {
225
- const columnNames = [];
226
- const columns = {};
227
- if (Array.isArray(result)) {
228
- for (const r of result) {
229
- Object.keys(r).forEach(k => {
230
- if (columnNames.indexOf(k) == -1)
231
- columnNames.push(k);
232
- });
233
- }
234
- columnNames.forEach(c => {
235
- columns[c] = { maxWidthContent: 0, maxWidth: c.length + 2, values: [] };
236
- for (const r of result) {
237
- if (typeof (r[c]) == 'undefined' || typeof r[c] == 'string' && r[c].length == 0)
238
- columns[c].values.push('');
239
- else if (r[c] == null) {
240
- columns[c].values.push('-');
241
- columns[c].maxWidthContent = Math.max(columns[c].maxWidthContent, 1);
242
- }
243
- else {
244
- columns[c].values.push(r[c].toString());
245
- columns[c].maxWidthContent = Math.max(columns[c].maxWidthContent, r[c].toString().length);
246
- }
247
- columns[c].maxWidth = Math.max(columns[c].maxWidthContent, columns[c].maxWidth);
248
- }
249
- });
250
- let columnNamesForDisplay = columnNames.slice(0);
251
- let width = columnNamesForDisplay.reduce((length, c, i) => columns[columnNames[i]].maxWidth + length, 0) + columnNamesForDisplay.length + 1;
252
- if (process.stdout.columns < width) {
253
- for (const c of columnNames) {
254
- if (columns[c].maxWidthContent == 0)
255
- columnNamesForDisplay = columnNamesForDisplay.splice(columnNamesForDisplay.indexOf(c), 1);
256
- }
257
- width = columnNamesForDisplay.reduce((length, c, i) => columns[columnNames[i]].maxWidth + length, 0) + columnNamesForDisplay.length + 1;
258
- }
259
- if (process.stdout.columns < width) {
260
- columnNamesForDisplay = columnNamesForDisplay.map(c => {
261
- if (c.length > 8 + truncate.length) {
262
- const newName = c.substring(0, 8) + truncate;
263
- columns[c].maxWidth = Math.max(columns[c].maxWidthContent, newName.length);
264
- return newName;
265
- }
266
- return c;
267
- });
268
- width = columnNamesForDisplay.reduce((length, c, i) => columns[columnNames[i]].maxWidth + length, 0) + columnNamesForDisplay.length + 1;
269
- }
270
- if (process.stdout.columns < width) {
271
- columnNamesForDisplay.forEach(c => {
272
- columns[c].maxWidth = Math.max(columns[c].maxWidthContent, c.length);
273
- });
274
- width = columnNamesForDisplay.reduce((length, c, i) => columns[columnNames[i]].maxWidth + length, 0) + columnNamesForDisplay.length + 1;
275
- }
276
- if (process.stdout.columns >= width) {
277
- process.stdout.write(tableChars["top-left"]);
278
- columnNamesForDisplay.forEach((c, i) => {
279
- for (let j = 0; j < columns[columnNames[i]].maxWidth; j++)
280
- process.stdout.write(tableChars["top"]);
281
- if (i == columnNames.length - 1)
282
- process.stdout.write(tableChars["top-right"]);
283
- else
284
- process.stdout.write(tableChars["top-mid"]);
285
- });
286
- process.stdout.write('\n');
287
- process.stdout.write(tableChars["left"]);
288
- columnNamesForDisplay.forEach((c, i) => {
289
- let pad;
290
- for (pad = 0; pad < (columns[columnNames[i]].maxWidth - c.length) / 2; pad++)
291
- process.stdout.write(' ');
292
- process.stdout.write(c);
293
- for (pad += c.length; pad < columns[columnNames[i]].maxWidth; pad++)
294
- process.stdout.write(' ');
295
- if (i == columnNames.length - 1)
296
- process.stdout.write(tableChars["right"]);
297
- else
298
- process.stdout.write(tableChars["middle"]);
299
- });
300
- process.stdout.write('\n');
301
- process.stdout.write(tableChars["left-mid"]);
302
- columnNamesForDisplay.forEach((c, i) => {
303
- for (let j = 0; j < columns[columnNames[i]].maxWidth; j++)
304
- process.stdout.write(tableChars["mid"]);
305
- if (i == columnNames.length - 1)
306
- process.stdout.write(tableChars["right-mid"]);
307
- else
308
- process.stdout.write(tableChars["mid-mid"]);
309
- });
310
- process.stdout.write('\n');
311
- for (let r = 0; r < result.length; r++) {
312
- process.stdout.write(tableChars["left"]);
313
- columnNamesForDisplay.forEach((c, i) => {
314
- const value = columns[columnNames[i]].values[r];
315
- let pad;
316
- for (pad = 0; pad < Math.floor((columns[columnNames[i]].maxWidth - value.length) / 2); pad++)
317
- process.stdout.write(' ');
318
- process.stdout.write(value);
319
- for (pad += value.length; pad < columns[columnNames[i]].maxWidth; pad++)
320
- process.stdout.write(' ');
321
- if (i == columnNames.length - 1)
322
- process.stdout.write(tableChars["right"]);
323
- else
324
- process.stdout.write(tableChars["middle"]);
325
- });
326
- process.stdout.write('\n');
327
- }
328
- process.stdout.write(tableChars["bottom-left"]);
329
- columnNamesForDisplay.forEach((c, i) => {
330
- for (let j = 0; j < columns[columnNames[i]].maxWidth; j++)
331
- process.stdout.write(tableChars["bottom"]);
332
- if (i == columnNames.length - 1)
333
- process.stdout.write(tableChars["bottom-right"]);
334
- else
335
- process.stdout.write(tableChars["bottom-mid"]);
336
- });
337
- process.stdout.write('\n');
338
- return;
339
- }
340
- }
341
- }
342
- // eslint-disable-next-line no-fallthrough
343
- default:
344
- console.log(result);
345
- break;
346
- }
347
- }
348
- let stdinBuffer = '';
349
- function readLine() {
350
- process.stdin.pause();
351
- return new Promise((resolve) => {
352
- process.stdin.on('data', function processChunk(chunk) {
353
- const indexOfNewLine = stdinBuffer.length + chunk.indexOf('\n');
354
- stdinBuffer += chunk;
355
- if (indexOfNewLine > -1) {
356
- process.stdin.pause();
357
- process.stdin.removeListener('data', processChunk);
358
- if (indexOfNewLine < stdinBuffer.length - 1) {
359
- resolve(stdinBuffer.substr(0, indexOfNewLine));
360
- stdinBuffer = stdinBuffer.substr(indexOfNewLine + 1);
361
- }
362
- else {
363
- resolve(stdinBuffer);
364
- stdinBuffer = '';
365
- }
366
- }
367
- });
368
- process.stdin.resume();
369
- });
370
- }
371
- //# sourceMappingURL=cli.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
package/dist/cjs/fork.js DELETED
@@ -1,157 +0,0 @@
1
- #!/usr/bin/env node
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- import sms from 'source-map-support';
12
- sms.install();
13
- import * as path from 'path';
14
- import * as ac from '@akala/commands';
15
- import { lstat } from 'fs/promises';
16
- import { IpcAdapter } from "./ipc-adapter.js";
17
- import { logger, MiddlewareComposite, module as coreModule } from '@akala/core';
18
- import { program, buildCliContextFromProcess, ErrorMessage, NamespaceMiddleware } from '@akala/cli';
19
- import { registerCommands, SelfDefinedCommand, parseMetadata } from '@akala/commands';
20
- var isPm = false;
21
- program.option('help');
22
- let folderOrFile;
23
- let cliContainer;
24
- let processor;
25
- let log;
26
- const logMiddleware = new NamespaceMiddleware(null).option('verbose', { aliases: ['v',] });
27
- logMiddleware.preAction((c) => __awaiter(void 0, void 0, void 0, function* () {
28
- if (c.options.verbose)
29
- processor = new ac.Processors.LogProcessor(processor, (cmd, params) => {
30
- log.verbose({ cmd, params });
31
- return Promise.resolve();
32
- });
33
- yield ac.Processors.FileSystem.discoverCommands(c.options.program, cliContainer, { processor: processor, isDirectory: folderOrFile.isDirectory() });
34
- }));
35
- let initMiddleware = new NamespaceMiddleware(null);
36
- const controller = new AbortController();
37
- program.option('program', { needsValue: true, normalize: true, positional: true, position: 0 }).
38
- option('name', { needsValue: true, positional: true, position: 1, optional: true }).
39
- option('tls', { needsValue: false }).
40
- options({
41
- port: { needsValue: true, doc: 'http/ws port\n(default: 80 if http, 443 is certificate and key are provided)', aliases: ['p'], optional: true, caseSensitive: false },
42
- tcpPort: { needsValue: true, doc: 'tcp port', aliases: ['tcp-port'], optional: true, caseSensitive: false },
43
- cert: { needsValue: true, doc: 'public certificate', aliases: ['certificate'], optional: true, caseSensitive: false },
44
- key: { needsValue: true, doc: 'private certificate key. Requires public certificate', aliases: ['certificate-key'], optional: true, caseSensitive: false }
45
- }).
46
- preAction((c) => //If pure js file
47
- __awaiter(void 0, void 0, void 0, function* () {
48
- folderOrFile = yield lstat(c.options.program);
49
- if (folderOrFile.isFile() && path.extname(c.options.program) === '.js')
50
- return require(c.options.program);
51
- log = logger(c.options.name);
52
- cliContainer = new ac.Container('cli', {});
53
- if (folderOrFile.isFile())
54
- processor = new ac.Processors.FileSystem(path.dirname(c.options.program));
55
- else
56
- processor = new ac.Processors.FileSystem(c.options.program);
57
- })).
58
- useMiddleware(null, MiddlewareComposite.new(logMiddleware, {
59
- handle: (c) => __awaiter(void 0, void 0, void 0, function* () {
60
- var _a, _b;
61
- cliContainer.name = c.options.name;
62
- isPm = c.options.name === 'pm' && 'file://' + c.options.program === new URL('../../commands.json', import.meta.url).toString();
63
- const init = cliContainer.resolve('$init');
64
- if (init && init.config && init.config.cli && init.config.cli.options) {
65
- if (init.config.cli.usage) {
66
- initMiddleware = initMiddleware.command(init.config.cli.usage, (_b = (_a = init.config) === null || _a === void 0 ? void 0 : _a.doc) === null || _b === void 0 ? void 0 : _b.description);
67
- c.args.unshift('$init');
68
- }
69
- ac.Triggers.addCliOptions(init, initMiddleware);
70
- }
71
- process.on('unhandledRejection', (x, p) => {
72
- controller.abort(x);
73
- return false;
74
- });
75
- process.on('uncaughtException', (x) => {
76
- controller.abort(x);
77
- return false;
78
- });
79
- process.on('SIGINT', () => controller.abort(null));
80
- initMiddleware.option('pmSocket', { aliases: ['pm-socket', 'pm-sock'], needsValue: true }).action((c) => __awaiter(void 0, void 0, void 0, function* () {
81
- let pm;
82
- let pmConnectInfo;
83
- if (!isPm) {
84
- //eslint-disable-next-line @typescript-eslint/no-var-requires
85
- const pmMeta = yield import(new URL('../../commands.json', import.meta.url).toString());
86
- if (process.connected) {
87
- pm = new ac.Container('pm', null, new ac.Processors.JsonRpc(ac.Processors.JsonRpc.getConnection(new IpcAdapter(process), cliContainer), true));
88
- registerCommands(pmMeta.commands, null, pm);
89
- }
90
- else {
91
- if (c.options.pmSocket)
92
- pmConnectInfo = parseMetadata(c.options.pmSocket, c.options.tls);
93
- else
94
- pmConnectInfo = ac.serveMetadata('pm', { args: ['local'], options: {} });
95
- const x = yield ac.connectByPreference(pmConnectInfo, { metadata: pmMeta, container: cliContainer });
96
- pm = x.container;
97
- pm.processor.useMiddleware(20, x.processor);
98
- const connect = pm.resolve('connect');
99
- pm.unregister('connect');
100
- pm.register(new SelfDefinedCommand((name, param) => {
101
- if (name == 'pm')
102
- return pmConnectInfo;
103
- return x.processor.handle(pm, connect, param).then(e => { throw e; }, r => r);
104
- }, 'connect', [
105
- "param.0",
106
- "$param"
107
- ]));
108
- }
109
- // eslint-disable-next-line @typescript-eslint/no-var-requires
110
- pm.unregister(ac.Cli.Metadata.name);
111
- pm.register(ac.Metadata.extractCommandMetadata(ac.Cli.Metadata));
112
- }
113
- else
114
- pm = cliContainer;
115
- coreModule('@akala/pm').register('container', pm);
116
- cliContainer.register(new SelfDefinedCommand((connectionId) => __awaiter(void 0, void 0, void 0, function* () {
117
- if (!pmConnectInfo)
118
- pmConnectInfo = yield pm.dispatch('connect', 'pm');
119
- var pm2 = yield ac.connectByPreference(pmConnectInfo, { container: cliContainer, metadata: yield cliContainer.dispatch('$metadata') });
120
- pm2.container.processor.useMiddleware(20, pm2.processor);
121
- pm2.container.unregister(ac.Cli.Metadata.name);
122
- pm2.container.register(ac.Metadata.extractCommandMetadata(ac.Cli.Metadata));
123
- pm2.container.register(ac.Metadata.extractCommandMetadata(pm.resolve('bridge')));
124
- if (yield pm2.container.dispatch('bridge', connectionId))
125
- throw undefined;
126
- }), '$bridge'));
127
- if (init) {
128
- yield cliContainer.dispatch(init, { options: c.options, param: c.args, _trigger: 'cli', pm: pm, context: c, signal: controller.signal });
129
- }
130
- try {
131
- const serveArgs = yield pm.dispatch('connect', c.options.name);
132
- serveArgs.signal = controller.signal;
133
- yield cliContainer.dispatch('$serve', serveArgs);
134
- }
135
- catch (e) {
136
- if (!e || e.statusCode !== 404)
137
- throw e;
138
- console.warn(e.message);
139
- }
140
- if (pm !== cliContainer)
141
- yield pm.dispatch('ready');
142
- }));
143
- })
144
- }, initMiddleware));
145
- controller.signal.addEventListener('abort', function () {
146
- if (this.reason) {
147
- process.exitCode = 1;
148
- if (this.reason instanceof ErrorMessage)
149
- console.error(this.reason.message);
150
- else
151
- console.error(this.reason);
152
- }
153
- });
154
- program.process(buildCliContextFromProcess()).catch(e => {
155
- setImmediate(() => controller.abort(e));
156
- });
157
- //# sourceMappingURL=fork.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fork.js","sourceRoot":"","sources":["../../src/fork.ts"],"names":[],"mappings":"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"}