@akala/pm 8.1.29 → 9.0.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.
Files changed (142) hide show
  1. package/changelog.md +19 -1
  2. package/commands.json +7 -2
  3. package/dist/esm/akala.d.mts +2 -1
  4. package/dist/esm/akala.mjs +4 -5
  5. package/dist/esm/akala.mjs.map +1 -1
  6. package/dist/esm/cli-commands/start-self.d.ts +0 -1
  7. package/dist/esm/cli-commands/start-self.js.map +1 -1
  8. package/dist/esm/cli-helper.d.ts +0 -1
  9. package/dist/esm/cli.js.map +1 -1
  10. package/dist/esm/commands/$init.js.map +1 -1
  11. package/dist/esm/commands/log.d.ts +0 -1
  12. package/dist/esm/commands/restart.d.ts +0 -1
  13. package/dist/esm/commands/start.d.ts +0 -1
  14. package/dist/esm/commands/start.js +1 -1
  15. package/dist/esm/commands/start.js.map +1 -1
  16. package/dist/esm/container.d.ts +5 -2
  17. package/dist/esm/container.js +13 -1
  18. package/dist/esm/container.js.map +1 -1
  19. package/dist/esm/fork.js +3 -3
  20. package/dist/esm/fork.js.map +1 -1
  21. package/dist/esm/index.js +1 -1
  22. package/dist/esm/index.js.map +1 -1
  23. package/dist/esm/ipc-adapter.d.ts +0 -3
  24. package/dist/esm/new-line-prefixer.d.ts +0 -2
  25. package/dist/esm/sidecar.js +7 -0
  26. package/dist/esm/sidecar.js.map +1 -1
  27. package/dist/esm/standalone.js +2 -2
  28. package/dist/esm/standalone.js.map +1 -1
  29. package/dist/esm/state.d.ts +0 -1
  30. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  31. package/package.json +8 -8
  32. package/src/akala.mts +3 -4
  33. package/src/cli-commands/start-self.ts +2 -6
  34. package/src/cli.ts +1 -4
  35. package/src/commands/$init.ts +0 -2
  36. package/src/commands/start.ts +1 -1
  37. package/src/container.ts +10 -2
  38. package/src/fork.ts +3 -3
  39. package/src/index.ts +1 -1
  40. package/src/sidecar.ts +7 -0
  41. package/src/standalone.ts +2 -2
  42. package/dist/cjs/cli-commands/start-self.d.ts +0 -25
  43. package/dist/cjs/cli-commands/start-self.js +0 -51
  44. package/dist/cjs/cli-commands/start-self.js.map +0 -1
  45. package/dist/cjs/cli-helper.d.ts +0 -3
  46. package/dist/cjs/cli-helper.js +0 -25
  47. package/dist/cjs/cli-helper.js.map +0 -1
  48. package/dist/cjs/commands/bridge.d.ts +0 -3
  49. package/dist/cjs/commands/bridge.js +0 -11
  50. package/dist/cjs/commands/bridge.js.map +0 -1
  51. package/dist/cjs/commands/config.d.ts +0 -3
  52. package/dist/cjs/commands/config.js +0 -20
  53. package/dist/cjs/commands/config.js.map +0 -1
  54. package/dist/cjs/commands/connect.d.ts +0 -4
  55. package/dist/cjs/commands/connect.js +0 -27
  56. package/dist/cjs/commands/connect.js.map +0 -1
  57. package/dist/cjs/commands/discover.d.ts +0 -7
  58. package/dist/cjs/commands/discover.js +0 -71
  59. package/dist/cjs/commands/discover.js.map +0 -1
  60. package/dist/cjs/commands/install.d.ts +0 -4
  61. package/dist/cjs/commands/install.js +0 -13
  62. package/dist/cjs/commands/install.js.map +0 -1
  63. package/dist/cjs/commands/link.d.ts +0 -4
  64. package/dist/cjs/commands/link.js +0 -11
  65. package/dist/cjs/commands/link.js.map +0 -1
  66. package/dist/cjs/commands/log.d.ts +0 -4
  67. package/dist/cjs/commands/log.js +0 -15
  68. package/dist/cjs/commands/log.js.map +0 -1
  69. package/dist/cjs/commands/ls.d.ts +0 -2
  70. package/dist/cjs/commands/ls.js +0 -4
  71. package/dist/cjs/commands/ls.js.map +0 -1
  72. package/dist/cjs/commands/map.d.ts +0 -4
  73. package/dist/cjs/commands/map.js +0 -9
  74. package/dist/cjs/commands/map.js.map +0 -1
  75. package/dist/cjs/commands/name.d.ts +0 -1
  76. package/dist/cjs/commands/name.js +0 -604
  77. package/dist/cjs/commands/name.js.map +0 -1
  78. package/dist/cjs/commands/plugin/add.d.ts +0 -2
  79. package/dist/cjs/commands/plugin/add.js +0 -5
  80. package/dist/cjs/commands/plugin/add.js.map +0 -1
  81. package/dist/cjs/commands/plugin/remove.d.ts +0 -2
  82. package/dist/cjs/commands/plugin/remove.js +0 -7
  83. package/dist/cjs/commands/plugin/remove.js.map +0 -1
  84. package/dist/cjs/commands/proxy.d.ts +0 -3
  85. package/dist/cjs/commands/proxy.js +0 -19
  86. package/dist/cjs/commands/proxy.js.map +0 -1
  87. package/dist/cjs/commands/ready.d.ts +0 -4
  88. package/dist/cjs/commands/ready.js +0 -22
  89. package/dist/cjs/commands/ready.js.map +0 -1
  90. package/dist/cjs/commands/reload-metadata.d.ts +0 -2
  91. package/dist/cjs/commands/reload-metadata.js +0 -7
  92. package/dist/cjs/commands/reload-metadata.js.map +0 -1
  93. package/dist/cjs/commands/restart.d.ts +0 -18
  94. package/dist/cjs/commands/restart.js +0 -5
  95. package/dist/cjs/commands/restart.js.map +0 -1
  96. package/dist/cjs/commands/start.d.ts +0 -25
  97. package/dist/cjs/commands/start.js +0 -148
  98. package/dist/cjs/commands/start.js.map +0 -1
  99. package/dist/cjs/commands/status.d.ts +0 -7
  100. package/dist/cjs/commands/status.js +0 -7
  101. package/dist/cjs/commands/status.js.map +0 -1
  102. package/dist/cjs/commands/stop.d.ts +0 -3
  103. package/dist/cjs/commands/stop.js +0 -33
  104. package/dist/cjs/commands/stop.js.map +0 -1
  105. package/dist/cjs/commands/update.d.ts +0 -3
  106. package/dist/cjs/commands/update.js +0 -15
  107. package/dist/cjs/commands/update.js.map +0 -1
  108. package/dist/cjs/commands/version.d.ts +0 -2
  109. package/dist/cjs/commands/version.js +0 -14
  110. package/dist/cjs/commands/version.js.map +0 -1
  111. package/dist/cjs/container.d.ts +0 -50
  112. package/dist/cjs/container.js +0 -2
  113. package/dist/cjs/container.js.map +0 -1
  114. package/dist/cjs/index.d.ts +0 -39
  115. package/dist/cjs/index.js +0 -44
  116. package/dist/cjs/index.js.map +0 -1
  117. package/dist/cjs/ipc-adapter.d.ts +0 -17
  118. package/dist/cjs/ipc-adapter.js +0 -60
  119. package/dist/cjs/ipc-adapter.js.map +0 -1
  120. package/dist/cjs/new-line-prefixer.d.ts +0 -13
  121. package/dist/cjs/new-line-prefixer.js +0 -39
  122. package/dist/cjs/new-line-prefixer.js.map +0 -1
  123. package/dist/cjs/npm-helper.d.ts +0 -6
  124. package/dist/cjs/npm-helper.js +0 -20
  125. package/dist/cjs/npm-helper.js.map +0 -1
  126. package/dist/cjs/sidecar.d.ts +0 -9
  127. package/dist/cjs/sidecar.js +0 -45
  128. package/dist/cjs/sidecar.js.map +0 -1
  129. package/dist/cjs/standalone.d.ts +0 -2
  130. package/dist/cjs/standalone.js +0 -80
  131. package/dist/cjs/standalone.js.map +0 -1
  132. package/dist/cjs/state.d.ts +0 -49
  133. package/dist/cjs/state.js +0 -2
  134. package/dist/cjs/state.js.map +0 -1
  135. package/dist/cjs/test/pwet.d.ts +0 -1
  136. package/dist/cjs/test/pwet.js +0 -7
  137. package/dist/cjs/test/pwet.js.map +0 -1
  138. package/dist/cjs/yarn-helper.d.ts +0 -7
  139. package/dist/cjs/yarn-helper.js +0 -26
  140. package/dist/cjs/yarn-helper.js.map +0 -1
  141. package/dist/tsconfig.cjs.tsbuildinfo +0 -1
  142. package/tsconfig.cjs.json +0 -36
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": "8.1.29",
7
+ "version": "9.0.0",
8
8
  "scripts": {
9
9
  "test": "echo 1",
10
10
  "generate": "ac generate dist/esm/commands commands.json",
@@ -26,12 +26,12 @@
26
26
  "src/fork.ts"
27
27
  ],
