/** * Type definitions for Iconify Build Tools */ export interface PrettierOptions { parser?: string; [key: string]: unknown; } /** * Configuration for a single icon source */ export interface IconSource { /** Type of source */ type: 'folder' | 'json'; /** Path to the source (directory for folder, file for JSON) */ path: string; /** Icon prefix for this source */ prefix: string; /** Which icon variants to generate: 'colored', 'monotone', or 'both' (default: 'both' for folders, N/A for JSON) */ variants?: 'colored' | 'monotone' | 'both'; } /** * Configuration for icon bundle building */ export interface IconBundleConfig { /** Array of icon sources (SVG directories or JSON files) */ sources: IconSource[]; /** Output file path (defaults to first source directory + '/iconify-bundle.js') */ outputPath?: string; /** Prettier configuration for formatting (optional, uses defaults if not provided) */ prettierConfig?: PrettierOptions; /** Enable verbose logging */ verbose?: boolean; } /** * Grimoire Build Tools * * Utilities for building and bundling Iconify icons during development and production builds. * * @module build-tools */ export { default as buildIconifyBundle } from './iconifyBundleBuilder'; export { default as viteIconBundlePlugin } from './viteIconBundlePlugin'; export type { IconBundleConfig, IconSource, PrettierOptions } from './types';