@akala/pm 5.0.1 → 5.2.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/changelog.md +14 -1
- package/commands.json +22 -22
- package/dist/cli.js +4 -4
- package/dist/cli.js.map +1 -1
- package/dist/commands/install.js +5 -5
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/link.js +5 -5
- package/dist/commands/link.js.map +1 -1
- package/dist/commands/plugin/add.d.ts +2 -2
- package/dist/commands/plugin/remove.d.ts +2 -2
- package/dist/commands/start.js +4 -4
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/update.js +5 -5
- package/dist/commands/update.js.map +1 -1
- package/dist/{cli-helper.d.ts → esm/cli-helper.d.ts} +1 -1
- package/dist/esm/cli-helper.js +17 -0
- package/dist/esm/cli-helper.js.map +1 -0
- package/dist/{cli.d.ts → esm/cli.d.ts} +0 -0
- package/dist/esm/cli.js +423 -0
- package/dist/esm/cli.js.map +1 -0
- package/dist/{commands → esm/commands}/$init.d.ts +2 -2
- package/dist/esm/commands/$init.js +113 -0
- package/dist/esm/commands/$init.js.map +1 -0
- package/dist/{commands → esm/commands}/bridge.d.ts +1 -1
- package/dist/esm/commands/bridge.js +11 -0
- package/dist/esm/commands/bridge.js.map +1 -0
- package/dist/{commands → esm/commands}/config.d.ts +1 -1
- package/dist/esm/commands/config.js +20 -0
- package/dist/esm/commands/config.js.map +1 -0
- package/dist/{commands → esm/commands}/connect.d.ts +1 -1
- package/dist/esm/commands/connect.js +26 -0
- package/dist/esm/commands/connect.js.map +1 -0
- package/dist/{commands → esm/commands}/discover.d.ts +3 -3
- package/dist/esm/commands/discover.js +72 -0
- package/dist/esm/commands/discover.js.map +1 -0
- package/dist/{commands → esm/commands}/install.d.ts +2 -2
- package/dist/esm/commands/install.js +13 -0
- package/dist/esm/commands/install.js.map +1 -0
- package/dist/{commands → esm/commands}/link.d.ts +2 -2
- package/dist/esm/commands/link.js +11 -0
- package/dist/esm/commands/link.js.map +1 -0
- package/dist/{commands → esm/commands}/log.d.ts +2 -2
- package/dist/esm/commands/log.js +15 -0
- package/dist/esm/commands/log.js.map +1 -0
- package/dist/{commands → esm/commands}/ls.d.ts +1 -1
- package/dist/esm/commands/ls.js +4 -0
- package/dist/esm/commands/ls.js.map +1 -0
- package/dist/{commands → esm/commands}/map.d.ts +1 -1
- package/dist/esm/commands/map.js +9 -0
- package/dist/esm/commands/map.js.map +1 -0
- package/dist/{commands → esm/commands}/name.d.ts +0 -0
- package/dist/esm/commands/name.js +604 -0
- package/dist/esm/commands/name.js.map +1 -0
- package/dist/esm/commands/plugin/add.d.ts +2 -0
- package/dist/esm/commands/plugin/add.js +5 -0
- package/dist/esm/commands/plugin/add.js.map +1 -0
- package/dist/esm/commands/plugin/remove.d.ts +2 -0
- package/dist/esm/commands/plugin/remove.js +7 -0
- package/dist/esm/commands/plugin/remove.js.map +1 -0
- package/dist/{commands → esm/commands}/proxy.d.ts +1 -1
- package/dist/esm/commands/proxy.js +19 -0
- package/dist/esm/commands/proxy.js.map +1 -0
- package/dist/{commands → esm/commands}/ready.d.ts +2 -2
- package/dist/esm/commands/ready.js +22 -0
- package/dist/esm/commands/ready.js.map +1 -0
- package/dist/{commands → esm/commands}/reload-metadata.d.ts +0 -0
- package/dist/esm/commands/reload-metadata.js +7 -0
- package/dist/esm/commands/reload-metadata.js.map +1 -0
- package/dist/{commands → esm/commands}/restart.d.ts +2 -2
- package/dist/esm/commands/restart.js +5 -0
- package/dist/esm/commands/restart.js.map +1 -0
- package/dist/{commands → esm/commands}/start.d.ts +3 -3
- package/dist/esm/commands/start.js +139 -0
- package/dist/esm/commands/start.js.map +1 -0
- package/dist/{commands → esm/commands}/status.d.ts +1 -1
- package/dist/esm/commands/status.js +7 -0
- package/dist/esm/commands/status.js.map +1 -0
- package/dist/{commands → esm/commands}/stop.d.ts +1 -1
- package/dist/esm/commands/stop.js +33 -0
- package/dist/esm/commands/stop.js.map +1 -0
- package/dist/{commands → esm/commands}/update.d.ts +1 -1
- package/dist/esm/commands/update.js +15 -0
- package/dist/esm/commands/update.js.map +1 -0
- package/dist/{commands → esm/commands}/version.d.ts +1 -1
- package/dist/esm/commands/version.js +14 -0
- package/dist/esm/commands/version.js.map +1 -0
- package/dist/esm/container.d.ts +48 -0
- package/dist/esm/container.js +2 -0
- package/dist/esm/container.js.map +1 -0
- package/dist/{fork.d.ts → esm/fork.d.ts} +0 -0
- package/dist/esm/fork.js +146 -0
- package/dist/esm/fork.js.map +1 -0
- package/dist/{index.d.ts → esm/index.d.ts} +4 -4
- package/dist/esm/index.js +43 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/{ipc-adapter.d.ts → esm/ipc-adapter.d.ts} +2 -2
- package/dist/esm/ipc-adapter.js +60 -0
- package/dist/esm/ipc-adapter.js.map +1 -0
- package/dist/{new-line-prefixer.d.ts → esm/new-line-prefixer.d.ts} +2 -2
- package/dist/esm/new-line-prefixer.js +39 -0
- package/dist/esm/new-line-prefixer.js.map +1 -0
- package/dist/{npm-helper.d.ts → esm/npm-helper.d.ts} +0 -0
- package/dist/esm/npm-helper.js +20 -0
- package/dist/esm/npm-helper.js.map +1 -0
- package/dist/{sidecar.d.ts → esm/sidecar.d.ts} +2 -2
- package/dist/esm/sidecar.js +45 -0
- package/dist/esm/sidecar.js.map +1 -0
- package/dist/esm/standalone.d.ts +2 -0
- package/dist/esm/standalone.js +80 -0
- package/dist/esm/standalone.js.map +1 -0
- package/dist/{state.d.ts → esm/state.d.ts} +1 -1
- package/dist/esm/state.js +2 -0
- package/dist/esm/state.js.map +1 -0
- package/dist/{test → esm/test}/pwet.d.ts +0 -0
- package/dist/esm/test/pwet.js +7 -0
- package/dist/esm/test/pwet.js.map +1 -0
- package/dist/{yarn-helper.d.ts → esm/yarn-helper.d.ts} +0 -0
- package/dist/esm/yarn-helper.js +26 -0
- package/dist/esm/yarn-helper.js.map +1 -0
- package/dist/fork.js +8 -5
- package/dist/fork.js.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/npm-helper.js +4 -4
- package/dist/npm-helper.js.map +1 -1
- package/dist/sidecar.js +4 -4
- package/dist/sidecar.js.map +1 -1
- package/dist/standalone.js +108 -0
- package/dist/standalone.js.map +1 -0
- package/dist/test/pwet.js +2 -2
- package/dist/test/pwet.js.map +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/yarn-helper.js +4 -4
- package/dist/yarn-helper.js.map +1 -1
- package/package.json +24 -12
- package/src/cli.ts +4 -4
- package/src/commands/$init.ts +2 -2
- package/src/commands/bridge.ts +1 -1
- package/src/commands/config.ts +1 -1
- package/src/commands/connect.ts +1 -1
- package/src/commands/discover.ts +3 -3
- package/src/commands/install.ts +4 -4
- package/src/commands/link.ts +4 -4
- package/src/commands/log.ts +1 -1
- package/src/commands/ls.ts +1 -1
- package/src/commands/map.ts +1 -1
- package/src/commands/plugin/add.ts +1 -1
- package/src/commands/plugin/remove.ts +1 -1
- package/src/commands/proxy.ts +1 -1
- package/src/commands/ready.ts +2 -2
- package/src/commands/restart.ts +1 -1
- package/src/commands/start.ts +4 -4
- package/src/commands/status.ts +1 -1
- package/src/commands/stop.ts +1 -1
- package/src/commands/update.ts +3 -3
- package/src/commands/version.ts +1 -1
- package/src/container.ts +41 -41
- package/src/fork.ts +8 -4
- package/src/index.ts +4 -4
- package/src/npm-helper.ts +1 -1
- package/src/sidecar.ts +2 -2
- package/src/standalone.ts +106 -0
- package/src/test/pwet.ts +1 -1
- package/src/yarn-helper.ts +1 -1
- package/tsconfig.cjs.json +22 -0
- package/tsconfig.esm.json +22 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/yarn-error.log +11177 -0
- package/dist/container.d.ts +0 -48
package/dist/esm/fork.js
ADDED
@@ -0,0 +1,146 @@
|
|
1
|
+
#!/usr/bin/env node
|
2
|
+
import sms from 'source-map-support';
|
3
|
+
sms.install();
|
4
|
+
import * as path from 'path';
|
5
|
+
import * as ac from '@akala/commands';
|
6
|
+
import { lstat } from 'fs/promises';
|
7
|
+
import { IpcAdapter } from "./ipc-adapter.js";
|
8
|
+
import { logger, MiddlewareComposite, module as coreModule } from '@akala/core';
|
9
|
+
import program, { buildCliContextFromProcess, ErrorMessage, NamespaceMiddleware } from '@akala/cli';
|
10
|
+
import { registerCommands, SelfDefinedCommand, parseMetadata } from '@akala/commands';
|
11
|
+
var isPm = false;
|
12
|
+
program.option('help');
|
13
|
+
let folderOrFile;
|
14
|
+
let cliContainer;
|
15
|
+
let processor;
|
16
|
+
let log;
|
17
|
+
const logMiddleware = new NamespaceMiddleware(null).option('verbose', { aliases: ['v',] });
|
18
|
+
logMiddleware.preAction(async (c) => {
|
19
|
+
if (c.options.verbose)
|
20
|
+
processor = new ac.Processors.LogProcessor(processor, (cmd, params) => {
|
21
|
+
log.verbose({ cmd, params });
|
22
|
+
return Promise.resolve();
|
23
|
+
});
|
24
|
+
await ac.Processors.FileSystem.discoverCommands(c.options.program, cliContainer, { processor: processor, isDirectory: folderOrFile.isDirectory() });
|
25
|
+
});
|
26
|
+
let initMiddleware = new NamespaceMiddleware(null);
|
27
|
+
const controller = new AbortController();
|
28
|
+
program.option('program', { needsValue: true, normalize: true }).
|
29
|
+
option('name', { needsValue: true }).
|
30
|
+
option('tls', { needsValue: false }).
|
31
|
+
options({
|
32
|
+
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 },
|
33
|
+
tcpPort: { needsValue: true, doc: 'tcp port', aliases: ['tcp-port'], optional: true, caseSensitive: false },
|
34
|
+
cert: { needsValue: true, doc: 'public certificate', aliases: ['certificate'], optional: true, caseSensitive: false },
|
35
|
+
key: { needsValue: true, doc: 'private certificate key. Requires public certificate', aliases: ['certificate-key'], optional: true, caseSensitive: false }
|
36
|
+
}).
|
37
|
+
preAction(async (c) => //If pure js file
|
38
|
+
{
|
39
|
+
folderOrFile = await lstat(c.options.program);
|
40
|
+
if (folderOrFile.isFile() && path.extname(c.options.program) === '.js')
|
41
|
+
return require(c.options.program);
|
42
|
+
log = logger(c.options.name);
|
43
|
+
cliContainer = new ac.Container('cli', {});
|
44
|
+
if (folderOrFile.isFile())
|
45
|
+
processor = new ac.Processors.FileSystem(path.dirname(c.options.program));
|
46
|
+
else
|
47
|
+
processor = new ac.Processors.FileSystem(c.options.program);
|
48
|
+
}).
|
49
|
+
useMiddleware(null, MiddlewareComposite.new(logMiddleware, {
|
50
|
+
handle: async (c) => {
|
51
|
+
cliContainer.name = c.options.name;
|
52
|
+
isPm = c.options.name === 'pm' && c.options.program === require.resolve('../commands.json');
|
53
|
+
const init = cliContainer.resolve('$init');
|
54
|
+
if (init && init.config && init.config.cli && init.config.cli.options) {
|
55
|
+
if (init.config.cli.usage)
|
56
|
+
initMiddleware = initMiddleware.command(init.config.cli.usage, init.config?.doc?.description);
|
57
|
+
ac.Triggers.addCliOptions(init, initMiddleware);
|
58
|
+
}
|
59
|
+
process.on('unhandledRejection', (x) => {
|
60
|
+
controller.abort(x);
|
61
|
+
return false;
|
62
|
+
});
|
63
|
+
process.on('uncaughtException', (x) => {
|
64
|
+
controller.abort(x);
|
65
|
+
return false;
|
66
|
+
});
|
67
|
+
process.on('SIGINT', () => controller.abort(null));
|
68
|
+
initMiddleware.option('pmSocket', { aliases: ['pm-socket', 'pm-sock'], needsValue: true }).action(async (c) => {
|
69
|
+
let pm;
|
70
|
+
let pmConnectInfo;
|
71
|
+
if (!isPm) {
|
72
|
+
//eslint-disable-next-line @typescript-eslint/no-var-requires
|
73
|
+
const pmMeta = require('../commands.json');
|
74
|
+
if (process.connected) {
|
75
|
+
pm = new ac.Container('pm', null, new ac.Processors.JsonRpc(ac.Processors.JsonRpc.getConnection(new IpcAdapter(process), cliContainer), true));
|
76
|
+
registerCommands(pmMeta.commands, null, pm);
|
77
|
+
}
|
78
|
+
else {
|
79
|
+
if (c.options.pmSocket)
|
80
|
+
pmConnectInfo = parseMetadata(c.options.pmSocket, c.options.tls);
|
81
|
+
else
|
82
|
+
pmConnectInfo = ac.serveMetadata('pm', { args: ['local'], options: {} });
|
83
|
+
const x = await ac.connectByPreference(pmConnectInfo, { metadata: pmMeta, container: cliContainer });
|
84
|
+
pm = x.container;
|
85
|
+
pm.processor.useMiddleware(20, x.processor);
|
86
|
+
const connect = pm.resolve('connect');
|
87
|
+
pm.unregister('connect');
|
88
|
+
pm.register(new SelfDefinedCommand((name, param) => {
|
89
|
+
if (name == 'pm')
|
90
|
+
return pmConnectInfo;
|
91
|
+
return x.processor.handle(pm, connect, param).then(e => { throw e; }, r => r);
|
92
|
+
}, 'connect', [
|
93
|
+
"param.0",
|
94
|
+
"$param"
|
95
|
+
]));
|
96
|
+
}
|
97
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
98
|
+
pm.unregister(ac.Cli.Metadata.name);
|
99
|
+
pm.register(ac.Metadata.extractCommandMetadata(ac.Cli.Metadata));
|
100
|
+
}
|
101
|
+
else
|
102
|
+
pm = cliContainer;
|
103
|
+
coreModule('@akala/pm').register('container', pm);
|
104
|
+
cliContainer.register(new SelfDefinedCommand(async (connectionId) => {
|
105
|
+
if (!pmConnectInfo)
|
106
|
+
pmConnectInfo = await pm.dispatch('connect', 'pm');
|
107
|
+
var pm2 = await ac.connectByPreference(pmConnectInfo, { container: cliContainer });
|
108
|
+
pm2.container.processor.useMiddleware(20, pm2.processor);
|
109
|
+
pm2.container.unregister(ac.Cli.Metadata.name);
|
110
|
+
pm2.container.register(ac.Metadata.extractCommandMetadata(ac.Cli.Metadata));
|
111
|
+
pm2.container.register(ac.Metadata.extractCommandMetadata(pm.resolve('bridge')));
|
112
|
+
if (await pm2.container.dispatch('bridge', connectionId))
|
113
|
+
throw undefined;
|
114
|
+
}, '$bridge'));
|
115
|
+
if (init) {
|
116
|
+
await cliContainer.dispatch(init, { options: c.options, param: c.args, _trigger: 'cli', pm: pm, context: c, signal: controller.signal });
|
117
|
+
}
|
118
|
+
try {
|
119
|
+
const serveArgs = await pm.dispatch('connect', c.options.name);
|
120
|
+
serveArgs.signal = controller.signal;
|
121
|
+
await cliContainer.dispatch('$serve', serveArgs);
|
122
|
+
}
|
123
|
+
catch (e) {
|
124
|
+
if (!e || e.statusCode !== 404)
|
125
|
+
throw e;
|
126
|
+
console.warn(e.message);
|
127
|
+
}
|
128
|
+
if (pm !== cliContainer)
|
129
|
+
await pm.dispatch('ready');
|
130
|
+
});
|
131
|
+
}
|
132
|
+
}, initMiddleware));
|
133
|
+
controller.signal.addEventListener('abort', function () {
|
134
|
+
if (this.reason) {
|
135
|
+
process.exitCode = 1;
|
136
|
+
if (this.reason instanceof ErrorMessage)
|
137
|
+
console.error(this.reason.message);
|
138
|
+
else
|
139
|
+
console.error(this.reason);
|
140
|
+
}
|
141
|
+
});
|
142
|
+
if (require.main == module)
|
143
|
+
program.process(buildCliContextFromProcess()).catch(e => {
|
144
|
+
setImmediate(() => controller.abort(e));
|
145
|
+
});
|
146
|
+
//# sourceMappingURL=fork.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"fork.js","sourceRoot":"","sources":["../../src/fork.ts"],"names":[],"mappings":"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"}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { Container, Metadata, ServeMetadata, ConnectionPreference } from "@akala/commands";
|
2
|
-
import definition from './container';
|
2
|
+
import definition from './container.js';
|
3
3
|
type pmContainer = definition.container;
|
4
4
|
export { pmContainer as Container };
|
5
|
-
import State from './state';
|
5
|
+
import State from './state.js';
|
6
6
|
export { State };
|
7
7
|
export declare class InteractError extends Error {
|
8
8
|
as?: string;
|
@@ -32,7 +32,7 @@ export interface SidecarMap {
|
|
32
32
|
[key: string]: ContainerLite;
|
33
33
|
pm: pmContainer;
|
34
34
|
}
|
35
|
-
import getRandomName from './commands/name';
|
36
|
-
import sidecarSingleton, { sidecar } from "./sidecar";
|
35
|
+
import getRandomName from './commands/name.js';
|
36
|
+
import sidecarSingleton, { sidecar } from "./sidecar.js";
|
37
37
|
export { sidecar, sidecarSingleton };
|
38
38
|
export { getRandomName };
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { Container, NetSocketAdapter, Processors, registerCommands, Cli } from "@akala/commands";
|
2
|
+
import { Socket } from "net";
|
3
|
+
import { module } from "@akala/core";
|
4
|
+
export class InteractError extends Error {
|
5
|
+
as;
|
6
|
+
code = 'INTERACT';
|
7
|
+
constructor(message, as) {
|
8
|
+
super(message);
|
9
|
+
this.as = as;
|
10
|
+
}
|
11
|
+
toJSON() {
|
12
|
+
return { code: this.code, message: this.message, as: this.as };
|
13
|
+
}
|
14
|
+
}
|
15
|
+
export default function interact(message, as) {
|
16
|
+
throw new InteractError(message, as);
|
17
|
+
}
|
18
|
+
export async function pm(socketPath) {
|
19
|
+
if (socketPath) {
|
20
|
+
const pmSocket = new Socket();
|
21
|
+
const pm = new Container('pm', null, new Processors.JsonRpc(Processors.JsonRpc.getConnection(new NetSocketAdapter(pmSocket)), true));
|
22
|
+
pmSocket.connect(socketPath);
|
23
|
+
const metaContainer = await pm.handle(pm, Cli.Metadata, { param: [] }).then(err => { throw err; }, res => res);
|
24
|
+
registerCommands(metaContainer.commands, null, pm);
|
25
|
+
return pm;
|
26
|
+
}
|
27
|
+
return new Container('pm', {});
|
28
|
+
}
|
29
|
+
export async function connect(name, container) {
|
30
|
+
container = container || module('@akala/pm').resolve('container');
|
31
|
+
if (name === 'pm') {
|
32
|
+
const metaContainer = await container.dispatch('$metadata');
|
33
|
+
return { connect: container.dispatch('connect', name), container: metaContainer };
|
34
|
+
}
|
35
|
+
const metaContainer = await container.dispatch('$metadata', true);
|
36
|
+
return { connect: container.dispatch('connect', name), container: { name, commands: metaContainer.commands.filter(c => c.name.startsWith(name + '.')).map(c => ({ name: c.name.substring(name.length + 1), config: c.config })) } };
|
37
|
+
}
|
38
|
+
export const defaultOrders = ['ssocket', 'socket', 'wss', 'ws'];
|
39
|
+
import getRandomName from './commands/name.js';
|
40
|
+
import sidecarSingleton, { sidecar } from "./sidecar.js";
|
41
|
+
export { sidecar, sidecarSingleton };
|
42
|
+
export { getRandomName };
|
43
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAuC,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAChJ,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAUrC,MAAM,OAAO,aAAc,SAAQ,KAAK;IAIA;IAFpB,IAAI,GAAG,UAAU,CAAC;IAElC,YAAY,OAAe,EAAS,EAAW;QAE3C,KAAK,CAAC,OAAO,CAAC,CAAC;QAFiB,OAAE,GAAF,EAAE,CAAS;IAG/C,CAAC;IAEM,MAAM;QAET,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;IACnE,CAAC;CACJ;AAED,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,OAAe,EAAE,EAAW;IAEzD,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,UAAmB;IAExC,IAAI,UAAU,EACd;QACI,MAAM,QAAQ,GAAG,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QACrI,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7B,MAAM,aAAa,GAAuB,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,GAAG,CAAA,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAClI,gBAAgB,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACnD,OAAO,EAAE,CAAC;KACb;IACD,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAY,EAAE,SAAyC;IAEjF,SAAS,GAAG,SAAS,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAClE,IAAI,IAAI,KAAK,IAAI,EACjB;QACI,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAuB,CAAC;QAClF,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAA2B,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;KAC/G;IACD,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAuB,CAAC;IAExF,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAA2B,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;AAClQ,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAA4B,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAkBzF,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,gBAAgB,EAAE,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
@@ -1,6 +1,6 @@
|
|
1
|
-
/// <reference types="node" />
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
2
2
|
/// <reference types="webpack-env" />
|
3
|
-
/// <reference types="node" />
|
3
|
+
/// <reference types="node" resolution-mode="require"/>
|
4
4
|
import { ChildProcess } from "child_process";
|
5
5
|
import * as jsonrpc from '@akala/json-rpc-ws';
|
6
6
|
import { SocketAdapterEventMap } from "@akala/json-rpc-ws";
|
@@ -0,0 +1,60 @@
|
|
1
|
+
export class IpcAdapter {
|
2
|
+
cp;
|
3
|
+
get open() { return !!this.cp.pid; }
|
4
|
+
pipe(socket) {
|
5
|
+
this.on('message', (message) => socket.send(message));
|
6
|
+
this.on('close', () => socket.close());
|
7
|
+
}
|
8
|
+
close() {
|
9
|
+
this.cp.disconnect();
|
10
|
+
}
|
11
|
+
send(data) {
|
12
|
+
if (this.cp.send)
|
13
|
+
this.cp.send(data + '\n');
|
14
|
+
else
|
15
|
+
console.warn(`process ${this.cp.pid} does not support send over IPC`);
|
16
|
+
}
|
17
|
+
off(event, handler) {
|
18
|
+
switch (event) {
|
19
|
+
case 'message':
|
20
|
+
this.cp.off('message', handler);
|
21
|
+
break;
|
22
|
+
case 'open':
|
23
|
+
handler(null);
|
24
|
+
break;
|
25
|
+
case 'close':
|
26
|
+
this.cp.off('disconnect', handler);
|
27
|
+
break;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
on(event, handler) {
|
31
|
+
switch (event) {
|
32
|
+
case 'message':
|
33
|
+
this.cp.on('message', handler);
|
34
|
+
break;
|
35
|
+
case 'open':
|
36
|
+
handler(null);
|
37
|
+
break;
|
38
|
+
case 'close':
|
39
|
+
this.cp.on('disconnect', handler);
|
40
|
+
break;
|
41
|
+
}
|
42
|
+
}
|
43
|
+
once(event, handler) {
|
44
|
+
switch (event) {
|
45
|
+
case 'message':
|
46
|
+
this.cp.once('message', handler);
|
47
|
+
break;
|
48
|
+
case 'open':
|
49
|
+
handler(null);
|
50
|
+
break;
|
51
|
+
case 'close':
|
52
|
+
this.cp.once('disconnect', () => handler(null));
|
53
|
+
break;
|
54
|
+
}
|
55
|
+
}
|
56
|
+
constructor(cp) {
|
57
|
+
this.cp = cp;
|
58
|
+
}
|
59
|
+
}
|
60
|
+
//# sourceMappingURL=ipc-adapter.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ipc-adapter.js","sourceRoot":"","sources":["../../src/ipc-adapter.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,UAAU;IAsEC;IApEpB,IAAI,IAAI,KAAc,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAG7C,IAAI,CAAC,MAAsC;QAEvC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK;QAED,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;IACzB,CAAC;IACD,IAAI,CAAC,IAAY;QAEb,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI;YACZ,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;;YAG1B,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC,GAAG,iCAAiC,CAAC,CAAC;IAC9E,CAAC;IACD,GAAG,CAAwC,KAAQ,EAAE,OAA+C;QAEhG,QAAQ,KAAK,EACb;YACI,KAAK,SAAS;gBACV,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAChC,MAAM;YACV,KAAK,MAAM;gBACP,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,MAAM;YACV,KAAK,OAAO;gBACR,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACnC,MAAM;SACb;IACL,CAAC;IACD,EAAE,CAAwC,KAAQ,EAAE,OAA+C;QAE/F,QAAQ,KAAK,EACb;YACI,KAAK,SAAS;gBACV,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC/B,MAAM;YACV,KAAK,MAAM;gBACP,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,MAAM;YACV,KAAK,OAAO;gBACR,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBAClC,MAAM;SACb;IACL,CAAC;IAED,IAAI,CAAwC,KAAQ,EAAE,OAA+C;QAEjG,QAAQ,KAAK,EACb;YACI,KAAK,SAAS;gBACV,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACjC,MAAM;YACV,KAAK,MAAM;gBACP,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,MAAM;YACV,KAAK,OAAO;gBACR,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChD,MAAM;SACb;IACL,CAAC;IAED,YAAoB,EAAiC;QAAjC,OAAE,GAAF,EAAE,CAA+B;IAErD,CAAC;CAEJ"}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
/// <reference types="node" />
|
2
|
-
/// <reference types="node" />
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
3
3
|
import { Transform, TransformCallback } from "stream";
|
4
4
|
interface Options {
|
5
5
|
useColors?: boolean;
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import { Transform } from "stream";
|
2
|
+
const colors = [6, 2, 3, 4, 5, 1];
|
3
|
+
function selectColor(namespace) {
|
4
|
+
let hash = 0;
|
5
|
+
for (let i = 0; i < namespace.length; i++) {
|
6
|
+
hash = ((hash << 5) - hash) + namespace.charCodeAt(i);
|
7
|
+
hash |= 0; // Convert to 32bit integer
|
8
|
+
}
|
9
|
+
return colors[Math.abs(hash) % colors.length];
|
10
|
+
}
|
11
|
+
export class NewLinePrefixer extends Transform {
|
12
|
+
prefix;
|
13
|
+
constructor(prefix, options) {
|
14
|
+
super();
|
15
|
+
this.prefix = prefix;
|
16
|
+
this.setDefaultEncoding('utf8');
|
17
|
+
this.setEncoding('utf8');
|
18
|
+
if (options?.useColors) {
|
19
|
+
const c = selectColor(prefix);
|
20
|
+
const colorCode = '\u001B[3' + (c < 8 ? c : '8;5;' + c);
|
21
|
+
this.prefix = ` ${colorCode};1m${prefix} \u001B[0m`;
|
22
|
+
}
|
23
|
+
}
|
24
|
+
blankNewLine = true;
|
25
|
+
_transform(chunk, encoding, callback) {
|
26
|
+
if (Buffer.isBuffer(chunk)) {
|
27
|
+
if (encoding == 'buffer')
|
28
|
+
encoding = 'utf8';
|
29
|
+
chunk = chunk.toString(encoding || 'utf8');
|
30
|
+
}
|
31
|
+
if (typeof chunk != 'string')
|
32
|
+
throw new Error(`Unsupported chunk type ${typeof chunk}`);
|
33
|
+
if (this.blankNewLine)
|
34
|
+
chunk = this.prefix + chunk;
|
35
|
+
this.blankNewLine = /\n$/.test(chunk);
|
36
|
+
callback(null, chunk.replace(/\n([^$])/g, `\n${this.prefix}$1`));
|
37
|
+
}
|
38
|
+
}
|
39
|
+
//# sourceMappingURL=new-line-prefixer.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"new-line-prefixer.js","sourceRoot":"","sources":["../../src/new-line-prefixer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,MAAM,QAAQ,CAAC;AAOtD,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAElC,SAAS,WAAW,CAAC,SAAS;IAE1B,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EACzC;QACI,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,CAAC,CAAC,2BAA2B;KACzC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAEtB;IAApB,YAAoB,MAAc,EAAE,OAAiB;QAEjD,KAAK,EAAE,CAAC;QAFQ,WAAM,GAAN,MAAM,CAAQ;QAG9B,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,OAAO,EAAE,SAAS,EACtB;YACI,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAC9B,MAAM,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,GAAG,KAAK,SAAS,MAAM,MAAM,YAAY,CAAC;SACxD;IACL,CAAC;IAEO,YAAY,GAAG,IAAI,CAAC;IAE5B,UAAU,CAAC,KAAsB,EAAE,QAAmC,EAAE,QAA2B;QAE/F,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC1B;YACI,IAAI,QAAQ,IAAI,QAAQ;gBACpB,QAAQ,GAAG,MAAM,CAAC;YACtB,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC;SAC9C;QAED,IAAI,OAAO,KAAK,IAAI,QAAQ;YACxB,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,KAAK,EAAE,CAAC,CAAA;QAE7D,IAAI,IAAI,CAAC,YAAY;YACjB,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEhC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAA;IAEpE,CAAC;CACJ"}
|
File without changes
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { platform } from "os";
|
2
|
+
import { spawnAsync } from './cli-helper.js';
|
3
|
+
// if (typeof (process.versions.pnp) != 'undefined')
|
4
|
+
// {
|
5
|
+
// }
|
6
|
+
let npm = 'npm';
|
7
|
+
if (platform() == 'win32')
|
8
|
+
npm = 'npm.cmd';
|
9
|
+
export default {
|
10
|
+
async install(packageName, path) {
|
11
|
+
await spawnAsync(npm, {}, 'i', packageName, '--prefix', path || process.cwd(), '--production');
|
12
|
+
},
|
13
|
+
async update(packageName, path) {
|
14
|
+
await spawnAsync(npm, {}, 'up', packageName, '--prefix', path || process.cwd(), '--production');
|
15
|
+
},
|
16
|
+
async link(packageName, path) {
|
17
|
+
await spawnAsync(npm, { cwd: path || process.cwd() }, 'link', packageName);
|
18
|
+
}
|
19
|
+
};
|
20
|
+
//# sourceMappingURL=npm-helper.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"npm-helper.js","sourceRoot":"","sources":["../../src/npm-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,oDAAoD;AACpD,IAAI;AAEJ,IAAI;AAEJ,IAAI,GAAG,GAAG,KAAK,CAAC;AAChB,IAAI,QAAQ,EAAE,IAAI,OAAO;IACrB,GAAG,GAAG,SAAS,CAAC;AAEpB,eACI;IACI,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,IAAa;QAE5C,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;IACnG,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,IAAa;QAE3C,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;IACpG,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,WAAmB,EAAE,IAAa;QAEzC,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;IAC9E,CAAC;CACJ,CAAA"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { ConnectionPreference, Container } from "@akala/commands";
|
2
|
-
import { SideCarConnectionPreference, Sidecar } from "./index";
|
3
|
-
import pm from './container';
|
2
|
+
import { SideCarConnectionPreference, Sidecar } from "./index.js";
|
3
|
+
import pm from './container.js';
|
4
4
|
export default function (options?: {
|
5
5
|
pm?: pm.container & Container<void>;
|
6
6
|
} & (Omit<ConnectionPreference, 'metadata'> | SideCarConnectionPreference | Omit<ConnectionPreference, 'metadata'> & SideCarConnectionPreference), noCache?: boolean): Sidecar;
|
@@ -0,0 +1,45 @@
|
|
1
|
+
import { connectByPreference, updateCommands } from "@akala/commands";
|
2
|
+
import { defaultOrders, connect } from "./index.js";
|
3
|
+
import * as ac from '@akala/commands';
|
4
|
+
let instance;
|
5
|
+
export default function (options, noCache) {
|
6
|
+
return instance || (instance = sidecar(options, noCache));
|
7
|
+
}
|
8
|
+
export function sidecar(options, noCache) {
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
10
|
+
return new Proxy({}, {
|
11
|
+
get(target, property) {
|
12
|
+
if (typeof (property) !== 'string')
|
13
|
+
return Reflect.get(target, property);
|
14
|
+
const orders = options && options[property] && options[property].orders || defaultOrders;
|
15
|
+
if (!options)
|
16
|
+
options = {};
|
17
|
+
if (typeof options.preferRemote == 'undefined')
|
18
|
+
options.preferRemote = !process.connected;
|
19
|
+
if (noCache || typeof (target[property]) == 'undefined')
|
20
|
+
Object.defineProperty(target, property, {
|
21
|
+
value: connect(property, options.pm).then(async (meta) => {
|
22
|
+
try {
|
23
|
+
const c = await connectByPreference(await meta.connect, Object.assign({ metadata: meta.container }, options, options && options[property]), ...orders);
|
24
|
+
return c.container;
|
25
|
+
}
|
26
|
+
catch (e) {
|
27
|
+
if (e && e.statusCode == 404 || !meta.connect) {
|
28
|
+
return await connect('pm', options.pm).then(async (meta) => {
|
29
|
+
const c = await connectByPreference(await meta.connect, Object.assign({ metadata: meta.container }, options, options && options[property]), ...orders);
|
30
|
+
await c.container.dispatch('proxy', property);
|
31
|
+
c.container.unregister(ac.Cli.Metadata.name);
|
32
|
+
c.container.register(Object.assign(ac.Metadata.extractCommandMetadata(ac.Cli.Metadata), { processor: c.processor }));
|
33
|
+
updateCommands((await c.container.dispatch('$metadata', true)).commands, c.processor, c.container);
|
34
|
+
return c.container;
|
35
|
+
});
|
36
|
+
}
|
37
|
+
throw e;
|
38
|
+
}
|
39
|
+
})
|
40
|
+
});
|
41
|
+
return target[property];
|
42
|
+
}
|
43
|
+
});
|
44
|
+
}
|
45
|
+
//# sourceMappingURL=sidecar.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sidecar.js","sourceRoot":"","sources":["../../src/sidecar.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,80 @@
|
|
1
|
+
#!/usr/bin/env node
|
2
|
+
import sms from 'source-map-support';
|
3
|
+
sms.install();
|
4
|
+
import * as path from 'path';
|
5
|
+
import * as ac from '@akala/commands';
|
6
|
+
import { lstat } from 'fs/promises';
|
7
|
+
import { logger, MiddlewareComposite } from '@akala/core';
|
8
|
+
import program, { buildCliContextFromProcess, ErrorMessage, NamespaceMiddleware } from '@akala/cli';
|
9
|
+
program.option('help');
|
10
|
+
let folderOrFile;
|
11
|
+
let cliContainer;
|
12
|
+
let processor;
|
13
|
+
let log;
|
14
|
+
const logMiddleware = new NamespaceMiddleware(null).option('verbose', { aliases: ['v',] });
|
15
|
+
logMiddleware.preAction(async (c) => {
|
16
|
+
if (c.options.verbose)
|
17
|
+
processor = new ac.Processors.LogProcessor(processor, (cmd, params) => {
|
18
|
+
log.verbose({ cmd, params });
|
19
|
+
return Promise.resolve();
|
20
|
+
});
|
21
|
+
await ac.Processors.FileSystem.discoverCommands(c.options.program, cliContainer, { processor: processor, isDirectory: folderOrFile.isDirectory() });
|
22
|
+
});
|
23
|
+
const initMiddleware = new NamespaceMiddleware(null);
|
24
|
+
const controller = new AbortController();
|
25
|
+
program.option('program', { needsValue: true, normalize: true }).
|
26
|
+
option('name', { needsValue: true }).
|
27
|
+
option('tls', { needsValue: false }).
|
28
|
+
options({
|
29
|
+
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 },
|
30
|
+
tcpPort: { needsValue: true, doc: 'tcp port', aliases: ['tcp-port'], optional: true, caseSensitive: false },
|
31
|
+
cert: { needsValue: true, doc: 'public certificate', aliases: ['certificate'], optional: true, caseSensitive: false },
|
32
|
+
key: { needsValue: true, doc: 'private certificate key. Requires public certificate', aliases: ['certificate-key'], optional: true, caseSensitive: false }
|
33
|
+
}).
|
34
|
+
preAction(async (c) => //If pure js file
|
35
|
+
{
|
36
|
+
folderOrFile = await lstat(c.options.program);
|
37
|
+
if (folderOrFile.isFile() && path.extname(c.options.program) === '.js')
|
38
|
+
return require(c.options.program);
|
39
|
+
log = logger(c.options.name);
|
40
|
+
cliContainer = new ac.Container('cli', {});
|
41
|
+
if (folderOrFile.isFile())
|
42
|
+
processor = new ac.Processors.FileSystem(path.dirname(c.options.program));
|
43
|
+
else
|
44
|
+
processor = new ac.Processors.FileSystem(c.options.program);
|
45
|
+
}).
|
46
|
+
useMiddleware(null, MiddlewareComposite.new(logMiddleware, {
|
47
|
+
handle: async (c) => {
|
48
|
+
cliContainer.name = c.options.name;
|
49
|
+
const init = cliContainer.resolve('$init');
|
50
|
+
if (init && init.config && init.config.cli && init.config.cli.options)
|
51
|
+
ac.Triggers.addCliOptions(init, initMiddleware);
|
52
|
+
process.on('unhandledRejection', (x) => {
|
53
|
+
controller.abort(x);
|
54
|
+
return false;
|
55
|
+
});
|
56
|
+
process.on('uncaughtException', (x) => {
|
57
|
+
controller.abort(x);
|
58
|
+
return false;
|
59
|
+
});
|
60
|
+
process.on('SIGINT', () => controller.abort(null));
|
61
|
+
initMiddleware.action(async (c) => {
|
62
|
+
if (init)
|
63
|
+
await cliContainer.dispatch(init, { options: c.options, param: c.args, _trigger: 'cli', context: c });
|
64
|
+
});
|
65
|
+
}
|
66
|
+
}, initMiddleware));
|
67
|
+
controller.signal.addEventListener('abort', function () {
|
68
|
+
if (this.reason) {
|
69
|
+
process.exitCode = 1;
|
70
|
+
if (this.reason instanceof ErrorMessage)
|
71
|
+
console.error(this.reason.message);
|
72
|
+
else
|
73
|
+
console.error(this.reason);
|
74
|
+
}
|
75
|
+
});
|
76
|
+
if (require.main == module)
|
77
|
+
program.process(buildCliContextFromProcess()).catch(e => {
|
78
|
+
setImmediate(() => controller.abort(e));
|
79
|
+
});
|
80
|
+
//# sourceMappingURL=standalone.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"standalone.js","sourceRoot":"","sources":["../../src/standalone.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":""}
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"pwet.js","sourceRoot":"","sources":["../../../src/test/pwet.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,aAAa,CAAC;AAEnC,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,CAAS;IAExC,IAAI,CAAC,CAAC;QACF,QAAQ,CAAC,kBAAkB,CAAC,CAAA;IAChC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC"}
|
File without changes
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { platform } from "os";
|
2
|
+
import { stat } from 'fs';
|
3
|
+
import { promisify } from 'util';
|
4
|
+
import { spawnAsync } from './cli-helper.js';
|
5
|
+
import { join } from 'path';
|
6
|
+
// if (typeof (process.versions.pnp) != 'undefined')
|
7
|
+
// {
|
8
|
+
// }
|
9
|
+
export function hasYarn(path) {
|
10
|
+
return promisify(stat)(join(path || process.cwd(), './yarn.lock')).then(f => f.isFile());
|
11
|
+
}
|
12
|
+
let npm = 'yarn';
|
13
|
+
if (platform() == 'win32')
|
14
|
+
npm = 'yarn.cmd';
|
15
|
+
export default {
|
16
|
+
async install(packageName, path) {
|
17
|
+
await spawnAsync(npm, { cwd: path }, 'add', packageName, '--production');
|
18
|
+
},
|
19
|
+
async update(packageName, path) {
|
20
|
+
await spawnAsync(npm, { cwd: path }, 'upgrade', packageName, '--production');
|
21
|
+
},
|
22
|
+
async link(packageName, path) {
|
23
|
+
await spawnAsync(npm, { cwd: path }, 'link', packageName, '--production');
|
24
|
+
}
|
25
|
+
};
|
26
|
+
//# sourceMappingURL=yarn-helper.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"yarn-helper.js","sourceRoot":"","sources":["../../src/yarn-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,oDAAoD;AACpD,IAAI;AAEJ,IAAI;AAEJ,MAAM,UAAU,OAAO,CAAC,IAAa;IAEjC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;AAC5F,CAAC;AAED,IAAI,GAAG,GAAG,MAAM,CAAC;AACjB,IAAI,QAAQ,EAAE,IAAI,OAAO;IACrB,GAAG,GAAG,UAAU,CAAC;AAErB,eACI;IACI,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,IAAa;QAE5C,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,CAAC,CAAA;IAC5E,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,IAAa;QAE3C,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,CAAC,CAAA;IAChF,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,WAAmB,EAAE,IAAa;QAEzC,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAA;IAC7E,CAAC;CACJ,CAAA"}
|