Skip to content

Commit

Permalink
Fixed linting errors.
Browse files Browse the repository at this point in the history
  • Loading branch information
Esen Sagynov committed May 14, 2024
1 parent 4e4f6fa commit 87ebcc8
Show file tree
Hide file tree
Showing 92 changed files with 971 additions and 529 deletions.
11 changes: 11 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,17 @@
"DOTNET_CORE_2"
]
}
],
"prettier/prettier": [
"error",
{
"bracketSameLine": true,
"printWidth": 120,
"semi": true,
"singleQuote": true,
"trailingComma": "all",
"tabWidth": 2
}
]
}
}
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@
"source.fixAll.eslint": "explicit"
},
"explorer.autoReveal": false,
"prettier.useEditorConfig": true
"prettier.useEditorConfig": true,
"prettier.trailingComma": "all"
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@
import { EcsService, DummyTaskDefinition, EcsDeploymentGroup, PushImageProject } from '@cloudcomponents/cdk-blue-green-container-deployment';
import {
EcsService,
DummyTaskDefinition,
EcsDeploymentGroup,
PushImageProject,
} from '@cloudcomponents/cdk-blue-green-container-deployment';
import { ImageRepository } from '@cloudcomponents/cdk-container-registry';
import { Duration, Stack, StackProps } from 'aws-cdk-lib';
import { Repository } from 'aws-cdk-lib/aws-codecommit';
import { Pipeline, Artifact } from 'aws-cdk-lib/aws-codepipeline';
import { CodeBuildAction, CodeCommitSourceAction, CodeDeployEcsDeployAction } from 'aws-cdk-lib/aws-codepipeline-actions';
import {
CodeBuildAction,
CodeCommitSourceAction,
CodeDeployEcsDeployAction,
} from 'aws-cdk-lib/aws-codepipeline-actions';
import { Vpc, Port } from 'aws-cdk-lib/aws-ec2';
import { Cluster } from 'aws-cdk-lib/aws-ecs';
import { ApplicationLoadBalancer, ApplicationTargetGroup, TargetType } from 'aws-cdk-lib/aws-elasticloadbalancingv2';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
import * as path from 'path';
import { DynamoDBSeeder, Seeds } from '@cloudcomponents/cdk-dynamodb-seeder';
import { Stack, StackProps, RemovalPolicy, aws_dynamodb as dynamodb, aws_s3 as s3, aws_s3_deployment as s3_deployment } from 'aws-cdk-lib';
import {
Stack,
StackProps,
RemovalPolicy,
aws_dynamodb as dynamodb,
aws_s3 as s3,
aws_s3_deployment as s3_deployment,
} from 'aws-cdk-lib';
import { Construct } from 'constructs';

