barrelize
Version:
Automatically generating index (barrel) files
139 lines (103 loc) • 5.3 kB
TypeScript
import { default as default_2, z } from 'zod';
export declare const $BarrelConfig: z.ZodObject<{
root: z.ZodDefault<z.ZodOptional<z.ZodString>>;
name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
include: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
exclude: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
order: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
replace: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
exports: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>>;
bracketSpacing: z.ZodOptional<z.ZodBoolean>;
singleQuote: z.ZodOptional<z.ZodBoolean>;
semi: z.ZodOptional<z.ZodBoolean>;
insertFinalNewline: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export declare const $Config: z.ZodObject<{
$schema: z.ZodDefault<z.ZodOptional<z.ZodString>>;
bracketSpacing: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
singleQuote: z.ZodDefault<z.ZodBoolean>;
semi: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
insertFinalNewline: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
barrels: z.ZodPrefault<z.ZodArray<z.ZodObject<{
root: z.ZodDefault<z.ZodOptional<z.ZodString>>;
name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
include: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
exclude: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
order: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
replace: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
exports: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>>;
bracketSpacing: z.ZodOptional<z.ZodBoolean>;
singleQuote: z.ZodOptional<z.ZodBoolean>;
semi: z.ZodOptional<z.ZodBoolean>;
insertFinalNewline: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>>>;
}, z.core.$strip>;
export declare type BarrelConfig = z.infer<typeof $BarrelConfig>;
export declare function cliInit(): void;
export declare function colorize(text: string, foreground: TerminalColor, background?: TerminalColor): string;
export declare type Config = z.infer<typeof $Config>;
export declare type ExportInfo = {
name: string;
exportKind?: 'type' | 'value' | null | undefined;
exportName?: string | undefined;
};
export declare type ExportPathInfo = {
originalPath: string;
modifiedPath: string;
exports?: string[];
};
export declare function extractExports(sourcePath: string): Promise<ExportInfo[]>;
export declare function extractExportsFromFile(sourcePath: string, options: ExtractExportsOptions): Promise<ExportInfo[]>;
/**
* Options for extracting exports from source files
*/
export declare type ExtractExportsOptions = {
/**
* Whether the source file is a TypeScript file
*/
isTypeScriptSource: boolean;
/**
* Whether to recursively process imports
*/
recursive: boolean;
};
export declare function formatExportLine(path: ExportPathInfo, config: Config, barrelConfig: BarrelConfig): string;
export declare function generateBarrels(configDir: string, config: Config): Promise<void>;
export declare type GenerateCommandOptions = default_2.infer<typeof GenerateCommandOptionsSchema>;
export declare const GenerateCommandOptionsSchema: default_2.ZodObject<{
configPath: default_2.ZodString;
watch: default_2.ZodBoolean;
}, default_2.core.$strict>;
export declare function getExportedPathsFromContent(content: string): Promise<string[]>;
export declare function globPaths(rootDir: string, barrelConfig: BarrelConfig): Promise<string[]>;
export declare function handlePathExports(rootDir: string, barrelConfig: BarrelConfig, exportPaths: ExportPathInfo[]): Promise<void>;
export declare function handlePathOrder(config: BarrelConfig, paths: ExportPathInfo[]): Promise<void>;
export declare function handlePathReplace(config: BarrelConfig, paths: ExportPathInfo[]): Promise<void>;
export declare function handlePaths(configDir: string, barrelConfig: BarrelConfig): Promise<ExportPathInfo[]>;
export declare const INITIAL_CONFIG: z.input<typeof $Config>;
export declare function logDebug(message: string): void;
export declare function logError(message: string): void;
export declare function logInfo(message: string): void;
export declare function logWarning(message: string): void;
export declare function parseConfig(configPath: string): Config;
export declare type PathsDifferences = {
insertions: string[];
deletions: string[];
};
export declare function pathsDifferences(newPaths: string[], oldPaths: string[]): PathsDifferences;
export declare function runGenerateCommand(options: GenerateCommandOptions): Promise<void>;
export declare function runInitCommand(baseConfigFilePath: string): Promise<void>;
export declare enum TerminalColor {
BLACK = 0,
RED = 1,
GREEN = 2,
YELLOW = 3,
BLUE = 4,
MAGENTA = 5,
CYAN = 6,
WHITE = 7,
GRAY = 60
}
export declare function tryParseRegex(s: string): RegExp | null;
export declare function watchBarrels(configDir: string, config: Config): Promise<void>;
export { };