@flowscripter/dynamic-cli-framework 1.4.18 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -14
- package/cli-plugin.ts +16 -0
- package/dist/cli-plugin.d.ts +17 -0
- package/dist/cli-plugin.d.ts.map +1 -0
- package/dist/cli-plugin.js +69 -0
- package/dist/index.d.ts +115 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +105696 -0
- package/dist/src/api/BaseCLIFeatureOptions.d.ts +12 -0
- package/dist/src/api/BaseCLIFeatureOptions.d.ts.map +1 -0
- package/dist/src/api/CLI.d.ts +17 -0
- package/dist/src/api/CLI.d.ts.map +1 -0
- package/dist/src/api/CLIConfig.d.ts +22 -0
- package/dist/src/api/CLIConfig.d.ts.map +1 -0
- package/dist/src/api/Context.d.ts +23 -0
- package/dist/src/api/Context.d.ts.map +1 -0
- package/dist/src/api/RunResult.d.ts +128 -0
- package/dist/src/api/RunResult.d.ts.map +1 -0
- package/dist/src/api/argument/Argument.d.ts +62 -0
- package/dist/src/api/argument/Argument.d.ts.map +1 -0
- package/dist/src/api/argument/ArgumentValueTypes.d.ts +68 -0
- package/dist/src/api/argument/ArgumentValueTypes.d.ts.map +1 -0
- package/dist/src/api/argument/ComplexOption.d.ts +21 -0
- package/dist/src/api/argument/ComplexOption.d.ts.map +1 -0
- package/dist/src/api/argument/GlobalCommandArgument.d.ts +16 -0
- package/dist/src/api/argument/GlobalCommandArgument.d.ts.map +1 -0
- package/dist/src/api/argument/Option.d.ts +29 -0
- package/dist/src/api/argument/Option.d.ts.map +1 -0
- package/dist/src/api/argument/Positional.d.ts +26 -0
- package/dist/src/api/argument/Positional.d.ts.map +1 -0
- package/dist/src/api/argument/SubCommandArgument.d.ts +18 -0
- package/dist/src/api/argument/SubCommandArgument.d.ts.map +1 -0
- package/dist/src/api/command/Command.d.ts +21 -0
- package/dist/src/api/command/Command.d.ts.map +1 -0
- package/dist/src/api/command/GlobalCommand.d.ts +28 -0
- package/dist/src/api/command/GlobalCommand.d.ts.map +1 -0
- package/dist/src/api/command/GlobalModifierCommand.d.ts +12 -0
- package/dist/src/api/command/GlobalModifierCommand.d.ts.map +1 -0
- package/dist/src/api/command/GroupCommand.d.ts +19 -0
- package/dist/src/api/command/GroupCommand.d.ts.map +1 -0
- package/dist/src/api/command/SubCommand.d.ts +37 -0
- package/dist/src/api/command/SubCommand.d.ts.map +1 -0
- package/dist/src/api/command/UsageExample.d.ts +20 -0
- package/dist/src/api/command/UsageExample.d.ts.map +1 -0
- package/dist/src/api/plugin/CommandFactory.d.ts +23 -0
- package/dist/src/api/plugin/CommandFactory.d.ts.map +1 -0
- package/dist/src/api/plugin/ServiceProviderFactory.d.ts +25 -0
- package/dist/src/api/plugin/ServiceProviderFactory.d.ts.map +1 -0
- package/dist/src/api/service/ServiceProvider.d.ts +47 -0
- package/dist/src/api/service/ServiceProvider.d.ts.map +1 -0
- package/dist/src/api/service/core/ArgumentPrompterService.d.ts +6 -0
- package/dist/src/api/service/core/ArgumentPrompterService.d.ts.map +1 -0
- package/dist/src/api/service/core/AsciiBannerGeneratorService.d.ts +59 -0
- package/dist/src/api/service/core/AsciiBannerGeneratorService.d.ts.map +1 -0
- package/dist/src/api/service/core/CompletionService.d.ts +22 -0
- package/dist/src/api/service/core/CompletionService.d.ts.map +1 -0
- package/dist/src/api/service/core/DataDumpGeneratorService.d.ts +22 -0
- package/dist/src/api/service/core/DataDumpGeneratorService.d.ts.map +1 -0
- package/dist/src/api/service/core/ImagePrinterService.d.ts +21 -0
- package/dist/src/api/service/core/ImagePrinterService.d.ts.map +1 -0
- package/dist/src/api/service/core/KeyValueService.d.ts +40 -0
- package/dist/src/api/service/core/KeyValueService.d.ts.map +1 -0
- package/dist/src/api/service/core/PluginService.d.ts +55 -0
- package/dist/src/api/service/core/PluginService.d.ts.map +1 -0
- package/dist/src/api/service/core/PrettyPrinterService.d.ts +35 -0
- package/dist/src/api/service/core/PrettyPrinterService.d.ts.map +1 -0
- package/dist/src/api/service/core/PrinterService.d.ts +339 -0
- package/dist/src/api/service/core/PrinterService.d.ts.map +1 -0
- package/dist/src/api/service/core/PrompterService.d.ts +35 -0
- package/dist/src/api/service/core/PrompterService.d.ts.map +1 -0
- package/dist/src/api/service/core/SecretService.d.ts +25 -0
- package/dist/src/api/service/core/SecretService.d.ts.map +1 -0
- package/dist/src/api/service/core/ShutdownService.d.ts +24 -0
- package/dist/src/api/service/core/ShutdownService.d.ts.map +1 -0
- package/dist/src/api/service/core/SyntaxHighlighterService.d.ts +49 -0
- package/dist/src/api/service/core/SyntaxHighlighterService.d.ts.map +1 -0
- package/dist/src/api/service/core/Table.d.ts +18 -0
- package/dist/src/api/service/core/Table.d.ts.map +1 -0
- package/dist/src/api/service/core/TableGeneratorService.d.ts +31 -0
- package/dist/src/api/service/core/TableGeneratorService.d.ts.map +1 -0
- package/dist/src/api/service/core/TreePrinterService.d.ts +9 -0
- package/dist/src/api/service/core/TreePrinterService.d.ts.map +1 -0
- package/dist/src/cli/BaseCLI.d.ts +59 -0
- package/dist/src/cli/BaseCLI.d.ts.map +1 -0
- package/dist/src/cli/DefaultRuntimeCLI.d.ts +12 -0
- package/dist/src/cli/DefaultRuntimeCLI.d.ts.map +1 -0
- package/dist/src/cli/DynamicPluginRuntimeCLI.d.ts +20 -0
- package/dist/src/cli/DynamicPluginRuntimeCLI.d.ts.map +1 -0
- package/dist/src/command/CompletionCommand.d.ts +31 -0
- package/dist/src/command/CompletionCommand.d.ts.map +1 -0
- package/dist/src/command/MultiCommandCliHelpCommand.d.ts +40 -0
- package/dist/src/command/MultiCommandCliHelpCommand.d.ts.map +1 -0
- package/dist/src/command/PluginCommand.d.ts +67 -0
- package/dist/src/command/PluginCommand.d.ts.map +1 -0
- package/dist/src/command/SingleCommandCliHelpCommand.d.ts +31 -0
- package/dist/src/command/SingleCommandCliHelpCommand.d.ts.map +1 -0
- package/dist/src/command/UsageCommand.d.ts +14 -0
- package/dist/src/command/UsageCommand.d.ts.map +1 -0
- package/dist/src/command/VersionCommand.d.ts +12 -0
- package/dist/src/command/VersionCommand.d.ts.map +1 -0
- package/dist/src/launcher.d.ts +10 -0
- package/dist/src/launcher.d.ts.map +1 -0
- package/dist/src/runtime/DefaultContext.d.ts +14 -0
- package/dist/src/runtime/DefaultContext.d.ts.map +1 -0
- package/dist/src/runtime/argument/ArgumentTypeGuards.d.ts +4 -0
- package/dist/src/runtime/argument/ArgumentTypeGuards.d.ts.map +1 -0
- package/dist/src/runtime/command/CommandTypeGuards.d.ts +10 -0
- package/dist/src/runtime/command/CommandTypeGuards.d.ts.map +1 -0
- package/dist/src/runtime/command/CommandValidator.d.ts +15 -0
- package/dist/src/runtime/command/CommandValidator.d.ts.map +1 -0
- package/dist/src/runtime/parser.d.ts +48 -0
- package/dist/src/runtime/parser.d.ts.map +1 -0
- package/dist/src/runtime/registry/CommandRegistry.d.ts +89 -0
- package/dist/src/runtime/registry/CommandRegistry.d.ts.map +1 -0
- package/dist/src/runtime/registry/DefaultCommandRegistry.d.ts +51 -0
- package/dist/src/runtime/registry/DefaultCommandRegistry.d.ts.map +1 -0
- package/dist/src/runtime/registry/DefaultServiceProviderRegistry.d.ts +12 -0
- package/dist/src/runtime/registry/DefaultServiceProviderRegistry.d.ts.map +1 -0
- package/dist/src/runtime/registry/ServiceProviderRegistry.d.ts +11 -0
- package/dist/src/runtime/registry/ServiceProviderRegistry.d.ts.map +1 -0
- package/dist/src/runtime/runner.d.ts +76 -0
- package/dist/src/runtime/runner.d.ts.map +1 -0
- package/dist/src/runtime/scanner.d.ts +69 -0
- package/dist/src/runtime/scanner.d.ts.map +1 -0
- package/dist/src/runtime/values/ValuePopulationResult.d.ts +34 -0
- package/dist/src/runtime/values/ValuePopulationResult.d.ts.map +1 -0
- package/dist/src/runtime/values/argumentValueMerge.d.ts +13 -0
- package/dist/src/runtime/values/argumentValueMerge.d.ts.map +1 -0
- package/dist/src/runtime/values/argumentValueValidation.d.ts +33 -0
- package/dist/src/runtime/values/argumentValueValidation.d.ts.map +1 -0
- package/dist/src/runtime/values/globalCommandValuePopulation.d.ts +12 -0
- package/dist/src/runtime/values/globalCommandValuePopulation.d.ts.map +1 -0
- package/dist/src/runtime/values/subCommandValuePopulation.d.ts +12 -0
- package/dist/src/runtime/values/subCommandValuePopulation.d.ts.map +1 -0
- package/dist/src/service/argumentPrompter/ArgumentPrompterServiceProvider.d.ts +13 -0
- package/dist/src/service/argumentPrompter/ArgumentPrompterServiceProvider.d.ts.map +1 -0
- package/dist/src/service/argumentPrompter/DefaultArgumentPrompterService.d.ts +9 -0
- package/dist/src/service/argumentPrompter/DefaultArgumentPrompterService.d.ts.map +1 -0
- package/dist/src/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.d.ts +20 -0
- package/dist/src/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.d.ts.map +1 -0
- package/dist/src/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.d.ts +12 -0
- package/dist/src/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.d.ts.map +1 -0
- package/dist/src/service/banner/BannerServiceProvider.d.ts +29 -0
- package/dist/src/service/banner/BannerServiceProvider.d.ts.map +1 -0
- package/dist/src/service/banner/command/NoBannerCommand.d.ts +19 -0
- package/dist/src/service/banner/command/NoBannerCommand.d.ts.map +1 -0
- package/dist/src/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.d.ts +22 -0
- package/dist/src/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.d.ts.map +1 -0
- package/dist/src/service/completion/CompletionServiceProvider.d.ts +14 -0
- package/dist/src/service/completion/CompletionServiceProvider.d.ts.map +1 -0
- package/dist/src/service/completion/DefaultCompletionService.d.ts +17 -0
- package/dist/src/service/completion/DefaultCompletionService.d.ts.map +1 -0
- package/dist/src/service/completion/shell/ShellHandler.d.ts +13 -0
- package/dist/src/service/completion/shell/ShellHandler.d.ts.map +1 -0
- package/dist/src/service/completion/shell/bash.d.ts +11 -0
- package/dist/src/service/completion/shell/bash.d.ts.map +1 -0
- package/dist/src/service/completion/shell/fish.d.ts +11 -0
- package/dist/src/service/completion/shell/fish.d.ts.map +1 -0
- package/dist/src/service/completion/shell/powershell.d.ts +11 -0
- package/dist/src/service/completion/shell/powershell.d.ts.map +1 -0
- package/dist/src/service/completion/shell/zsh.d.ts +11 -0
- package/dist/src/service/completion/shell/zsh.d.ts.map +1 -0
- package/dist/src/service/configuration/ConfigurationServiceProvider.d.ts +196 -0
- package/dist/src/service/configuration/ConfigurationServiceProvider.d.ts.map +1 -0
- package/dist/src/service/configuration/DefaultKeyValueService.d.ts +14 -0
- package/dist/src/service/configuration/DefaultKeyValueService.d.ts.map +1 -0
- package/dist/src/service/configuration/DefaultSecretService.d.ts +27 -0
- package/dist/src/service/configuration/DefaultSecretService.d.ts.map +1 -0
- package/dist/src/service/configuration/command/ConfigCommand.d.ts +19 -0
- package/dist/src/service/configuration/command/ConfigCommand.d.ts.map +1 -0
- package/dist/src/service/configuration/command/DumpConfigCommand.d.ts +14 -0
- package/dist/src/service/configuration/command/DumpConfigCommand.d.ts.map +1 -0
- package/dist/src/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.d.ts +12 -0
- package/dist/src/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.d.ts.map +1 -0
- package/dist/src/service/dataDumpGenerator/DefaultDataDumpGeneratorService.d.ts +10 -0
- package/dist/src/service/dataDumpGenerator/DefaultDataDumpGeneratorService.d.ts.map +1 -0
- package/dist/src/service/imagePrinter/DefaultImagePrinterService.d.ts +8 -0
- package/dist/src/service/imagePrinter/DefaultImagePrinterService.d.ts.map +1 -0
- package/dist/src/service/imagePrinter/ImagePrinterServiceProvider.d.ts +13 -0
- package/dist/src/service/imagePrinter/ImagePrinterServiceProvider.d.ts.map +1 -0
- package/dist/src/service/plugin/DefaultPluginService.d.ts +15 -0
- package/dist/src/service/plugin/DefaultPluginService.d.ts.map +1 -0
- package/dist/src/service/plugin/DefaultPluginServiceProvider.d.ts +13 -0
- package/dist/src/service/plugin/DefaultPluginServiceProvider.d.ts.map +1 -0
- package/dist/src/service/prettyPrinter/DefaultPrettyPrinterService.d.ts +13 -0
- package/dist/src/service/prettyPrinter/DefaultPrettyPrinterService.d.ts.map +1 -0
- package/dist/src/service/prettyPrinter/PrettyPrinterServiceProvider.d.ts +20 -0
- package/dist/src/service/prettyPrinter/PrettyPrinterServiceProvider.d.ts.map +1 -0
- package/dist/src/service/printer/DefaultPrinterService.d.ts +61 -0
- package/dist/src/service/printer/DefaultPrinterService.d.ts.map +1 -0
- package/dist/src/service/printer/PrinterServiceProvider.d.ts +22 -0
- package/dist/src/service/printer/PrinterServiceProvider.d.ts.map +1 -0
- package/dist/src/service/printer/command/DarkModeCommand.d.ts +19 -0
- package/dist/src/service/printer/command/DarkModeCommand.d.ts.map +1 -0
- package/dist/src/service/printer/command/LogLevelCommand.d.ts +19 -0
- package/dist/src/service/printer/command/LogLevelCommand.d.ts.map +1 -0
- package/dist/src/service/printer/command/NoColorCommand.d.ts +19 -0
- package/dist/src/service/printer/command/NoColorCommand.d.ts.map +1 -0
- package/dist/src/service/printer/command/NoHyperlinksCommand.d.ts +16 -0
- package/dist/src/service/printer/command/NoHyperlinksCommand.d.ts.map +1 -0
- package/dist/src/service/printer/terminal/Color.d.ts +15 -0
- package/dist/src/service/printer/terminal/Color.d.ts.map +1 -0
- package/dist/src/service/printer/terminal/Progress.d.ts +20 -0
- package/dist/src/service/printer/terminal/Progress.d.ts.map +1 -0
- package/dist/src/service/printer/terminal/Spinner.d.ts +16 -0
- package/dist/src/service/printer/terminal/Spinner.d.ts.map +1 -0
- package/dist/src/service/printer/terminal/Theme.d.ts +3 -0
- package/dist/src/service/printer/terminal/Theme.d.ts.map +1 -0
- package/dist/src/service/prompter/DefaultPrompterService.d.ts +21 -0
- package/dist/src/service/prompter/DefaultPrompterService.d.ts.map +1 -0
- package/dist/src/service/prompter/PrompterServiceProvider.d.ts +13 -0
- package/dist/src/service/prompter/PrompterServiceProvider.d.ts.map +1 -0
- package/dist/src/service/prompter/command/NoPromptCommand.d.ts +16 -0
- package/dist/src/service/prompter/command/NoPromptCommand.d.ts.map +1 -0
- package/dist/src/service/prompter/prompt/PromptContext.d.ts +15 -0
- package/dist/src/service/prompter/prompt/PromptContext.d.ts.map +1 -0
- package/dist/src/service/prompter/prompt/promptAcknowledge.d.ts +4 -0
- package/dist/src/service/prompter/prompt/promptAcknowledge.d.ts.map +1 -0
- package/dist/src/service/prompter/prompt/promptMultiSelect.d.ts +4 -0
- package/dist/src/service/prompter/prompt/promptMultiSelect.d.ts.map +1 -0
- package/dist/src/service/prompter/prompt/promptOpenUrl.d.ts +4 -0
- package/dist/src/service/prompter/prompt/promptOpenUrl.d.ts.map +1 -0
- package/dist/src/service/prompter/prompt/promptSingleSelect.d.ts +4 -0
- package/dist/src/service/prompter/prompt/promptSingleSelect.d.ts.map +1 -0
- package/dist/src/service/prompter/prompt/promptText.d.ts +4 -0
- package/dist/src/service/prompter/prompt/promptText.d.ts.map +1 -0
- package/dist/src/service/prompter/prompt/promptToggle.d.ts +4 -0
- package/dist/src/service/prompter/prompt/promptToggle.d.ts.map +1 -0
- package/dist/src/service/shutdown/DefaultShutdownService.d.ts +9 -0
- package/dist/src/service/shutdown/DefaultShutdownService.d.ts.map +1 -0
- package/dist/src/service/shutdown/ShutdownServiceProvider.d.ts +15 -0
- package/dist/src/service/shutdown/ShutdownServiceProvider.d.ts.map +1 -0
- package/dist/src/service/shutdown/ShutdownState.d.ts +6 -0
- package/dist/src/service/shutdown/ShutdownState.d.ts.map +1 -0
- package/dist/src/service/syntaxHighlighter/DefaultSyntaxHighlighterService.d.ts +17 -0
- package/dist/src/service/syntaxHighlighter/DefaultSyntaxHighlighterService.d.ts.map +1 -0
- package/dist/src/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.d.ts +20 -0
- package/dist/src/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.d.ts.map +1 -0
- package/dist/src/service/tableGenerator/DefaultTableGeneratorService.d.ts +10 -0
- package/dist/src/service/tableGenerator/DefaultTableGeneratorService.d.ts.map +1 -0
- package/dist/src/service/tableGenerator/TableGeneratorServiceProvider.d.ts +12 -0
- package/dist/src/service/tableGenerator/TableGeneratorServiceProvider.d.ts.map +1 -0
- package/dist/src/service/treePrinter/DefaultTreePrinterService.d.ts +10 -0
- package/dist/src/service/treePrinter/DefaultTreePrinterService.d.ts.map +1 -0
- package/dist/src/service/treePrinter/TreePrinterServiceProvider.d.ts +12 -0
- package/dist/src/service/treePrinter/TreePrinterServiceProvider.d.ts.map +1 -0
- package/dist/src/terminal/Ansi.d.ts +14 -0
- package/dist/src/terminal/Ansi.d.ts.map +1 -0
- package/dist/src/terminal/ImageRenderer.d.ts +7 -0
- package/dist/src/terminal/ImageRenderer.d.ts.map +1 -0
- package/dist/src/terminal/KeyReader.d.ts +22 -0
- package/dist/src/terminal/KeyReader.d.ts.map +1 -0
- package/dist/src/terminal/PngDecoder.d.ts +6 -0
- package/dist/src/terminal/PngDecoder.d.ts.map +1 -0
- package/dist/src/terminal/Styler.d.ts +9 -0
- package/dist/src/terminal/Styler.d.ts.map +1 -0
- package/dist/src/terminal/Terminal.d.ts +10 -0
- package/dist/src/terminal/Terminal.d.ts.map +1 -0
- package/dist/src/terminal/TtyKeyReader.d.ts +11 -0
- package/dist/src/terminal/TtyKeyReader.d.ts.map +1 -0
- package/dist/src/terminal/TtyStyler.d.ts +19 -0
- package/dist/src/terminal/TtyStyler.d.ts.map +1 -0
- package/dist/src/terminal/TtyTerminal.d.ts +14 -0
- package/dist/src/terminal/TtyTerminal.d.ts.map +1 -0
- package/dist/src/terminal/supportsHyperlinks.d.ts +3 -0
- package/dist/src/terminal/supportsHyperlinks.d.ts.map +1 -0
- package/dist/src/util/configHelper.d.ts +22 -0
- package/dist/src/util/configHelper.d.ts.map +1 -0
- package/dist/src/util/envVarHelper.d.ts +21 -0
- package/dist/src/util/envVarHelper.d.ts.map +1 -0
- package/dist/src/util/helpHelper.d.ts +26 -0
- package/dist/src/util/helpHelper.d.ts.map +1 -0
- package/dist/src/util/logger.d.ts +18 -0
- package/dist/src/util/logger.d.ts.map +1 -0
- package/dist/src/util/runnerHelper.d.ts +9 -0
- package/dist/src/util/runnerHelper.d.ts.map +1 -0
- package/dist/tests/cli/BaseCLI.test.d.ts +2 -0
- package/dist/tests/cli/BaseCLI.test.d.ts.map +1 -0
- package/dist/tests/cli/DynamicPluginRuntimeCLI.test.d.ts +2 -0
- package/dist/tests/cli/DynamicPluginRuntimeCLI.test.d.ts.map +1 -0
- package/dist/tests/command/CompletionCommand.test.d.ts +2 -0
- package/dist/tests/command/CompletionCommand.test.d.ts.map +1 -0
- package/dist/tests/command/MultiCommandCliHelpCommand.test.d.ts +2 -0
- package/dist/tests/command/MultiCommandCliHelpCommand.test.d.ts.map +1 -0
- package/dist/tests/command/SingleCommandCliHelpCommand.test.d.ts +2 -0
- package/dist/tests/command/SingleCommandCliHelpCommand.test.d.ts.map +1 -0
- package/dist/tests/command/UsageCommand.test.d.ts +2 -0
- package/dist/tests/command/UsageCommand.test.d.ts.map +1 -0
- package/dist/tests/command/VersionCommand.test.d.ts +2 -0
- package/dist/tests/command/VersionCommand.test.d.ts.map +1 -0
- package/dist/tests/fixtures/CLIConfig.d.ts +3 -0
- package/dist/tests/fixtures/CLIConfig.d.ts.map +1 -0
- package/dist/tests/fixtures/Command.d.ts +20 -0
- package/dist/tests/fixtures/Command.d.ts.map +1 -0
- package/{tests/fixtures/CommandRegistry.ts → dist/tests/fixtures/CommandRegistry.d.ts} +2 -4
- package/dist/tests/fixtures/CommandRegistry.d.ts.map +1 -0
- package/dist/tests/fixtures/ConfigurationServiceProvider.d.ts +10 -0
- package/dist/tests/fixtures/ConfigurationServiceProvider.d.ts.map +1 -0
- package/dist/tests/fixtures/Context.d.ts +4 -0
- package/dist/tests/fixtures/Context.d.ts.map +1 -0
- package/dist/tests/fixtures/ServiceProviderRegistry.d.ts +4 -0
- package/dist/tests/fixtures/ServiceProviderRegistry.d.ts.map +1 -0
- package/dist/tests/fixtures/StreamString.d.ts +10 -0
- package/dist/tests/fixtures/StreamString.d.ts.map +1 -0
- package/dist/tests/fixtures/prettierPluginFoo.d.ts +4 -0
- package/dist/tests/fixtures/prettierPluginFoo.d.ts.map +1 -0
- package/dist/tests/fixtures/util.d.ts +8 -0
- package/dist/tests/fixtures/util.d.ts.map +1 -0
- package/dist/tests/runtime/DefaultContext.test.d.ts +2 -0
- package/dist/tests/runtime/DefaultContext.test.d.ts.map +1 -0
- package/dist/tests/runtime/argument/ArgumentTypeGuards.test.d.ts +2 -0
- package/dist/tests/runtime/argument/ArgumentTypeGuards.test.d.ts.map +1 -0
- package/dist/tests/runtime/command/CommandTypeGuards.test.d.ts +2 -0
- package/dist/tests/runtime/command/CommandTypeGuards.test.d.ts.map +1 -0
- package/dist/tests/runtime/command/CommandValidator.test.d.ts +2 -0
- package/dist/tests/runtime/command/CommandValidator.test.d.ts.map +1 -0
- package/dist/tests/runtime/parser.test.d.ts +2 -0
- package/dist/tests/runtime/parser.test.d.ts.map +1 -0
- package/dist/tests/runtime/registry/DefaultCommandRegistry.test.d.ts +2 -0
- package/dist/tests/runtime/registry/DefaultCommandRegistry.test.d.ts.map +1 -0
- package/dist/tests/runtime/registry/DefaultServiceProviderRegistry.test.d.ts +2 -0
- package/dist/tests/runtime/registry/DefaultServiceProviderRegistry.test.d.ts.map +1 -0
- package/dist/tests/runtime/runner.test.d.ts +2 -0
- package/dist/tests/runtime/runner.test.d.ts.map +1 -0
- package/dist/tests/runtime/scanner.test.d.ts +2 -0
- package/dist/tests/runtime/scanner.test.d.ts.map +1 -0
- package/dist/tests/runtime/values/argumentValueMerge.test.d.ts +2 -0
- package/dist/tests/runtime/values/argumentValueMerge.test.d.ts.map +1 -0
- package/dist/tests/runtime/values/argumentValueValidation.test.d.ts +2 -0
- package/dist/tests/runtime/values/argumentValueValidation.test.d.ts.map +1 -0
- package/dist/tests/runtime/values/globalCommandValuePopulation.test.d.ts +2 -0
- package/dist/tests/runtime/values/globalCommandValuePopulation.test.d.ts.map +1 -0
- package/dist/tests/runtime/values/subCommandValuePopulation.test.d.ts +2 -0
- package/dist/tests/runtime/values/subCommandValuePopulation.test.d.ts.map +1 -0
- package/dist/tests/service/argumentPrompter/ArgumentPrompterServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/argumentPrompter/ArgumentPrompterServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/argumentPrompter/DefaultArgumentPrompterService.test.d.ts +2 -0
- package/dist/tests/service/argumentPrompter/DefaultArgumentPrompterService.test.d.ts.map +1 -0
- package/dist/tests/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.test.d.ts +2 -0
- package/dist/tests/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.test.d.ts.map +1 -0
- package/dist/tests/service/banner/BannerServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/banner/BannerServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/banner/command/NoBannerCommand.test.d.ts +2 -0
- package/dist/tests/service/banner/command/NoBannerCommand.test.d.ts.map +1 -0
- package/dist/tests/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.test.d.ts +2 -0
- package/dist/tests/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.test.d.ts.map +1 -0
- package/dist/tests/service/completion/CompletionServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/completion/CompletionServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/completion/DefaultCompletionService.test.d.ts +2 -0
- package/dist/tests/service/completion/DefaultCompletionService.test.d.ts.map +1 -0
- package/dist/tests/service/completion/shell/bash.test.d.ts +2 -0
- package/dist/tests/service/completion/shell/bash.test.d.ts.map +1 -0
- package/dist/tests/service/completion/shell/fish.test.d.ts +2 -0
- package/dist/tests/service/completion/shell/fish.test.d.ts.map +1 -0
- package/dist/tests/service/completion/shell/powershell.test.d.ts +2 -0
- package/dist/tests/service/completion/shell/powershell.test.d.ts.map +1 -0
- package/dist/tests/service/completion/shell/zsh.test.d.ts +2 -0
- package/dist/tests/service/completion/shell/zsh.test.d.ts.map +1 -0
- package/dist/tests/service/configuration/ConfigurationServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/configuration/ConfigurationServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/configuration/DefaultKeyValueService.test.d.ts +2 -0
- package/dist/tests/service/configuration/DefaultKeyValueService.test.d.ts.map +1 -0
- package/dist/tests/service/configuration/DefaultSecretService.test.d.ts +2 -0
- package/dist/tests/service/configuration/DefaultSecretService.test.d.ts.map +1 -0
- package/dist/tests/service/configuration/command/ConfigCommand.test.d.ts +2 -0
- package/dist/tests/service/configuration/command/ConfigCommand.test.d.ts.map +1 -0
- package/dist/tests/service/configuration/command/DumpConfigCommand.test.d.ts +2 -0
- package/dist/tests/service/configuration/command/DumpConfigCommand.test.d.ts.map +1 -0
- package/dist/tests/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/dataDumpGenerator/DefaultDataDumpGeneratorService.test.d.ts +2 -0
- package/dist/tests/service/dataDumpGenerator/DefaultDataDumpGeneratorService.test.d.ts.map +1 -0
- package/dist/tests/service/imagePrinter/DefaultImagePrinterService.test.d.ts +2 -0
- package/dist/tests/service/imagePrinter/DefaultImagePrinterService.test.d.ts.map +1 -0
- package/dist/tests/service/imagePrinter/ImagePrinterServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/imagePrinter/ImagePrinterServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/plugin/DefaultPluginServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/plugin/DefaultPluginServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/prettyPrinter/DefaultPrettyPrinterService.test.d.ts +2 -0
- package/dist/tests/service/prettyPrinter/DefaultPrettyPrinterService.test.d.ts.map +1 -0
- package/dist/tests/service/prettyPrinter/PrettyPrinterServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/prettyPrinter/PrettyPrinterServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/printer/DefaultPrinterService.test.d.ts +2 -0
- package/dist/tests/service/printer/DefaultPrinterService.test.d.ts.map +1 -0
- package/dist/tests/service/printer/PrinterServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/printer/PrinterServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/printer/command/DarkModeCommand.test.d.ts +2 -0
- package/dist/tests/service/printer/command/DarkModeCommand.test.d.ts.map +1 -0
- package/dist/tests/service/printer/command/LogLevelCommand.test.d.ts +2 -0
- package/dist/tests/service/printer/command/LogLevelCommand.test.d.ts.map +1 -0
- package/dist/tests/service/printer/command/NoColorCommand.test.d.ts +2 -0
- package/dist/tests/service/printer/command/NoColorCommand.test.d.ts.map +1 -0
- package/dist/tests/service/printer/command/NoHyperlinksCommand.test.d.ts +2 -0
- package/dist/tests/service/printer/command/NoHyperlinksCommand.test.d.ts.map +1 -0
- package/dist/tests/service/printer/terminal/Progress.test.d.ts +2 -0
- package/dist/tests/service/printer/terminal/Progress.test.d.ts.map +1 -0
- package/dist/tests/service/printer/terminal/Spinner.test.d.ts +2 -0
- package/dist/tests/service/printer/terminal/Spinner.test.d.ts.map +1 -0
- package/dist/tests/service/prompter/DefaultPrompterService.test.d.ts +2 -0
- package/dist/tests/service/prompter/DefaultPrompterService.test.d.ts.map +1 -0
- package/dist/tests/service/prompter/PrompterServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/prompter/PrompterServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/prompter/command/NoPromptCommand.test.d.ts +2 -0
- package/dist/tests/service/prompter/command/NoPromptCommand.test.d.ts.map +1 -0
- package/dist/tests/service/prompter/prompt/PromptContext.test.d.ts +2 -0
- package/dist/tests/service/prompter/prompt/PromptContext.test.d.ts.map +1 -0
- package/dist/tests/service/shutdown/ShutdownServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/shutdown/ShutdownServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/syntaxHighlighter/DefaultSyntaxHighlighterService.test.d.ts +2 -0
- package/dist/tests/service/syntaxHighlighter/DefaultSyntaxHighlighterService.test.d.ts.map +1 -0
- package/dist/tests/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/tableGenerator/DefaultTableGeneratorService.test.d.ts +2 -0
- package/dist/tests/service/tableGenerator/DefaultTableGeneratorService.test.d.ts.map +1 -0
- package/dist/tests/service/tableGenerator/TableGeneratorServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/tableGenerator/TableGeneratorServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/service/treePrinter/DefaultTreePrinterService.test.d.ts +2 -0
- package/dist/tests/service/treePrinter/DefaultTreePrinterService.test.d.ts.map +1 -0
- package/dist/tests/service/treePrinter/TreePrinterServiceProvider.test.d.ts +2 -0
- package/dist/tests/service/treePrinter/TreePrinterServiceProvider.test.d.ts.map +1 -0
- package/dist/tests/terminal/ImageRenderer.test.d.ts +2 -0
- package/dist/tests/terminal/ImageRenderer.test.d.ts.map +1 -0
- package/dist/tests/terminal/PngDecoder.test.d.ts +2 -0
- package/dist/tests/terminal/PngDecoder.test.d.ts.map +1 -0
- package/dist/tests/terminal/supportsHyperlinks.test.d.ts +2 -0
- package/dist/tests/terminal/supportsHyperlinks.test.d.ts.map +1 -0
- package/dist/tests/util/configHelper.test.d.ts +2 -0
- package/dist/tests/util/configHelper.test.d.ts.map +1 -0
- package/dist/tests/util/envVarHelper.test.d.ts +2 -0
- package/dist/tests/util/envVarHelper.test.d.ts.map +1 -0
- package/dist/tests/util/logger.test.d.ts +2 -0
- package/dist/tests/util/logger.test.d.ts.map +1 -0
- package/index.ts +15 -1
- package/package.json +28 -2
- package/src/api/plugin/CommandFactory.ts +25 -0
- package/src/api/plugin/ServiceProviderFactory.ts +27 -0
- package/src/api/service/core/PluginService.ts +63 -0
- package/src/cli/DynamicPluginRuntimeCLI.ts +77 -0
- package/src/command/PluginCommand.ts +184 -0
- package/src/launcher.ts +35 -0
- package/src/service/plugin/DefaultPluginService.ts +37 -0
- package/src/service/plugin/DefaultPluginServiceProvider.ts +29 -0
- package/.github/workflows/check-bun-dependencies.yml +0 -12
- package/.github/workflows/lint-pr-message.yml +0 -13
- package/.github/workflows/release-bun-library.yml +0 -15
- package/.github/workflows/validate-bun-library-pr.yml +0 -10
- package/README/core-commands.md +0 -40
- package/README/core-service-providers.md +0 -198
- package/README/development.md +0 -57
- package/README/implementation-details.md +0 -474
- package/README/key-concepts.md +0 -751
- package/bun.lock +0 -156
- package/tests/cli/BaseCLI.test.ts +0 -283
- package/tests/command/CompletionCommand.test.ts +0 -63
- package/tests/command/MultiCommandCliHelpCommand.test.ts +0 -496
- package/tests/command/SingleCommandCliHelpCommand.test.ts +0 -302
- package/tests/command/UsageCommand.test.ts +0 -48
- package/tests/command/VersionCommand.test.ts +0 -37
- package/tests/fixtures/CLIConfig.ts +0 -9
- package/tests/fixtures/Command.ts +0 -248
- package/tests/fixtures/ConfigurationServiceProvider.ts +0 -28
- package/tests/fixtures/Context.ts +0 -32
- package/tests/fixtures/ServiceProviderRegistry.ts +0 -16
- package/tests/fixtures/StreamString.ts +0 -37
- package/tests/fixtures/prettierPluginFoo.ts +0 -31
- package/tests/fixtures/util.ts +0 -35
- package/tests/runtime/DefaultContext.test.ts +0 -20
- package/tests/runtime/argument/ArgumentTypeGuards.test.ts +0 -47
- package/tests/runtime/command/CommandTypeGuards.test.ts +0 -43
- package/tests/runtime/command/CommandValidator.test.ts +0 -1196
- package/tests/runtime/parser.test.ts +0 -744
- package/tests/runtime/registry/DefaultCommandRegistry.test.ts +0 -144
- package/tests/runtime/registry/DefaultServiceProviderRegistry.test.ts +0 -36
- package/tests/runtime/runner.test.ts +0 -1284
- package/tests/runtime/scanner.test.ts +0 -915
- package/tests/runtime/values/argumentValueMerge.test.ts +0 -366
- package/tests/runtime/values/argumentValueValidation.test.ts +0 -1090
- package/tests/runtime/values/globalCommandValuePopulation.test.ts +0 -480
- package/tests/runtime/values/subCommandValuePopulation.test.ts +0 -2430
- package/tests/service/argumentPrompter/ArgumentPrompterServiceProvider.test.ts +0 -38
- package/tests/service/argumentPrompter/DefaultArgumentPrompterService.test.ts +0 -745
- package/tests/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.test.ts +0 -17
- package/tests/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.test.ts +0 -208
- package/tests/service/asciiBannerGenerator/__snapshots__/DefaultAsciiBannerGeneratorService.test.ts.snap +0 -20
- package/tests/service/asciiBannerGenerator/small.flf.json +0 -3
- package/tests/service/banner/BannerServiceProvider.test.ts +0 -87
- package/tests/service/banner/__snapshots__/BannerServiceProvider.test.ts.snap +0 -16
- package/tests/service/banner/command/NoBannerCommand.test.ts +0 -18
- package/tests/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.test.ts +0 -52
- package/tests/service/completion/CompletionServiceProvider.test.ts +0 -335
- package/tests/service/completion/DefaultCompletionService.test.ts +0 -216
- package/tests/service/completion/shell/bash.test.ts +0 -73
- package/tests/service/completion/shell/fish.test.ts +0 -60
- package/tests/service/completion/shell/powershell.test.ts +0 -59
- package/tests/service/completion/shell/zsh.test.ts +0 -60
- package/tests/service/configuration/ConfigurationServiceProvider.test.ts +0 -212
- package/tests/service/configuration/DefaultKeyValueService.test.ts +0 -155
- package/tests/service/configuration/DefaultSecretService.test.ts +0 -140
- package/tests/service/configuration/command/ConfigCommand.test.ts +0 -29
- package/tests/service/configuration/command/DumpConfigCommand.test.ts +0 -51
- package/tests/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.test.ts +0 -51
- package/tests/service/dataDumpGenerator/DefaultDataDumpGeneratorService.test.ts +0 -208
- package/tests/service/imagePrinter/DefaultImagePrinterService.test.ts +0 -31
- package/tests/service/imagePrinter/ImagePrinterServiceProvider.test.ts +0 -17
- package/tests/service/prettyPrinter/DefaultPrettyPrinterService.test.ts +0 -46
- package/tests/service/prettyPrinter/PrettyPrinterServiceProvider.test.ts +0 -37
- package/tests/service/printer/DefaultPrinterService.test.ts +0 -530
- package/tests/service/printer/PrinterServiceProvider.test.ts +0 -34
- package/tests/service/printer/command/DarkModeCommand.test.ts +0 -75
- package/tests/service/printer/command/LogLevelCommand.test.ts +0 -47
- package/tests/service/printer/command/NoColorCommand.test.ts +0 -75
- package/tests/service/printer/command/NoHyperlinksCommand.test.ts +0 -75
- package/tests/service/printer/terminal/Progress.test.ts +0 -98
- package/tests/service/printer/terminal/Spinner.test.ts +0 -92
- package/tests/service/prompter/DefaultPrompterService.test.ts +0 -598
- package/tests/service/prompter/PrompterServiceProvider.test.ts +0 -41
- package/tests/service/prompter/command/NoPromptCommand.test.ts +0 -58
- package/tests/service/prompter/prompt/PromptContext.test.ts +0 -61
- package/tests/service/shutdown/ShutdownServiceProvider.test.ts +0 -13
- package/tests/service/syntaxHighlighter/DefaultSyntaxHighlighterService.test.ts +0 -101
- package/tests/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.test.ts +0 -37
- package/tests/service/tableGenerator/DefaultTableGeneratorService.test.ts +0 -342
- package/tests/service/tableGenerator/TableGeneratorServiceProvider.test.ts +0 -47
- package/tests/service/treePrinter/DefaultTreePrinterService.test.ts +0 -142
- package/tests/service/treePrinter/TreePrinterServiceProvider.test.ts +0 -51
- package/tests/terminal/ImageRenderer.test.ts +0 -152
- package/tests/terminal/PngDecoder.test.ts +0 -219
- package/tests/terminal/supportsHyperlinks.test.ts +0 -149
- package/tests/util/configHelper.test.ts +0 -193
- package/tests/util/envVarHelper.test.ts +0 -254
- package/tests/util/logger.test.ts +0 -56
- package/tsconfig.json +0 -32
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultDataDumpGeneratorService.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/dataDumpGenerator/DefaultDataDumpGeneratorService.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultImagePrinterService.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/imagePrinter/DefaultImagePrinterService.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImagePrinterServiceProvider.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/imagePrinter/ImagePrinterServiceProvider.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultPluginServiceProvider.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/plugin/DefaultPluginServiceProvider.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultPrettyPrinterService.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/prettyPrinter/DefaultPrettyPrinterService.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrettyPrinterServiceProvider.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/prettyPrinter/PrettyPrinterServiceProvider.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultPrinterService.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/printer/DefaultPrinterService.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrinterServiceProvider.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/printer/PrinterServiceProvider.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DarkModeCommand.test.d.ts","sourceRoot":"","sources":["../../../../../tests/service/printer/command/DarkModeCommand.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogLevelCommand.test.d.ts","sourceRoot":"","sources":["../../../../../tests/service/printer/command/LogLevelCommand.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NoColorCommand.test.d.ts","sourceRoot":"","sources":["../../../../../tests/service/printer/command/NoColorCommand.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NoHyperlinksCommand.test.d.ts","sourceRoot":"","sources":["../../../../../tests/service/printer/command/NoHyperlinksCommand.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Progress.test.d.ts","sourceRoot":"","sources":["../../../../../tests/service/printer/terminal/Progress.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Spinner.test.d.ts","sourceRoot":"","sources":["../../../../../tests/service/printer/terminal/Spinner.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultPrompterService.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/prompter/DefaultPrompterService.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrompterServiceProvider.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/prompter/PrompterServiceProvider.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NoPromptCommand.test.d.ts","sourceRoot":"","sources":["../../../../../tests/service/prompter/command/NoPromptCommand.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PromptContext.test.d.ts","sourceRoot":"","sources":["../../../../../tests/service/prompter/prompt/PromptContext.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShutdownServiceProvider.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/shutdown/ShutdownServiceProvider.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultSyntaxHighlighterService.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/syntaxHighlighter/DefaultSyntaxHighlighterService.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SyntaxHighlighterServiceProvider.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultTableGeneratorService.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/tableGenerator/DefaultTableGeneratorService.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableGeneratorServiceProvider.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/tableGenerator/TableGeneratorServiceProvider.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultTreePrinterService.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/treePrinter/DefaultTreePrinterService.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreePrinterServiceProvider.test.d.ts","sourceRoot":"","sources":["../../../../tests/service/treePrinter/TreePrinterServiceProvider.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImageRenderer.test.d.ts","sourceRoot":"","sources":["../../../tests/terminal/ImageRenderer.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PngDecoder.test.d.ts","sourceRoot":"","sources":["../../../tests/terminal/PngDecoder.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supportsHyperlinks.test.d.ts","sourceRoot":"","sources":["../../../tests/terminal/supportsHyperlinks.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configHelper.test.d.ts","sourceRoot":"","sources":["../../../tests/util/configHelper.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envVarHelper.test.d.ts","sourceRoot":"","sources":["../../../tests/util/envVarHelper.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.test.d.ts","sourceRoot":"","sources":["../../../tests/util/logger.test.ts"],"names":[],"mappings":""}
|
package/index.ts
CHANGED
|
@@ -168,9 +168,19 @@ export {
|
|
|
168
168
|
MultiCommandCliHelpSubCommand,
|
|
169
169
|
} from "./src/command/MultiCommandCliHelpCommand.ts";
|
|
170
170
|
|
|
171
|
+
// Plugin API
|
|
172
|
+
export type { default as CommandFactory } from "./src/api/plugin/CommandFactory.ts";
|
|
173
|
+
export { DYNAMIC_CLI_FRAMEWORK_COMMAND_FACTORY_EXTENSION_POINT } from "./src/api/plugin/CommandFactory.ts";
|
|
174
|
+
export type { default as ServiceProviderFactory } from "./src/api/plugin/ServiceProviderFactory.ts";
|
|
175
|
+
export { DYNAMIC_CLI_FRAMEWORK_SERVICE_PROVIDER_FACTORY_EXTENSION_POINT } from "./src/api/plugin/ServiceProviderFactory.ts";
|
|
176
|
+
export { PLUGIN_SERVICE_ID } from "./src/api/service/core/PluginService.ts";
|
|
177
|
+
export type { default as PluginService } from "./src/api/service/core/PluginService.ts";
|
|
178
|
+
export { default as DefaultPluginServiceProvider } from "./src/service/plugin/DefaultPluginServiceProvider.ts";
|
|
179
|
+
|
|
171
180
|
// Core CLI
|
|
172
181
|
export { default as BaseCLI } from "./src/cli/BaseCLI.ts";
|
|
173
182
|
export { default as DefaultRuntimeCLI } from "./src/cli/DefaultRuntimeCLI.ts";
|
|
183
|
+
export { default as DynamicPluginRuntimeCLI } from "./src/cli/DynamicPluginRuntimeCLI.ts";
|
|
174
184
|
|
|
175
185
|
// Terminal API
|
|
176
186
|
export type { default as Terminal } from "./src/terminal/Terminal.ts";
|
|
@@ -180,4 +190,8 @@ export { SpecialKey } from "./src/terminal/KeyReader.ts";
|
|
|
180
190
|
export { default as TtyKeyReader } from "./src/terminal/TtyKeyReader.ts";
|
|
181
191
|
|
|
182
192
|
// Convenience functions
|
|
183
|
-
export {
|
|
193
|
+
export {
|
|
194
|
+
launchMultiCommandCLI,
|
|
195
|
+
launchSingleCommandCLI,
|
|
196
|
+
launchDynamicPluginMultiCommandCLI,
|
|
197
|
+
} from "./src/launcher.ts";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flowscripter/dynamic-cli-framework",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "A framework for developing CLI applications which supports dynamic discovery and installation of new commands",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"bun",
|
|
@@ -17,12 +17,38 @@
|
|
|
17
17
|
"type": "git",
|
|
18
18
|
"url": "git+https://github.com/flowscripter/dynamic-cli-framework.git"
|
|
19
19
|
},
|
|
20
|
+
"files": [
|
|
21
|
+
"dist",
|
|
22
|
+
"src",
|
|
23
|
+
"index.ts",
|
|
24
|
+
"cli-plugin.ts",
|
|
25
|
+
"README.md",
|
|
26
|
+
"LICENSE"
|
|
27
|
+
],
|
|
20
28
|
"type": "module",
|
|
21
|
-
"
|
|
29
|
+
"main": "dist/index.js",
|
|
30
|
+
"module": "dist/index.js",
|
|
31
|
+
"types": "dist/index.d.ts",
|
|
32
|
+
"exports": {
|
|
33
|
+
".": {
|
|
34
|
+
"bun": "./index.ts",
|
|
35
|
+
"types": "./dist/index.d.ts",
|
|
36
|
+
"default": "./dist/index.js"
|
|
37
|
+
},
|
|
38
|
+
"./plugin": {
|
|
39
|
+
"bun": "./cli-plugin.ts",
|
|
40
|
+
"types": "./dist/cli-plugin.d.ts",
|
|
41
|
+
"default": "./dist/cli-plugin.js"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
22
44
|
"publishConfig": {
|
|
23
45
|
"access": "public"
|
|
24
46
|
},
|
|
47
|
+
"scripts": {
|
|
48
|
+
"build": "bun build index.ts cli-plugin.ts --outdir dist --target bun && tsc -p tsconfig.build.json"
|
|
49
|
+
},
|
|
25
50
|
"dependencies": {
|
|
51
|
+
"@flowscripter/dynamic-plugin-framework": "1.9.0",
|
|
26
52
|
"emphasize": "^7.0.0",
|
|
27
53
|
"fastest-levenshtein": "^1.0.16",
|
|
28
54
|
"figlet": "^1.11.0",
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type Command from "../command/Command.ts";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Extension point identifier for {@link CommandFactory} extensions.
|
|
5
|
+
*
|
|
6
|
+
* Plugins register against this extension point to supply {@link Command} instances
|
|
7
|
+
* that are added to the CLI before execution begins.
|
|
8
|
+
*/
|
|
9
|
+
export const DYNAMIC_CLI_FRAMEWORK_COMMAND_FACTORY_EXTENSION_POINT =
|
|
10
|
+
"DYNAMIC_CLI_FRAMEWORK_COMMAND_FACTORY";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Extension interface implemented by a plugin to provide {@link Command} instances.
|
|
14
|
+
*
|
|
15
|
+
* A plugin registers an {@link CommandFactory} against
|
|
16
|
+
* {@link DYNAMIC_CLI_FRAMEWORK_COMMAND_FACTORY_EXTENSION_POINT}. On startup,
|
|
17
|
+
* {@link DynamicPluginRuntimeCLI} instantiates each factory and adds the returned
|
|
18
|
+
* commands to the CLI registry before the runner executes.
|
|
19
|
+
*/
|
|
20
|
+
export default interface CommandFactory {
|
|
21
|
+
/**
|
|
22
|
+
* Return the {@link Command} instances provided by this factory.
|
|
23
|
+
*/
|
|
24
|
+
getCommands(): ReadonlyArray<Command>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ServiceProvider } from "../service/ServiceProvider.ts";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Extension point identifier for {@link ServiceProviderFactory} extensions.
|
|
5
|
+
*
|
|
6
|
+
* Plugins register against this extension point to supply {@link ServiceProvider} instances
|
|
7
|
+
* that are initialised by the runner as part of the normal service lifecycle.
|
|
8
|
+
*/
|
|
9
|
+
export const DYNAMIC_CLI_FRAMEWORK_SERVICE_PROVIDER_FACTORY_EXTENSION_POINT =
|
|
10
|
+
"DYNAMIC_CLI_FRAMEWORK_SERVICE_PROVIDER_FACTORY";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Extension interface implemented by a plugin to provide {@link ServiceProvider} instances.
|
|
14
|
+
*
|
|
15
|
+
* A plugin registers a {@link ServiceProviderFactory} against
|
|
16
|
+
* {@link DYNAMIC_CLI_FRAMEWORK_SERVICE_PROVIDER_FACTORY_EXTENSION_POINT}. On startup,
|
|
17
|
+
* {@link DynamicPluginRuntimeCLI} instantiates each factory and adds the returned
|
|
18
|
+
* service providers to the CLI registry before the runner executes, so they participate
|
|
19
|
+
* in the full initialization lifecycle (including {@link GlobalModifierCommand} scanning
|
|
20
|
+
* and {@link ServiceProvider.initService}).
|
|
21
|
+
*/
|
|
22
|
+
export default interface ServiceProviderFactory {
|
|
23
|
+
/**
|
|
24
|
+
* Return the {@link ServiceProvider} instances provided by this factory.
|
|
25
|
+
*/
|
|
26
|
+
getServiceProviders(): ReadonlyArray<ServiceProvider>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
VersionedPluginDescriptor,
|
|
3
|
+
SearchQuery,
|
|
4
|
+
} from "@flowscripter/dynamic-plugin-framework";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Service ID for {@link PluginService}.
|
|
8
|
+
*
|
|
9
|
+
* Pass to {@link Context.getServiceById} to retrieve the active {@link PluginService} instance.
|
|
10
|
+
*/
|
|
11
|
+
export const PLUGIN_SERVICE_ID = "PLUGIN_SERVICE";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Service providing plugin lifecycle management for a CLI with dynamic plugin support.
|
|
15
|
+
*
|
|
16
|
+
* Exposes search, install, uninstall, list, and update operations backed by a
|
|
17
|
+
* {@link MarketplacePluginManager}. Provided by {@link DefaultPluginServiceProvider}
|
|
18
|
+
* when plugin support is enabled via {@link DynamicPluginRuntimeCLI}.
|
|
19
|
+
*
|
|
20
|
+
* After {@link install} or an upgrade, the CLI must be restarted for new or updated
|
|
21
|
+
* plugin commands and service providers to become active.
|
|
22
|
+
*/
|
|
23
|
+
export default interface PluginService {
|
|
24
|
+
/**
|
|
25
|
+
* Search the remote marketplace for plugins matching the given query.
|
|
26
|
+
*
|
|
27
|
+
* @param query criteria to filter results by.
|
|
28
|
+
* @returns an async iterable of matching {@link VersionedPluginDescriptor} entries.
|
|
29
|
+
*/
|
|
30
|
+
search(query: Readonly<SearchQuery>): AsyncIterable<Readonly<VersionedPluginDescriptor>>;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Install a plugin from the remote marketplace into the local plugin store.
|
|
34
|
+
*
|
|
35
|
+
* @param descriptor the plugin to install, as returned by {@link search}.
|
|
36
|
+
*/
|
|
37
|
+
install(descriptor: Readonly<VersionedPluginDescriptor>): Promise<void>;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Remove a previously installed plugin from the local plugin store.
|
|
41
|
+
*
|
|
42
|
+
* @param pluginId the package identifier of the plugin to remove (e.g. `@scope/my-plugin`).
|
|
43
|
+
*/
|
|
44
|
+
uninstall(pluginId: string): Promise<void>;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* List all plugins currently installed in the local plugin store.
|
|
48
|
+
*
|
|
49
|
+
* @returns an async iterable of {@link VersionedPluginDescriptor} entries for each installed plugin.
|
|
50
|
+
*/
|
|
51
|
+
listInstalled(): AsyncIterable<Readonly<VersionedPluginDescriptor>>;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Check each installed plugin for a newer version available on the remote marketplace.
|
|
55
|
+
*
|
|
56
|
+
* @returns an async iterable of objects pairing the installed plugin descriptor with the
|
|
57
|
+
* latest available version string for plugins that have an update available.
|
|
58
|
+
*/
|
|
59
|
+
checkForUpdates(): AsyncIterable<{
|
|
60
|
+
descriptor: Readonly<VersionedPluginDescriptor>;
|
|
61
|
+
availableVersion: string;
|
|
62
|
+
}>;
|
|
63
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { MarketplacePluginManager } from "@flowscripter/dynamic-plugin-framework";
|
|
2
|
+
import type CLIConfig from "../api/CLIConfig.ts";
|
|
3
|
+
import type BaseCLIFeatureOptions from "../api/BaseCLIFeatureOptions.ts";
|
|
4
|
+
import type RunResult from "../api/RunResult.ts";
|
|
5
|
+
import { RunState } from "../api/RunResult.ts";
|
|
6
|
+
import DefaultRuntimeCLI from "./DefaultRuntimeCLI.ts";
|
|
7
|
+
import DefaultPluginServiceProvider from "../service/plugin/DefaultPluginServiceProvider.ts";
|
|
8
|
+
import { DYNAMIC_CLI_FRAMEWORK_COMMAND_FACTORY_EXTENSION_POINT } from "../api/plugin/CommandFactory.ts";
|
|
9
|
+
import { DYNAMIC_CLI_FRAMEWORK_SERVICE_PROVIDER_FACTORY_EXTENSION_POINT } from "../api/plugin/ServiceProviderFactory.ts";
|
|
10
|
+
import type CommandFactory from "../api/plugin/CommandFactory.ts";
|
|
11
|
+
import type ServiceProviderFactory from "../api/plugin/ServiceProviderFactory.ts";
|
|
12
|
+
import process from "node:process";
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Extension of {@link DefaultRuntimeCLI} that discovers and loads installed plugins before running.
|
|
16
|
+
*
|
|
17
|
+
* On each invocation of {@link run}, all locally installed plugins are discovered via the
|
|
18
|
+
* {@link MarketplacePluginManager}. Commands provided by {@link CommandFactory} extensions and
|
|
19
|
+
* service providers provided by {@link ServiceProviderFactory} extensions are registered before
|
|
20
|
+
* the runner starts, so they participate in the full initialization lifecycle.
|
|
21
|
+
*/
|
|
22
|
+
export default class DynamicPluginRuntimeCLI extends DefaultRuntimeCLI {
|
|
23
|
+
readonly #pluginManager: MarketplacePluginManager;
|
|
24
|
+
|
|
25
|
+
constructor(
|
|
26
|
+
cliConfig: CLIConfig,
|
|
27
|
+
pluginManager: MarketplacePluginManager,
|
|
28
|
+
options?: BaseCLIFeatureOptions,
|
|
29
|
+
) {
|
|
30
|
+
super(cliConfig, options);
|
|
31
|
+
this.#pluginManager = pluginManager;
|
|
32
|
+
this.addServiceProvider(new DefaultPluginServiceProvider(pluginManager));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
override async run(): Promise<RunResult> {
|
|
36
|
+
try {
|
|
37
|
+
await this.loadPlugins();
|
|
38
|
+
} catch (err) {
|
|
39
|
+
console.error(err);
|
|
40
|
+
process.exit(RunState.RUNTIME_ERROR);
|
|
41
|
+
}
|
|
42
|
+
return super.run();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
async loadPlugins(): Promise<void> {
|
|
46
|
+
await this.#pluginManager.registerExtensions(
|
|
47
|
+
DYNAMIC_CLI_FRAMEWORK_COMMAND_FACTORY_EXTENSION_POINT,
|
|
48
|
+
);
|
|
49
|
+
await this.#pluginManager.registerExtensions(
|
|
50
|
+
DYNAMIC_CLI_FRAMEWORK_SERVICE_PROVIDER_FACTORY_EXTENSION_POINT,
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
const commandFactoryExtensions = await this.#pluginManager.getRegisteredExtensions(
|
|
54
|
+
DYNAMIC_CLI_FRAMEWORK_COMMAND_FACTORY_EXTENSION_POINT,
|
|
55
|
+
);
|
|
56
|
+
for (const ext of commandFactoryExtensions) {
|
|
57
|
+
const factory = (await this.#pluginManager.instantiate(
|
|
58
|
+
ext.extensionHandle,
|
|
59
|
+
)) as CommandFactory;
|
|
60
|
+
for (const command of factory.getCommands()) {
|
|
61
|
+
this.addCommand(command);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const spFactoryExtensions = await this.#pluginManager.getRegisteredExtensions(
|
|
66
|
+
DYNAMIC_CLI_FRAMEWORK_SERVICE_PROVIDER_FACTORY_EXTENSION_POINT,
|
|
67
|
+
);
|
|
68
|
+
for (const ext of spFactoryExtensions) {
|
|
69
|
+
const factory = (await this.#pluginManager.instantiate(
|
|
70
|
+
ext.extensionHandle,
|
|
71
|
+
)) as ServiceProviderFactory;
|
|
72
|
+
for (const sp of factory.getServiceProviders()) {
|
|
73
|
+
this.addServiceProvider(sp);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|