UNPKG

@builder.io/mitosis

Version:

Write components once, run everywhere. Compiles to Vue, React, Solid, and Liquid. Import code from Figma and Builder.io

49 lines (48 loc) 1.48 kB
import { MitosisComponent } from './mitosis-component'; import { MitosisPlugin } from './plugins'; export interface TranspilerArgs { path?: string; component: MitosisComponent; } export type Transpiler<R = string> = (args: TranspilerArgs) => R; /** * This type guarantees that all code generators receive the same base options */ export type TranspilerGenerator<X extends BaseTranspilerOptions, Y = string> = (args?: X) => Transpiler<Y>; export type AttributePassingType = { enabled: boolean; customRef?: string; }; export interface BaseTranspilerOptions { experimental?: { [key: string]: any; }; /** * Runs `prettier` on generated components */ prettier?: boolean; /** * Mitosis Plugins to run during codegen. */ plugins?: MitosisPlugin[]; /** * Enable `typescript` output */ typescript?: boolean; /** Enables/disables attribute passing for frameworks with custom elements like angular and stencil */ attributePassing?: AttributePassingType; /** * Preserves explicit filename extensions in import statements. */ explicitImportFileExtension?: boolean; /** * Can be used for cli builds. Preserves explicit filename extensions when regex matches, e.g.: * { * explicitBuildFileExtension: { * ".ts":/*.figma.lite.tsx/g, * ".md":/*.docs.lite.tsx/g * } * } */ explicitBuildFileExtensions?: Record<string, RegExp>; }