@contember/cli-common 2.1.0-alpha.3 → 2.1.0-alpha.35

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 (241) hide show
  1. package/package.json +11 -6
  2. package/src/application/Application.ts +6 -4
  3. package/src/index.ts +1 -1
  4. package/src/npm/CommandRunner.ts +0 -1
  5. package/src/npm/PackageWorkspace.ts +0 -2
  6. package/src/npm/packageManagers/PackageManagerHelpers.ts +3 -1
  7. package/src/npm/packageManagers/Yarn.ts +2 -1
  8. package/dist/development/index.cjs +0 -32
  9. package/dist/development/index.cjs.map +0 -1
  10. package/dist/development/index.js +0 -32
  11. package/dist/development/index.js.map +0 -1
  12. package/dist/development/src/application/Application.cjs +0 -82
  13. package/dist/development/src/application/Application.cjs.map +0 -1
  14. package/dist/development/src/application/Application.js +0 -82
  15. package/dist/development/src/application/Application.js.map +0 -1
  16. package/dist/development/src/application/Argument.cjs +0 -25
  17. package/dist/development/src/application/Argument.cjs.map +0 -1
  18. package/dist/development/src/application/Argument.js +0 -25
  19. package/dist/development/src/application/Argument.js.map +0 -1
  20. package/dist/development/src/application/Command.cjs +0 -28
  21. package/dist/development/src/application/Command.cjs.map +0 -1
  22. package/dist/development/src/application/Command.js +0 -28
  23. package/dist/development/src/application/Command.js.map +0 -1
  24. package/dist/development/src/application/CommandConfiguration.cjs +0 -44
  25. package/dist/development/src/application/CommandConfiguration.cjs.map +0 -1
  26. package/dist/development/src/application/CommandConfiguration.js +0 -44
  27. package/dist/development/src/application/CommandConfiguration.js.map +0 -1
  28. package/dist/development/src/application/CommandManager.cjs +0 -37
  29. package/dist/development/src/application/CommandManager.cjs.map +0 -1
  30. package/dist/development/src/application/CommandManager.js +0 -37
  31. package/dist/development/src/application/CommandManager.js.map +0 -1
  32. package/dist/development/src/application/Input.cjs +0 -16
  33. package/dist/development/src/application/Input.cjs.map +0 -1
  34. package/dist/development/src/application/Input.js +0 -16
  35. package/dist/development/src/application/Input.js.map +0 -1
  36. package/dist/development/src/application/InputParser.cjs +0 -117
  37. package/dist/development/src/application/InputParser.cjs.map +0 -1
  38. package/dist/development/src/application/InputParser.js +0 -117
  39. package/dist/development/src/application/InputParser.js.map +0 -1
  40. package/dist/development/src/application/Option.cjs +0 -49
  41. package/dist/development/src/application/Option.cjs.map +0 -1
  42. package/dist/development/src/application/Option.js +0 -49
  43. package/dist/development/src/application/Option.js.map +0 -1
  44. package/dist/development/src/application/UsageFormatter.cjs +0 -61
  45. package/dist/development/src/application/UsageFormatter.cjs.map +0 -1
  46. package/dist/development/src/application/UsageFormatter.js +0 -61
  47. package/dist/development/src/application/UsageFormatter.js.map +0 -1
  48. package/dist/development/src/application/assertNever.cjs +0 -7
  49. package/dist/development/src/application/assertNever.cjs.map +0 -1
  50. package/dist/development/src/application/assertNever.js +0 -7
  51. package/dist/development/src/application/assertNever.js.map +0 -1
  52. package/dist/development/src/npm/CommandRunner.cjs +0 -59
  53. package/dist/development/src/npm/CommandRunner.cjs.map +0 -1
  54. package/dist/development/src/npm/CommandRunner.js +0 -59
  55. package/dist/development/src/npm/CommandRunner.js.map +0 -1
  56. package/dist/development/src/npm/Package.cjs +0 -11
  57. package/dist/development/src/npm/Package.cjs.map +0 -1
  58. package/dist/development/src/npm/Package.js +0 -11
  59. package/dist/development/src/npm/Package.js.map +0 -1
  60. package/dist/development/src/npm/PackageWorkspace.cjs +0 -79
  61. package/dist/development/src/npm/PackageWorkspace.cjs.map +0 -1
  62. package/dist/development/src/npm/PackageWorkspace.js +0 -79
  63. package/dist/development/src/npm/PackageWorkspace.js.map +0 -1
  64. package/dist/development/src/npm/PackageWorkspaceResolver.cjs +0 -48
  65. package/dist/development/src/npm/PackageWorkspaceResolver.cjs.map +0 -1
  66. package/dist/development/src/npm/PackageWorkspaceResolver.js +0 -48
  67. package/dist/development/src/npm/PackageWorkspaceResolver.js.map +0 -1
  68. package/dist/development/src/npm/packageManagers/Bun.cjs +0 -34
  69. package/dist/development/src/npm/packageManagers/Bun.cjs.map +0 -1
  70. package/dist/development/src/npm/packageManagers/Bun.js +0 -34
  71. package/dist/development/src/npm/packageManagers/Bun.js.map +0 -1
  72. package/dist/development/src/npm/packageManagers/Npm.cjs +0 -34
  73. package/dist/development/src/npm/packageManagers/Npm.cjs.map +0 -1
  74. package/dist/development/src/npm/packageManagers/Npm.js +0 -34
  75. package/dist/development/src/npm/packageManagers/Npm.js.map +0 -1
  76. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.cjs +0 -32
  77. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.cjs.map +0 -1
  78. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.js +0 -32
  79. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.js.map +0 -1
  80. package/dist/development/src/npm/packageManagers/Pnpm.cjs +0 -39
  81. package/dist/development/src/npm/packageManagers/Pnpm.cjs.map +0 -1
  82. package/dist/development/src/npm/packageManagers/Pnpm.js +0 -39
  83. package/dist/development/src/npm/packageManagers/Pnpm.js.map +0 -1
  84. package/dist/development/src/npm/packageManagers/Yarn.cjs +0 -34
  85. package/dist/development/src/npm/packageManagers/Yarn.cjs.map +0 -1
  86. package/dist/development/src/npm/packageManagers/Yarn.js +0 -34
  87. package/dist/development/src/npm/packageManagers/Yarn.js.map +0 -1
  88. package/dist/development/src/npm/packageManagers/YarnClassic.cjs +0 -35
  89. package/dist/development/src/npm/packageManagers/YarnClassic.cjs.map +0 -1
  90. package/dist/development/src/npm/packageManagers/YarnClassic.js +0 -35
  91. package/dist/development/src/npm/packageManagers/YarnClassic.js.map +0 -1
  92. package/dist/development/src/utils/findPackageRoot.cjs +0 -20
  93. package/dist/development/src/utils/findPackageRoot.cjs.map +0 -1
  94. package/dist/development/src/utils/findPackageRoot.js +0 -20
  95. package/dist/development/src/utils/findPackageRoot.js.map +0 -1
  96. package/dist/production/index.cjs +0 -32
  97. package/dist/production/index.cjs.map +0 -1
  98. package/dist/production/index.js +0 -32
  99. package/dist/production/index.js.map +0 -1
  100. package/dist/production/src/application/Application.cjs +0 -82
  101. package/dist/production/src/application/Application.cjs.map +0 -1
  102. package/dist/production/src/application/Application.js +0 -82
  103. package/dist/production/src/application/Application.js.map +0 -1
  104. package/dist/production/src/application/Argument.cjs +0 -25
  105. package/dist/production/src/application/Argument.cjs.map +0 -1
  106. package/dist/production/src/application/Argument.js +0 -25
  107. package/dist/production/src/application/Argument.js.map +0 -1
  108. package/dist/production/src/application/Command.cjs +0 -28
  109. package/dist/production/src/application/Command.cjs.map +0 -1
  110. package/dist/production/src/application/Command.js +0 -28
  111. package/dist/production/src/application/Command.js.map +0 -1
  112. package/dist/production/src/application/CommandConfiguration.cjs +0 -44
  113. package/dist/production/src/application/CommandConfiguration.cjs.map +0 -1
  114. package/dist/production/src/application/CommandConfiguration.js +0 -44
  115. package/dist/production/src/application/CommandConfiguration.js.map +0 -1
  116. package/dist/production/src/application/CommandManager.cjs +0 -37
  117. package/dist/production/src/application/CommandManager.cjs.map +0 -1
  118. package/dist/production/src/application/CommandManager.js +0 -37
  119. package/dist/production/src/application/CommandManager.js.map +0 -1
  120. package/dist/production/src/application/Input.cjs +0 -16
  121. package/dist/production/src/application/Input.cjs.map +0 -1
  122. package/dist/production/src/application/Input.js +0 -16
  123. package/dist/production/src/application/Input.js.map +0 -1
  124. package/dist/production/src/application/InputParser.cjs +0 -117
  125. package/dist/production/src/application/InputParser.cjs.map +0 -1
  126. package/dist/production/src/application/InputParser.js +0 -117
  127. package/dist/production/src/application/InputParser.js.map +0 -1
  128. package/dist/production/src/application/Option.cjs +0 -49
  129. package/dist/production/src/application/Option.cjs.map +0 -1
  130. package/dist/production/src/application/Option.js +0 -49
  131. package/dist/production/src/application/Option.js.map +0 -1
  132. package/dist/production/src/application/UsageFormatter.cjs +0 -61
  133. package/dist/production/src/application/UsageFormatter.cjs.map +0 -1
  134. package/dist/production/src/application/UsageFormatter.js +0 -61
  135. package/dist/production/src/application/UsageFormatter.js.map +0 -1
  136. package/dist/production/src/application/assertNever.cjs +0 -7
  137. package/dist/production/src/application/assertNever.cjs.map +0 -1
  138. package/dist/production/src/application/assertNever.js +0 -7
  139. package/dist/production/src/application/assertNever.js.map +0 -1
  140. package/dist/production/src/npm/CommandRunner.cjs +0 -59
  141. package/dist/production/src/npm/CommandRunner.cjs.map +0 -1
  142. package/dist/production/src/npm/CommandRunner.js +0 -59
  143. package/dist/production/src/npm/CommandRunner.js.map +0 -1
  144. package/dist/production/src/npm/Package.cjs +0 -11
  145. package/dist/production/src/npm/Package.cjs.map +0 -1
  146. package/dist/production/src/npm/Package.js +0 -11
  147. package/dist/production/src/npm/Package.js.map +0 -1
  148. package/dist/production/src/npm/PackageWorkspace.cjs +0 -79
  149. package/dist/production/src/npm/PackageWorkspace.cjs.map +0 -1
  150. package/dist/production/src/npm/PackageWorkspace.js +0 -79
  151. package/dist/production/src/npm/PackageWorkspace.js.map +0 -1
  152. package/dist/production/src/npm/PackageWorkspaceResolver.cjs +0 -48
  153. package/dist/production/src/npm/PackageWorkspaceResolver.cjs.map +0 -1
  154. package/dist/production/src/npm/PackageWorkspaceResolver.js +0 -48
  155. package/dist/production/src/npm/PackageWorkspaceResolver.js.map +0 -1
  156. package/dist/production/src/npm/packageManagers/Bun.cjs +0 -34
  157. package/dist/production/src/npm/packageManagers/Bun.cjs.map +0 -1
  158. package/dist/production/src/npm/packageManagers/Bun.js +0 -34
  159. package/dist/production/src/npm/packageManagers/Bun.js.map +0 -1
  160. package/dist/production/src/npm/packageManagers/Npm.cjs +0 -34
  161. package/dist/production/src/npm/packageManagers/Npm.cjs.map +0 -1
  162. package/dist/production/src/npm/packageManagers/Npm.js +0 -34
  163. package/dist/production/src/npm/packageManagers/Npm.js.map +0 -1
  164. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.cjs +0 -32
  165. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.cjs.map +0 -1
  166. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.js +0 -32
  167. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.js.map +0 -1
  168. package/dist/production/src/npm/packageManagers/Pnpm.cjs +0 -39
  169. package/dist/production/src/npm/packageManagers/Pnpm.cjs.map +0 -1
  170. package/dist/production/src/npm/packageManagers/Pnpm.js +0 -39
  171. package/dist/production/src/npm/packageManagers/Pnpm.js.map +0 -1
  172. package/dist/production/src/npm/packageManagers/Yarn.cjs +0 -34
  173. package/dist/production/src/npm/packageManagers/Yarn.cjs.map +0 -1
  174. package/dist/production/src/npm/packageManagers/Yarn.js +0 -34
  175. package/dist/production/src/npm/packageManagers/Yarn.js.map +0 -1
  176. package/dist/production/src/npm/packageManagers/YarnClassic.cjs +0 -35
  177. package/dist/production/src/npm/packageManagers/YarnClassic.cjs.map +0 -1
  178. package/dist/production/src/npm/packageManagers/YarnClassic.js +0 -35
  179. package/dist/production/src/npm/packageManagers/YarnClassic.js.map +0 -1
  180. package/dist/production/src/utils/findPackageRoot.cjs +0 -20
  181. package/dist/production/src/utils/findPackageRoot.cjs.map +0 -1
  182. package/dist/production/src/utils/findPackageRoot.js +0 -20
  183. package/dist/production/src/utils/findPackageRoot.js.map +0 -1
  184. package/dist/types/application/Application.d.ts +0 -18
  185. package/dist/types/application/Application.d.ts.map +0 -1
  186. package/dist/types/application/Argument.d.ts +0 -16
  187. package/dist/types/application/Argument.d.ts.map +0 -1
  188. package/dist/types/application/Command.d.ts +0 -10
  189. package/dist/types/application/Command.d.ts.map +0 -1
  190. package/dist/types/application/CommandConfiguration.d.ts +0 -23
  191. package/dist/types/application/CommandConfiguration.d.ts.map +0 -1
  192. package/dist/types/application/CommandManager.d.ts +0 -11
  193. package/dist/types/application/CommandManager.d.ts.map +0 -1
  194. package/dist/types/application/Input.d.ts +0 -10
  195. package/dist/types/application/Input.d.ts.map +0 -1
  196. package/dist/types/application/InputParser.d.ts +0 -13
  197. package/dist/types/application/InputParser.d.ts.map +0 -1
  198. package/dist/types/application/Option.d.ts +0 -27
  199. package/dist/types/application/Option.d.ts.map +0 -1
  200. package/dist/types/application/UsageFormatter.d.ts +0 -11
  201. package/dist/types/application/UsageFormatter.d.ts.map +0 -1
  202. package/dist/types/application/assertNever.d.ts +0 -2
  203. package/dist/types/application/assertNever.d.ts.map +0 -1
  204. package/dist/types/application/index.d.ts +0 -11
  205. package/dist/types/application/index.d.ts.map +0 -1
  206. package/dist/types/index.d.ts +0 -5
  207. package/dist/types/index.d.ts.map +0 -1
  208. package/dist/types/npm/CommandRunner.d.ts +0 -22
  209. package/dist/types/npm/CommandRunner.d.ts.map +0 -1
  210. package/dist/types/npm/FileSystem.d.ts +0 -7
  211. package/dist/types/npm/FileSystem.d.ts.map +0 -1
  212. package/dist/types/npm/Package.d.ts +0 -8
  213. package/dist/types/npm/Package.d.ts.map +0 -1
  214. package/dist/types/npm/PackageJson.d.ts +0 -13
  215. package/dist/types/npm/PackageJson.d.ts.map +0 -1
  216. package/dist/types/npm/PackageWorkspace.d.ts +0 -25
  217. package/dist/types/npm/PackageWorkspace.d.ts.map +0 -1
  218. package/dist/types/npm/PackageWorkspaceResolver.d.ts +0 -13
  219. package/dist/types/npm/PackageWorkspaceResolver.d.ts.map +0 -1
  220. package/dist/types/npm/index.d.ts +0 -9
  221. package/dist/types/npm/index.d.ts.map +0 -1
  222. package/dist/types/npm/packageManagers/Bun.d.ts +0 -24
  223. package/dist/types/npm/packageManagers/Bun.d.ts.map +0 -1
  224. package/dist/types/npm/packageManagers/Npm.d.ts +0 -24
  225. package/dist/types/npm/packageManagers/Npm.d.ts.map +0 -1
  226. package/dist/types/npm/packageManagers/PackageManager.d.ts +0 -18
  227. package/dist/types/npm/packageManagers/PackageManager.d.ts.map +0 -1
  228. package/dist/types/npm/packageManagers/PackageManagerHelpers.d.ts +0 -15
  229. package/dist/types/npm/packageManagers/PackageManagerHelpers.d.ts.map +0 -1
  230. package/dist/types/npm/packageManagers/Pnpm.d.ts +0 -24
  231. package/dist/types/npm/packageManagers/Pnpm.d.ts.map +0 -1
  232. package/dist/types/npm/packageManagers/Yarn.d.ts +0 -24
  233. package/dist/types/npm/packageManagers/Yarn.d.ts.map +0 -1
  234. package/dist/types/npm/packageManagers/YarnClassic.d.ts +0 -24
  235. package/dist/types/npm/packageManagers/YarnClassic.d.ts.map +0 -1
  236. package/dist/types/tsconfig.tsbuildinfo +0 -1
  237. package/dist/types/utils/findPackageRoot.d.ts +0 -2
  238. package/dist/types/utils/findPackageRoot.d.ts.map +0 -1
  239. package/dist/types/utils/index.d.ts +0 -2
  240. package/dist/types/utils/index.d.ts.map +0 -1
  241. package/src/.eslintrc.cjs +0 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contember/cli-common",
