cdklabs / cdk-nag
File Size

The distribution of size of files (measured in lines of code).

Intro
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
File Size Overall
  • There are 233 files with 10,992 lines of code.
    • 1 very long files (1,262 lines of code)
    • 4 long files (3,247 lines of code)
    • 1 medium size files (217 lines of codeclsfd_ftr_w_mp_ins)
    • 4 small files (453 lines of code)
    • 223 very small files (5,813 lines of code)
11% | 29% | 1% | 4% | 52%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: zoomable circles | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
ts11% | 29% | 1% | 4% | 52%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src/packs27% | 72% | 0% | 0% | 0%
src0% | 0% | 59% | 29% | 10%
src/rules/s30% | 0% | 0% | 29% | 70%
src/rules/secretsmanager0% | 0% | 0% | 83% | 16%
src/rules/dynamodb0% | 0% | 0% | 47% | 52%
src/rules/rds0% | 0% | 0% | 0% | 100%
src/rules/ec20% | 0% | 0% | 0% | 100%
src/rules/elb0% | 0% | 0% | 0% | 100%
src/rules/redshift0% | 0% | 0% | 0% | 100%
src/rules/opensearch0% | 0% | 0% | 0% | 100%
src/rules/iam0% | 0% | 0% | 0% | 100%
src/rules/apigw0% | 0% | 0% | 0% | 100%
src/rules/cloudfront0% | 0% | 0% | 0% | 100%
src/rules/elasticache0% | 0% | 0% | 0% | 100%
src/rules/elasticbeanstalk0% | 0% | 0% | 0% | 100%
src/rules/cognito0% | 0% | 0% | 0% | 100%
src/rules/vpc0% | 0% | 0% | 0% | 100%
src/rules/autoscaling0% | 0% | 0% | 0% | 100%
src/rules/codebuild0% | 0% | 0% | 0% | 100%
src/rules/neptune0% | 0% | 0% | 0% | 100%
src/rules/documentdb0% | 0% | 0% | 0% | 100%
src/rules/msk0% | 0% | 0% | 0% | 100%
src/rules/kinesis0% | 0% | 0% | 0% | 100%
src/rules/ecs0% | 0% | 0% | 0% | 100%
src/rules/mediastore0% | 0% | 0% | 0% | 100%
src/rules/sagemaker0% | 0% | 0% | 0% | 100%
src/rules/lambda0% | 0% | 0% | 0% | 100%
src/rules/athena0% | 0% | 0% | 0% | 100%
src/rules/cloudwatch0% | 0% | 0% | 0% | 100%
src/rules/efs0% | 0% | 0% | 0% | 100%
src/rules/emr0% | 0% | 0% | 0% | 100%
src/rules/cloudtrail0% | 0% | 0% | 0% | 100%
src/rules/stepfunctions0% | 0% | 0% | 0% | 100%
src/rules/waf0% | 0% | 0% | 0% | 100%
src/rules/ecr0% | 0% | 0% | 0% | 100%
src/rules0% | 0% | 0% | 0% | 100%
src/rules/sqs0% | 0% | 0% | 0% | 100%
src/rules/appsync0% | 0% | 0% | 0% | 100%
src/rules/quicksight0% | 0% | 0% | 0% | 100%
src/rules/kms0% | 0% | 0% | 0% | 100%
src/rules/dms0% | 0% | 0% | 0% | 100%
src/rules/cloud90% | 0% | 0% | 0% | 100%
src/rules/sns0% | 0% | 0% | 0% | 100%
src/rules/timestream0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
aws-solutions.ts
in src/packs
1262 14
hipaa-security.ts
in src/packs
919 27
nist-800-53-r5.ts
in src/packs
869 26
pci-dss-321.ts
in src/packs
730 25
nist-800-53-r4.ts
in src/packs
729 25
nag-pack.ts
in src
217 10
S3BucketSSLRequestsOnly.ts
in src/rules/s3
136 4
nag-suppressions.ts
in src
109 5
SecretsManagerRotationEnabled.ts
in src/rules/secretsmanager
105 2
DynamoDBAutoScalingEnabled.ts
in src/rules/dynamodb
103 1
EC2RestrictedSSH.ts
in src/rules/ec2
80 -
AthenaWorkgroupEncryptedQueryResults.ts
in src/rules/athena
73 -
IAMGroupHasUsers.ts
in src/rules/iam
72 2
APIGWAssociatedWithWAF.ts
in src/rules/apigw
67 1
EC2RestrictedCommonPorts.ts
in src/rules/ec2
65 1
RDSNonDefaultPort.ts
in src/rules/rds
64 -
RedshiftRequireTlsSSL.ts
in src/rules/redshift
60 1
CloudFrontDistributionNoOutdatedSSL.ts
in src/rules/cloudfront
58 -
CloudFrontDistributionS3OriginAccessIdentity.ts
in src/rules/cloudfront
57 -
DynamoDBInBackupPlan.ts
in src/rules/dynamodb
56 1
RDSLoggingEnabled.ts
in src/rules/rds
55 -
RedshiftClusterUserActivityLogging.ts
in src/rules/redshift
54 1
MSKBrokerLogging.ts
in src/rules/msk
53 -
CognitoUserPoolStrongPasswordPolicy.ts
in src/rules/cognito
51 -
ALBWAFEnabled.ts
in src/rules/elb
51 1
EFSInBackupPlan.ts
in src/rules/efs
50 1
KinesisDataAnalyticsFlinkCheckpointing.ts
in src/rules/kinesis
49 -
ElasticBeanstalkManagedUpdatesEnabled.ts
in src/rules/elasticbeanstalk
49 -
WAFv2LoggingEnabled.ts
in src/rules/waf
49 1
RDSInBackupPlan.ts
in src/rules/rds
48 1
EC2RestrictedInbound.ts
in src/rules/ec2
48 -
EC2EBSInBackupPlan.ts
in src/rules/ec2
48 1
ELBTlsHttpsListenersOnly.ts
in src/rules/elb
46 -
S3BucketLevelPublicAccessProhibited.ts
in src/rules/s3
45 -
EC2EBSOptimizedInstance.ts
in src/rules/ec2
45 -
ECROpenAccess.ts
in src/rules/ecr
44 1
APIGWRequestValidation.ts
in src/rules/apigw
44 1
VPCFlowLogsEnabled.ts
in src/rules/vpc
44 1
ECSTaskDefinitionUserForHostMode.ts
in src/rules/ecs
44 -
S3BucketServerSideEncryptionEnabled.ts
in src/rules/s3
43 -
IAMNoWildcardPermissions.ts
in src/rules/iam
43 -
S3BucketPublicReadProhibited.ts
in src/rules/s3
42 -
OpenSearchDedicatedMasterNode.ts
in src/rules/opensearch
42 -
OpenSearchZoneAwareness.ts
in src/rules/opensearch
42 -
index.ts
in src/rules
41 -
AuroraMySQLLogging.ts
in src/rules/rds
41 -
S3DefaultEncryptionKMS.ts
in src/rules/s3
40 -
S3BucketPublicWriteProhibited.ts
in src/rules/s3
38 -
RDSStorageEncrypted.ts
in src/rules/rds
38 -
RDSInstanceDeletionProtectionEnabled.ts
in src/rules/rds
38 -
Files With Most Units (Top 20)
File# lines# units
hipaa-security.ts
in src/packs
919 27
nist-800-53-r5.ts
in src/packs
869 26
nist-800-53-r4.ts
in src/packs
729 25
pci-dss-321.ts
in src/packs
730 25
aws-solutions.ts
in src/packs
1262 14
nag-pack.ts
in src
217 10
nag-suppressions.ts
in src
109 5
S3BucketSSLRequestsOnly.ts
in src/rules/s3
136 4
nag-rules.ts
in src
31 3
SecretsManagerRotationEnabled.ts
in src/rules/secretsmanager
105 2
IAMGroupHasUsers.ts
in src/rules/iam
72 2
RedshiftClusterUserActivityLogging.ts
in src/rules/redshift
54 1
RedshiftRequireTlsSSL.ts
in src/rules/redshift
60 1
EFSInBackupPlan.ts
in src/rules/efs
50 1
ECROpenAccess.ts
in src/rules/ecr
44 1
RDSInBackupPlan.ts
in src/rules/rds
48 1
APIGWAssociatedWithWAF.ts
in src/rules/apigw
67 1
APIGWRequestValidation.ts
in src/rules/apigw
44 1
VPCFlowLogsEnabled.ts
in src/rules/vpc
44 1
WAFv2LoggingEnabled.ts
in src/rules/waf
49 1
Files With Long Lines (Top 10)

There are 10 files with lines longer than 120 characters. In total, there are 582 long lines.

File# lines# units# long lines
nist-800-53-r5.ts
in src/packs
869 26 152
hipaa-security.ts
in src/packs
919 27 150
pci-dss-321.ts
in src/packs
730 25 96
aws-solutions.ts
in src/packs
1262 14 93
nist-800-53-r4.ts
in src/packs
729 25 84
nag-pack.ts
in src
217 10 2
nag-suppressions.ts
in src
109 5 2
index.ts
in src/rules/elasticbeanstalk
4 - 1
index.ts
in src/rules/cloudfront
5 - 1
index.ts
in src/rules/sagemaker
4 - 1