UNPKG

projen

Version:

CDK for software projects

130 lines (129 loc) 4.08 kB
import { AwsCdkDeps } from "./awscdk-deps"; import { IntegrationTestCommonOptions } from "./integration-test"; import { LambdaExtensionCommonOptions } from "./lambda-extension"; import { LambdaFunctionCommonOptions } from "./lambda-function"; import { AutoDiscoverBase, IntegrationTestAutoDiscoverBase, IntegrationTestAutoDiscoverBaseOptions } from "../cdk"; import { Component } from "../component"; import { Project } from "../project"; /** * Common options for auto discovering project subcomponents. */ export interface AutoDiscoverCommonOptions { /** * Path to the tsconfig file to use for integration tests. */ readonly tsconfigPath: string; /** * AWS CDK dependency manager. */ readonly cdkDeps: AwsCdkDeps; } /** * Options for `IntegrationTestAutoDiscover` */ export interface IntegrationTestAutoDiscoverOptions extends AutoDiscoverCommonOptions, IntegrationTestAutoDiscoverBaseOptions { /** * Options for integration tests. */ readonly integrationTestOptions?: IntegrationTestCommonOptions; } /** * Creates integration tests from entry points discovered in the test tree. */ export declare class IntegrationTestAutoDiscover extends IntegrationTestAutoDiscoverBase { constructor(project: Project, options: IntegrationTestAutoDiscoverOptions); } /** * Options for `LambdaAutoDiscover` */ export interface LambdaAutoDiscoverOptions extends AutoDiscoverCommonOptions { /** * Project source tree (relative to project output directory). */ readonly srcdir: string; /** * Options for AWS Lambda functions. */ readonly lambdaOptions?: LambdaFunctionCommonOptions; } /** * Creates lambdas from entry points discovered in the project's source tree. */ export declare class LambdaAutoDiscover extends AutoDiscoverBase { constructor(project: Project, options: LambdaAutoDiscoverOptions); } /** * Options for `EdgeLambdaAutoDiscover` */ export interface EdgeLambdaAutoDiscoverOptions extends AutoDiscoverCommonOptions { /** * Project source tree (relative to project output directory). */ readonly srcdir: string; /** * Options for AWS Lambda functions. */ readonly lambdaOptions?: LambdaFunctionCommonOptions; } /** * Creates edge lambdas from entry points discovered in the project's source tree. */ export declare class EdgeLambdaAutoDiscover extends AutoDiscoverBase { constructor(project: Project, options: EdgeLambdaAutoDiscoverOptions); } /** * Options for `LambdaExtensionAutoDiscover` */ export interface LambdaExtensionAutoDiscoverOptions extends AutoDiscoverCommonOptions { /** * Project source tree (relative to project output directory). */ readonly srcdir: string; /** * Options for lambda extensions. */ readonly lambdaExtensionOptions?: LambdaExtensionCommonOptions; } /** * Creates Lambda Extensions from entrypoints discovered in the project's * source tree. */ export declare class LambdaExtensionAutoDiscover extends AutoDiscoverBase { constructor(project: Project, options: LambdaExtensionAutoDiscoverOptions); } /** * Options for `AutoDiscover` */ export interface AutoDiscoverOptions extends LambdaAutoDiscoverOptions, LambdaExtensionAutoDiscoverOptions, IntegrationTestAutoDiscoverOptions { /** * Auto-discover lambda functions. * * @default true */ readonly lambdaAutoDiscover?: boolean; /** * Auto-discover edge lambda functions. * * @default true */ readonly edgeLambdaAutoDiscover?: boolean; /** * Auto-discover lambda extensions. * * @default true */ readonly lambdaExtensionAutoDiscover?: boolean; /** * Auto-discover integration tests. * * @default true */ readonly integrationTestAutoDiscover?: boolean; } /** * Discovers and creates integration tests and lambdas from code in the * project's source and test trees. */ export declare class AutoDiscover extends Component { constructor(project: Project, options: AutoDiscoverOptions); }