3
- "version": "2.1.0-alpha.3",
3
+ "version": "2.1.0-alpha.35",
4
4
  "license": "Apache-2.0",
5
5
  "main": "./dist/production/index.js",
6
6
  "typings": "./dist/types/index.d.ts",
@@ -23,12 +23,17 @@
23
23
  }
24
24
  },
25
25
  "devDependencies": {
26
- "@types/js-yaml": "^4.0.9",
27
- "@types/node": "^20.17.22",
28
- "@types/npm-package-arg": "^6.1.4"
26
+ "@types/js-yaml": "catalog:",
27
+ "@types/node": "catalog:",
28
+ "@types/npm-package-arg": "catalog:"
29
29
  },
30
30
  "dependencies": {
31
- "chalk": "^5.3.0"
31
+ "chalk": "catalog:"
32
32
  },
33
- "type": "module"
33
+ "type": "module",
34
+ "repository": {
35
+ "type": "git",
36
+ "url": "git+https://github.com/contember/contember.git",
37
+ "directory": "packages/cli-common"
38
+ }
34
39
  }
@@ -8,7 +8,7 @@ export class Application {
8
8
  private readonly commandManager: CommandManager,
9
9
  private readonly applicationDescription: string,
10
10
  private readonly options: {
11
- beforeRun?: (args: {command: Command<any, any>; name: string; args: string[]}) => void
11
+ beforeRun?: (args: { command: Command<any, any>; name: string; args: string[] }) => void
12
12
  } = {},
13
13
  ) {}
