Files
openpanel/packages/cli/src/commands/add/sub-commands/provider/command.ts
Stefan Pejcic 09f9f9502d packages
2024-11-07 19:03:37 +01:00

28 lines
839 B
TypeScript

import { Argument, Command } from "commander";
import { createProviders } from "./create-providers";
import { addProviderPrompt } from "./prompt";
import { availableProviders, type ProviderId } from "./providers";
export const createProviderAction = async (
providers: ProviderId[],
options: { path?: string },
) => {
if (!providers.length) {
const { providers, providersPath } = await addProviderPrompt();
return createProviders(providers, providersPath);
}
createProviders(providers, options.path);
};
export const ProviderCommand = new Command("provider")
.addArgument(
new Argument("[providers...]", "Create provider(s)")
.choices(availableProviders.map((provider) => provider.id))
.default([]),
)
.option("-p, --path [path]", "Path to generate providers")
.action(createProviderAction);