@mui/internal-docs-infra
Version:
MUI Infra - internal documentation creation tools.
40 lines • 1.69 kB
TypeScript
/**
* Metadata merging utility for positioning metadata files relative to source files
*/
import type { VariantCode, VariantExtraFiles } from "./types.js";
/**
* Options for merging metadata files
*/
interface MergeMetadataOptions {
/**
* Optional prefix indicating where source files will be placed.
* When provided, metadata files will be positioned relative to this prefix
* PLUS the existing maxSourceBackNavigation from the variant structure.
*
* Examples (assuming maxSourceBackNavigation = 2):
* - 'src/' -> metadata goes to '../../../' (maxSourceBackNavigation + 1 for src/)
* - 'src/app/' -> metadata goes to '../../../../' (maxSourceBackNavigation + 2 for src/app/)
* - undefined -> uses only maxSourceBackNavigation (for client merging)
*/
metadataPrefix?: string;
}
/**
* Merge metadata files into a variant with proper positioning
*
* @param variant - The variant containing source files and potentially mixed metadata/non-metadata files
* @param metadataFiles - Additional metadata files to merge in
* @param options - Options for metadata positioning
* @returns A variant with all metadata files properly positioned
*/
/**
* Extract metadata files from a variant, scoping them according to metadataPrefix
*
* @param variant - The variant containing mixed source and metadata files
* @returns An object with the cleaned variant and extracted metadata
*/
export declare function extractMetadata(variant: VariantCode): {
variant: VariantCode;
metadata: VariantExtraFiles;
};
export declare function mergeMetadata(variant: VariantCode, metadataFiles?: VariantExtraFiles, options?: MergeMetadataOptions): VariantCode;
export {};