14
14
 
@@ -29,9 +29,11 @@ export class Application {
29
29
  const configuration = command.getConfiguration()
30
30
  const indent = ' '
31
31
  console.error(
32
- `${indent}${chalk.greenBright(
33
- commandName.padEnd(maxCommandNameLength),
34
- )}${indent}${configuration.getDescription()}`,
32
+ `${indent}${
33
+ chalk.greenBright(
34
+ commandName.padEnd(maxCommandNameLength),
35
+ )
36
+ }${indent}${configuration.getDescription()}`,
35
37
  )
36
38
  if (name === '--help') {
37
39
  const helpIndent = `${indent}${' '.repeat(maxCommandNameLength)}${indent}`
package/src/index.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export type { CommandFactoryList } from './application'
2
- export { Application, Input, Command, CommandManager, CommandConfiguration } from './application'
2
+ export { Application, Command, CommandConfiguration, CommandManager, Input } from './application'
3
3
  export * from './npm'
4
4
  export * from './utils'
@@ -61,7 +61,6 @@ export class CommandRunner {
61
61
  }
62
62
  }
63
63
 
64
-
65
64
  export class ChildProcessError extends Error {
66
65
  constructor(public readonly exitCode: number | null, public readonly stderr: string) {
67
66
  super(`Command has failed(${exitCode}): ${stderr} `)
@@ -11,7 +11,6 @@ export type Dependency = {
11
11
  name: string
12
12
  }
13
13
 
14
-
15
14
  export class PackageWorkspace {
16
15
  constructor(
17
16
  private readonly packageManager: PackageManager,
@@ -94,4 +93,3 @@ export class PackageWorkspace {
94
93
  return updated
95
94
  }
96
95
  }
97
-
@@ -20,7 +20,9 @@ export class PackageManagerHelpers {
20
20
  return [packageJson, it] as const
21
21
  }))
22
22
 
23
- return packageJson.filter(<T>(it: T | null): it is T => it !== null).map(([packageJson, subDir]) => new Package(join(dir, subDir), false, packageJson))
23
+ return packageJson.filter(<T>(it: T | null): it is T => it !== null).map(([packageJson, subDir]) =>
24
+ new Package(join(dir, subDir), false, packageJson)
25
+ )
24
26
  }
25
27
 
26
28
  static getWorkspacesFromPackageJson({ packageJson }: { packageJson: PackageJson }): string[] {
@@ -28,7 +28,8 @@ export class Yarn implements PackageManager {
28
28
 
29
29
  async isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {
30
30
  return await this.fs.pathExists(join(dir, 'yarn.lock'))
31
- && (!packageJson.packageManager || (packageJson.packageManager as string).startsWith('yarn@4') || (packageJson.packageManager as string).startsWith('yarn@3') || (packageJson.packageManager as string).startsWith('yarn@2'))
31
+ && (!packageJson.packageManager || (packageJson.packageManager as string).startsWith('yarn@4')
32
+ || (packageJson.packageManager as string).startsWith('yarn@3') || (packageJson.packageManager as string).startsWith('yarn@2'))
32
33
  }
33
34
 
34
35
  async readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Application = require("./src/application/Application.cjs");
4
- const Command = require("./src/application/Command.cjs");
5
- const CommandManager = require("./src/application/CommandManager.cjs");
6
- const CommandConfiguration = require("./src/application/CommandConfiguration.cjs");
7
- const Input = require("./src/application/Input.cjs");
8
- const CommandRunner = require("./src/npm/CommandRunner.cjs");
9
- const PackageWorkspace = require("./src/npm/PackageWorkspace.cjs");
10
- const Bun = require("./src/npm/packageManagers/Bun.cjs");
11
- const Npm = require("./src/npm/packageManagers/Npm.cjs");
12
- const Pnpm = require("./src/npm/packageManagers/Pnpm.cjs");
13
- const Yarn = require("./src/npm/packageManagers/Yarn.cjs");
14
- const YarnClassic = require("./src/npm/packageManagers/YarnClassic.cjs");
15
- const PackageWorkspaceResolver = require("./src/npm/PackageWorkspaceResolver.cjs");
16
- const findPackageRoot = require("./src/utils/findPackageRoot.cjs");
17
- exports.Application = Application.Application;
18
- exports.Command = Command.Command;
19
- exports.CommandManager = CommandManager.CommandManager;
20
- exports.CommandConfiguration = CommandConfiguration.CommandConfiguration;
21
- exports.Input = Input.Input;
22
- exports.ChildProcessError = CommandRunner.ChildProcessError;
23
- exports.CommandRunner = CommandRunner.CommandRunner;
24
- exports.PackageWorkspace = PackageWorkspace.PackageWorkspace;
25
- exports.Bun = Bun.Bun;
26
- exports.Npm = Npm.Npm;
27
- exports.Pnpm = Pnpm.Pnpm;
28
- exports.Yarn = Yarn.Yarn;
29
- exports.YarnClassic = YarnClassic.YarnClassic;
30
- exports.PackageWorkspaceResolver = PackageWorkspaceResolver.PackageWorkspaceResolver;
31
- exports.findPackageRoot = findPackageRoot.findPackageRoot;
32
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,32 +0,0 @@
1
- import { Application } from "./src/application/Application.js";
2
- import { Command } from "./src/application/Command.js";
3
- import { CommandManager } from "./src/application/CommandManager.js";
4
- import { CommandConfiguration } from "./src/application/CommandConfiguration.js";
5
- import { Input } from "./src/application/Input.js";
6
- import { ChildProcessError, CommandRunner } from "./src/npm/CommandRunner.js";
7
- import { PackageWorkspace } from "./src/npm/PackageWorkspace.js";
8
- import { Bun } from "./src/npm/packageManagers/Bun.js";
9
- import { Npm } from "./src/npm/packageManagers/Npm.js";
10
- import { Pnpm } from "./src/npm/packageManagers/Pnpm.js";
11
- import { Yarn } from "./src/npm/packageManagers/Yarn.js";
12
- import { YarnClassic } from "./src/npm/packageManagers/YarnClassic.js";
13
- import { PackageWorkspaceResolver } from "./src/npm/PackageWorkspaceResolver.js";
14
- import { findPackageRoot } from "./src/utils/findPackageRoot.js";
15
- export {
16
- Application,
17
- Bun,
18
- ChildProcessError,
19
- Command,
20
- CommandConfiguration,
21
- CommandManager,
22
- CommandRunner,
23
- Input,
24
- Npm,
25
- PackageWorkspace,
26
- PackageWorkspaceResolver,
27
- Pnpm,
28
- Yarn,
29
- YarnClassic,
30
- findPackageRoot
31
- };
32
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -1,82 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const InputParser = require("./InputParser.cjs");
4
- const chalk = require("chalk");
5
- class Application {
6
- constructor(commandManager, applicationDescription, options = {}) {
7
- this.commandManager = commandManager;
8
- this.applicationDescription = applicationDescription;
9
- this.options = options;
10
- }
11
- async run(args) {
12
- const [name, ...rest] = args;
13
- if (!name || name === "--help") {
14
- console.error(this.applicationDescription);
15
- console.error(`Usage: <command> <command args>`);
16
- const commands = Object.entries(this.commandManager.commands).filter(([name2, factory], index, commands2) => commands2.findIndex((it) => it[1] === factory) === index).map(([name2]) => name2).sort((a, b) => a.localeCompare(b));
17
- const maxCommandNameLength = Math.max(...commands.map((it) => it.length));
18
- for (let commandName of commands) {
19
- const [, command] = this.commandManager.createCommand(commandName);
20
- const configuration = command.getConfiguration();
21
- const indent = " ";
22
- console.error(
23
- `${indent}${chalk.greenBright(
24
- commandName.padEnd(maxCommandNameLength)
25
- )}${indent}${configuration.getDescription()}`
26
- );
27
- if (name === "--help") {
28
- const helpIndent = `${indent}${" ".repeat(maxCommandNameLength)}${indent}`;
29
- const usage = configuration.getUsage({ format: "multiline", indent: helpIndent });
30
- if (usage) {
31
- console.error(chalk.green(usage));
32
- } else {
33
- console.error(`${helpIndent}${chalk.gray("No options")}`);
34
- }
35
- }
36
- }
37
- return process.exit(0);
38
- }
39
- return this.runCommandInternal(name, rest, true);
40
- }
41
- async runCommand(name, args) {
42
- return this.runCommandInternal(name, args, false);
43
- }
44
- async runCommandInternal(name, args, showCommandName) {
45
- const [fullName, command] = this.commandManager.createCommand(name);
46
- if (args[0] === "--help" || args[0] === "-h") {
47
- if (showCommandName) {
48
- console.error(chalk.greenBright(fullName));
49
- }
50
- const configuration = command.getConfiguration();
51
- const commandDescription = configuration.getDescription();
52
- if (commandDescription) {
53
- console.error(commandDescription);
54
- }
55
- const shortUsage = configuration.getUsage({ format: "short" });
56
- if (shortUsage) {
57
- console.error("\nUsage:");
58
- console.error(chalk.green(shortUsage));
59
- console.error("\nArguments and options:");
60
- console.error(configuration.getUsage({ format: "multiline" }));
61
- }
62
- return process.exit(0);
63
- }
64
- try {
65
- await this.options.beforeRun?.({ command, args, name: fullName });
66
- const result = await command.run(args);
67
- return process.exit(result);
68
- } catch (e) {
69
- if (e instanceof InputParser.InvalidInputError) {
70
- console.error(chalk.bgRedBright.white(e.message));
71
- const configuration = command.getConfiguration();
72
- console.error(`${showCommandName ? chalk.greenBright(fullName) + " " : ""}${chalk.green(configuration.getUsage({ format: "line" }))}`);
73
- return process.exit(1);
74
- } else {
75
- console.error(e);
76
- return process.exit(2);
77
- }
78
- }
79
- }
80
- }
81
- exports.Application = Application;
82
- //# sourceMappingURL=Application.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Application.cjs","sources":["../../../../../packages/cli-common/src/application/Application.ts"],"sourcesContent":["import { InvalidInputError } from './InputParser'\nimport { CommandManager } from './CommandManager'\nimport chalk from 'chalk'\nimport { Command } from './Command'\n\nexport class Application {\n\tconstructor(\n\t\tprivate readonly commandManager: CommandManager,\n\t\tprivate readonly applicationDescription: string,\n\t\tprivate readonly options: {\n\t\t\tbeforeRun?: (args: {command: Command<any, any>; name: string; args: string[]}) => void\n\t\t} = {},\n\t) {}\n\n\tasync run(args: string[]): Promise<void> {\n\t\tconst [name, ...rest] = args\n\t\tif (!name || name === '--help') {\n\t\t\tconsole.error(this.applicationDescription)\n\t\t\tconsole.error(`Usage: <command> <command args>`)\n\t\t\tconst commands = Object.entries(this.commandManager.commands)\n\t\t\t\t.filter(([name, factory], index, commands) => commands.findIndex(it => it[1] === factory) === index)\n\t\t\t\t.map(([name]) => name)\n\t\t\t\t.sort((a, b) => a.localeCompare(b))\n\n\t\t\tconst maxCommandNameLength = Math.max(...commands.map(it => it.length))\n\n\t\t\tfor (let commandName of commands) {\n\t\t\t\tconst [, command] = this.commandManager.createCommand(commandName)\n\t\t\t\tconst configuration = command.getConfiguration()\n\t\t\t\tconst indent = ' '\n\t\t\t\tconsole.error(\n\t\t\t\t\t`${indent}${chalk.greenBright(\n\t\t\t\t\t\tcommandName.padEnd(maxCommandNameLength),\n\t\t\t\t\t)}${indent}${configuration.getDescription()}`,\n\t\t\t\t)\n\t\t\t\tif (name === '--help') {\n\t\t\t\t\tconst helpIndent = `${indent}${' '.repeat(maxCommandNameLength)}${indent}`\n\t\t\t\t\tconst usage = configuration.getUsage({ format: 'multiline', indent: helpIndent })\n\t\t\t\t\tif (usage) {\n\t\t\t\t\t\tconsole.error(chalk.green(usage))\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.error(`${helpIndent}${chalk.gray('No options')}`)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn process.exit(0)\n\t\t}\n\t\treturn this.runCommandInternal(name, rest, true)\n\t}\n\n\tpublic async runCommand(name: string, args: string[]) {\n\t\treturn this.runCommandInternal(name, args, false)\n\t}\n\n\tpublic async runCommandInternal(name: string, args: string[], showCommandName: boolean) {\n\t\tconst [fullName, command] = this.commandManager.createCommand(name)\n\n\t\tif (args[0] === '--help' || args[0] === '-h') {\n\t\t\tif (showCommandName) {\n\t\t\t\tconsole.error(chalk.greenBright(fullName))\n\t\t\t}\n\t\t\tconst configuration = command.getConfiguration()\n\t\t\tconst commandDescription = configuration.getDescription()\n\t\t\tif (commandDescription) {\n\t\t\t\tconsole.error(commandDescription)\n\t\t\t}\n\t\t\tconst shortUsage = configuration.getUsage({ format: 'short' })\n\t\t\tif (shortUsage) {\n\t\t\t\tconsole.error('\\nUsage:')\n\t\t\t\tconsole.error(chalk.green(shortUsage))\n\t\t\t\tconsole.error('\\nArguments and options:')\n\t\t\t\tconsole.error(configuration.getUsage({ format: 'multiline' }))\n\t\t\t}\n\n\t\t\treturn process.exit(0)\n\t\t}\n\n\t\ttry {\n\t\t\tawait this.options.beforeRun?.({ command, args, name: fullName })\n\n\t\t\tconst result = await command.run(args)\n\t\t\treturn process.exit(result)\n\t\t} catch (e) {\n\t\t\tif (e instanceof InvalidInputError) {\n\t\t\t\tconsole.error(chalk.bgRedBright.white(e.message))\n\t\t\t\tconst configuration = command.getConfiguration()\n\t\t\t\tconsole.error(`${showCommandName ? chalk.greenBright(fullName) + ' ' : ''}${chalk.green(configuration.getUsage({ format: 'line' }))}`)\n\n\t\t\t\treturn process.exit(1)\n\t\t\t} else {\n\t\t\t\tconsole.error(e)\n\t\t\t\treturn process.exit(2)\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["name","commands","InvalidInputError"],"mappings":"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"}
@@ -1,82 +0,0 @@
1
- import { InvalidInputError } from "./InputParser.js";
2
- import chalk from "chalk";
3
- class Application {
4
- constructor(commandManager, applicationDescription, options = {}) {
5
- this.commandManager = commandManager;
6
- this.applicationDescription = applicationDescription;
7
- this.options = options;
8
- }
9
- async run(args) {
10
- const [name, ...rest] = args;
11
- if (!name || name === "--help") {
12
- console.error(this.applicationDescription);
13
- console.error(`Usage: <command> <command args>`);
14
- const commands = Object.entries(this.commandManager.commands).filter(([name2, factory], index, commands2) => commands2.findIndex((it) => it[1] === factory) === index).map(([name2]) => name2).sort((a, b) => a.localeCompare(b));
15
- const maxCommandNameLength = Math.max(...commands.map((it) => it.length));
16
- for (let commandName of commands) {
17
- const [, command] = this.commandManager.createCommand(commandName);
18
- const configuration = command.getConfiguration();
19
- const indent = " ";
20
- console.error(
21
- `${indent}${chalk.greenBright(
22
- commandName.padEnd(maxCommandNameLength)
23
- )}${indent}${configuration.getDescription()}`
24
- );
25
- if (name === "--help") {
26
- const helpIndent = `${indent}${" ".repeat(maxCommandNameLength)}${indent}`;
27
- const usage = configuration.getUsage({ format: "multiline", indent: helpIndent });
28
- if (usage) {
29
- console.error(chalk.green(usage));
30
- } else {
31
- console.error(`${helpIndent}${chalk.gray("No options")}`);
32
- }
33
- }
34
- }
35
- return process.exit(0);
36
- }
37
- return this.runCommandInternal(name, rest, true);
38
- }
39
- async runCommand(name, args) {
40
- return this.runCommandInternal(name, args, false);
41
- }
42
- async runCommandInternal(name, args, showCommandName) {
43
- const [fullName, command] = this.commandManager.createCommand(name);
44
- if (args[0] === "--help" || args[0] === "-h") {
45
- if (showCommandName) {
46
- console.error(chalk.greenBright(fullName));
47
- }
48
- const configuration = command.getConfiguration();
49
- const commandDescription = configuration.getDescription();
50
- if (commandDescription) {
51
- console.error(commandDescription);
52
- }
53
- const shortUsage = configuration.getUsage({ format: "short" });
54
- if (shortUsage) {
55
- console.error("\nUsage:");
56
- console.error(chalk.green(shortUsage));
57
- console.error("\nArguments and options:");
58
- console.error(configuration.getUsage({ format: "multiline" }));
59
- }
60
- return process.exit(0);
61
- }
62
- try {
63
- await this.options.beforeRun?.({ command, args, name: fullName });
64
- const result = await command.run(args);
65
- return process.exit(result);
66
- } catch (e) {
67
- if (e instanceof InvalidInputError) {
68
- console.error(chalk.bgRedBright.white(e.message));
69
- const configuration = command.getConfiguration();
70
- console.error(`${showCommandName ? chalk.greenBright(fullName) + " " : ""}${chalk.green(configuration.getUsage({ format: "line" }))}`);
71
- return process.exit(1);
72
- } else {
73
- console.error(e);
74
- return process.exit(2);
75
- }
76
- }
77
- }
78
- }
79
- export {
80
- Application
81
- };
82
- //# sourceMappingURL=Application.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Application.js","sources":["../../../../../packages/cli-common/src/application/Application.ts"],"sourcesContent":["import { InvalidInputError } from './InputParser'\nimport { CommandManager } from './CommandManager'\nimport chalk from 'chalk'\nimport { Command } from './Command'\n\nexport class Application {\n\tconstructor(\n\t\tprivate readonly commandManager: CommandManager,\n\t\tprivate readonly applicationDescription: string,\n\t\tprivate readonly options: {\n\t\t\tbeforeRun?: (args: {command: Command<any, any>; name: string; args: string[]}) => void\n\t\t} = {},\n\t) {}\n\n\tasync run(args: string[]): Promise<void> {\n\t\tconst [name, ...rest] = args\n\t\tif (!name || name === '--help') {\n\t\t\tconsole.error(this.applicationDescription)\n\t\t\tconsole.error(`Usage: <command> <command args>`)\n\t\t\tconst commands = Object.entries(this.commandManager.commands)\n\t\t\t\t.filter(([name, factory], index, commands) => commands.findIndex(it => it[1] === factory) === index)\n\t\t\t\t.map(([name]) => name)\n\t\t\t\t.sort((a, b) => a.localeCompare(b))\n\n\t\t\tconst maxCommandNameLength = Math.max(...commands.map(it => it.length))\n\n\t\t\tfor (let commandName of commands) {\n\t\t\t\tconst [, command] = this.commandManager.createCommand(commandName)\n\t\t\t\tconst configuration = command.getConfiguration()\n\t\t\t\tconst indent = ' '\n\t\t\t\tconsole.error(\n\t\t\t\t\t`${indent}${chalk.greenBright(\n\t\t\t\t\t\tcommandName.padEnd(maxCommandNameLength),\n\t\t\t\t\t)}${indent}${configuration.getDescription()}`,\n\t\t\t\t)\n\t\t\t\tif (name === '--help') {\n\t\t\t\t\tconst helpIndent = `${indent}${' '.repeat(maxCommandNameLength)}${indent}`\n\t\t\t\t\tconst usage = configuration.getUsage({ format: 'multiline', indent: helpIndent })\n\t\t\t\t\tif (usage) {\n\t\t\t\t\t\tconsole.error(chalk.green(usage))\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.error(`${helpIndent}${chalk.gray('No options')}`)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn process.exit(0)\n\t\t}\n\t\treturn this.runCommandInternal(name, rest, true)\n\t}\n\n\tpublic async runCommand(name: string, args: string[]) {\n\t\treturn this.runCommandInternal(name, args, false)\n\t}\n\n\tpublic async runCommandInternal(name: string, args: string[], showCommandName: boolean) {\n\t\tconst [fullName, command] = this.commandManager.createCommand(name)\n\n\t\tif (args[0] === '--help' || args[0] === '-h') {\n\t\t\tif (showCommandName) {\n\t\t\t\tconsole.error(chalk.greenBright(fullName))\n\t\t\t}\n\t\t\tconst configuration = command.getConfiguration()\n\t\t\tconst commandDescription = configuration.getDescription()\n\t\t\tif (commandDescription) {\n\t\t\t\tconsole.error(commandDescription)\n\t\t\t}\n\t\t\tconst shortUsage = configuration.getUsage({ format: 'short' })\n\t\t\tif (shortUsage) {\n\t\t\t\tconsole.error('\\nUsage:')\n\t\t\t\tconsole.error(chalk.green(shortUsage))\n\t\t\t\tconsole.error('\\nArguments and options:')\n\t\t\t\tconsole.error(configuration.getUsage({ format: 'multiline' }))\n\t\t\t}\n\n\t\t\treturn process.exit(0)\n\t\t}\n\n\t\ttry {\n\t\t\tawait this.options.beforeRun?.({ command, args, name: fullName })\n\n\t\t\tconst result = await command.run(args)\n\t\t\treturn process.exit(result)\n\t\t} catch (e) {\n\t\t\tif (e instanceof InvalidInputError) {\n\t\t\t\tconsole.error(chalk.bgRedBright.white(e.message))\n\t\t\t\tconst configuration = command.getConfiguration()\n\t\t\t\tconsole.error(`${showCommandName ? chalk.greenBright(fullName) + ' ' : ''}${chalk.green(configuration.getUsage({ format: 'line' }))}`)\n\n\t\t\t\treturn process.exit(1)\n\t\t\t} else {\n\t\t\t\tconsole.error(e)\n\t\t\t\treturn process.exit(2)\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["name","commands"],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- class ArgumentConfiguration {
4
- constructor(options) {
5
- this.options = options;
6
- }
7
- optional(optional = true) {
8
- this.options.optional = optional;
9
- return this;
10
- }
11
- variadic(variadic = true) {
12
- this.options.variadic = variadic;
13
- return this;
14
- }
15
- description(description) {
16
- this.options.description = description;
17
- return this;
18
- }
19
- validator(validator) {
20
- this.options.validator = validator;
21
- return this;
22
- }
23
- }
24
- exports.ArgumentConfiguration = ArgumentConfiguration;
25
- //# sourceMappingURL=Argument.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Argument.cjs","sources":["../../../../../packages/cli-common/src/application/Argument.ts"],"sourcesContent":["export type Argument = {\n\tname: string\n\tdescription?: string\n\toptional: boolean\n\tvariadic: boolean\n\tvalidator?: (value: string) => boolean\n}\n\nexport class ArgumentConfiguration {\n\tconstructor(private readonly options: Argument) {}\n\n\tpublic optional(optional: boolean = true) {\n\t\tthis.options.optional = optional\n\t\treturn this\n\t}\n\n\tpublic variadic(variadic: boolean = true) {\n\t\tthis.options.variadic = variadic\n\t\treturn this\n\t}\n\n\tpublic description(description: string) {\n\t\tthis.options.description = description\n\t\treturn this\n\t}\n\n\tpublic validator(validator: (value: string) => boolean) {\n\t\tthis.options.validator = validator\n\t\treturn this\n\t}\n}\n"],"names":[],"mappings":";;AAQO,MAAM,sBAAsB;AAAA,EAClC,YAA6B,SAAmB;AAAnB,SAAA,UAAA;AAAA,EAAA;AAAA,EAEtB,SAAS,WAAoB,MAAM;AACzC,SAAK,QAAQ,WAAW;AACjB,WAAA;AAAA,EAAA;AAAA,EAGD,SAAS,WAAoB,MAAM;AACzC,SAAK,QAAQ,WAAW;AACjB,WAAA;AAAA,EAAA;AAAA,EAGD,YAAY,aAAqB;AACvC,SAAK,QAAQ,cAAc;AACpB,WAAA;AAAA,EAAA;AAAA,EAGD,UAAU,WAAuC;AACvD,SAAK,QAAQ,YAAY;AAClB,WAAA;AAAA,EAAA;AAET;;"}
@@ -1,25 +0,0 @@
1
- class ArgumentConfiguration {
2
- constructor(options) {
3
- this.options = options;
4
- }
5
- optional(optional = true) {
6
- this.options.optional = optional;
7
- return this;
8
- }
9
- variadic(variadic = true) {
10
- this.options.variadic = variadic;
11
- return this;
12
- }
13
- description(description) {
14
- this.options.description = description;
15
- return this;
16
- }
17
- validator(validator) {
18
- this.options.validator = validator;
19
- return this;
20
- }
21
- }
22
- export {
23
- ArgumentConfiguration
24
- };
25
- //# sourceMappingURL=Argument.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Argument.js","sources":["../../../../../packages/cli-common/src/application/Argument.ts"],"sourcesContent":["export type Argument = {\n\tname: string\n\tdescription?: string\n\toptional: boolean\n\tvariadic: boolean\n\tvalidator?: (value: string) => boolean\n}\n\nexport class ArgumentConfiguration {\n\tconstructor(private readonly options: Argument) {}\n\n\tpublic optional(optional: boolean = true) {\n\t\tthis.options.optional = optional\n\t\treturn this\n\t}\n\n\tpublic variadic(variadic: boolean = true) {\n\t\tthis.options.variadic = variadic\n\t\treturn this\n\t}\n\n\tpublic description(description: string) {\n\t\tthis.options.description = description\n\t\treturn this\n\t}\n\n\tpublic validator(validator: (value: string) => boolean) {\n\t\tthis.options.validator = validator\n\t\treturn this\n\t}\n}\n"],"names":[],"mappings":"AAQO,MAAM,sBAAsB;AAAA,EAClC,YAA6B,SAAmB;AAAnB,SAAA,UAAA;AAAA,EAAA;AAAA,EAEtB,SAAS,WAAoB,MAAM;AACzC,SAAK,QAAQ,WAAW;AACjB,WAAA;AAAA,EAAA;AAAA,EAGD,SAAS,WAAoB,MAAM;AACzC,SAAK,QAAQ,WAAW;AACjB,WAAA;AAAA,EAAA;AAAA,EAGD,YAAY,aAAqB;AACvC,SAAK,QAAQ,cAAc;AACpB,WAAA;AAAA,EAAA;AAAA,EAGD,UAAU,WAAuC;AACvD,SAAK,QAAQ,YAAY;AAClB,WAAA;AAAA,EAAA;AAET;"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const CommandConfiguration = require("./CommandConfiguration.cjs");
4
- var __defProp = Object.defineProperty;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
- var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
7
- class Command {
8
- constructor() {
9
- __publicField(this, "configuration");
10
- }
11
- getConfiguration() {
12
- if (this.configuration === void 0) {
13
- const configuration = new CommandConfiguration.CommandConfiguration();
14
- this.configure(configuration);
15
- configuration.validate();
16
- this.configuration = configuration;
17
- }
18
- return this.configuration;
19
- }
20
- async run(args) {
21
- const parser = this.getConfiguration().createParser();
22
- const input = parser.parse(args);
23
- const result = await this.execute(input);
24
- return result || 0;
25
- }
26
- }
27
- exports.Command = Command;
28
- //# sourceMappingURL=Command.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Command.cjs","sources":["../../../../../packages/cli-common/src/application/Command.ts"],"sourcesContent":["import { CommandConfiguration } from './CommandConfiguration'\nimport { Arguments, Input, Options } from './Input'\n\nexport abstract class Command<Args extends Arguments, TOptions extends Options> {\n\tprivate configuration: CommandConfiguration<Args, TOptions> | undefined\n\n\tprotected abstract configure(configuration: CommandConfiguration<Args, TOptions>): void\n\n\tpublic getConfiguration(): CommandConfiguration<Args, TOptions> {\n\t\tif (this.configuration === undefined) {\n\t\t\tconst configuration = new CommandConfiguration()\n\t\t\tthis.configure(configuration)\n\t\t\tconfiguration.validate()\n\t\t\tthis.configuration = configuration\n\t\t}\n\t\treturn this.configuration\n\t}\n\n\tprotected abstract execute(input: Input<Args, TOptions>): Promise<void | number>\n\n\tpublic async run(args: string[]): Promise<number> {\n\t\tconst parser = this.getConfiguration().createParser()\n\t\tconst input = parser.parse<Args, TOptions>(args)\n\t\tconst result = await this.execute(input)\n\t\treturn result || 0\n\t}\n}\n"],"names":["CommandConfiguration"],"mappings":";;;;;;AAGO,MAAe,QAA0D;AAAA,EAAzE,cAAA;AACE,kBAAA,MAAA,eAAA;AAAA,EAAA;AAAA,EAID,mBAAyD;AAC3D,QAAA,KAAK,kBAAkB,QAAW;AAC/B,YAAA,gBAAgB,IAAIA,0CAAqB;AAC/C,WAAK,UAAU,aAAa;AAC5B,oBAAc,SAAS;AACvB,WAAK,gBAAgB;AAAA,IAAA;AAEtB,WAAO,KAAK;AAAA,EAAA;AAAA,EAKb,MAAa,IAAI,MAAiC;AACjD,UAAM,SAAS,KAAK,iBAAiB,EAAE,aAAa;AAC9C,UAAA,QAAQ,OAAO,MAAsB,IAAI;AAC/C,UAAM,SAAS,MAAM,KAAK,QAAQ,KAAK;AACvC,WAAO,UAAU;AAAA,EAAA;AAEnB;;"}
@@ -1,28 +0,0 @@
1
- import { CommandConfiguration } from "./CommandConfiguration.js";
2
- var __defProp = Object.defineProperty;
3
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
- var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
5
- class Command {
6
- constructor() {
7
- __publicField(this, "configuration");
8
- }
9
- getConfiguration() {
10
- if (this.configuration === void 0) {
11
- const configuration = new CommandConfiguration();
12
- this.configure(configuration);
13
- configuration.validate();
14
- this.configuration = configuration;
15
- }
16
- return this.configuration;
17
- }
18
- async run(args) {
19
- const parser = this.getConfiguration().createParser();
20
- const input = parser.parse(args);
21
- const result = await this.execute(input);
22
- return result || 0;
23
- }
24
- }
25
- export {
26
- Command
27
- };
28
- //# sourceMappingURL=Command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Command.js","sources":["../../../../../packages/cli-common/src/application/Command.ts"],"sourcesContent":["import { CommandConfiguration } from './CommandConfiguration'\nimport { Arguments, Input, Options } from './Input'\n\nexport abstract class Command<Args extends Arguments, TOptions extends Options> {\n\tprivate configuration: CommandConfiguration<Args, TOptions> | undefined\n\n\tprotected abstract configure(configuration: CommandConfiguration<Args, TOptions>): void\n\n\tpublic getConfiguration(): CommandConfiguration<Args, TOptions> {\n\t\tif (this.configuration === undefined) {\n\t\t\tconst configuration = new CommandConfiguration()\n\t\t\tthis.configure(configuration)\n\t\t\tconfiguration.validate()\n\t\t\tthis.configuration = configuration\n\t\t}\n\t\treturn this.configuration\n\t}\n\n\tprotected abstract execute(input: Input<Args, TOptions>): Promise<void | number>\n\n\tpublic async run(args: string[]): Promise<number> {\n\t\tconst parser = this.getConfiguration().createParser()\n\t\tconst input = parser.parse<Args, TOptions>(args)\n\t\tconst result = await this.execute(input)\n\t\treturn result || 0\n\t}\n}\n"],"names":[],"mappings":";;;;AAGO,MAAe,QAA0D;AAAA,EAAzE,cAAA;AACE,kBAAA,MAAA,eAAA;AAAA,EAAA;AAAA,EAID,mBAAyD;AAC3D,QAAA,KAAK,kBAAkB,QAAW;AAC/B,YAAA,gBAAgB,IAAI,qBAAqB;AAC/C,WAAK,UAAU,aAAa;AAC5B,oBAAc,SAAS;AACvB,WAAK,gBAAgB;AAAA,IAAA;AAEtB,WAAO,KAAK;AAAA,EAAA;AAAA,EAKb,MAAa,IAAI,MAAiC;AACjD,UAAM,SAAS,KAAK,iBAAiB,EAAE,aAAa;AAC9C,UAAA,QAAQ,OAAO,MAAsB,IAAI;AAC/C,UAAM,SAAS,MAAM,KAAK,QAAQ,KAAK;AACvC,WAAO,UAAU;AAAA,EAAA;AAEnB;"}
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Argument = require("./Argument.cjs");
4
- const Option = require("./Option.cjs");
5
- const InputParser = require("./InputParser.cjs");
6
- const UsageFormatter = require("./UsageFormatter.cjs");
7
- var __defProp = Object.defineProperty;
8
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
10
- class CommandConfiguration {
11
- constructor() {
12
- __publicField(this, "descriptionValue", "");
13
- __publicField(this, "arguments", []);
14
- __publicField(this, "options", []);
15
- }
16
- description(description) {
17
- this.descriptionValue = description;
18
- }
19
- argument(name) {
20
- const options = { name, optional: false, variadic: false };
21
- this.arguments.push(options);
22
- return new Argument.ArgumentConfiguration(options);
23
- }
24
- option(name) {
25
- const option = { name, required: false, mode: Option.OptionMode.VALUE_NONE, deprecated: false };
26
- this.options.push(option);
27
- return new Option.OptionConfiguration(option);
28
- }
29
- validate() {
30
- for (let argument of this.arguments) {
31
- }
32
- }
33
- getDescription() {
34
- return this.descriptionValue;
35
- }
36
- createParser() {
37
- return new InputParser.InputParser(this.arguments, this.options);
38
- }
39
- getUsage(args = {}) {
40
- return UsageFormatter.UsageFormatter.format(this.arguments, this.options, args);
41
- }
42
- }
43
- exports.CommandConfiguration = CommandConfiguration;
44
- //# sourceMappingURL=CommandConfiguration.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommandConfiguration.cjs","sources":["../../../../../packages/cli-common/src/application/CommandConfiguration.ts"],"sourcesContent":["import { Argument, ArgumentConfiguration } from './Argument'\nimport { Option, OptionConfiguration, OptionMode } from './Option'\nimport { InputParser } from './InputParser'\nimport { UsageFormat, UsageFormatter } from './UsageFormatter'\nimport { Arguments, Options } from './Input'\n\nexport class CommandConfiguration<Args extends Arguments, TOptions extends Options> {\n\tprivate descriptionValue: string = ''\n\n\tprivate arguments: Argument[] = []\n\tprivate options: Option[] = []\n\n\tpublic description(description: string) {\n\t\tthis.descriptionValue = description\n\t}\n\n\tpublic argument(name: Extract<keyof Args, string>): ArgumentConfiguration {\n\t\tconst options = { name, optional: false, variadic: false }\n\t\tthis.arguments.push(options)\n\t\treturn new ArgumentConfiguration(options)\n\t}\n\n\tpublic option(name: Extract<keyof TOptions, string>): OptionConfiguration {\n\t\tconst option: Option = { name, required: false, mode: OptionMode.VALUE_NONE, deprecated: false }\n\t\tthis.options.push(option)\n\t\treturn new OptionConfiguration(option)\n\t}\n\n\tpublic validate() {\n\t\tlet hasVariadic = false\n\t\tlet hasOptional = false\n\t\tfor (let argument of this.arguments) {\n\t\t\tif (hasOptional && !argument.optional) {\n\t\t\t\tthrow new InvalidConfigurationError(`Required argument ${argument.name} cannot follow an optional `)\n\t\t\t}\n\t\t\tif (hasVariadic) {\n\t\t\t\tthrow new InvalidConfigurationError(`A variadic argument must be the last`)\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic getDescription(): string {\n\t\treturn this.descriptionValue\n\t}\n\n\tpublic createParser(): InputParser {\n\t\treturn new InputParser(this.arguments, this.options)\n\t}\n\n\tpublic getUsage(args: { format?: UsageFormat; indent?: string } = {}): string {\n\t\treturn UsageFormatter.format(this.arguments, this.options, args)\n\t}\n}\n\nexport class InvalidConfigurationError extends Error {}\n"],"names":["ArgumentConfiguration","OptionMode","OptionConfiguration","InputParser","UsageFormatter"],"mappings":";;;;;;;;;AAMO,MAAM,qBAAuE;AAAA,EAA7E,cAAA;AACN,kBAAA,MAAQ,oBAA2B,EAAA;AAEnC,kBAAA,MAAQ,aAAwB,EAAC;AACjC,kBAAA,MAAQ,WAAoB,EAAC;AAAA,EAAA;AAAA,EAEtB,YAAY,aAAqB;AACvC,SAAK,mBAAmB;AAAA,EAAA;AAAA,EAGlB,SAAS,MAA0D;AACzE,UAAM,UAAU,EAAE,MAAM,UAAU,OAAO,UAAU,MAAM;AACpD,SAAA,UAAU,KAAK,OAAO;AACpB,WAAA,IAAIA,+BAAsB,OAAO;AAAA,EAAA;AAAA,EAGlC,OAAO,MAA4D;AACnE,UAAA,SAAiB,EAAE,MAAM,UAAU,OAAO,MAAMC,kBAAW,YAAY,YAAY,MAAM;AAC1F,SAAA,QAAQ,KAAK,MAAM;AACjB,WAAA,IAAIC,2BAAoB,MAAM;AAAA,EAAA;AAAA,EAG/B,WAAW;AAGR,aAAA,YAAY,KAAK,WAAW;AAAA,IAMpC;AAAA,EACD;AAAA,EAGM,iBAAyB;AAC/B,WAAO,KAAK;AAAA,EAAA;AAAA,EAGN,eAA4B;AAClC,WAAO,IAAIC,YAAAA,YAAY,KAAK,WAAW,KAAK,OAAO;AAAA,EAAA;AAAA,EAG7C,SAAS,OAAkD,IAAY;AAC7E,WAAOC,eAAAA,eAAe,OAAO,KAAK,WAAW,KAAK,SAAS,IAAI;AAAA,EAAA;AAEjE;;"}
@@ -1,44 +0,0 @@
1
- import { ArgumentConfiguration } from "./Argument.js";
2
- import { OptionMode, OptionConfiguration } from "./Option.js";
3
- import { InputParser } from "./InputParser.js";
4
- import { UsageFormatter } from "./UsageFormatter.js";
5
- var __defProp = Object.defineProperty;
6
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
8
- class CommandConfiguration {
9
- constructor() {
10
- __publicField(this, "descriptionValue", "");
11
- __publicField(this, "arguments", []);
12
- __publicField(this, "options", []);
13
- }
14
- description(description) {
15
- this.descriptionValue = description;
16
- }
17
- argument(name) {
18
- const options = { name, optional: false, variadic: false };
19
- this.arguments.push(options);
20
- return new ArgumentConfiguration(options);
21
- }
22
- option(name) {
23
- const option = { name, required: false, mode: OptionMode.VALUE_NONE, deprecated: false };
24
- this.options.push(option);
25
- return new OptionConfiguration(option);
26
- }
27
- validate() {
28
- for (let argument of this.arguments) {
29
- }
30
- }
31
- getDescription() {
32
- return this.descriptionValue;
33
- }
34
- createParser() {
35
- return new InputParser(this.arguments, this.options);
36
- }
37
- getUsage(args = {}) {
38
- return UsageFormatter.format(this.arguments, this.options, args);
39
- }
40
- }
41
- export {
42
- CommandConfiguration
43
- };
44
- //# sourceMappingURL=CommandConfiguration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommandConfiguration.js","sources":["../../../../../packages/cli-common/src/application/CommandConfiguration.ts"],"sourcesContent":["import { Argument, ArgumentConfiguration } from './Argument'\nimport { Option, OptionConfiguration, OptionMode } from './Option'\nimport { InputParser } from './InputParser'\nimport { UsageFormat, UsageFormatter } from './UsageFormatter'\nimport { Arguments, Options } from './Input'\n\nexport class CommandConfiguration<Args extends Arguments, TOptions extends Options> {\n\tprivate descriptionValue: string = ''\n\n\tprivate arguments: Argument[] = []\n\tprivate options: Option[] = []\n\n\tpublic description(description: string) {\n\t\tthis.descriptionValue = description\n\t}\n\n\tpublic argument(name: Extract<keyof Args, string>): ArgumentConfiguration {\n\t\tconst options = { name, optional: false, variadic: false }\n\t\tthis.arguments.push(options)\n\t\treturn new ArgumentConfiguration(options)\n\t}\n\n\tpublic option(name: Extract<keyof TOptions, string>): OptionConfiguration {\n\t\tconst option: Option = { name, required: false, mode: OptionMode.VALUE_NONE, deprecated: false }\n\t\tthis.options.push(option)\n\t\treturn new OptionConfiguration(option)\n\t}\n\n\tpublic validate() {\n\t\tlet hasVariadic = false\n\t\tlet hasOptional = false\n\t\tfor (let argument of this.arguments) {\n\t\t\tif (hasOptional && !argument.optional) {\n\t\t\t\tthrow new InvalidConfigurationError(`Required argument ${argument.name} cannot follow an optional `)\n\t\t\t}\n\t\t\tif (hasVariadic) {\n\t\t\t\tthrow new InvalidConfigurationError(`A variadic argument must be the last`)\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic getDescription(): string {\n\t\treturn this.descriptionValue\n\t}\n\n\tpublic createParser(): InputParser {\n\t\treturn new InputParser(this.arguments, this.options)\n\t}\n\n\tpublic getUsage(args: { format?: UsageFormat; indent?: string } = {}): string {\n\t\treturn UsageFormatter.format(this.arguments, this.options, args)\n\t}\n}\n\nexport class InvalidConfigurationError extends Error {}\n"],"names":[],"mappings":";;;;;;;AAMO,MAAM,qBAAuE;AAAA,EAA7E,cAAA;AACN,kBAAA,MAAQ,oBAA2B,EAAA;AAEnC,kBAAA,MAAQ,aAAwB,EAAC;AACjC,kBAAA,MAAQ,WAAoB,EAAC;AAAA,EAAA;AAAA,EAEtB,YAAY,aAAqB;AACvC,SAAK,mBAAmB;AAAA,EAAA;AAAA,EAGlB,SAAS,MAA0D;AACzE,UAAM,UAAU,EAAE,MAAM,UAAU,OAAO,UAAU,MAAM;AACpD,SAAA,UAAU,KAAK,OAAO;AACpB,WAAA,IAAI,sBAAsB,OAAO;AAAA,EAAA;AAAA,EAGlC,OAAO,MAA4D;AACnE,UAAA,SAAiB,EAAE,MAAM,UAAU,OAAO,MAAM,WAAW,YAAY,YAAY,MAAM;AAC1F,SAAA,QAAQ,KAAK,MAAM;AACjB,WAAA,IAAI,oBAAoB,MAAM;AAAA,EAAA;AAAA,EAG/B,WAAW;AAGR,aAAA,YAAY,KAAK,WAAW;AAAA,IAMpC;AAAA,EACD;AAAA,EAGM,iBAAyB;AAC/B,WAAO,KAAK;AAAA,EAAA;AAAA,EAGN,eAA4B;AAClC,WAAO,IAAI,YAAY,KAAK,WAAW,KAAK,OAAO;AAAA,EAAA;AAAA,EAG7C,SAAS,OAAkD,IAAY;AAC7E,WAAO,eAAe,OAAO,KAAK,WAAW,KAAK,SAAS,IAAI;AAAA,EAAA;AAEjE;"}