28
28
  "dependencies": {
29
- "@akala/cli": "^2.13.19",
30
- "@akala/commands": "^7.1.5",
31
- "@akala/config": "^4.0.32",
32
- "@akala/core": "^14.0.2",
33
- "@akala/json-rpc-ws": "^10.4.4",
34
- "reflect-metadata": "^0.2.0",
29
+ "@akala/cli": "^2.13.21",
30
+ "@akala/commands": "^8.0.0",
31
+ "@akala/config": "^4.0.34",
32
+ "@akala/core": "^15.0.0",
33
+ "@akala/json-rpc-ws": "^10.5.0",
34
+ "reflect-metadata": "^0.2.2",
35
35
  "source-map-support": "^0.5.21"
36
36
  },
37
37
  "devDependencies": {
@@ -40,7 +40,7 @@
40
40
  "@types/node": "^20.10.4",
41
41
  "@types/source-map-support": "^0.5.10",
42
42
  "@types/ws": "^8.5.10",
43
- "typescript": "^5.3.3"
43
+ "typescript": "^5.5.4"
44
44
  },
45
45
  "gitHead": "d92f6693ed8cca439c8e92d2045bb15c0a7dae43",
46
46
  "exports": {
package/src/akala.mts CHANGED
@@ -10,7 +10,7 @@ import { spawnAsync } from './cli-helper.js';
10
10
  import State, { StateConfiguration } from './state.js';
11
11
  import { CliContext, ErrorMessage, NamespaceMiddleware, unparse } from '@akala/cli';
12
12
  import { InteractError } from './index.js';
13
- import { Binding } from '@akala/core';
13
+ import { ObservableObject, Parser } from '@akala/core';
14
14
  import module from 'module'
15
15
 
16
16
  const require = module.createRequire(import.meta.url);
@@ -59,7 +59,6 @@ export default function (_config, program: NamespaceMiddleware)
59
59
  let processor: Processors.JsonRpc;
60
60
  let metaContainer: Metadata.Container;
61
61
  let container: Container<unknown>;
62
- const handle = new NamespaceMiddleware(null);
63
62
  cli.preAction(async c =>
64
63
  {
65
64
  process.stdin.pause();
@@ -178,7 +177,7 @@ export default function (_config, program: NamespaceMiddleware)
178
177
  const indexOfDot = err.as.indexOf('.');
179
178
  if (indexOfDot > 0)
180
179
  {
181
- Binding.getSetter(args.options, err.as)(value);
180
+ ObservableObject.setValue(args.options, new Parser().parse(err.as), value);
182
181
  }
183
182
  args.options[err.as] = value;
184
183
  }
@@ -476,7 +475,7 @@ async function tryRun(processor: ICommandProcessor, cmd: Metadata.Command, args:
476
475
 
477
476
  }
478
477
 
479
- async function tryLocalProcessing(args: CliContext)
478
+ export async function tryLocalProcessing(args: CliContext)
480
479
  {
481
480
  // eslint-disable-next-line @typescript-eslint/no-var-requires
482
481
  const config: StateConfiguration = require(path.join(homedir(), './.pm.config.json'));
@@ -1,14 +1,10 @@
1
- import { Container, Processors, Metadata, Cli, updateCommands } from "@akala/commands";
2
- import State, { RunningContainer, SidecarMetadata } from '../state.js';
1
+ import { Container } from "@akala/commands";
2
+ import State, { } from '../state.js';
3
3
  import { spawn, ChildProcess, StdioOptions } from "child_process";
4
4
  import pmContainer from '../container.js';
5
- import { Deferred, eachAsync } from "@akala/core";
6
- import { NewLinePrefixer } from "../new-line-prefixer.js";
7
5
  import { CliContext, unparseOptions } from "@akala/cli";
8
6
  import { ErrorWithStatus } from "@akala/core";
9
7
  import getRandomName from "../commands/name.js";
10
- import { ProxyConfiguration } from "@akala/config";
11
- import { IpcAdapter } from "../ipc-adapter.js";
12
8
  import path from 'path'
13
9
  import { fileURLToPath } from 'url'
14
10
 
package/src/cli.ts CHANGED
@@ -1,16 +1,13 @@
1
1
  #!/usr/bin/env node
2
- import * as path from 'path'
3
2
  import { Processors, NetSocketAdapter, Metadata, Container, proxy, Triggers, Cli } from '@akala/commands';
4
3
  import { Socket } from 'net';
5
4
  import { TLSSocket } from 'tls';
6
- import { platform, homedir } from 'os';
5
+ import { platform } from 'os';
7
6
  import start from './cli-commands/start-self.js'
8
7
  import { Readable } from 'stream';
9
8
 
10
9
  import State, { StateConfiguration } from './state.js';
11
10
  import { program, buildCliContextFromProcess, ErrorMessage, supportInteract } from '@akala/cli';
12
- import { InteractError } from './index.js';
13
- import { Binding } from '@akala/core';
14
11
  import { open } from 'fs/promises';
15
12
 
16
13
  const tableChars = {
@@ -1,7 +1,5 @@
1
1
  import State, { RunningContainer, StateConfiguration } from '../state.js'
2
- import { homedir } from 'os';
3
2
  import fs from 'fs/promises';
4
- import { join } from 'path';
5
3
  import pmContainer from '../container.js';
6
4
  import { Container, Metadata, ignoredCommands, configure, SelfDefinedCommand, serveMetadata, ServeOptions } from '@akala/commands';
7
5
  import { PassThrough } from 'stream';
@@ -128,7 +128,7 @@ export default async function start(this: State, pm: pmContainer.container & Con
128
128
  params.process = cp;
129
129
  Object.defineProperty(params, 'connectionAsContainer', Object.assign({ value: container }));
130
130
  });
131
- container.processor.useMiddleware(20, new Processors.JsonRpc(connection, true));
131
+ container.processor.useMiddleware(20, new Processors.JsonRpc(connection));
132
132
 
133
133
  connection.on('close', function disconnected()
134
134
  {
package/src/container.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  //@ts-ignore 6133
3
3
  //eslint-disable-next-line @typescript-eslint/no-unused-vars
4
4
  import {Arguments, Argument0, Argument1, Argument2, Argument3, Argument4, Argument5, Argument6, Argument7, Argument8, Argument9, Argument10, Argument11, Argument12, Argument13, Argument14, Argument15, Argument16, Argument17 } from '@akala/core';
5
+ import {Metadata, ICommandProcessor, Container, registerCommands} from "@akala/commands";
5
6
  // eslint-disable-next-line @typescript-eslint/no-namespace
6
7
  namespace commands
7
8
  {
@@ -26,7 +27,7 @@ namespace commands
26
27
  dispatch (cmd:'start', ...args: [Argument1<typeof import('./commands/start.js').default>, Argument2<typeof import('./commands/start.js').default>]): ReturnType<typeof import('./commands/start.js').default>
27
28
  dispatch (cmd:'status', ...args: [Argument0<typeof import('./commands/status.js').default>]): ReturnType<typeof import('./commands/status.js').default>
28
29
  dispatch (cmd:'stop', ...args: [Argument0<typeof import('./commands/stop.js').default>]): ReturnType<typeof import('./commands/stop.js').default>
29
- dispatch (cmd:'update', ...args: [Argument0<typeof import('./commands/update.js').default>, Argument1<typeof import('./commands/update.js').default>]): ReturnType<typeof import('./commands/update.js').default>
30
+ dispatch (cmd:'update', ...args: [Argument0<typeof import('./commands/update.js').default>, Argument1<typeof import('./commands/update.js').default>, Argument2<typeof import('./commands/update.js').default>]): ReturnType<typeof import('./commands/update.js').default>
30
31
  dispatch (cmd:'version', ...args: [Argument0<typeof import('./commands/version.js').default>, Argument1<typeof import('./commands/version.js').default>]): ReturnType<typeof import('./commands/version.js').default>
31
32
  }
32
33
  export interface proxy
@@ -50,9 +51,16 @@ namespace commands
50
51
  'start'(...args: [Argument1<typeof import('./commands/start.js').default>, Argument2<typeof import('./commands/start.js').default>]): ReturnType<typeof import('./commands/start.js').default>
51
52
  'status'(...args: [Argument0<typeof import('./commands/status.js').default>]): ReturnType<typeof import('./commands/status.js').default>
52
53
  'stop'(...args: [Argument0<typeof import('./commands/stop.js').default>]): ReturnType<typeof import('./commands/stop.js').default>
53
- 'update'(...args: [Argument0<typeof import('./commands/update.js').default>, Argument1<typeof import('./commands/update.js').default>]): ReturnType<typeof import('./commands/update.js').default>
54
+ 'update'(...args: [Argument0<typeof import('./commands/update.js').default>, Argument1<typeof import('./commands/update.js').default>, Argument2<typeof import('./commands/update.js').default>]): ReturnType<typeof import('./commands/update.js').default>
54
55
  'version'(...args: [Argument0<typeof import('./commands/version.js').default>, Argument1<typeof import('./commands/version.js').default>]): ReturnType<typeof import('./commands/version.js').default>
55
56
  }
57
+ export const meta={"name":"commands","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":{"needsValue":true}}}}},{"name":"bridge","config":{"fs":{"inject":["param.0","param.1"],"path":"dist/esm/commands/bridge.js","source":"src/commands/bridge.ts"},"jsonrpc":{"inject":["param.0","socket"]},"":{"inject":[]}}},{"name":"config","config":{"fs":{"path":"dist/esm/commands/config.js","source":"src/commands/config.ts","inject":["param.0","param.1"]},"":{"inject":["param.0","param.1"]},"cli":{"inject":["param.0","options"]}}},{"name":"connect","config":{"fs":{"path":"dist/esm/commands/connect.js","source":"src/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/commands/discover.js","source":"src/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/commands/install.js","source":"src/commands/install.ts","inject":["param.0","$container"]},"":{"inject":["param.0","$container"]},"cli":{"inject":["param.0","$container"]}}},{"name":"link","config":{"fs":{"path":"dist/esm/commands/link.js","source":"src/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/commands/log.js","source":"src/commands/log.ts","inject":["param.0"]},"":{"inject":["param.0"]},"cli":{"inject":["param.0"]}}},{"name":"ls","config":{"fs":{"path":"dist/esm/commands/ls.js","source":"src/commands/ls.ts","inject":[]},"":{"inject":[]},"cli":{"inject":[]}}},{"name":"map","config":{"fs":{"path":"dist/esm/commands/map.js","source":"src/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":"name","config":{"fs":{"path":"dist/esm/commands/name.js","source":"src/commands/name.ts","inject":["param.0"]},"":{"inject":["param.0"]}}},{"name":"plugin.add","config":{"fs":{"inject":["param.0"],"path":"dist/esm/commands/plugin/add.js","source":"src/commands/plugin/add.ts"},"":{"inject":["param.0"]},"cli":{"usage":"add <plugin>","inject":["options.plugin"],"options":{"plugin":{"normalize":true}}}}},{"name":"plugin.remove","config":{"fs":{"inject":["param.0"],"path":"dist/esm/commands/plugin/remove.js","source":"src/commands/plugin/remove.ts"},"":{"inject":["param.0"]},"cli":{"usage":"remove <plugin>","inject":["options.plugin"],"options":{"plugin":{"normalize":true}}}}},{"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"]},"inspect":{},"new":{},"name":{}},"inject":["$container","param.0","context"]}}},{"name":"start","config":{"fs":{"path":"dist/esm/commands/start.js","source":"src/commands/start.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","options.program","context"],"usage":"start <program>"}}},{"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"]}}},{"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]"}}},{"name":"update","config":{"fs":{"path":"dist/esm/commands/update.js","source":"src/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/commands/version.js","source":"src/commands/version.ts","inject":["param.0","param.1"]},"":{"inject":["param.0","param.1"]},"cli":{"inject":["param.0","param.1"]}}}]} as Metadata.Container;
58
+
59
+ export function connect(processor?:ICommandProcessor) {
60
+ const container = new Container<void>("commands", void 0);
61
+ registerCommands(meta.commands, processor, container);
62
+ return container as container & Container<void>;
63
+ }
56
64
  }
