import type {DumpOptions} from 'js-yaml'; import type {HandlerConfig} from '../parser'; export interface CloudformationPluginConfig { /** * BuildProperties to be used with ESBuild Metadata for each generated * function * @see https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-using-build-typescript.html */ buildProperties?: { /** @default ['@aws-sdk/*'] */ external?: readonly string[]; /** @default false */ minify?: boolean; /** @default true */ sourcemap?: boolean; /** @default es2020 */ target?: string; }; /** * Path to the actions generated by the ActionPlugin. Relative to the codegen * config file. */ actionsModuleId: string; /** * Path to the dependencies file to be injected at runtime. Relative to the * codegen config file */ dependenciesModuleId: string; /** * Path to an existing CloudFormation template to merge with the generated * template. */ sourceTemplate?: string; outputConfig?: { format?: 'json' | 'yaml'; yamlConfig?: Partial; }; readonly defaultDispatcherConfig?: HandlerConfig; readonly defaultHandlerConfig?: HandlerConfig; }