UNPKG

alwaysai

Version:

The alwaysAI command-line interface (CLI)

49 lines (45 loc) 1.34 kB
import { CliBranch, CliLeaf, CliStringInput } from '@alwaysai/alwayscli'; import { appPackageComponent } from '../../components/app'; import { findOrWriteDockerComposeFileComponent, writeStandaloneDockerfileComponent } from '../../components/docker'; import { getDockerComposeCmdForApp, getTargetHardwareType } from '../../core/app'; export const dockerCompose = CliLeaf({ name: 'docker-compose', description: 'Generate Docker compose file for this project.', hidden: false, async action() { await writeStandaloneDockerfileComponent(); await findOrWriteDockerComposeFileComponent({ yes: true, cmd: await getDockerComposeCmdForApp({ targetHardware: await getTargetHardwareType({}) }) }); } }); export const docker = CliLeaf({ name: 'docker', description: `Package this application as a Docker image`, positionalInput: CliStringInput({ description: 'Tag for application Docker image. Format: <dockerhub-user>/<img-name>:<version>', placeholder: '<image_tag>', required: true }), async action(dockerTag) { await appPackageComponent({ yes: true, dockerImageTag: dockerTag }); } }); export const appGenerateCliBranch = CliBranch({ name: 'generate', description: `Generate application files.`, subcommands: [dockerCompose, docker] });