/** * Meta.yml extractor for multi-file examples * * Receives candidates (files and directories) and looks for meta.yml files. * Each folder with meta.yml is treated as a multi-file example, * where all files in the folder belong to that example. */ import type { Extractor } from '@functional-examples/devkit'; /** * Options for creating a meta.yml extractor */ export interface MetaYmlExtractorOptions { /** * Name of the metadata file to look for. * @default 'meta.yml' */ metaFileName?: string; /** * Files to exclude from the example (besides the meta file). * @default [] */ excludeFiles?: string[]; /** * Patterns to exclude from file collection within examples. * @default ['node_modules/**', '.git/**'] */ excludePatterns?: string[]; } /** * Create a meta.yml extractor. * * Scans for directories containing meta.yml files. Each such directory * is treated as a multi-file example with all its contents. * * @example * ```typescript * import { createMetaYmlExtractor } from '@functional-examples/yaml-manifest'; * * const extractor = createMetaYmlExtractor({ * metaFileName: 'meta.yaml', // use different filename * }); * * // Use with scanExamples * import { scanExamples } from 'functional-examples'; * * const result = await scanExamples({ * root: './examples', * extractors: [extractor], * }); * ``` */ export declare function createMetaYmlExtractor(opts?: MetaYmlExtractorOptions): Extractor; //# sourceMappingURL=extractor.d.ts.map