57
65
 
58
66
  export { commands as default };
package/src/fork.ts CHANGED
@@ -6,7 +6,7 @@ import * as ac from '@akala/commands';
6
6
  import { lstat } from 'fs/promises';
7
7
  import pmDef from './container.js';
8
8
  import { IpcAdapter } from "./ipc-adapter.js";
9
- import { logger, Logger, MiddlewareComposite, module as coreModule } from '@akala/core';
9
+ import { logger, Logger, module as coreModule, MiddlewareCompositeAsync } from '@akala/core';
10
10
  import { program, buildCliContextFromProcess, ErrorMessage, NamespaceMiddleware } from '@akala/cli';
11
11
  import { Stats } from 'fs';
12
12
  import { registerCommands, SelfDefinedCommand, parseMetadata, StructuredParameters } from '@akala/commands';
@@ -76,7 +76,7 @@ program.option<string, 'program'>('program', { needsValue: true, normalize: true
76
76
  else
77
77
  processor = new ac.Processors.FileSystem(c.options.program);
78
78
  }).
79
- useMiddleware(null, MiddlewareComposite.new(logMiddleware,
79
+ useMiddleware(null, MiddlewareCompositeAsync.new(logMiddleware,
80
80
  {
81
81
  handle: async c =>
82
82
  {
@@ -116,7 +116,7 @@ program.option<string, 'program'>('program', { needsValue: true, normalize: true
116
116
  const pmMeta = await import(new URL('../../commands.json', import.meta.url).toString());
117
117
  if (process.connected)
118
118
  {
119
- pm = new ac.Container('pm', null, new ac.Processors.JsonRpc(ac.Processors.JsonRpc.getConnection(new IpcAdapter(process), cliContainer), true)) as ac.Container<unknown> & pmDef.container;
119
+ pm = new ac.Container('pm', null, new ac.Processors.JsonRpc(ac.Processors.JsonRpc.getConnection(new IpcAdapter(process), cliContainer))) as ac.Container<unknown> & pmDef.container;
120
120
  registerCommands(pmMeta.commands, null, pm);
121
121
  }
122
122
  else
package/src/index.ts CHANGED
@@ -37,7 +37,7 @@ export async function pm(socketPath?: string): Promise<Container<unknown>>
37
37
  if (socketPath)
38
38
  {
39
39
  const pmSocket = new Socket();
40
- const pm = new Container('pm', null, new Processors.JsonRpc(Processors.JsonRpc.getConnection(new NetSocketAdapter(pmSocket)), true));
40
+ const pm = new Container('pm', null, new Processors.JsonRpc(Processors.JsonRpc.getConnection(new NetSocketAdapter(pmSocket))));
41
41
  pmSocket.connect(socketPath);
42
42
  const metaContainer: Metadata.Container = await pm.handle(pm, Cli.Metadata, { param: [] }).then(err => { throw err }, res => res);
43
43
  registerCommands(metaContainer.commands, null, pm);
package/src/sidecar.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { module } from '@akala/core'
1
2
  import { connectByPreference, ConnectionPreference, Container, updateCommands } from "@akala/commands";
2
3
  import { SideCarConnectionPreference, Sidecar, defaultOrders, connect } from "./index.js";
3
4
  import * as ac from '@akala/commands'
@@ -12,6 +13,12 @@ export default function (options?: { pm?: pm.container & Container<void> } & (Om
12
13
 
13
14
  export function sidecar(options?: { pm?: pm.container & Container<void> } & (Omit<ConnectionPreference, 'metadata'> | SideCarConnectionPreference | Omit<ConnectionPreference, 'metadata'> & SideCarConnectionPreference), noCache?: boolean): Sidecar
14
15
  {
16
+ if (!options)
17
+ options = {};
18
+ if (!options.pm)
19
+ options.pm = module('@akala/pm').resolve('container');
20
+ if (!options.pm)
21
+ return null;
15
22
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
23
  return new Proxy<Sidecar>({} as any, {
17
24
  get(target, property)
package/src/standalone.ts CHANGED
@@ -4,7 +4,7 @@ sms.install();
4
4
  import * as path from 'path'
5
5
  import * as ac from '@akala/commands';
6
6
  import { lstat } from 'fs/promises';
7
- import { logger, Logger, MiddlewareComposite } from '@akala/core';
7
+ import { logger, Logger, MiddlewareCompositeAsync } from '@akala/core';
8
8
  import { program, buildCliContextFromProcess, ErrorMessage, NamespaceMiddleware } from '@akala/cli';
9
9
  import { Stats } from 'fs';
10
10
 
@@ -58,7 +58,7 @@ program.option<string, 'program'>('program', { needsValue: true, normalize: true
58
58
  else
59
59
  processor = new ac.Processors.FileSystem(c.options.program);
60
60
  }).
61
- useMiddleware(null, MiddlewareComposite.new(logMiddleware,
61
+ useMiddleware(null, MiddlewareCompositeAsync.new(logMiddleware,
62
62
  {
63
63
  handle: async c =>
64
64
  {
@@ -1,25 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import { Container } from "@akala/commands";
3
- import State from '../state.js';
4
- import { StdioOptions } from "child_process";
5
- import pmContainer from '../container.js';
6
- import { CliContext } from "@akala/cli";
7
- declare function start(this: State, pm: pmContainer.container & Container<State>, name: string, context?: CliContext<{
8
- new?: boolean;
9
- name: string;
10
- keepAttached?: boolean;
11
- inspect?: boolean;
12
- verbose?: boolean;
13
- wait?: boolean;
14
- }>): Promise<void | {
15
- execPath: string;
16
- args: string[];
17
- cwd: string;
18
- stdio: StdioOptions;
19
- shell: boolean;
20
- windowsHide: boolean;
21
- }>;
22
- declare namespace start {
23
- var $inject: string[];
24
- }
25
- export default start;
@@ -1,51 +0,0 @@
1
- import { spawn } from "child_process";
2
- import { unparseOptions } from "@akala/cli";
3
- import { ErrorWithStatus } from "@akala/core";
4
- import getRandomName from "../commands/name.js";
5
- import path from 'path';
6
- import { fileURLToPath } from 'url';
7
- //eslint-disable-next-line @typescript-eslint/ban-ts-comment
8
- //@ts-ignore
9
- const _dirname = typeof __dirname !== 'undefined' ? __dirname : path.dirname(fileURLToPath(import.meta.url));
10
- export default async function start(pm, name, context) {
11
- let args;
12
- if (!context.options.name && context.options.new)
13
- context.options.name = getRandomName();
14
- else if (!context.options.name)
15
- context.options.name = name;
16
- if (this.isDaemon)
17
- throw new ErrorWithStatus(40, 'pm is already running');
18
- else {
19
- if (name != 'pm')
20
- throw new ErrorWithStatus(40, 'this command needs to run through daemon process');
21
- args = [...context.args, ...unparseOptions({ ...context.options, inspect: undefined })];
22
- }
23
- args.unshift(path.resolve(_dirname, '../fork'));
24
- if (context.options && context.options.inspect)
25
- args.unshift('--inspect-brk');
26
- args.unshift(...process.execArgv);
27
- if (context.options && context.options.verbose)
28
- args.push('-v');
29
- let cp;
30
- if (context.options.keepAttached)
31
- cp = spawn(process.execPath, args, { cwd: process.cwd(), stdio: ['inherit', 'inherit', 'inherit', 'ipc'] });
32
- else
33
- cp = spawn(process.execPath, args, { cwd: process.cwd(), detached: true, stdio: ['ignore', 'ignore', 'ignore', 'ipc'] });
34
- cp.on('exit', function (...args) {
35
- console.log(args);
36
- });
37
- cp.on('message', function (message) {
38
- console.log(message);
39
- // cp.disconnect();
40
- });
41
- return new Promise((resolve) => {
42
- cp.on('disconnect', function () {
43
- if (!context.options.keepAttached)
44
- cp.unref();
45
- console.log('pm started');
46
- resolve();
47
- });
48
- });
49
- }
50
- start.$inject = ['$container', 'param.0', 'options'];
51
- //# sourceMappingURL=start-self.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"start-self.js","sourceRoot":"","sources":["../../../src/cli-commands/start-self.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import * as child_process from 'child_process';
3
- export declare function spawnAsync(program: string, options: child_process.SpawnOptions, ...args: string[]): Promise<void>;
@@ -1,25 +0,0 @@
1
- import * as child_process from 'child_process';
2
- export function spawnAsync(program, options, ...args) {
3
- options = Object.assign({ stdio: ['ignore', 'ignore', 'pipe'], shell: false, windowsHide: true }, options);
4
- if (typeof options.stdio == 'string')
5
- options.stdio = [options.stdio, options.stdio, options.stdio];
6
- const stderrInherit = options.stdio[2] == 'inherit';
7
- if (stderrInherit)
8
- options.stdio = [options.stdio[0], options.stdio[1], 'pipe', ...options.stdio.slice(3)];
9
- return new Promise((resolve, reject) => {
10
- let err = '';
11
- const cp = child_process
12
- .spawn(program, args, options)
13
- .on('error', reject).on('exit', (code) => {
14
- if (code == 0)
15
- resolve();
16
- reject(new Error(program + ' exited with error code ' + code + '\n' + err));
17
- });
18
- cp.stderr.on('data', (chunk) => {
19
- err += chunk;
20
- });
21
- if (stderrInherit)
22
- cp.stderr.pipe(process.stderr);
23
- });
24
- }
25
- //# sourceMappingURL=cli-helper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-helper.js","sourceRoot":"","sources":["../../src/cli-helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,eAAe,CAAA;AAE9C,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,OAAmC,EAAE,GAAG,IAAc;IAE9F,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3G,IAAI,OAAO,OAAO,CAAC,KAAK,IAAI,QAAQ;QAChC,OAAO,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IACjE,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACpD,IAAI,aAAa;QACb,OAAO,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAA+B,CAAC;IAE1H,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAEzC,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,MAAM,EAAE,GAAG,aAAa;aACnB,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC;aAC7B,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAErC,IAAI,IAAI,IAAI,CAAC;gBACT,OAAO,EAAE,CAAA;YACb,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,GAAG,0BAA0B,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAA;QAC/E,CAAC,CAAC,CAAC;QACP,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAE3B,GAAG,IAAI,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAI,aAAa;YACb,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC,CAAC,CAAA;AACN,CAAC"}
@@ -1,3 +0,0 @@
1
- import { SocketAdapter } from "@akala/json-rpc-ws";
2
- import State from "../state.js";
3
- export default function (this: State, connectionId: string, socket: SocketAdapter): boolean;
@@ -1,11 +0,0 @@
1
- export default function (connectionId, socket) {
2
- this.bridges[connectionId].left.off('message');
3
- socket.off('message');
4
- this.bridges[connectionId].left.pipe(socket);
5
- socket.pipe(this.bridges[connectionId].left);
6
- socket.on('close', () => this.bridges[connectionId].left.close());
7
- this.bridges[connectionId].left.on('close', () => socket.close());
8
- this.bridges[connectionId].right = socket;
9
- return true;
10
- }
11
- //# sourceMappingURL=bridge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../src/commands/bridge.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,WAAwB,YAAoB,EAAE,MAAqB;IAE7E,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC;IAC1C,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1,3 +0,0 @@
1
- import { CliContext } from "@akala/cli";
2
- import State from '../state.js';
3
- export default function config(this: State, name: string | undefined | void, options: CliContext['options'] | undefined | void): Promise<string[] | State['config'] | State['config']['containers']['']>;
@@ -1,20 +0,0 @@
1
- import * as cli from "@akala/cli";
2
- export default async function config(name, options) {
3
- // debugger;
4
- if (options) {
5
- const args = cli.unparseOptions(options);
6
- if (typeof name == 'undefined')
7
- return this.config;
8
- if (args[1] && args[1] == 'set') {
9
- this.config.mapping[name].set('cli', args.slice(2));
10
- await this.config.commit();
11
- }
12
- return this.config.containers[name];
13
- }
14
- else if (typeof name !== 'undefined')
15
- return this.config.containers[name];
16
- else
17
- return this.config;
18
- }
19
- exports.default.$inject = ['param.0', 'options'];
20
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAIlC,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,MAAM,CAAc,IAA+B,EAAE,OAAiD;IAEhI,YAAY;IACZ,IAAI,OAAO,EACX,CAAC;QACG,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,OAAO,IAAI,IAAI,WAAW;YAC1B,OAAO,IAAI,CAAC,MAAM,CAAC;QAEvB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,EAC/B,CAAC;YACG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC/B,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;SACI,IAAI,OAAO,IAAI,KAAK,WAAW;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;;QAEpC,OAAO,IAAI,CAAC,MAAM,CAAC;AAC3B,CAAC;AAED,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA"}
@@ -1,4 +0,0 @@
1
- import { ServeMetadata, ServeOptions } from "@akala/commands";
2
- import State from '../state.js';
3
- export default function connect(this: State, name: string): Promise<ServeMetadata>;
4
- export default function connect(this: State, name: string, context?: ServeOptions): Promise<void>;
@@ -1,27 +0,0 @@
1
- import { ErrorWithStatus } from "@akala/core";
2
- import { serveMetadata } from "@akala/commands";
3
- import { Configuration } from "@akala/config";
4
- export default async function connect(name, context) {
5
- let mapping = this.config.mapping[name];
6
- if (!mapping)
7
- mapping = Object.values(this.config.mapping).find(m => m.container === name);
8
- if (!mapping)
9
- mapping = await Configuration.newAsync(null, this.processes[name]);
10
- // console.log(name);
11
- // console.log(mapping);
12
- // console.log(mapping.connect);
13
- // console.log(context);
14
- if (context?.args?.length > 0) {
15
- if (!mapping)
16
- this.config.mapping.set(`${name}.connect`, serveMetadata({ args: context.args, options: { ...context.options, socketName: context.options?.socketName || name } }));
17
- else
18
- mapping.set('connect', serveMetadata({ args: context.args, options: { ...context.options, socketName: context.options?.socketName || name } }));
19
- }
20
- else {
21
- if (!mapping || !mapping.connect)
22
- throw new ErrorWithStatus(404, `Mapping ${name} could not be found`);
23
- return mapping.connect.extract();
24
- }
25
- await this.config.commit();
26
- }
27
- //# sourceMappingURL=connect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/commands/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,aAAa,EAA+B,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,OAAO,CAAc,IAAY,EAAE,OAAsB;IAEnF,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO;QACR,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IACjF,IAAI,CAAC,OAAO;QACR,OAAO,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAyB,CAAC,CAAC;IAC/F,qBAAqB;IACrB,wBAAwB;IACxB,gCAAgC;IAChC,wBAAwB;IACxB,IAAI,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAC7B,CAAC;QACG,IAAI,CAAC,OAAO;YACR,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,UAAU,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;;YAEpK,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACxJ,CAAC;SAED,CAAC;QACG,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;YAC5B,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,WAAW,IAAI,qBAAqB,CAAC,CAAC;QACzE,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACrC,CAAC;IACD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;AAC9B,CAAC"}
@@ -1,7 +0,0 @@
1
- import State from '../state.js';
2
- import pmContainer from '../container.js';
3
- import map from './map.js';
4
- type Unpromise<T> = T extends Promise<infer X> ? X : never;
5
- type mapReturn = Unpromise<ReturnType<typeof map>>;
6
- export default function discover(this: State, packageName: string, folder: string, pm: pmContainer.container): Promise<mapReturn[] | mapReturn>;
7
- export {};
@@ -1,71 +0,0 @@
1
- import { join, isAbsolute, basename, resolve } from "path";
2
- import { existsSync, promises as fs } from "fs";
3
- import { createRequire } from "module";
4
- import { logger } from "@akala/core";
5
- const log = logger('discover');
6
- export default async function discover(packageName, folder, pm) {
7
- // eslint-disable-next-line prefer-rest-params
8
- log.debug(arguments);
9
- let path = folder || process.cwd();
10
- log.debug(path);
11
- let tmpRequire = undefined;
12
- if (existsSync(path))
13
- if (isAbsolute(packageName)) {
14
- const stats = await fs.stat(packageName);
15
- if (stats.isFile())
16
- tmpRequire = createRequire(packageName);
17
- else
18
- tmpRequire = createRequire(join(packageName, './package.json'));
19
- packageName = basename(packageName);
20
- }
21
- else {
22
- path = resolve(path);
23
- const stats = await fs.stat(join(path, packageName));
24
- if (stats.isFile())
25
- tmpRequire = createRequire(join(path, packageName));
26
- else
27
- tmpRequire = createRequire(join(path, packageName, './package.json'));
28
- }
29
- if (typeof tmpRequire == 'undefined')
30
- tmpRequire = createRequire(join(path, './package.json'));
31
- function tryModuleRequireResolve(p) {
32
- try {
33
- return moduleRequire?.resolve(p);
34
- }
35
- catch (e) {
36
- return null;
37
- }
38
- }
39
- const moduleRequire = tmpRequire;
40
- const packageConfig = moduleRequire('./package.json');
41
- delete moduleRequire.cache[moduleRequire.resolve('./package.json')];
42
- if (packageConfig.commands) {
43
- switch (typeof packageConfig.commands) {
44
- case 'object':
45
- if (Array.isArray(packageConfig))
46
- throw new Error('commands property must be of type object or string');
47
- return await Promise.all(Object.keys(packageConfig.commands).map(v => pm.dispatch('map', v, moduleRequire?.resolve('./' + packageConfig.commands[v]), path, { commandable: true })));
48
- case 'string':
49
- return await pm.dispatch('map', packageName, moduleRequire.resolve('./' + packageConfig.commands), path, { commandable: true });
50
- default:
51
- throw new Error('commands property must be of type object or string');
52
- }
53
- }
54
- if (packageConfig.bin) {
55
- switch (typeof packageConfig.bin) {
56
- case 'object':
57
- if (Array.isArray(packageConfig))
58
- throw new Error('bin property must be of type object or string');
59
- return Promise.all(Object.keys(packageConfig.bin).map(v => pm.dispatch('map', v, moduleRequire.resolve('./' + packageConfig.bin[v]), path, { commandable: false })));
60
- case 'string':
61
- return await pm.dispatch('map', packageName, moduleRequire.resolve('./' + packageConfig.bin), path, { commandable: false });
62
- default:
63
- throw new Error('bin property must be of type object or string');
64
- }
65
- }
66
- const commandsJsonFile = tryModuleRequireResolve('./commands.json');
67
- if (commandsJsonFile)
68
- return pm.dispatch('map', packageName, commandsJsonFile, path, { commandable: true });
69
- return pm.dispatch('map', packageName, moduleRequire.resolve('./' + packageConfig.main), path, { commandable: false });
70
- }
71
- //# sourceMappingURL=discover.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../src/commands/discover.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import State from '../state.js';
2
- import { Container } from "@akala/commands";
3
- import discover from './discover.js';
4
- export default function install(this: State, packageName: string, pm: Container<State>): ReturnType<typeof discover>;
@@ -1,13 +0,0 @@
1
- import npmHelper from '../npm-helper.js';
2
- import yarnHelper, { hasYarn } from '../yarn-helper.js';
3
- export default async function install(packageName, pm) {
4
- if (process.versions['pnp'] || await hasYarn()) {
5
- await yarnHelper.install(packageName);
6
- return await pm.dispatch('discover', packageName, !process.versions['pnp'] && 'node_modules' || undefined);
7
- }
8
- else {
9
- await npmHelper.install(packageName);
10
- return await pm.dispatch('discover', packageName, 'node_modules');
11
- }
12
- }
13
- //# sourceMappingURL=install.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/install.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAIxD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,OAAO,CAAc,WAAmB,EAAE,EAAoB;IAExF,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,OAAO,EAAE,EAC9C,CAAC;QACG,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACtC,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,cAAc,IAAI,SAAS,CAAC,CAAC;IAC/G,CAAC;SAED,CAAC;QACG,MAAM,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACrC,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IACtE,CAAC;AACL,CAAC"}
@@ -1,4 +0,0 @@
1
- import State from '../state.js';
2
- import { Container } from "@akala/commands";
3
- import discover from './discover.js';
4
- export default function link(this: State, packageName: string, folder: string, pm: Container<State>): ReturnType<typeof discover>;
@@ -1,11 +0,0 @@
1
- import npmHelper from '../npm-helper.js';
2
- import yarnHelper, { hasYarn } from '../yarn-helper.js';
3
- export default async function link(packageName, folder, pm) {
4
- if (await hasYarn(folder))
5
- await yarnHelper.install(packageName, folder);
6
- else
7
- await npmHelper.install(packageName, folder);
8
- return await pm.dispatch('discover', packageName, folder);
9
- }
10
- exports.default.$inject = ['param.0', 'param.1', '$container'];
11
- //# sourceMappingURL=link.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/commands/link.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAEzC,OAAO,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGxD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,IAAI,CAAc,WAAmB,EAAE,MAAc,EAAE,EAAoB;IAGrG,IAAI,MAAM,OAAO,CAAC,MAAM,CAAC;QACrB,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;;QAE9C,MAAM,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAEjD,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAgC,CAAC;AAC7F,CAAC;AAED,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,CAAA"}