@mui/internal-docs-infra
Version:
MUI Infra - internal documentation creation tools.
46 lines • 2.08 kB
text/typescript
import type { DescriptionReplacement } from "../pipeline/loadServerTypesMeta/format.mjs";
import type { OrderingConfig } from "../pipeline/loadServerTypesText/order.mjs";
export interface DemoClientRequirement {
/**
* Either a Turbopack-style glob pattern (e.g. `./app/**\/demos/*\/index.ts`)
* or a webpack-style RegExp used as the rule's `test`. Globs are extracted
* from `turbopack.rules`; RegExps are extracted from `webpack` rules.
*/
pattern: string | RegExp;
/** Import specifier passed verbatim into the generated `client.ts`. */
requireClient: string;
}
export interface DemoPageRequirement {
/**
* Either a Turbopack-style glob pattern (e.g. `./app/**\/demos/*\/index.ts`)
* or a webpack-style RegExp used as the rule's `test`. Globs are extracted
* from `turbopack.rules`; RegExps are extracted from `webpack` rules.
*/
pattern: string | RegExp;
}
export type ExtractedNextConfigOptions = {
ordering?: OrderingConfig;
descriptionReplacements?: DescriptionReplacement[];
useVisibleDescription?: boolean;
socketDir?: string;
/** Demo index patterns that opted into automatic `client.ts` generation. */
demoClientRequirements?: DemoClientRequirement[];
/** Demo index patterns that opted into automatic `page.tsx` generation. */
demoPageRequirements?: DemoPageRequirement[];
};
/**
* Walks Turbopack rules to collect demo patterns that opted into automatic
* `page.tsx` generation via the `requirePage` option.
*
* Exported for tests.
*/
export declare function extractDemoPageRequirementsFromTurbopack(config: any): DemoPageRequirement[];
/**
* Walks webpack rules to collect demo `test` regexes that opted into automatic
* `page.tsx` generation via the `requirePage` option. Mirrors the Turbopack
* extractor but uses the rule's RegExp `test` as the pattern.
*
* Exported for tests.
*/
export declare function extractDemoPageRequirementsFromWebpackResult(result: any): DemoPageRequirement[];
export declare function extractDocsInfraOptionsFromNextConfig(dir: string): Promise<ExtractedNextConfigOptions>;