export class DynamoDBSeederStack extends Stack {
Expand Down
12 changes: 10 additions & 2 deletions examples/notifications-example/src/notifications-stack.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
import { SlackChannelConfiguration, MSTeamsIncomingWebhookConfiguration, AccountLabelMode } from '@cloudcomponents/cdk-chatops';
import {
SlackChannelConfiguration,
MSTeamsIncomingWebhookConfiguration,
AccountLabelMode,
} from '@cloudcomponents/cdk-chatops';
import {
RepositoryNotificationRule,
PipelineNotificationRule,
Expand Down Expand Up @@ -45,7 +49,11 @@ export class NotificationsStack extends Stack {
new RepositoryNotificationRule(this, 'RepoNotifications', {
name: 'notifications-repository',
repository,
events: [RepositoryEvent.COMMENTS_ON_COMMITS, RepositoryEvent.PULL_REQUEST_CREATED, RepositoryEvent.PULL_REQUEST_MERGED],
events: [
RepositoryEvent.COMMENTS_ON_COMMITS,
RepositoryEvent.PULL_REQUEST_CREATED,
RepositoryEvent.PULL_REQUEST_MERGED,
],
targets: [new SlackChannel(slackChannel), new MSTeamsIncomingWebhook(webhook)],
});

Expand Down
5 changes: 4 additions & 1 deletion examples/pull-request-example/src/pull-request-stack.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
import { ApprovalRuleTemplate, ApprovalRuleTemplateRepositoryAssociation } from '@cloudcomponents/cdk-pull-request-approval-rule';
import {
ApprovalRuleTemplate,
ApprovalRuleTemplateRepositoryAssociation,
} from '@cloudcomponents/cdk-pull-request-approval-rule';
import { PullRequestCheck } from '@cloudcomponents/cdk-pull-request-check';
import { Stack, StackProps } from 'aws-cdk-lib';
import { BuildSpec } from 'aws-cdk-lib/aws-codebuild';
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
[{"timestamp":1715691283826,"files":[{"filename":"ecs-deployment-group/index.js","previous":148409,"size":148414,"diff":5},{"filename":"ecs-service/index.js","previous":148323,"size":148323,"diff":0}]},{"timestamp":1715687503987,"files":[{"filename":"ecs-deployment-group/index.js","previous":148409,"size":148409,"diff":0},{"filename":"ecs-service/index.js","previous":148335,"size":148323,"diff":-12}]},{"timestamp":1715686198838,"files":[{"filename":"ecs-deployment-group/index.js","previous":148409,"size":148409,"diff":0},{"filename":"ecs-service/index.js","previous":148318,"size":148335,"diff":17}]},{"timestamp":1715532702211,"files":[{"filename":"ecs-deployment-group/index.js","previous":147781,"size":148409,"diff":628},{"filename":"ecs-service/index.js","previous":147697,"size":148318,"diff":621}]},{"timestamp":1713181355491,"files":[{"filename":"ecs-deployment-group/index.js","previous":147779,"size":147781,"diff":2},{"filename":"ecs-service/index.js","previous":147697,"size":147697,"diff":0}]},{"timestamp":1713163592767,"files":[{"filename":"ecs-deployment-group/index.js","previous":147730,"size":147779,"diff":49},{"filename":"ecs-service/index.js","previous":147693,"size":147697,"diff":4}]},{"timestamp":1713163001127,"files":[{"filename":"ecs-deployment-group/index.js","previous":1127589,"size":147730,"diff":-979859},{"filename":"ecs-service/index.js","previous":1127285,"size":147693,"diff":-979592}]},{"timestamp":1712179054501,"files":[{"filename":"ecs-deployment-group/index.js","previous":147762,"size":1127589,"diff":979827},{"filename":"ecs-service/index.js","previous":147469,"size":1127285,"diff":979816}]},{"timestamp":1643739695237,"files":[{"filename":"ecs-deployment-group/index.js","previous":148006,"size":147762,"diff":-244},{"filename":"ecs-service/index.js","previous":147514,"size":147469,"diff":-45}]},{"timestamp":1643739156615,"files":[{"filename":"ecs-deployment-group/index.js","previous":147762,"size":148006,"diff":244},{"filename":"ecs-service/index.js","previous":147469,"size":147514,"diff":45}]},{"timestamp":1643738715672,"files":[{"filename":"ecs-deployment-group/index.js","previous":148006,"size":147762,"diff":-244},{"filename":"ecs-service/index.js","previous":147514,"size":147469,"diff":-45}]},{"timestamp":1643738518282,"files":[{"filename":"ecs-deployment-group/index.js","previous":0,"size":148006,"diff":148006},{"filename":"ecs-service/index.js","previous":0,"size":147514,"diff":147514}]},{"timestamp":1643732386377,"files":[{"filename":"ecs-deployment-group/index.js","previous":147762,"size":0,"diff":-147762},{"filename":"ecs-service/index.js","previous":147469,"size":0,"diff":-147469}]},{"timestamp":1642109009944,"files":[{"filename":"ecs-deployment-group/index.js","previous":145598,"size":147762,"diff":2164},{"filename":"ecs-service/index.js","previous":145304,"size":147469,"diff":2165}]},{"timestamp":1639256487176,"files":[{"filename":"ecs-deployment-group/index.js","previous":145308,"size":145598,"diff":290},{"filename":"ecs-service/index.js","previous":145014,"size":145304,"diff":290}]},{"timestamp":1637794842477,"files":[{"filename":"ecs-deployment-group/index.js","previous":145307,"size":145308,"diff":1},{"filename":"ecs-service/index.js","previous":145016,"size":145014,"diff":-2}]},{"timestamp":1637781788109,"files":[{"filename":"ecs-deployment-group/index.js","previous":144989,"size":145307,"diff":318},{"filename":"ecs-service/index.js","previous":144998,"size":145016,"diff":18}]},{"timestamp":1637708323927,"files":[{"filename":"ecs-deployment-group/index.js","previous":0,"size":144989,"diff":144989},{"filename":"ecs-service/index.js","previous":0,"size":144998,"diff":144998}]}]
[{"timestamp":1715692576660,"files":[{"filename":"ecs-deployment-group/index.js","previous":148414,"size":148414,"diff":0},{"filename":"ecs-service/index.js","previous":148323,"size":148321,"diff":-2}]},{"timestamp":1715691283826,"files":[{"filename":"ecs-deployment-group/index.js","previous":148409,"size":148414,"diff":5},{"filename":"ecs-service/index.js","previous":148323,"size":148323,"diff":0}]},{"timestamp":1715687503987,"files":[{"filename":"ecs-deployment-group/index.js","previous":148409,"size":148409,"diff":0},{"filename":"ecs-service/index.js","previous":148335,"size":148323,"diff":-12}]},{"timestamp":1715686198838,"files":[{"filename":"ecs-deployment-group/index.js","previous":148409,"size":148409,"diff":0},{"filename":"ecs-service/index.js","previous":148318,"size":148335,"diff":17}]},{"timestamp":1715532702211,"files":[{"filename":"ecs-deployment-group/index.js","previous":147781,"size":148409,"diff":628},{"filename":"ecs-service/index.js","previous":147697,"size":148318,"diff":621}]},{"timestamp":1713181355491,"files":[{"filename":"ecs-deployment-group/index.js","previous":147779,"size":147781,"diff":2},{"filename":"ecs-service/index.js","previous":147697,"size":147697,"diff":0}]},{"timestamp":1713163592767,"files":[{"filename":"ecs-deployment-group/index.js","previous":147730,"size":147779,"diff":49},{"filename":"ecs-service/index.js","previous":147693,"size":147697,"diff":4}]},{"timestamp":1713163001127,"files":[{"filename":"ecs-deployment-group/index.js","previous":1127589,"size":147730,"diff":-979859},{"filename":"ecs-service/index.js","previous":1127285,"size":147693,"diff":-979592}]},{"timestamp":1712179054501,"files":[{"filename":"ecs-deployment-group/index.js","previous":147762,"size":1127589,"diff":979827},{"filename":"ecs-service/index.js","previous":147469,"size":1127285,"diff":979816}]},{"timestamp":1643739695237,"files":[{"filename":"ecs-deployment-group/index.js","previous":148006,"size":147762,"diff":-244},{"filename":"ecs-service/index.js","previous":147514,"size":147469,"diff":-45}]},{"timestamp":1643739156615,"files":[{"filename":"ecs-deployment-group/index.js","previous":147762,"size":148006,"diff":244},{"filename":"ecs-service/index.js","previous":147469,"size":147514,"diff":45}]},{"timestamp":1643738715672,"files":[{"filename":"ecs-deployment-group/index.js","previous":148006,"size":147762,"diff":-244},{"filename":"ecs-service/index.js","previous":147514,"size":147469,"diff":-45}]},{"timestamp":1643738518282,"files":[{"filename":"ecs-deployment-group/index.js","previous":0,"size":148006,"diff":148006},{"filename":"ecs-service/index.js","previous":0,"size":147514,"diff":147514}]},{"timestamp":1643732386377,"files":[{"filename":"ecs-deployment-group/index.js","previous":147762,"size":0,"diff":-147762},{"filename":"ecs-service/index.js","previous":147469,"size":0,"diff":-147469}]},{"timestamp":1642109009944,"files":[{"filename":"ecs-deployment-group/index.js","previous":145598,"size":147762,"diff":2164},{"filename":"ecs-service/index.js","previous":145304,"size":147469,"diff":2165}]},{"timestamp":1639256487176,"files":[{"filename":"ecs-deployment-group/index.js","previous":145308,"size":145598,"diff":290},{"filename":"ecs-service/index.js","previous":145014,"size":145304,"diff":290}]},{"timestamp":1637794842477,"files":[{"filename":"ecs-deployment-group/index.js","previous":145307,"size":145308,"diff":1},{"filename":"ecs-service/index.js","previous":145016,"size":145014,"diff":-2}]},{"timestamp":1637781788109,"files":[{"filename":"ecs-deployment-group/index.js","previous":144989,"size":145307,"diff":318},{"filename":"ecs-service/index.js","previous":144998,"size":145016,"diff":18}]},{"timestamp":1637708323927,"files":[{"filename":"ecs-deployment-group/index.js","previous":0,"size":144989,"diff":144989},{"filename":"ecs-service/index.js","previous":0,"size":144998,"diff":144998}]}]
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,15 @@ function createPrereqResources(stack: cdk.Stack): {
testListener: elb.ApplicationListener;
} {
const cluster = new ecs.Cluster(stack, 'Cluster');
const prodTargetGroup = new elb.ApplicationTargetGroup(stack, 'ProdTargetGroup', { vpc: cluster.vpc });
const testTargetGroup = new elb.ApplicationTargetGroup(stack, 'TestTargetGroup', { vpc: cluster.vpc });
const taskDefinition = new DummyTaskDefinition(stack, 'DummyTaskDefinition', { image: 'nginx' });
const prodTargetGroup = new elb.ApplicationTargetGroup(stack, 'ProdTargetGroup', {
vpc: cluster.vpc,
});
const testTargetGroup = new elb.ApplicationTargetGroup(stack, 'TestTargetGroup', {
vpc: cluster.vpc,
});
const taskDefinition = new DummyTaskDefinition(stack, 'DummyTaskDefinition', {
image: 'nginx',
});
const service = new EcsService(stack, 'Service', {
cluster,
serviceName: 'My Service',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,15 @@ describe('EcsService', () => {
describe('with default props', () => {
const stack = new cdk.Stack(app, 'MyStackWithDefaults');
const cluster = new ecs.Cluster(stack, 'Cluster');
const prodTargetGroup = new elb.ApplicationTargetGroup(stack, 'ProdTargetGroup', { vpc: cluster.vpc });
const testTargetGroup = new elb.ApplicationTargetGroup(stack, 'TestTargetGroup', { vpc: cluster.vpc });
const taskDefinition = new DummyTaskDefinition(stack, 'DummyTaskDefinition', { image: 'nginx' });
const prodTargetGroup = new elb.ApplicationTargetGroup(stack, 'ProdTargetGroup', {
vpc: cluster.vpc,
});
const testTargetGroup = new elb.ApplicationTargetGroup(stack, 'TestTargetGroup', {
vpc: cluster.vpc,
});
const taskDefinition = new DummyTaskDefinition(stack, 'DummyTaskDefinition', {
image: 'nginx',
});

new EcsService(stack, 'Service', {
cluster,
Expand All @@ -37,9 +43,15 @@ describe('EcsService', () => {
describe('with tag propagation', () => {
const stack = new cdk.Stack(app, 'MyStackWithTagPropagation');
const cluster = new ecs.Cluster(stack, 'Cluster');
const prodTargetGroup = new elb.ApplicationTargetGroup(stack, 'ProdTargetGroup', { vpc: cluster.vpc });
const testTargetGroup = new elb.ApplicationTargetGroup(stack, 'TestTargetGroup', { vpc: cluster.vpc });
const taskDefinition = new DummyTaskDefinition(stack, 'DummyTaskDefinition', { image: 'nginx' });
const prodTargetGroup = new elb.ApplicationTargetGroup(stack, 'ProdTargetGroup', {
vpc: cluster.vpc,
});
const testTargetGroup = new elb.ApplicationTargetGroup(stack, 'TestTargetGroup', {
vpc: cluster.vpc,
});
const taskDefinition = new DummyTaskDefinition(stack, 'DummyTaskDefinition', {
image: 'nginx',
});

new EcsService(stack, 'Service', {
cluster,
Expand All @@ -64,9 +76,15 @@ describe('EcsService', () => {
describe('with tags', () => {
const stack = new cdk.Stack(app, 'MyStackWithTags');
const cluster = new ecs.Cluster(stack, 'Cluster');
const prodTargetGroup = new elb.ApplicationTargetGroup(stack, 'ProdTargetGroup', { vpc: cluster.vpc });
const testTargetGroup = new elb.ApplicationTargetGroup(stack, 'TestTargetGroup', { vpc: cluster.vpc });
const taskDefinition = new DummyTaskDefinition(stack, 'DummyTaskDefinition', { image: 'nginx' });
const prodTargetGroup = new elb.ApplicationTargetGroup(stack, 'ProdTargetGroup', {
vpc: cluster.vpc,
});
const testTargetGroup = new elb.ApplicationTargetGroup(stack, 'TestTargetGroup', {
vpc: cluster.vpc,
});
const taskDefinition = new DummyTaskDefinition(stack, 'DummyTaskDefinition', {
image: 'nginx',
});

cdk.Tags.of(stack).add('Foo', 'Bar');

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,7 @@ import { mockClient } from 'aws-sdk-client-mock';

const codeDeployClientMock = mockClient(CodeDeployClient);

import {
handleCreate,
handleUpdate,
} from '../../../lambdas/ecs-deployment-group';
import { handleCreate, handleUpdate } from '../../../lambdas/ecs-deployment-group';
import { defaultContext } from '../__fixtures__/default-context';
import { defaultEvent } from '../__fixtures__/default-event';
import { defaultLogger } from '../__fixtures__/default-logger';
Expand All @@ -32,10 +29,8 @@ const defaultEcsDeploymentGroupProperties = {
},
],
TargetGroupNames: ['Foo'],
ProdTrafficListenerArn:
'arn:aws:elasticloadbalancing::012345678910:listener/app/MyApp/foo/prod',
TestTrafficListenerArn:
'arn:aws:elasticloadbalancing::012345678910:listener/app/MyApp/foo/test',
ProdTrafficListenerArn: 'arn:aws:elasticloadbalancing::012345678910:listener/app/MyApp/foo/prod',
TestTrafficListenerArn: 'arn:aws:elasticloadbalancing::012345678910:listener/app/MyApp/foo/test',
TerminationWaitTimeInMinutes: 5,
};

Expand All @@ -58,14 +53,10 @@ describe('createHandler', () => {
targetGroupPairInfoList: [
{
prodTrafficRoute: {
listenerArns: [
'arn:aws:elasticloadbalancing::012345678910:listener/app/MyApp/foo/prod',
],
listenerArns: ['arn:aws:elasticloadbalancing::012345678910:listener/app/MyApp/foo/prod'],
},
testTrafficRoute: {
listenerArns: [
'arn:aws:elasticloadbalancing::012345678910:listener/app/MyApp/foo/test',
],
listenerArns: ['arn:aws:elasticloadbalancing::012345678910:listener/app/MyApp/foo/test'],
},
targetGroups: [
{
Expand Down Expand Up @@ -99,11 +90,9 @@ describe('createHandler', () => {
],
};

codeDeployClientMock
.on(CreateDeploymentGroupCommand, requestParams)
.resolves({
deploymentGroupId: '1',
});
codeDeployClientMock.on(CreateDeploymentGroupCommand, requestParams).resolves({
deploymentGroupId: '1',
});

test('sends tags with create request', async () => {
await handleCreate(
Expand All @@ -120,7 +109,7 @@ describe('createHandler', () => {
},
},
defaultContext,
defaultLogger
defaultLogger,
);

const codeDeployClientCalls = codeDeployClientMock.calls();
Expand All @@ -144,10 +133,9 @@ describe('createHandler', () => {
},
{
...defaultContext,
invokedFunctionArn:
'arn:aws:lambda:eu-west-1:012345678910:function:MyCustomResourceHandler',
invokedFunctionArn: 'arn:aws:lambda:eu-west-1:012345678910:function:MyCustomResourceHandler',
},
defaultLogger
defaultLogger,
);

const codeDeployClientCalls = codeDeployClientMock.calls();
Expand All @@ -160,7 +148,7 @@ describe('createHandler', () => {
responseData: {
Arn: 'arn:aws:codedeploy:eu-west-1:012345678910:deploymentgroup:TestApplicationName/TestDeploymentGroupName',
},
})
}),
);
});
});
Expand All @@ -180,14 +168,10 @@ describe('updateHandler', () => {
targetGroupPairInfoList: [
{
prodTrafficRoute: {
listenerArns: [
'arn:aws:elasticloadbalancing::012345678910:listener/app/MyApp/foo/prod',
],
listenerArns: ['arn:aws:elasticloadbalancing::012345678910:listener/app/MyApp/foo/prod'],
},
testTrafficRoute: {
listenerArns: [
'arn:aws:elasticloadbalancing::012345678910:listener/app/MyApp/foo/test',
],
listenerArns: ['arn:aws:elasticloadbalancing::012345678910:listener/app/MyApp/foo/test'],
},
targetGroups: [
{
Expand All @@ -213,11 +197,9 @@ describe('updateHandler', () => {
deploymentConfigName: 'CodeDeployDefault.ECSAllAtOnce',
};

codeDeployClientMock
.on(UpdateDeploymentGroupCommand, requestParams)
.resolves({
hooksNotCleanedUp: [],
});
codeDeployClientMock.on(UpdateDeploymentGroupCommand, requestParams).resolves({
hooksNotCleanedUp: [],
});

test('sends data update requests', async () => {
const untagRequestParams = {
Expand All @@ -226,9 +208,7 @@ describe('updateHandler', () => {
TagKeys: ['foo'],
};

codeDeployClientMock
.on(UntagResourceCommand, untagRequestParams)
.resolves({});
codeDeployClientMock.on(UntagResourceCommand, untagRequestParams).resolves({});

const tagRequestParams = {
ResourceArn:
Expand Down Expand Up @@ -267,7 +247,7 @@ describe('updateHandler', () => {
},
},
defaultContext,
defaultLogger
defaultLogger,
);

const codeDeployClientCalls = codeDeployClientMock.calls();
Expand All @@ -291,10 +271,9 @@ describe('updateHandler', () => {
},
{
...defaultContext,
invokedFunctionArn:
'arn:aws:lambda:us-east-1:012345678910:function:MyCustomResourceHandler',
invokedFunctionArn: 'arn:aws:lambda:us-east-1:012345678910:function:MyCustomResourceHandler',
},
defaultLogger
defaultLogger,
);

expect(response).toEqual(
Expand All @@ -303,7 +282,7 @@ describe('updateHandler', () => {
responseData: {
Arn: 'arn:aws:codedeploy:us-east-1:012345678910:deploymentgroup:TestApplicationName/TestDeploymentGroupName',
},
})
}),
);
});
});
Loading

0 comments on commit 87ebcc8

Please sign in to comment.