@flowscripter/dynamic-cli-framework 1.7.3 → 1.7.5

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 (369) hide show
  1. package/cli-plugin.ts +1 -1
  2. package/dist/cli-plugin.d.ts +1 -1
  3. package/dist/cli-plugin.d.ts.map +1 -1
  4. package/dist/cli-plugin.js +25 -247
  5. package/dist/index.js +70 -105754
  6. package/dist/src/api/BaseCLIFeatureOptions.js +0 -0
  7. package/dist/src/api/CLI.js +0 -0
  8. package/dist/src/api/CLIConfig.js +0 -0
  9. package/dist/src/api/Context.js +0 -0
  10. package/dist/src/api/RunResult.js +73 -0
  11. package/dist/src/api/argument/Argument.js +0 -0
  12. package/dist/src/api/argument/ArgumentValueTypes.js +18 -0
  13. package/dist/src/api/argument/ComplexOption.js +1 -0
  14. package/dist/src/api/argument/GlobalCommandArgument.js +0 -0
  15. package/dist/src/api/argument/Option.js +0 -0
  16. package/dist/src/api/argument/Positional.js +0 -0
  17. package/dist/src/api/argument/SubCommandArgument.js +1 -0
  18. package/dist/src/api/command/Command.js +0 -0
  19. package/dist/src/api/command/GlobalCommand.js +0 -0
  20. package/dist/src/api/command/GlobalModifierCommand.js +0 -0
  21. package/dist/src/api/command/GroupCommand.js +0 -0
  22. package/dist/src/api/command/SubCommand.js +0 -0
  23. package/dist/src/api/command/UsageExample.js +0 -0
  24. package/dist/src/api/plugin/CLIPlugin.js +2 -0
  25. package/dist/src/api/plugin/CommandFactory.js +7 -0
  26. package/dist/src/api/plugin/ServiceProviderFactory.js +7 -0
  27. package/dist/src/api/plugin/createCLIPlugin.js +30 -0
  28. package/dist/src/api/service/ServiceProvider.js +0 -0
  29. package/dist/src/api/service/core/ArgumentPrompterService.js +1 -0
  30. package/dist/src/api/service/core/AsciiBannerGeneratorService.js +1 -0
  31. package/dist/src/api/service/core/CompletionService.js +8 -0
  32. package/dist/src/api/service/core/DataDumpGeneratorService.js +7 -0
  33. package/dist/src/api/service/core/ImagePrinterService.js +1 -0
  34. package/dist/src/api/service/core/KeyValueService.js +7 -0
  35. package/dist/src/api/service/core/PluginService.js +6 -0
  36. package/dist/src/api/service/core/PrettyPrinterService.js +1 -0
  37. package/dist/src/api/service/core/PrinterService.js +42 -0
  38. package/dist/src/api/service/core/PrompterService.js +10 -0
  39. package/dist/src/api/service/core/SecretService.js +0 -0
  40. package/dist/src/api/service/core/ShutdownService.js +1 -0
  41. package/dist/src/api/service/core/SyntaxHighlighterService.js +1 -0
  42. package/dist/src/api/service/core/Table.js +49 -0
  43. package/dist/src/api/service/core/TableGeneratorService.d.ts +1 -0
  44. package/dist/src/api/service/core/TableGeneratorService.d.ts.map +1 -1
  45. package/dist/src/api/service/core/TableGeneratorService.js +7 -0
  46. package/dist/src/api/service/core/TreePrinterService.js +1 -0
  47. package/dist/src/cli/BaseCLI.d.ts.map +1 -1
  48. package/dist/src/cli/BaseCLI.js +232 -0
  49. package/dist/src/cli/DefaultRuntimeCLI.js +20 -0
  50. package/dist/src/cli/DynamicPluginRuntimeCLI.js +50 -0
  51. package/dist/src/command/MultiCommandCliHelpCommand.js +238 -0
  52. package/dist/src/command/SingleCommandCliHelpCommand.js +104 -0
  53. package/dist/src/command/UsageCommand.js +16 -0
  54. package/dist/src/command/VersionCommand.js +13 -0
  55. package/dist/src/launcher.js +61 -0
  56. package/dist/src/runtime/DefaultContext.js +25 -0
  57. package/dist/src/runtime/argument/ArgumentTypeGuards.js +3 -0
  58. package/dist/src/runtime/command/CommandTypeGuards.js +12 -0
  59. package/dist/src/runtime/command/CommandValidator.js +371 -0
  60. package/dist/src/runtime/parser.js +105 -0
  61. package/dist/src/runtime/registry/CommandRegistry.js +0 -0
  62. package/dist/src/runtime/registry/DefaultCommandRegistry.js +190 -0
  63. package/dist/src/runtime/registry/DefaultServiceProviderRegistry.js +20 -0
  64. package/dist/src/runtime/registry/ServiceProviderRegistry.js +0 -0
  65. package/dist/src/runtime/runner.js +507 -0
  66. package/dist/src/runtime/scanner.js +244 -0
  67. package/dist/src/runtime/values/ValuePopulationResult.js +0 -0
  68. package/dist/src/runtime/values/argumentValueMerge.js +122 -0
  69. package/dist/src/runtime/values/argumentValueValidation.js +505 -0
  70. package/dist/src/runtime/values/globalCommandValuePopulation.js +67 -0
  71. package/dist/src/runtime/values/subCommandValuePopulation.js +549 -0
  72. package/dist/src/service/argumentPrompter/ArgumentPrompterServiceProvider.js +19 -0
  73. package/dist/src/service/argumentPrompter/DefaultArgumentPrompterService.js +197 -0
  74. package/dist/src/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.js +28 -0
  75. package/dist/src/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.js +233 -0
  76. package/dist/src/service/asciiBannerGenerator/standard.flf.json +3 -0
  77. package/dist/src/service/banner/BannerServiceProvider.js +60 -0
  78. package/dist/src/service/banner/command/NoBannerCommand.js +24 -0
  79. package/dist/src/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.js +51 -0
  80. package/dist/src/service/chiselAsciiBannerGenerator/chisel.flf.json +3 -0
  81. package/dist/src/service/completion/CompletionServiceProvider.d.ts +2 -1
  82. package/dist/src/service/completion/CompletionServiceProvider.d.ts.map +1 -1
  83. package/dist/src/service/completion/CompletionServiceProvider.js +159 -0
  84. package/dist/src/service/completion/DefaultCompletionService.js +279 -0
  85. package/dist/src/service/completion/command/CompletionCompleteSubCommand.d.ts +15 -0
  86. package/dist/src/service/completion/command/CompletionCompleteSubCommand.d.ts.map +1 -0
  87. package/dist/src/service/completion/command/CompletionCompleteSubCommand.js +37 -0
  88. package/dist/src/service/completion/command/CompletionGroupCommand.d.ts +14 -0
  89. package/dist/src/service/completion/command/CompletionGroupCommand.d.ts.map +1 -0
  90. package/dist/src/service/completion/command/CompletionGroupCommand.js +10 -0
  91. package/dist/src/service/completion/command/CompletionIntegrationSubCommand.d.ts +14 -0
  92. package/dist/src/service/completion/command/CompletionIntegrationSubCommand.d.ts.map +1 -0
  93. package/dist/src/service/completion/command/CompletionIntegrationSubCommand.js +67 -0
  94. package/dist/src/service/completion/shell/ShellHandler.js +0 -0
  95. package/dist/src/service/completion/shell/bash.js +39 -0
  96. package/dist/src/service/completion/shell/fish.js +35 -0
  97. package/dist/src/service/completion/shell/powershell.js +51 -0
  98. package/dist/src/service/completion/shell/zsh.js +42 -0
  99. package/dist/src/service/configuration/ConfigurationServiceProvider.js +482 -0
  100. package/dist/src/service/configuration/DefaultKeyValueService.js +80 -0
  101. package/dist/src/service/configuration/DefaultSecretService.js +60 -0
  102. package/dist/src/service/configuration/command/ConfigCommand.js +24 -0
  103. package/dist/src/service/configuration/command/DumpConfigCommand.js +18 -0
  104. package/dist/src/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.js +24 -0
  105. package/dist/src/service/dataDumpGenerator/DefaultDataDumpGeneratorService.js +59 -0
  106. package/dist/src/service/imagePrinter/DefaultImagePrinterService.js +10 -0
  107. package/dist/src/service/imagePrinter/ImagePrinterServiceProvider.js +20 -0
  108. package/dist/src/service/plugin/DefaultPluginService.js +21 -0
  109. package/dist/src/service/plugin/DefaultPluginServiceProvider.d.ts +1 -1
  110. package/dist/src/service/plugin/DefaultPluginServiceProvider.d.ts.map +1 -1
  111. package/dist/src/service/plugin/DefaultPluginServiceProvider.js +21 -0
  112. package/dist/src/service/plugin/command/PluginAddSubCommand.d.ts +17 -0
  113. package/dist/src/service/plugin/command/PluginAddSubCommand.d.ts.map +1 -0
  114. package/dist/src/service/plugin/command/PluginAddSubCommand.js +49 -0
  115. package/dist/src/service/plugin/command/PluginGroupCommand.d.ts +12 -0
  116. package/dist/src/service/plugin/command/PluginGroupCommand.d.ts.map +1 -0
  117. package/dist/src/service/plugin/command/PluginGroupCommand.js +21 -0
  118. package/dist/src/service/plugin/command/PluginListSubCommand.d.ts +12 -0
  119. package/dist/src/service/plugin/command/PluginListSubCommand.d.ts.map +1 -0
  120. package/dist/src/service/plugin/command/PluginListSubCommand.js +25 -0
  121. package/dist/src/service/plugin/command/PluginRemoveSubCommand.d.ts +17 -0
  122. package/dist/src/service/plugin/command/PluginRemoveSubCommand.d.ts.map +1 -0
  123. package/dist/src/service/plugin/command/PluginRemoveSubCommand.js +24 -0
  124. package/dist/src/service/plugin/command/PluginSearchSubCommand.d.ts +18 -0
  125. package/dist/src/service/plugin/command/PluginSearchSubCommand.d.ts.map +1 -0
  126. package/dist/src/service/plugin/command/PluginSearchSubCommand.js +34 -0
  127. package/dist/src/service/plugin/command/PluginUpgradeSubCommand.d.ts +12 -0
  128. package/dist/src/service/plugin/command/PluginUpgradeSubCommand.d.ts.map +1 -0
  129. package/dist/src/service/plugin/command/PluginUpgradeSubCommand.js +25 -0
  130. package/dist/src/service/plugin/command/getPluginId.d.ts +3 -0
  131. package/dist/src/service/plugin/command/getPluginId.d.ts.map +1 -0
  132. package/dist/src/service/plugin/command/getPluginId.js +3 -0
  133. package/dist/src/service/prettyPrinter/DefaultPrettyPrinterService.js +45 -0
  134. package/dist/src/service/prettyPrinter/PrettyPrinterServiceProvider.js +28 -0
  135. package/dist/src/service/printer/DefaultPrinterService.js +250 -0
  136. package/dist/src/service/printer/PrinterServiceProvider.js +43 -0
  137. package/dist/src/service/printer/command/DarkModeCommand.js +24 -0
  138. package/dist/src/service/printer/command/LogLevelCommand.js +41 -0
  139. package/dist/src/service/printer/command/NoColorCommand.js +24 -0
  140. package/dist/src/service/printer/command/NoHyperlinksCommand.js +21 -0
  141. package/dist/src/service/printer/terminal/Color.js +15 -0
  142. package/dist/src/service/printer/terminal/Progress.js +271 -0
  143. package/dist/src/service/printer/terminal/Spinner.js +83 -0
  144. package/dist/src/service/printer/terminal/Theme.js +26 -0
  145. package/dist/src/service/prompter/DefaultPrompterService.js +52 -0
  146. package/dist/src/service/prompter/PrompterServiceProvider.js +20 -0
  147. package/dist/src/service/prompter/command/NoPromptCommand.js +21 -0
  148. package/dist/src/service/prompter/prompt/PromptContext.js +22 -0
  149. package/dist/src/service/prompter/prompt/promptAcknowledge.js +19 -0
  150. package/dist/src/service/prompter/prompt/promptMultiSelect.js +74 -0
  151. package/dist/src/service/prompter/prompt/promptOpenUrl.js +70 -0
  152. package/dist/src/service/prompter/prompt/promptSingleSelect.js +73 -0
  153. package/dist/src/service/prompter/prompt/promptText.js +75 -0
  154. package/dist/src/service/prompter/prompt/promptToggle.js +21 -0
  155. package/dist/src/service/shutdown/DefaultShutdownService.js +16 -0
  156. package/dist/src/service/shutdown/ShutdownServiceProvider.js +60 -0
  157. package/dist/src/service/shutdown/ShutdownState.js +5 -0
  158. package/dist/src/service/syntaxHighlighter/DefaultSyntaxHighlighterService.js +54 -0
  159. package/dist/src/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.js +32 -0
  160. package/dist/src/service/tableGenerator/DefaultTableGeneratorService.d.ts +3 -1
  161. package/dist/src/service/tableGenerator/DefaultTableGeneratorService.d.ts.map +1 -1
  162. package/dist/src/service/tableGenerator/DefaultTableGeneratorService.js +344 -0
  163. package/dist/src/service/tableGenerator/TableGeneratorServiceProvider.js +26 -0
  164. package/dist/src/service/treePrinter/DefaultTreePrinterService.js +35 -0
  165. package/dist/src/service/treePrinter/TreePrinterServiceProvider.js +24 -0
  166. package/dist/src/terminal/Ansi.js +23 -0
  167. package/dist/src/terminal/ImageRenderer.d.ts.map +1 -1
  168. package/dist/src/terminal/ImageRenderer.js +166 -0
  169. package/dist/src/terminal/KeyReader.js +13 -0
  170. package/dist/src/terminal/PngDecoder.js +115 -0
  171. package/dist/src/terminal/Styler.js +0 -0
  172. package/dist/src/terminal/Terminal.js +0 -0
  173. package/dist/src/terminal/TtyKeyReader.js +87 -0
  174. package/dist/src/terminal/TtyStyler.js +55 -0
  175. package/dist/src/terminal/TtyTerminal.js +52 -0
  176. package/dist/src/terminal/supportsHyperlinks.js +95 -0
  177. package/dist/src/util/configHelper.js +61 -0
  178. package/dist/src/util/envVarHelper.js +216 -0
  179. package/dist/src/util/helpHelper.d.ts.map +1 -1
  180. package/dist/src/util/helpHelper.js +497 -0
  181. package/dist/src/util/logger.js +81 -0
  182. package/dist/src/util/runnerHelper.js +80 -0
  183. package/package.json +2 -2
  184. package/src/api/service/core/TableGeneratorService.ts +1 -0
  185. package/src/cli/BaseCLI.ts +4 -19
  186. package/src/service/completion/CompletionServiceProvider.ts +16 -3
  187. package/src/service/completion/command/CompletionCompleteSubCommand.ts +59 -0
  188. package/src/service/completion/command/CompletionGroupCommand.ts +21 -0
  189. package/src/{command/CompletionCommand.ts → service/completion/command/CompletionIntegrationSubCommand.ts} +12 -73
  190. package/src/service/completion/shell/bash.ts +1 -1
  191. package/src/service/completion/shell/fish.ts +1 -1
  192. package/src/service/completion/shell/powershell.ts +1 -1
  193. package/src/service/completion/shell/zsh.ts +1 -1
  194. package/src/service/plugin/DefaultPluginServiceProvider.ts +2 -2
  195. package/src/service/plugin/command/PluginAddSubCommand.ts +64 -0
  196. package/src/service/plugin/command/PluginGroupCommand.ts +27 -0
  197. package/src/service/plugin/command/PluginListSubCommand.ts +33 -0
  198. package/src/service/plugin/command/PluginRemoveSubCommand.ts +32 -0
  199. package/src/service/plugin/command/PluginSearchSubCommand.ts +42 -0
  200. package/src/service/plugin/command/PluginUpgradeSubCommand.ts +36 -0
  201. package/src/service/plugin/command/getPluginId.ts +5 -0
  202. package/src/service/tableGenerator/DefaultTableGeneratorService.ts +6 -1
  203. package/src/terminal/ImageRenderer.ts +7 -5
  204. package/src/util/helpHelper.ts +1 -2
  205. package/dist/src/command/CompletionCommand.d.ts +0 -32
  206. package/dist/src/command/CompletionCommand.d.ts.map +0 -1
  207. package/dist/src/command/PluginCommand.d.ts +0 -67
  208. package/dist/src/command/PluginCommand.d.ts.map +0 -1
  209. package/dist/tests/cli/BaseCLI.test.d.ts +0 -2
  210. package/dist/tests/cli/BaseCLI.test.d.ts.map +0 -1
  211. package/dist/tests/cli/DynamicPluginRuntimeCLI.test.d.ts +0 -2
  212. package/dist/tests/cli/DynamicPluginRuntimeCLI.test.d.ts.map +0 -1
  213. package/dist/tests/command/CompletionCommand.test.d.ts +0 -2
  214. package/dist/tests/command/CompletionCommand.test.d.ts.map +0 -1
  215. package/dist/tests/command/MultiCommandCliHelpCommand.test.d.ts +0 -2
  216. package/dist/tests/command/MultiCommandCliHelpCommand.test.d.ts.map +0 -1
  217. package/dist/tests/command/PluginCommand.test.d.ts +0 -2
  218. package/dist/tests/command/PluginCommand.test.d.ts.map +0 -1
  219. package/dist/tests/command/SingleCommandCliHelpCommand.test.d.ts +0 -2
  220. package/dist/tests/command/SingleCommandCliHelpCommand.test.d.ts.map +0 -1
  221. package/dist/tests/command/UsageCommand.test.d.ts +0 -2
  222. package/dist/tests/command/UsageCommand.test.d.ts.map +0 -1
  223. package/dist/tests/command/VersionCommand.test.d.ts +0 -2
  224. package/dist/tests/command/VersionCommand.test.d.ts.map +0 -1
  225. package/dist/tests/fixtures/CLIConfig.d.ts +0 -3
  226. package/dist/tests/fixtures/CLIConfig.d.ts.map +0 -1
  227. package/dist/tests/fixtures/Command.d.ts +0 -20
  228. package/dist/tests/fixtures/Command.d.ts.map +0 -1
  229. package/dist/tests/fixtures/CommandRegistry.d.ts +0 -4
  230. package/dist/tests/fixtures/CommandRegistry.d.ts.map +0 -1
  231. package/dist/tests/fixtures/ConfigurationServiceProvider.d.ts +0 -10
  232. package/dist/tests/fixtures/ConfigurationServiceProvider.d.ts.map +0 -1
  233. package/dist/tests/fixtures/Context.d.ts +0 -4
  234. package/dist/tests/fixtures/Context.d.ts.map +0 -1
  235. package/dist/tests/fixtures/ServiceProviderRegistry.d.ts +0 -4
  236. package/dist/tests/fixtures/ServiceProviderRegistry.d.ts.map +0 -1
  237. package/dist/tests/fixtures/StreamString.d.ts +0 -10
  238. package/dist/tests/fixtures/StreamString.d.ts.map +0 -1
  239. package/dist/tests/fixtures/prettierPluginFoo.d.ts +0 -4
  240. package/dist/tests/fixtures/prettierPluginFoo.d.ts.map +0 -1
  241. package/dist/tests/fixtures/util.d.ts +0 -8
  242. package/dist/tests/fixtures/util.d.ts.map +0 -1
  243. package/dist/tests/runtime/DefaultContext.test.d.ts +0 -2
  244. package/dist/tests/runtime/DefaultContext.test.d.ts.map +0 -1
  245. package/dist/tests/runtime/argument/ArgumentTypeGuards.test.d.ts +0 -2
  246. package/dist/tests/runtime/argument/ArgumentTypeGuards.test.d.ts.map +0 -1
  247. package/dist/tests/runtime/command/CommandTypeGuards.test.d.ts +0 -2
  248. package/dist/tests/runtime/command/CommandTypeGuards.test.d.ts.map +0 -1
  249. package/dist/tests/runtime/command/CommandValidator.test.d.ts +0 -2
  250. package/dist/tests/runtime/command/CommandValidator.test.d.ts.map +0 -1
  251. package/dist/tests/runtime/parser.test.d.ts +0 -2
  252. package/dist/tests/runtime/parser.test.d.ts.map +0 -1
  253. package/dist/tests/runtime/registry/DefaultCommandRegistry.test.d.ts +0 -2
  254. package/dist/tests/runtime/registry/DefaultCommandRegistry.test.d.ts.map +0 -1
  255. package/dist/tests/runtime/registry/DefaultServiceProviderRegistry.test.d.ts +0 -2
  256. package/dist/tests/runtime/registry/DefaultServiceProviderRegistry.test.d.ts.map +0 -1
  257. package/dist/tests/runtime/runner.test.d.ts +0 -2
  258. package/dist/tests/runtime/runner.test.d.ts.map +0 -1
  259. package/dist/tests/runtime/scanner.test.d.ts +0 -2
  260. package/dist/tests/runtime/scanner.test.d.ts.map +0 -1
  261. package/dist/tests/runtime/values/argumentValueMerge.test.d.ts +0 -2
  262. package/dist/tests/runtime/values/argumentValueMerge.test.d.ts.map +0 -1
  263. package/dist/tests/runtime/values/argumentValueValidation.test.d.ts +0 -2
  264. package/dist/tests/runtime/values/argumentValueValidation.test.d.ts.map +0 -1
  265. package/dist/tests/runtime/values/globalCommandValuePopulation.test.d.ts +0 -2
  266. package/dist/tests/runtime/values/globalCommandValuePopulation.test.d.ts.map +0 -1
  267. package/dist/tests/runtime/values/subCommandValuePopulation.test.d.ts +0 -2
  268. package/dist/tests/runtime/values/subCommandValuePopulation.test.d.ts.map +0 -1
  269. package/dist/tests/service/argumentPrompter/ArgumentPrompterServiceProvider.test.d.ts +0 -2
  270. package/dist/tests/service/argumentPrompter/ArgumentPrompterServiceProvider.test.d.ts.map +0 -1
  271. package/dist/tests/service/argumentPrompter/DefaultArgumentPrompterService.test.d.ts +0 -2
  272. package/dist/tests/service/argumentPrompter/DefaultArgumentPrompterService.test.d.ts.map +0 -1
  273. package/dist/tests/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.test.d.ts +0 -2
  274. package/dist/tests/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.test.d.ts.map +0 -1
  275. package/dist/tests/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.test.d.ts +0 -2
  276. package/dist/tests/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.test.d.ts.map +0 -1
  277. package/dist/tests/service/banner/BannerServiceProvider.test.d.ts +0 -2
  278. package/dist/tests/service/banner/BannerServiceProvider.test.d.ts.map +0 -1
  279. package/dist/tests/service/banner/command/NoBannerCommand.test.d.ts +0 -2
  280. package/dist/tests/service/banner/command/NoBannerCommand.test.d.ts.map +0 -1
  281. package/dist/tests/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.test.d.ts +0 -2
  282. package/dist/tests/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.test.d.ts.map +0 -1
  283. package/dist/tests/service/completion/CompletionServiceProvider.test.d.ts +0 -2
  284. package/dist/tests/service/completion/CompletionServiceProvider.test.d.ts.map +0 -1
  285. package/dist/tests/service/completion/DefaultCompletionService.test.d.ts +0 -2
  286. package/dist/tests/service/completion/DefaultCompletionService.test.d.ts.map +0 -1
  287. package/dist/tests/service/completion/shell/bash.test.d.ts +0 -2
  288. package/dist/tests/service/completion/shell/bash.test.d.ts.map +0 -1
  289. package/dist/tests/service/completion/shell/fish.test.d.ts +0 -2
  290. package/dist/tests/service/completion/shell/fish.test.d.ts.map +0 -1
  291. package/dist/tests/service/completion/shell/powershell.test.d.ts +0 -2
  292. package/dist/tests/service/completion/shell/powershell.test.d.ts.map +0 -1
  293. package/dist/tests/service/completion/shell/zsh.test.d.ts +0 -2
  294. package/dist/tests/service/completion/shell/zsh.test.d.ts.map +0 -1
  295. package/dist/tests/service/configuration/ConfigurationServiceProvider.test.d.ts +0 -2
  296. package/dist/tests/service/configuration/ConfigurationServiceProvider.test.d.ts.map +0 -1
  297. package/dist/tests/service/configuration/DefaultKeyValueService.test.d.ts +0 -2
  298. package/dist/tests/service/configuration/DefaultKeyValueService.test.d.ts.map +0 -1
  299. package/dist/tests/service/configuration/DefaultSecretService.test.d.ts +0 -2
  300. package/dist/tests/service/configuration/DefaultSecretService.test.d.ts.map +0 -1
  301. package/dist/tests/service/configuration/command/ConfigCommand.test.d.ts +0 -2
  302. package/dist/tests/service/configuration/command/ConfigCommand.test.d.ts.map +0 -1
  303. package/dist/tests/service/configuration/command/DumpConfigCommand.test.d.ts +0 -2
  304. package/dist/tests/service/configuration/command/DumpConfigCommand.test.d.ts.map +0 -1
  305. package/dist/tests/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.test.d.ts +0 -2
  306. package/dist/tests/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.test.d.ts.map +0 -1
  307. package/dist/tests/service/dataDumpGenerator/DefaultDataDumpGeneratorService.test.d.ts +0 -2
  308. package/dist/tests/service/dataDumpGenerator/DefaultDataDumpGeneratorService.test.d.ts.map +0 -1
  309. package/dist/tests/service/imagePrinter/DefaultImagePrinterService.test.d.ts +0 -2
  310. package/dist/tests/service/imagePrinter/DefaultImagePrinterService.test.d.ts.map +0 -1
  311. package/dist/tests/service/imagePrinter/ImagePrinterServiceProvider.test.d.ts +0 -2
  312. package/dist/tests/service/imagePrinter/ImagePrinterServiceProvider.test.d.ts.map +0 -1
  313. package/dist/tests/service/plugin/DefaultPluginServiceProvider.test.d.ts +0 -2
  314. package/dist/tests/service/plugin/DefaultPluginServiceProvider.test.d.ts.map +0 -1
  315. package/dist/tests/service/prettyPrinter/DefaultPrettyPrinterService.test.d.ts +0 -2
  316. package/dist/tests/service/prettyPrinter/DefaultPrettyPrinterService.test.d.ts.map +0 -1
  317. package/dist/tests/service/prettyPrinter/PrettyPrinterServiceProvider.test.d.ts +0 -2
  318. package/dist/tests/service/prettyPrinter/PrettyPrinterServiceProvider.test.d.ts.map +0 -1
  319. package/dist/tests/service/printer/DefaultPrinterService.test.d.ts +0 -2
  320. package/dist/tests/service/printer/DefaultPrinterService.test.d.ts.map +0 -1
  321. package/dist/tests/service/printer/PrinterServiceProvider.test.d.ts +0 -2
  322. package/dist/tests/service/printer/PrinterServiceProvider.test.d.ts.map +0 -1
  323. package/dist/tests/service/printer/command/DarkModeCommand.test.d.ts +0 -2
  324. package/dist/tests/service/printer/command/DarkModeCommand.test.d.ts.map +0 -1
  325. package/dist/tests/service/printer/command/LogLevelCommand.test.d.ts +0 -2
  326. package/dist/tests/service/printer/command/LogLevelCommand.test.d.ts.map +0 -1
  327. package/dist/tests/service/printer/command/NoColorCommand.test.d.ts +0 -2
  328. package/dist/tests/service/printer/command/NoColorCommand.test.d.ts.map +0 -1
  329. package/dist/tests/service/printer/command/NoHyperlinksCommand.test.d.ts +0 -2
  330. package/dist/tests/service/printer/command/NoHyperlinksCommand.test.d.ts.map +0 -1
  331. package/dist/tests/service/printer/terminal/Progress.test.d.ts +0 -2
  332. package/dist/tests/service/printer/terminal/Progress.test.d.ts.map +0 -1
  333. package/dist/tests/service/printer/terminal/Spinner.test.d.ts +0 -2
  334. package/dist/tests/service/printer/terminal/Spinner.test.d.ts.map +0 -1
  335. package/dist/tests/service/prompter/DefaultPrompterService.test.d.ts +0 -2
  336. package/dist/tests/service/prompter/DefaultPrompterService.test.d.ts.map +0 -1
  337. package/dist/tests/service/prompter/PrompterServiceProvider.test.d.ts +0 -2
  338. package/dist/tests/service/prompter/PrompterServiceProvider.test.d.ts.map +0 -1
  339. package/dist/tests/service/prompter/command/NoPromptCommand.test.d.ts +0 -2
  340. package/dist/tests/service/prompter/command/NoPromptCommand.test.d.ts.map +0 -1
  341. package/dist/tests/service/prompter/prompt/PromptContext.test.d.ts +0 -2
  342. package/dist/tests/service/prompter/prompt/PromptContext.test.d.ts.map +0 -1
  343. package/dist/tests/service/shutdown/ShutdownServiceProvider.test.d.ts +0 -2
  344. package/dist/tests/service/shutdown/ShutdownServiceProvider.test.d.ts.map +0 -1
  345. package/dist/tests/service/syntaxHighlighter/DefaultSyntaxHighlighterService.test.d.ts +0 -2
  346. package/dist/tests/service/syntaxHighlighter/DefaultSyntaxHighlighterService.test.d.ts.map +0 -1
  347. package/dist/tests/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.test.d.ts +0 -2
  348. package/dist/tests/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.test.d.ts.map +0 -1
  349. package/dist/tests/service/tableGenerator/DefaultTableGeneratorService.test.d.ts +0 -2
  350. package/dist/tests/service/tableGenerator/DefaultTableGeneratorService.test.d.ts.map +0 -1
  351. package/dist/tests/service/tableGenerator/TableGeneratorServiceProvider.test.d.ts +0 -2
  352. package/dist/tests/service/tableGenerator/TableGeneratorServiceProvider.test.d.ts.map +0 -1
  353. package/dist/tests/service/treePrinter/DefaultTreePrinterService.test.d.ts +0 -2
  354. package/dist/tests/service/treePrinter/DefaultTreePrinterService.test.d.ts.map +0 -1
  355. package/dist/tests/service/treePrinter/TreePrinterServiceProvider.test.d.ts +0 -2
  356. package/dist/tests/service/treePrinter/TreePrinterServiceProvider.test.d.ts.map +0 -1
  357. package/dist/tests/terminal/ImageRenderer.test.d.ts +0 -2
  358. package/dist/tests/terminal/ImageRenderer.test.d.ts.map +0 -1
  359. package/dist/tests/terminal/PngDecoder.test.d.ts +0 -2
  360. package/dist/tests/terminal/PngDecoder.test.d.ts.map +0 -1
  361. package/dist/tests/terminal/supportsHyperlinks.test.d.ts +0 -2
  362. package/dist/tests/terminal/supportsHyperlinks.test.d.ts.map +0 -1
  363. package/dist/tests/util/configHelper.test.d.ts +0 -2
  364. package/dist/tests/util/configHelper.test.d.ts.map +0 -1
  365. package/dist/tests/util/envVarHelper.test.d.ts +0 -2
  366. package/dist/tests/util/envVarHelper.test.d.ts.map +0 -1
  367. package/dist/tests/util/logger.test.d.ts +0 -2
  368. package/dist/tests/util/logger.test.d.ts.map +0 -1
  369. package/src/command/PluginCommand.ts +0 -197
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=DefaultDataDumpGeneratorService.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultDataDumpGeneratorService.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/dataDumpGenerator/DefaultDataDumpGeneratorService.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=DefaultImagePrinterService.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultImagePrinterService.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/imagePrinter/DefaultImagePrinterService.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ImagePrinterServiceProvider.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImagePrinterServiceProvider.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/imagePrinter/ImagePrinterServiceProvider.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=DefaultPluginServiceProvider.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultPluginServiceProvider.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/plugin/DefaultPluginServiceProvider.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=DefaultPrettyPrinterService.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultPrettyPrinterService.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/prettyPrinter/DefaultPrettyPrinterService.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=PrettyPrinterServiceProvider.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PrettyPrinterServiceProvider.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/prettyPrinter/PrettyPrinterServiceProvider.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=DefaultPrinterService.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultPrinterService.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/printer/DefaultPrinterService.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=PrinterServiceProvider.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PrinterServiceProvider.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/printer/PrinterServiceProvider.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=DarkModeCommand.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DarkModeCommand.test.d.ts","sourceRoot":"","sources":["../../../../../tests/service/printer/command/DarkModeCommand.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=LogLevelCommand.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LogLevelCommand.test.d.ts","sourceRoot":"","sources":["../../../../../tests/service/printer/command/LogLevelCommand.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=NoColorCommand.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NoColorCommand.test.d.ts","sourceRoot":"","sources":["../../../../../tests/service/printer/command/NoColorCommand.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=NoHyperlinksCommand.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NoHyperlinksCommand.test.d.ts","sourceRoot":"","sources":["../../../../../tests/service/printer/command/NoHyperlinksCommand.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Progress.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Progress.test.d.ts","sourceRoot":"","sources":["../../../../../tests/service/printer/terminal/Progress.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Spinner.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Spinner.test.d.ts","sourceRoot":"","sources":["../../../../../tests/service/printer/terminal/Spinner.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=DefaultPrompterService.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultPrompterService.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/prompter/DefaultPrompterService.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=PrompterServiceProvider.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PrompterServiceProvider.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/prompter/PrompterServiceProvider.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=NoPromptCommand.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NoPromptCommand.test.d.ts","sourceRoot":"","sources":["../../../../../tests/service/prompter/command/NoPromptCommand.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=PromptContext.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PromptContext.test.d.ts","sourceRoot":"","sources":["../../../../../tests/service/prompter/prompt/PromptContext.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ShutdownServiceProvider.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShutdownServiceProvider.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/shutdown/ShutdownServiceProvider.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=DefaultSyntaxHighlighterService.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultSyntaxHighlighterService.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/syntaxHighlighter/DefaultSyntaxHighlighterService.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=SyntaxHighlighterServiceProvider.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SyntaxHighlighterServiceProvider.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=DefaultTableGeneratorService.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultTableGeneratorService.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/tableGenerator/DefaultTableGeneratorService.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=TableGeneratorServiceProvider.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableGeneratorServiceProvider.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/tableGenerator/TableGeneratorServiceProvider.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=DefaultTreePrinterService.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultTreePrinterService.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/treePrinter/DefaultTreePrinterService.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=TreePrinterServiceProvider.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TreePrinterServiceProvider.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/treePrinter/TreePrinterServiceProvider.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ImageRenderer.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageRenderer.test.d.ts","sourceRoot":"","sources":["../../../tests/terminal/ImageRenderer.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=PngDecoder.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PngDecoder.test.d.ts","sourceRoot":"","sources":["../../../tests/terminal/PngDecoder.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=supportsHyperlinks.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"supportsHyperlinks.test.d.ts","sourceRoot":"","sources":["../../../tests/terminal/supportsHyperlinks.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=configHelper.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configHelper.test.d.ts","sourceRoot":"","sources":["../../../tests/util/configHelper.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=envVarHelper.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"envVarHelper.test.d.ts","sourceRoot":"","sources":["../../../tests/util/envVarHelper.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=logger.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.test.d.ts","sourceRoot":"","sources":["../../../tests/util/logger.test.ts"],"names":[],"mappings":""}
@@ -1,197 +0,0 @@
1
- import type GroupCommand from "../api/command/GroupCommand.ts";
2
- import type SubCommand from "../api/command/SubCommand.ts";
3
- import type Context from "../api/Context.ts";
4
- import type { ArgumentValues } from "../api/argument/ArgumentValueTypes.ts";
5
- import { ArgumentValueTypeName } from "../api/argument/ArgumentValueTypes.ts";
6
- import type PrinterService from "../api/service/core/PrinterService.ts";
7
- import { Icon, PRINTER_SERVICE_ID } from "../api/service/core/PrinterService.ts";
8
- import { PLUGIN_SERVICE_ID } from "../api/service/core/PluginService.ts";
9
- import type PluginService from "../api/service/core/PluginService.ts";
10
- import type { VersionedPluginDescriptor } from "@flowscripter/dynamic-plugin-framework";
11
-
12
- function getPluginId(descriptor: VersionedPluginDescriptor): string {
13
- return descriptor.scope ? `@${descriptor.scope}/${descriptor.name}` : descriptor.name;
14
- }
15
-
16
- export class PluginListSubCommand implements SubCommand {
17
- readonly name = "list";
18
- readonly description = "List locally installed plugins";
19
- readonly enableConfiguration = false;
20
- readonly options = [];
21
- readonly positionals = [];
22
-
23
- async execute(context: Context, _argumentValues: ArgumentValues): Promise<void> {
24
- const printerService = context.getServiceById(PRINTER_SERVICE_ID) as PrinterService;
25
- const pluginService = context.getServiceById(PLUGIN_SERVICE_ID) as PluginService;
26
-
27
- let found = false;
28
- for await (const descriptor of pluginService.listInstalled()) {
29
- if (!found) {
30
- found = true;
31
- await printerService.print("Installed plugins:\n");
32
- }
33
- await printerService.print(` ${getPluginId(descriptor)} ${descriptor.version}\n`);
34
- }
35
- if (!found) {
36
- await printerService.print("No plugins installed.\n");
37
- }
38
- }
39
- }
40
-
41
- export class PluginSearchSubCommand implements SubCommand {
42
- readonly name = "search";
43
- readonly description = "Search remote plugins";
44
- readonly enableConfiguration = false;
45
- readonly options = [];
46
- readonly positionals = [
47
- {
48
- name: "query",
49
- description: "Search query",
50
- type: ArgumentValueTypeName.STRING,
51
- isVarargOptional: true,
52
- },
53
- ];
54
-
55
- async execute(context: Context, argumentValues: ArgumentValues): Promise<void> {
56
- const printerService = context.getServiceById(PRINTER_SERVICE_ID) as PrinterService;
57
- const pluginService = context.getServiceById(PLUGIN_SERVICE_ID) as PluginService;
58
-
59
- const query = (argumentValues["query"] as string | undefined) ?? "";
60
- let found = false;
61
- for await (const descriptor of pluginService.search({ text: query })) {
62
- if (!found) {
63
- found = true;
64
- await printerService.print("Available plugins:\n");
65
- }
66
- await printerService.print(` ${getPluginId(descriptor)} ${descriptor.version}\n`);
67
- }
68
- if (!found) {
69
- await printerService.print("No plugins found.\n");
70
- }
71
- }
72
- }
73
-
74
- export class PluginAddSubCommand implements SubCommand {
75
- readonly name = "add";
76
- readonly description = "Install a remote plugin";
77
- readonly enableConfiguration = false;
78
- readonly options = [];
79
- readonly positionals = [
80
- {
81
- name: "pluginId",
82
- description: "Plugin ID to install (e.g. @scope/name)",
83
- type: ArgumentValueTypeName.STRING,
84
- },
85
- ];
86
-
87
- async execute(context: Context, argumentValues: ArgumentValues): Promise<void> {
88
- const printerService = context.getServiceById(PRINTER_SERVICE_ID) as PrinterService;
89
- const pluginService = context.getServiceById(PLUGIN_SERVICE_ID) as PluginService;
90
-
91
- const pluginId = argumentValues["pluginId"] as string;
92
- await printerService.info(`Searching for plugin: ${pluginId}\n`, Icon.INFORMATION);
93
-
94
- let descriptor: VersionedPluginDescriptor | undefined;
95
- for await (const d of pluginService.search({ text: pluginId })) {
96
- if (getPluginId(d) === pluginId || d.pluginId === pluginId) {
97
- descriptor = d;
98
- break;
99
- }
100
- }
101
-
102
- if (!descriptor) {
103
- // Search did not find an exact match - attempt direct install by plugin ID.
104
- // This handles cases where the package exists on the registry but is not
105
- // returned by search (e.g. recently published or low search ranking).
106
- await printerService.info(
107
- `Plugin not found via search, attempting direct install of ${pluginId}...\n`,
108
- Icon.INFORMATION,
109
- );
110
- const parts = pluginId.startsWith("@") ? pluginId.slice(1).split("/") : [undefined, pluginId];
111
- const scope = pluginId.startsWith("@") ? `@${parts[0]}` : undefined;
112
- const name = pluginId.startsWith("@") ? parts[1]! : pluginId;
113
- descriptor = {
114
- pluginId,
115
- scope,
116
- name,
117
- version: "latest",
118
- extensionPoints: [],
119
- };
120
- }
121
-
122
- await printerService.info(`Installing ${descriptor.pluginId}...\n`, Icon.INFORMATION);
123
- await pluginService.install(descriptor);
124
- await printerService.print(`Plugin ${descriptor.pluginId} installed.\n`, Icon.SUCCESS);
125
- }
126
- }
127
-
128
- export class PluginRemoveSubCommand implements SubCommand {
129
- readonly name = "remove";
130
- readonly description = "Remove a locally installed plugin";
131
- readonly enableConfiguration = false;
132
- readonly options = [];
133
- readonly positionals = [
134
- {
135
- name: "pluginId",
136
- description: "Plugin ID to remove (e.g. @scope/name)",
137
- type: ArgumentValueTypeName.STRING,
138
- },
139
- ];
140
-
141
- async execute(context: Context, argumentValues: ArgumentValues): Promise<void> {
142
- const printerService = context.getServiceById(PRINTER_SERVICE_ID) as PrinterService;
143
- const pluginService = context.getServiceById(PLUGIN_SERVICE_ID) as PluginService;
144
-
145
- const pluginId = argumentValues["pluginId"] as string;
146
- await printerService.info(`Removing plugin: ${pluginId}...\n`, Icon.INFORMATION);
147
- await pluginService.uninstall(pluginId);
148
- await printerService.print(`Plugin ${pluginId} removed.\n`, Icon.SUCCESS);
149
- }
150
- }
151
-
152
- export class PluginUpgradeSubCommand implements SubCommand {
153
- readonly name = "upgrade";
154
- readonly description = "Upgrade locally installed plugins";
155
- readonly enableConfiguration = false;
156
- readonly options = [];
157
- readonly positionals = [];
158
-
159
- async execute(context: Context, _argumentValues: ArgumentValues): Promise<void> {
160
- const printerService = context.getServiceById(PRINTER_SERVICE_ID) as PrinterService;
161
- const pluginService = context.getServiceById(PLUGIN_SERVICE_ID) as PluginService;
162
-
163
- let upgraded = 0;
164
- for await (const update of pluginService.checkForUpdates()) {
165
- const id = getPluginId(update.descriptor);
166
- await printerService.info(
167
- `Upgrading ${id} to ${update.availableVersion}...\n`,
168
- Icon.INFORMATION,
169
- );
170
- await pluginService.install(update.descriptor);
171
- await printerService.print(`Upgraded ${id} to ${update.availableVersion}.\n`, Icon.SUCCESS);
172
- upgraded++;
173
- }
174
- if (upgraded === 0) {
175
- await printerService.print("All plugins are up to date.\n");
176
- }
177
- }
178
- }
179
-
180
- export class PluginGroupCommand implements GroupCommand {
181
- readonly name = "plugin";
182
- readonly description = "Manage CLI plugins";
183
- readonly enableConfiguration = false;
184
- readonly memberSubCommands: ReadonlyArray<SubCommand>;
185
-
186
- constructor() {
187
- this.memberSubCommands = [
188
- new PluginListSubCommand(),
189
- new PluginSearchSubCommand(),
190
- new PluginAddSubCommand(),
191
- new PluginRemoveSubCommand(),
192
- new PluginUpgradeSubCommand(),
193
- ];
194
- }
195
-
196
- async execute(_context: Context): Promise<void> {}
197
- }