Skip to content

introduce pipelines CLI #475

@luxass

Description

@luxass

A CLI for running pipelines from the command line. This would allow users to define pipelines in configuration files and execute them without writing custom scripts.

Running a Pipeline

# Run a pipeline defined in a config file
ucd pipelines run --config ./pipeline.config.ts

# Run with specific versions
ucd pipelines run --config ./pipeline.config.ts --versions 16.0.0,15.1.0

# Run without cache
ucd pipelines run --config ./pipeline.config.ts --no-cache

# Run with verbose output
ucd pipelines run --config ./pipeline.config.ts --verbose

Pipeline Configuration

Pipelines would be defined in a TypeScript or JavaScript configuration file.

// pipeline.config.ts
import { definePipelineConfig, byName } from "@ucdjs/pipelines";

export default definePipelineConfig({
  versions: ["16.0.0"],
  source: {
    type: "ucd-store",
    path: "./ucd-store",
  },
  routes: [
    {
      id: "line-break",
      filter: byName("LineBreak.txt"),
      parser: "default",
      output: "./output/line-break.json",
    },
  ],
});

Output Options

# Output to specific directory
ucd pipelines run --config ./pipeline.config.ts --output ./dist

# Output format
ucd pipelines run --config ./pipeline.config.ts --format json
ucd pipelines run --config ./pipeline.config.ts --format csv

Inspecting Pipelines

# List routes in a pipeline
ucd pipelines inspect --config ./pipeline.config.ts

# Show execution graph
ucd pipelines graph --config ./pipeline.config.ts

# Validate configuration
ucd pipelines validate --config ./pipeline.config.ts

Cache Management

# Clear pipeline cache
ucd pipelines cache clear

# Show cache stats
ucd pipelines cache stats

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions