UNPKG

opinionated-ci-pipeline

Version:

CI/CD on AWS with feature-branch builds, developer-environment deployments, and build status notifications.

23 lines 4.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CustomNodejsFunction = void 0; const aws_cdk_lib_1 = require("aws-cdk-lib"); const aws_lambda_1 = require("aws-cdk-lib/aws-lambda"); const aws_logs_1 = require("aws-cdk-lib/aws-logs"); class CustomNodejsFunction extends aws_lambda_1.Function { constructor(scope, id, props) { super(scope, id, { runtime: new aws_lambda_1.Runtime('nodejs22.x'), // define manually to not bump the required CDK version handler: 'index.handler', logRetention: aws_logs_1.RetentionDays.ONE_MONTH, ...props, }); if (!CustomNodejsFunction.powertoolsLayer) { CustomNodejsFunction.powertoolsLayer = aws_lambda_1.LayerVersion.fromLayerVersionArn(this, 'PowertoolsLayer', `arn:aws:lambda:${aws_cdk_lib_1.Stack.of(this).region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:7`); } this.addLayers(CustomNodejsFunction.powertoolsLayer); this.addEnvironment('POWERTOOLS_SERVICE_NAME', aws_cdk_lib_1.Stack.of(this).stackName); } } exports.CustomNodejsFunction = CustomNodejsFunction; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tTm9kZWpzRnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RydWN0cy9jdXN0b21Ob2RlanNGdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBa0M7QUFDbEMsdURBQXVIO0FBQ3ZILG1EQUFtRDtBQU1uRCxNQUFhLG9CQUFxQixTQUFRLHFCQUFjO0lBSXBELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZ0M7UUFDdEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDYixPQUFPLEVBQUUsSUFBSSxvQkFBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLHVEQUF1RDtZQUMzRixPQUFPLEVBQUUsZUFBZTtZQUN4QixZQUFZLEVBQUUsd0JBQWEsQ0FBQyxTQUFTO1lBQ3JDLEdBQUcsS0FBSztTQUNYLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QyxvQkFBb0IsQ0FBQyxlQUFlLEdBQUcseUJBQVksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQzNGLGtCQUFrQixtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLHFEQUFxRCxDQUMvRixDQUFDO1FBQ04sQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsRUFBRSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3RSxDQUFDO0NBQ0o7QUF0QkQsb0RBc0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTdGFja30gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHtGdW5jdGlvbiBhcyBMYW1iZGFGdW5jdGlvbiwgRnVuY3Rpb25Qcm9wcywgSUxheWVyVmVyc2lvbiwgTGF5ZXJWZXJzaW9uLCBSdW50aW1lfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7UmV0ZW50aW9uRGF5c30gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbU5vZGVqc0Z1bmN0aW9uUHJvcHMgZXh0ZW5kcyBQYXJ0aWFsPE9taXQ8RnVuY3Rpb25Qcm9wcywgJ2NvZGUnPj4sIFBpY2s8RnVuY3Rpb25Qcm9wcywgJ2NvZGUnPiB7XG59XG5cbmV4cG9ydCBjbGFzcyBDdXN0b21Ob2RlanNGdW5jdGlvbiBleHRlbmRzIExhbWJkYUZ1bmN0aW9uIHtcblxuICAgIHByaXZhdGUgc3RhdGljIHBvd2VydG9vbHNMYXllcjogSUxheWVyVmVyc2lvbiB8IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ3VzdG9tTm9kZWpzRnVuY3Rpb25Qcm9wcykge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgICAgICAgIHJ1bnRpbWU6IG5ldyBSdW50aW1lKCdub2RlanMyMi54JyksIC8vIGRlZmluZSBtYW51YWxseSB0byBub3QgYnVtcCB0aGUgcmVxdWlyZWQgQ0RLIHZlcnNpb25cbiAgICAgICAgICAgIGhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJyxcbiAgICAgICAgICAgIGxvZ1JldGVudGlvbjogUmV0ZW50aW9uRGF5cy5PTkVfTU9OVEgsXG4gICAgICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFDdXN0b21Ob2RlanNGdW5jdGlvbi5wb3dlcnRvb2xzTGF5ZXIpIHtcbiAgICAgICAgICAgIEN1c3RvbU5vZGVqc0Z1bmN0aW9uLnBvd2VydG9vbHNMYXllciA9IExheWVyVmVyc2lvbi5mcm9tTGF5ZXJWZXJzaW9uQXJuKHRoaXMsICdQb3dlcnRvb2xzTGF5ZXInLFxuICAgICAgICAgICAgICAgIGBhcm46YXdzOmxhbWJkYToke1N0YWNrLm9mKHRoaXMpLnJlZ2lvbn06MDk0Mjc0MTA1OTE1OmxheWVyOkFXU0xhbWJkYVBvd2VydG9vbHNUeXBlU2NyaXB0OjdgLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWRkTGF5ZXJzKEN1c3RvbU5vZGVqc0Z1bmN0aW9uLnBvd2VydG9vbHNMYXllcik7XG5cbiAgICAgICAgdGhpcy5hZGRFbnZpcm9ubWVudCgnUE9XRVJUT09MU19TRVJWSUNFX05BTUUnLCBTdGFjay5vZih0aGlzKS5zdGFja05hbWUpO1xuICAgIH1cbn1cbiJdfQ==