@capraconsulting/webapp-deploy-lambda
Advanced tools
Comparing version 1.1.1 to 1.2.0
@@ -1,50 +0,2 @@ | ||
import * as lambda from "@aws-cdk/aws-lambda"; | ||
import * as s3 from "@aws-cdk/aws-s3"; | ||
import * as cdk from "@aws-cdk/core"; | ||
export interface WebappDeployProps { | ||
/** | ||
* S3 bucket where the artifacts to be deployed are stored. | ||
*/ | ||
buildsBucket: s3.IBucket; | ||
/** | ||
* CloudFront Distribution ID to be invalidated after deploy. | ||
* | ||
* @default - none | ||
*/ | ||
distributionId?: string; | ||
/** | ||
* Regex for patterns of files to be discarded during deployment. | ||
* | ||
* Example: `\.map$` will exclude `js/myapp-1b22c248f.js.map`. | ||
* | ||
* @default - none | ||
*/ | ||
excludePattern?: string; | ||
/** | ||
* The time when a deployment is considered old and will be deleted | ||
* unless it is the newest old deployment. | ||
* | ||
* @default - 5 days | ||
*/ | ||
pruneDeploymentsOlderThan?: cdk.Duration; | ||
/** | ||
* Name of the lambda function to be created. | ||
* | ||
* @default cdk.PhysicalName.GENERATE_IF_NEEDED | ||
*/ | ||
functionName?: string; | ||
/** | ||
* Name of S3 bucket where the contents of the artifacts will be deployed. | ||
* The files will be deployed under the key "web", which is then expected | ||
* to be the origin for the CloudFront distribution | ||
*/ | ||
webBucket: s3.IBucket; | ||
} | ||
/** | ||
* Resource to deploy a webapp from a build artifact into an existing | ||
* S3 Bucket and CloudFront Distribution. | ||
*/ | ||
export declare class WebappDeploy extends cdk.Construct { | ||
readonly deployFn: lambda.Function; | ||
constructor(scope: cdk.Construct, id: string, props: WebappDeployProps); | ||
} | ||
export { ISource, Source, SourceConfig } from "./source"; | ||
export { WebappDeploy, WebappDeployProps } from "./webapp-deploy"; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.WebappDeploy = void 0; | ||
const iam = require("@aws-cdk/aws-iam"); | ||
const lambda = require("@aws-cdk/aws-lambda"); | ||
const cdk = require("@aws-cdk/core"); | ||
const path = require("path"); | ||
/** | ||
* Resource to deploy a webapp from a build artifact into an existing | ||
* S3 Bucket and CloudFront Distribution. | ||
*/ | ||
class WebappDeploy extends cdk.Construct { | ||
constructor(scope, id, props) { | ||
var _a, _b; | ||
super(scope, id); | ||
const environment = { | ||
DEPLOY_LOG_BUCKET_URL: `s3://${props.webBucket.bucketName}/deployments.log`, | ||
EXPIRE_SECONDS: ((_a = props.pruneDeploymentsOlderThan) !== null && _a !== void 0 ? _a : cdk.Duration.days(5)) | ||
.toSeconds() | ||
.toString(), | ||
TARGET_BUCKET_URL: `s3://${props.webBucket.bucketName}/web`, | ||
}; | ||
if (props.distributionId != null) { | ||
environment.CF_DISTRIBUTION_ID = props.distributionId; | ||
} | ||
if (props.excludePattern != null) { | ||
environment.EXCLUDE_PATTERN = props.excludePattern; | ||
} | ||
this.deployFn = new lambda.Function(this, "Resource", { | ||
code: lambda.Code.fromAsset(path.join(__dirname, "../dist")), | ||
environment, | ||
functionName: (_b = props.functionName) !== null && _b !== void 0 ? _b : cdk.PhysicalName.GENERATE_IF_NEEDED, | ||
handler: "webapp_deploy.main.handler", | ||
reservedConcurrentExecutions: 1, | ||
runtime: lambda.Runtime.PYTHON_3_7, | ||
timeout: cdk.Duration.minutes(2), | ||
initialPolicy: [ | ||
new iam.PolicyStatement({ | ||
actions: ["s3:HeadObject", "s3:GetObject"], | ||
resources: [props.buildsBucket.arnForObjects("*")], | ||
}), | ||
new iam.PolicyStatement({ | ||
actions: ["s3:PutObject", "s3:DeleteObject"], | ||
resources: [props.webBucket.arnForObjects("web/*")], | ||
}), | ||
new iam.PolicyStatement({ | ||
actions: ["s3:GetObject", "s3:PutObject"], | ||
resources: [props.webBucket.arnForObjects("deployments.log")], | ||
}), | ||
new iam.PolicyStatement({ | ||
actions: ["s3:List*"], | ||
resources: [props.webBucket.bucketArn], | ||
}), | ||
new iam.PolicyStatement({ | ||
actions: ["cloudfront:CreateInvalidation"], | ||
// Cannot be restricted | ||
resources: ["*"], | ||
}), | ||
], | ||
}); | ||
} | ||
} | ||
exports.WebappDeploy = WebappDeploy; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0NBQXVDO0FBQ3ZDLDhDQUE2QztBQUU3QyxxQ0FBb0M7QUFDcEMsNkJBQTRCO0FBMEM1Qjs7O0dBR0c7QUFDSCxNQUFhLFlBQWEsU0FBUSxHQUFHLENBQUMsU0FBUztJQUc3QyxZQUFZLEtBQW9CLEVBQUUsRUFBVSxFQUFFLEtBQXdCOztRQUNwRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLE1BQU0sV0FBVyxHQUEyQjtZQUMxQyxxQkFBcUIsRUFBRSxRQUFRLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBVSxrQkFBa0I7WUFDM0UsY0FBYyxFQUFFLE9BQUMsS0FBSyxDQUFDLHlCQUF5QixtQ0FBSSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDdEUsU0FBUyxFQUFFO2lCQUNYLFFBQVEsRUFBRTtZQUNiLGlCQUFpQixFQUFFLFFBQVEsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLE1BQU07U0FDNUQsQ0FBQTtRQUVELElBQUksS0FBSyxDQUFDLGNBQWMsSUFBSSxJQUFJLEVBQUU7WUFDaEMsV0FBVyxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUE7U0FDdEQ7UUFFRCxJQUFJLEtBQUssQ0FBQyxjQUFjLElBQUksSUFBSSxFQUFFO1lBQ2hDLFdBQVcsQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQTtTQUNuRDtRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDcEQsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQzVELFdBQVc7WUFDWCxZQUFZLFFBQUUsS0FBSyxDQUFDLFlBQVksbUNBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxrQkFBa0I7WUFDdkUsT0FBTyxFQUFFLDRCQUE0QjtZQUNyQyw0QkFBNEIsRUFBRSxDQUFDO1lBQy9CLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVU7WUFDbEMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNoQyxhQUFhLEVBQUU7Z0JBQ2IsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO29CQUN0QixPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDO29CQUMxQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDbkQsQ0FBQztnQkFDRixJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7b0JBQ3RCLE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQztvQkFDNUMsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQ3BELENBQUM7Z0JBQ0YsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO29CQUN0QixPQUFPLEVBQUUsQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDO29CQUN6QyxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2lCQUM5RCxDQUFDO2dCQUNGLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztvQkFDdEIsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDO29CQUNyQixTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztpQkFDdkMsQ0FBQztnQkFDRixJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7b0JBQ3RCLE9BQU8sRUFBRSxDQUFDLCtCQUErQixDQUFDO29CQUMxQyx1QkFBdUI7b0JBQ3ZCLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQztpQkFDakIsQ0FBQzthQUNIO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGO0FBdkRELG9DQXVEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGlhbSBmcm9tIFwiQGF3cy1jZGsvYXdzLWlhbVwiXG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSBcIkBhd3MtY2RrL2F3cy1sYW1iZGFcIlxuaW1wb3J0ICogYXMgczMgZnJvbSBcIkBhd3MtY2RrL2F3cy1zM1wiXG5pbXBvcnQgKiBhcyBjZGsgZnJvbSBcIkBhd3MtY2RrL2NvcmVcIlxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgV2ViYXBwRGVwbG95UHJvcHMge1xuICAvKipcbiAgICogUzMgYnVja2V0IHdoZXJlIHRoZSBhcnRpZmFjdHMgdG8gYmUgZGVwbG95ZWQgYXJlIHN0b3JlZC5cbiAgICovXG4gIGJ1aWxkc0J1Y2tldDogczMuSUJ1Y2tldFxuICAvKipcbiAgICogQ2xvdWRGcm9udCBEaXN0cmlidXRpb24gSUQgdG8gYmUgaW52YWxpZGF0ZWQgYWZ0ZXIgZGVwbG95LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vbmVcbiAgICovXG4gIGRpc3RyaWJ1dGlvbklkPzogc3RyaW5nXG4gIC8qKlxuICAgKiBSZWdleCBmb3IgcGF0dGVybnMgb2YgZmlsZXMgdG8gYmUgZGlzY2FyZGVkIGR1cmluZyBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBFeGFtcGxlOiBgXFwubWFwJGAgd2lsbCBleGNsdWRlIGBqcy9teWFwcC0xYjIyYzI0OGYuanMubWFwYC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICBleGNsdWRlUGF0dGVybj86IHN0cmluZ1xuICAvKipcbiAgICogVGhlIHRpbWUgd2hlbiBhIGRlcGxveW1lbnQgaXMgY29uc2lkZXJlZCBvbGQgYW5kIHdpbGwgYmUgZGVsZXRlZFxuICAgKiB1bmxlc3MgaXQgaXMgdGhlIG5ld2VzdCBvbGQgZGVwbG95bWVudC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSA1IGRheXNcbiAgICovXG4gIHBydW5lRGVwbG95bWVudHNPbGRlclRoYW4/OiBjZGsuRHVyYXRpb25cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGxhbWJkYSBmdW5jdGlvbiB0byBiZSBjcmVhdGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBjZGsuUGh5c2ljYWxOYW1lLkdFTkVSQVRFX0lGX05FRURFRFxuICAgKi9cbiAgZnVuY3Rpb25OYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBOYW1lIG9mIFMzIGJ1Y2tldCB3aGVyZSB0aGUgY29udGVudHMgb2YgdGhlIGFydGlmYWN0cyB3aWxsIGJlIGRlcGxveWVkLlxuICAgKiBUaGUgZmlsZXMgd2lsbCBiZSBkZXBsb3llZCB1bmRlciB0aGUga2V5IFwid2ViXCIsIHdoaWNoIGlzIHRoZW4gZXhwZWN0ZWRcbiAgICogdG8gYmUgdGhlIG9yaWdpbiBmb3IgdGhlIENsb3VkRnJvbnQgZGlzdHJpYnV0aW9uXG4gICAqL1xuICB3ZWJCdWNrZXQ6IHMzLklCdWNrZXRcbn1cblxuLyoqXG4gKiBSZXNvdXJjZSB0byBkZXBsb3kgYSB3ZWJhcHAgZnJvbSBhIGJ1aWxkIGFydGlmYWN0IGludG8gYW4gZXhpc3RpbmdcbiAqIFMzIEJ1Y2tldCBhbmQgQ2xvdWRGcm9udCBEaXN0cmlidXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBXZWJhcHBEZXBsb3kgZXh0ZW5kcyBjZGsuQ29uc3RydWN0IHtcbiAgcmVhZG9ubHkgZGVwbG95Rm46IGxhbWJkYS5GdW5jdGlvblxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjZGsuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogV2ViYXBwRGVwbG95UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICBjb25zdCBlbnZpcm9ubWVudDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIERFUExPWV9MT0dfQlVDS0VUX1VSTDogYHMzOi8vJHtwcm9wcy53ZWJCdWNrZXQuYnVja2V0TmFtZX0vZGVwbG95bWVudHMubG9nYCxcbiAgICAgIEVYUElSRV9TRUNPTkRTOiAocHJvcHMucHJ1bmVEZXBsb3ltZW50c09sZGVyVGhhbiA/PyBjZGsuRHVyYXRpb24uZGF5cyg1KSlcbiAgICAgICAgLnRvU2Vjb25kcygpXG4gICAgICAgIC50b1N0cmluZygpLFxuICAgICAgVEFSR0VUX0JVQ0tFVF9VUkw6IGBzMzovLyR7cHJvcHMud2ViQnVja2V0LmJ1Y2tldE5hbWV9L3dlYmAsXG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmRpc3RyaWJ1dGlvbklkICE9IG51bGwpIHtcbiAgICAgIGVudmlyb25tZW50LkNGX0RJU1RSSUJVVElPTl9JRCA9IHByb3BzLmRpc3RyaWJ1dGlvbklkXG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmV4Y2x1ZGVQYXR0ZXJuICE9IG51bGwpIHtcbiAgICAgIGVudmlyb25tZW50LkVYQ0xVREVfUEFUVEVSTiA9IHByb3BzLmV4Y2x1ZGVQYXR0ZXJuXG4gICAgfVxuXG4gICAgdGhpcy5kZXBsb3lGbiA9IG5ldyBsYW1iZGEuRnVuY3Rpb24odGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLi9kaXN0XCIpKSxcbiAgICAgIGVudmlyb25tZW50LFxuICAgICAgZnVuY3Rpb25OYW1lOiBwcm9wcy5mdW5jdGlvbk5hbWUgPz8gY2RrLlBoeXNpY2FsTmFtZS5HRU5FUkFURV9JRl9ORUVERUQsXG4gICAgICBoYW5kbGVyOiBcIndlYmFwcF9kZXBsb3kubWFpbi5oYW5kbGVyXCIsXG4gICAgICByZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zOiAxLFxuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfNyxcbiAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5taW51dGVzKDIpLFxuICAgICAgaW5pdGlhbFBvbGljeTogW1xuICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogW1wiczM6SGVhZE9iamVjdFwiLCBcInMzOkdldE9iamVjdFwiXSxcbiAgICAgICAgICByZXNvdXJjZXM6IFtwcm9wcy5idWlsZHNCdWNrZXQuYXJuRm9yT2JqZWN0cyhcIipcIildLFxuICAgICAgICB9KSxcbiAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFtcInMzOlB1dE9iamVjdFwiLCBcInMzOkRlbGV0ZU9iamVjdFwiXSxcbiAgICAgICAgICByZXNvdXJjZXM6IFtwcm9wcy53ZWJCdWNrZXQuYXJuRm9yT2JqZWN0cyhcIndlYi8qXCIpXSxcbiAgICAgICAgfSksXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXCJzMzpHZXRPYmplY3RcIiwgXCJzMzpQdXRPYmplY3RcIl0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbcHJvcHMud2ViQnVja2V0LmFybkZvck9iamVjdHMoXCJkZXBsb3ltZW50cy5sb2dcIildLFxuICAgICAgICB9KSxcbiAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFtcInMzOkxpc3QqXCJdLFxuICAgICAgICAgIHJlc291cmNlczogW3Byb3BzLndlYkJ1Y2tldC5idWNrZXRBcm5dLFxuICAgICAgICB9KSxcbiAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFtcImNsb3VkZnJvbnQ6Q3JlYXRlSW52YWxpZGF0aW9uXCJdLFxuICAgICAgICAgIC8vIENhbm5vdCBiZSByZXN0cmljdGVkXG4gICAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSlcbiAgfVxufVxuIl19 | ||
exports.WebappDeploy = exports.Source = void 0; | ||
var source_1 = require("./source"); | ||
Object.defineProperty(exports, "Source", { enumerable: true, get: function () { return source_1.Source; } }); | ||
var webapp_deploy_1 = require("./webapp-deploy"); | ||
Object.defineProperty(exports, "WebappDeploy", { enumerable: true, get: function () { return webapp_deploy_1.WebappDeploy; } }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQXdEO0FBQXRDLGdHQUFBLE1BQU0sT0FBQTtBQUN4QixpREFBaUU7QUFBeEQsNkdBQUEsWUFBWSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgSVNvdXJjZSwgU291cmNlLCBTb3VyY2VDb25maWcgfSBmcm9tIFwiLi9zb3VyY2VcIlxuZXhwb3J0IHsgV2ViYXBwRGVwbG95LCBXZWJhcHBEZXBsb3lQcm9wcyB9IGZyb20gXCIuL3dlYmFwcC1kZXBsb3lcIlxuIl19 |
{ | ||
"name": "@capraconsulting/webapp-deploy-lambda", | ||
"version": "1.1.1", | ||
"version": "1.2.0", | ||
"description": "CDK construct for deploying a webapp release to S3 and CloudFront", | ||
@@ -36,26 +36,28 @@ "repository": { | ||
"devDependencies": { | ||
"@aws-cdk/assert": "1.46.0", | ||
"@aws-cdk/aws-iam": "1.46.0", | ||
"@aws-cdk/aws-lambda": "1.46.0", | ||
"@aws-cdk/aws-s3": "1.46.0", | ||
"@aws-cdk/core": "1.46.0", | ||
"@commitlint/cli": "9.0.1", | ||
"@commitlint/config-conventional": "9.0.1", | ||
"@liflig/cdk": "1.10.0", | ||
"@types/jest": "26.0.0", | ||
"@types/node": "13.13.12", | ||
"@typescript-eslint/eslint-plugin": "3.3.0", | ||
"@typescript-eslint/parser": "3.3.0", | ||
"eslint": "7.3.0", | ||
"eslint-config-prettier": "6.11.0", | ||
"eslint-plugin-deprecation": "1.1.0", | ||
"eslint-plugin-prettier": "3.1.4", | ||
"husky": "4.2.5", | ||
"jest": "26.0.1", | ||
"jest-cdk-snapshot": "1.3.0", | ||
"prettier": "2.0.5", | ||
"semantic-release": "17.0.8", | ||
"ts-jest": "26.1.0", | ||
"ts-node": "8.10.2", | ||
"typescript": "3.9.5" | ||
"@aws-cdk/assert": "1.81.0", | ||
"@aws-cdk/aws-cloudfront": "1.81.0", | ||
"@aws-cdk/aws-iam": "1.81.0", | ||
"@aws-cdk/aws-lambda": "1.81.0", | ||
"@aws-cdk/aws-s3": "1.81.0", | ||
"@aws-cdk/aws-s3-assets": "1.81.0", | ||
"@aws-cdk/custom-resources": "1.81.0", | ||
"@aws-cdk/core": "1.81.0", | ||
"@commitlint/cli": "11.0.0", | ||
"@commitlint/config-conventional": "11.0.0", | ||
"@types/jest": "26.0.19", | ||
"@types/node": "13.13.38", | ||
"@typescript-eslint/eslint-plugin": "4.11.1", | ||
"@typescript-eslint/parser": "4.11.1", | ||
"eslint": "7.17.0", | ||
"eslint-config-prettier": "7.1.0", | ||
"eslint-plugin-deprecation": "1.2.0", | ||
"eslint-plugin-prettier": "3.3.0", | ||
"husky": "4.3.6", | ||
"jest": "26.6.3", | ||
"jest-cdk-snapshot": "1.4.1", | ||
"prettier": "2.2.1", | ||
"semantic-release": "17.3.1", | ||
"ts-jest": "26.4.4", | ||
"ts-node": "9.1.1", | ||
"typescript": "4.1.3" | ||
}, | ||
@@ -68,7 +70,10 @@ "husky": { | ||
"peerDependencies": { | ||
"@aws-cdk/aws-cloudfront": "^1.45.0", | ||
"@aws-cdk/aws-iam": "^1.45.0", | ||
"@aws-cdk/aws-lambda": "^1.45.0", | ||
"@aws-cdk/aws-s3": "^1.45.0", | ||
"@aws-cdk/aws-s3-assets": "^1.45.0", | ||
"@aws-cdk/custom-resources": "^1.45.0", | ||
"@aws-cdk/core": "^1.45.0" | ||
} | ||
} |
# CDK Construct for deploying a webapp release | ||
[![Build Status](https://jenkins.capra.tv/buildStatus/icon?job=cals-internal/webapp-deploy-lambda/master)](https://jenkins.capra.tv/job/cals-internal/job/webapp-deploy-lambda/job/master) | ||
This project contains a CDK Construct for an AWS Lambda Function to handle | ||
@@ -39,3 +37,3 @@ deployment of a bundled static web application to a S3 bucket | ||
happened more than five days ago, and delete files from older ones that no | ||
longer have any refrence to them. | ||
longer have any reference to them. | ||
@@ -42,0 +40,0 @@ ## Triggering a deployment |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
50753
15
274
7
26
79
1