UNPKG

@atomist/sdm-core

Version:

Atomist Software Delivery Machine - Implementation

33 lines 1.65 kB
import { Project } from "@atomist/automation-client"; import { CodeTransform, ExtensionPack, GeneratorRegistration, ParametersObject } from "@atomist/sdm"; /** * Registration for CodeTransform, ParametersObject and an additional test */ export interface UniversalTransform<PARAMS = any> { /** Return true if provided CodeTransforms should be executed against Project p */ test?: (p: Project) => Promise<boolean>; /** CodeTransforms to execute */ transforms: CodeTransform<PARAMS> | Array<CodeTransform<PARAMS>>; /** Additional parameters the CodeTransforms need */ parameters?: ParametersObject<PARAMS>; } /** * Configuration options for the universalGeneratorSupport extension pack */ export interface UniversalGeneratorSupportOptions { /** Generators to enrich with additional CodeTransforms */ generators: GeneratorRegistration<any> | Array<GeneratorRegistration<any>>; /** Additional CodeTransforms, their parameters and optional project test */ transformsAndParameters?: UniversalTransform<any> | Array<UniversalTransform<any>>; } /** * Configure generators in the form GeneratorRegistrations to run additional CodeTransforms * * The CodeTransforms are getting registered with an optional test which can be used to * interrogate the seed project and determine if the CodeTransform should be executed * against the seed. * CodeTransforms can also register parameter definitions to ask for more parameters via a * promptFor question flow. */ export declare function universalGeneratorSupport(options: UniversalGeneratorSupportOptions): ExtensionPack; //# sourceMappingURL=generatorSupport.d.ts.map