roadmap-gen
Version:
Professional HTML roadmap generator from YAML data with multiple themes
82 lines (68 loc) • 1.49 kB
text/typescript
/**
* TypeScript definitions for roadmap data structures
*/
export type ProjectStatus = 'completed' | 'in-progress' | 'planned' | 'on-hold';
export interface StatusInfo {
class: ProjectStatus;
color: string;
text: string;
}
export interface DetailItem {
text: string;
internal?: boolean;
}
export type DetailEntry = string | DetailItem;
export interface QuarterData {
status: ProjectStatus;
description: string;
details?: DetailEntry[];
progress?: string;
metrics?: string[];
risks?: string[];
objectives?: string[];
dependencies?: string[];
internal?: boolean;
internal_notes?: string;
}
export interface Project {
name: string;
responsible?: string;
issue?: string;
quarters: Record<string, QuarterData>;
internal?: boolean;
}
export interface Category {
name: string;
icon: string;
projects: Project[];
}
export interface MetricItem {
text: string;
internal?: boolean;
}
export type MetricEntry = string | MetricItem;
export interface Metrics {
kpis?: MetricEntry[];
risks?: MetricEntry[];
internal?: boolean;
}
export interface RoadmapData {
title: string;
vision: string;
quarters: string[];
next_quarters?: string[];
categories: Category[];
metrics?: Metrics;
}
export interface BuildOptions {
sourceFile?: string;
templateDir?: string;
outputDir?: string;
withInternal?: boolean;
}
export interface BuildStats {
categories: number;
projects: number;
quarters: number;
htmlSize: string;
}