UNPKG

cdk-nextjs-standalone

Version:

Deploy a NextJS app to AWS using CDK and OpenNext.

33 lines 4.34 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.NextjsImage = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const aws_lambda_1 = require("aws-cdk-lib/aws-lambda"); const common_lambda_props_1 = require("./utils/common-lambda-props"); /** * This lambda handles image optimization. */ class NextjsImage extends aws_lambda_1.Function { constructor(scope, id, props) { const { lambdaOptions, bucket } = props; const commonFnProps = (0, common_lambda_props_1.getCommonFunctionProps)(scope); super(scope, id, { ...commonFnProps, code: aws_lambda_1.Code.fromAsset(props.nextBuild.nextImageFnDir), handler: 'index.handler', description: 'Next.js Image Optimization Function', ...lambdaOptions, environment: { BUCKET_NAME: bucket.bucketName, ...lambdaOptions?.environment, }, ...props.overrides?.functionProps, }); bucket.grantRead(this); } } exports.NextjsImage = NextjsImage; _a = JSII_RTTI_SYMBOL_1; NextjsImage[_a] = { fqn: "cdk-nextjs-standalone.NextjsImage", version: "4.2.3" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmV4dGpzSW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvTmV4dGpzSW1hZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx1REFBMkY7QUFLM0YscUVBQXFFO0FBeUJyRTs7R0FFRztBQUNILE1BQWEsV0FBWSxTQUFRLHFCQUFjO0lBQzdDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBdUI7UUFDL0QsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFFeEMsTUFBTSxhQUFhLEdBQUcsSUFBQSw0Q0FBc0IsRUFBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLEdBQUcsYUFBYTtZQUNoQixJQUFJLEVBQUUsaUJBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUM7WUFDcEQsT0FBTyxFQUFFLGVBQWU7WUFDeEIsV0FBVyxFQUFFLHFDQUFxQztZQUNsRCxHQUFHLGFBQWE7WUFDaEIsV0FBVyxFQUFFO2dCQUNYLFdBQVcsRUFBRSxNQUFNLENBQUMsVUFBVTtnQkFDOUIsR0FBRyxhQUFhLEVBQUUsV0FBVzthQUM5QjtZQUNELEdBQUcsS0FBSyxDQUFDLFNBQVMsRUFBRSxhQUFhO1NBQ2xDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQzs7QUFuQkgsa0NBb0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29kZSwgRnVuY3Rpb24gYXMgTGFtYmRhRnVuY3Rpb24sIEZ1bmN0aW9uT3B0aW9ucyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgSUJ1Y2tldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IE9wdGlvbmFsRnVuY3Rpb25Qcm9wcyB9IGZyb20gJy4vZ2VuZXJhdGVkLXN0cnVjdHMnO1xuaW1wb3J0IHR5cGUgeyBOZXh0anNCdWlsZCB9IGZyb20gJy4vTmV4dGpzQnVpbGQnO1xuaW1wb3J0IHsgZ2V0Q29tbW9uRnVuY3Rpb25Qcm9wcyB9IGZyb20gJy4vdXRpbHMvY29tbW9uLWxhbWJkYS1wcm9wcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzSW1hZ2VPdmVycmlkZXMge1xuICByZWFkb25seSBmdW5jdGlvblByb3BzPzogT3B0aW9uYWxGdW5jdGlvblByb3BzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5leHRqc0ltYWdlUHJvcHMge1xuICAvKipcbiAgICogVGhlIFMzIGJ1Y2tldCBob2xkaW5nIGFwcGxpY2F0aW9uIGltYWdlcy5cbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldDogSUJ1Y2tldDtcbiAgLyoqXG4gICAqIE92ZXJyaWRlIGZ1bmN0aW9uIHByb3BlcnRpZXMuXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFPcHRpb25zPzogRnVuY3Rpb25PcHRpb25zO1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTmV4dGpzQnVpbGR9XG4gICAqL1xuICByZWFkb25seSBuZXh0QnVpbGQ6IE5leHRqc0J1aWxkO1xuICAvKipcbiAgICogT3ZlcnJpZGUgcHJvcHMgZm9yIGV2ZXJ5IGNvbnN0cnVjdC5cbiAgICovXG4gIHJlYWRvbmx5IG92ZXJyaWRlcz86IE5leHRqc0ltYWdlT3ZlcnJpZGVzO1xufVxuXG4vKipcbiAqIFRoaXMgbGFtYmRhIGhhbmRsZXMgaW1hZ2Ugb3B0aW1pemF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgTmV4dGpzSW1hZ2UgZXh0ZW5kcyBMYW1iZGFGdW5jdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBOZXh0anNJbWFnZVByb3BzKSB7XG4gICAgY29uc3QgeyBsYW1iZGFPcHRpb25zLCBidWNrZXQgfSA9IHByb3BzO1xuXG4gICAgY29uc3QgY29tbW9uRm5Qcm9wcyA9IGdldENvbW1vbkZ1bmN0aW9uUHJvcHMoc2NvcGUpO1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4uY29tbW9uRm5Qcm9wcyxcbiAgICAgIGNvZGU6IENvZGUuZnJvbUFzc2V0KHByb3BzLm5leHRCdWlsZC5uZXh0SW1hZ2VGbkRpciksXG4gICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICBkZXNjcmlwdGlvbjogJ05leHQuanMgSW1hZ2UgT3B0aW1pemF0aW9uIEZ1bmN0aW9uJyxcbiAgICAgIC4uLmxhbWJkYU9wdGlvbnMsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBCVUNLRVRfTkFNRTogYnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICAgIC4uLmxhbWJkYU9wdGlvbnM/LmVudmlyb25tZW50LFxuICAgICAgfSxcbiAgICAgIC4uLnByb3BzLm92ZXJyaWRlcz8uZnVuY3Rpb25Qcm9wcyxcbiAgICB9KTtcblxuICAgIGJ1Y2tldC5ncmFudFJlYWQodGhpcyk7XG4gIH1cbn1cbiJdfQ==