willow-cli
Version:
CLI for installing Willow Design System components
79 lines • 2.54 kB
TypeScript
export interface ProjectType {
isVite: boolean;
isNext: boolean;
isOnlineIDE: boolean;
type: 'vite' | 'nextjs' | 'nuxt' | 'remix' | 'react';
hasTypeScript?: boolean;
packageManager?: 'npm' | 'yarn' | 'pnpm' | 'bun';
framework?: string;
}
export interface ComponentMeta {
name: string;
type: string;
files: ComponentFile[];
dependencies?: string[];
registryDependencies?: string[];
tailwind?: {
config?: Record<string, any>;
};
cssVars?: {
light?: Record<string, string>;
dark?: Record<string, string>;
};
}
export interface ComponentFile {
path?: string;
name?: string;
content: string;
type?: string;
}
export interface InstallOptions {
dryRun?: boolean;
overwrite?: boolean;
baseDir?: string;
isVite?: boolean;
verbose?: boolean;
skipDeps?: boolean;
componentDir?: string;
libDir?: string;
includeUnstable?: boolean;
}
export interface InstallResult {
installed: string[];
failed: Array<{
component: string;
error: string;
}>;
}
export interface ComponentsConfig {
$schema: string;
style: string;
rsc: boolean;
tsx: boolean;
tailwind: {
config: string;
css: string;
baseColor: string;
cssVariables: boolean;
prefix: string;
};
aliases: {
components: string;
utils: string;
ui: string;
lib: string;
};
registries: {
default: string;
willow: string;
shadcn: string;
};
iconLibrary: string;
url: string;
}
export declare const WILLOW_REGISTRY: "https://iridescent-brigadeiros-fe4174.netlify.app/r";
export declare const STABLE_COMPONENTS: readonly ["button", "badge", "card", "input", "label", "select", "textarea", "accordion", "tabs", "modal", "checkbox", "chip", "fancy-button", "form-card", "form-field", "gradient-bg", "highlight", "icon", "info-card", "list", "logo", "skeleton", "switch", "tag", "toast"];
export declare const UNSTABLE_COMPONENTS: readonly ["avatar", "tooltip"];
export declare const AVAILABLE_COMPONENTS: readonly ["button", "badge", "card", "input", "label", "select", "textarea", "accordion", "tabs", "modal", "checkbox", "chip", "fancy-button", "form-card", "form-field", "gradient-bg", "highlight", "icon", "info-card", "list", "logo", "skeleton", "switch", "tag", "toast", "avatar", "tooltip"];
export type ComponentName = typeof AVAILABLE_COMPONENTS[number];
//# sourceMappingURL=index.d.ts.map