@omnia/fx-models
Version: 
Provide Omnia Fx Models Stuffs.
49 lines (48 loc) • 1.89 kB
TypeScript
import { IIcon } from "./Icon";
import { GuidValue } from "@omnia/fx-models/internal-do-not-import-from-here/shared/models";
import { OmniaBackendRuntimes, OmniaClientRuntimes } from "./Enums";
export interface WebComponentOptions {
    /** The name for this component, this should be a none conflicting name
        e.g. use project as prefix myuniqueprojectname-componentName.
        i.e. <myuniqueprojectname-componentName></myuniqueprojectname-componentName> */
    elementName: string;
    /** The path for the start point for this component
        e.g. './ComponentFolder/Component.tsx'
        Paths should be relative project root, or relative current folder
    */
    entryPoint: string;
    /** The path to a .d.ts file containing the intrinsic declaration for the web component
    e.g. './ComponentFolder/ComponentTypings.d.ts'
    Paths should be relative project root or relative current folder
    */
    typings?: string;
}
export interface WebComponentDefinition {
    /** The title shown for this component */
    title: string;
    /** (Optional)
        The description shown for this component */
    description?: string;
    /** (Optional)
        The icon shown for this component */
    icon?: IIcon;
    /** (Optional)
        The feature dependency ids for this component availability (in or operator)*/
    featureDependencyIds?: Array<GuidValue>;
    /** (Optional)
    The license requirement ids for this component availability (in or operator)*/
    requiresLicense?: Array<GuidValue>;
    /**
     * (Optional)
     * Only register component for matched backend runtimes
     * */
    requiredBackendRuntime?: Array<OmniaBackendRuntimes>;
    /**
     * (Optional)
     * Only register component for matched client runtimes
     * */
    requiredClientRuntime?: Array<OmniaClientRuntimes>;
}
export interface ResourceBuildOptions {
    justCopy: boolean;
}