cdk-nextjs
Version:
Deploy Next.js apps on AWS with CDK
33 lines • 3.69 kB
JavaScript
;
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NextjsStaticAssets = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const aws_cdk_lib_1 = require("aws-cdk-lib");
const aws_s3_1 = require("aws-cdk-lib/aws-s3");
const constructs_1 = require("constructs");
/**
* Creates S3 Bucket for public and _next/static assets.
*/
class NextjsStaticAssets extends constructs_1.Construct {
constructor(scope, id, props) {
super(scope, id);
this.props = props;
this.bucket = this.createBucket();
}
createBucket() {
return new aws_s3_1.Bucket(this, "Bucket", {
removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
autoDeleteObjects: true,
enforceSSL: true,
blockPublicAccess: aws_s3_1.BlockPublicAccess.BLOCK_ALL,
encryption: aws_s3_1.BucketEncryption.S3_MANAGED,
minimumTLSVersion: 1.2,
...this.props.overrides?.bucketProps,
});
}
}
exports.NextjsStaticAssets = NextjsStaticAssets;
_a = JSII_RTTI_SYMBOL_1;
NextjsStaticAssets[_a] = { fqn: "cdk-nextjs.NextjsStaticAssets", version: "0.4.14" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLXN0YXRpYy1hc3NldHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbmV4dGpzLXN0YXRpYy1hc3NldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBNEM7QUFDNUMsK0NBSzRCO0FBQzVCLDJDQUF1QztBQVV2Qzs7R0FFRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsc0JBQVM7SUFLL0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE4QjtRQUN0RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTyxZQUFZO1FBQ2xCLE9BQU8sSUFBSSxlQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNoQyxhQUFhLEVBQUUsMkJBQWEsQ0FBQyxPQUFPO1lBQ3BDLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsVUFBVSxFQUFFLElBQUk7WUFDaEIsaUJBQWlCLEVBQUUsMEJBQWlCLENBQUMsU0FBUztZQUM5QyxVQUFVLEVBQUUseUJBQWdCLENBQUMsVUFBVTtZQUN2QyxpQkFBaUIsRUFBRSxHQUFHO1lBQ3RCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsV0FBVztTQUNyQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQXJCSCxnREFzQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBCbG9ja1B1YmxpY0FjY2VzcyxcbiAgQnVja2V0LFxuICBCdWNrZXRFbmNyeXB0aW9uLFxuICBCdWNrZXRQcm9wcyxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNTdGF0aWNBc3NldHNPdmVycmlkZXMge1xuICByZWFkb25seSBidWNrZXRQcm9wcz86IEJ1Y2tldFByb3BzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5leHRqc1N0YXRpY0Fzc2V0c1Byb3BzIHtcbiAgcmVhZG9ubHkgb3ZlcnJpZGVzPzogTmV4dGpzU3RhdGljQXNzZXRzT3ZlcnJpZGVzO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgUzMgQnVja2V0IGZvciBwdWJsaWMgYW5kIF9uZXh0L3N0YXRpYyBhc3NldHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBOZXh0anNTdGF0aWNBc3NldHMgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBidWNrZXQ6IEJ1Y2tldDtcblxuICBwcml2YXRlIHByb3BzOiBOZXh0anNTdGF0aWNBc3NldHNQcm9wcztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTmV4dGpzU3RhdGljQXNzZXRzUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICB0aGlzLmJ1Y2tldCA9IHRoaXMuY3JlYXRlQnVja2V0KCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUJ1Y2tldCgpIHtcbiAgICByZXR1cm4gbmV3IEJ1Y2tldCh0aGlzLCBcIkJ1Y2tldFwiLCB7XG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZSxcbiAgICAgIGVuZm9yY2VTU0w6IHRydWUsXG4gICAgICBibG9ja1B1YmxpY0FjY2VzczogQmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUxMLFxuICAgICAgZW5jcnlwdGlvbjogQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICAgICAgbWluaW11bVRMU1ZlcnNpb246IDEuMixcbiAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5idWNrZXRQcm9wcyxcbiAgICB9KTtcbiAgfVxufVxuIl19