Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

awslint:construct-base-is-private: FooBase should not be public (internal) #2409

Closed
eladb opened this issue May 1, 2019 · 0 comments · Fixed by #2349
Closed

awslint:construct-base-is-private: FooBase should not be public (internal) #2409

eladb opened this issue May 1, 2019 · 0 comments · Fixed by #2349
Labels
package/awscl Cross-cutting issues related to the AWS Construct Library

Comments

@eladb
Copy link
Contributor

eladb commented May 1, 2019

No description provided.

@eladb eladb added package/awscl Cross-cutting issues related to the AWS Construct Library and removed package/awscl Cross-cutting issues related to the AWS Construct Library labels May 1, 2019
eladb pushed a commit that referenced this issue May 1, 2019
Refactor the rule implementation of awslint such that the context of each linter is implemented as a `XxxReflection` class (i.e. `ConstructReflection`, `ResourceReflection`). This increases our ability to reuse the model extracted from the type system in other linters.

- `awslint:construct-base-is-private` will recommend that XxxBase are internal (required merging some files in some places)
- `awslint:resource-attribute`: implement missing attributes from several modules
- In some places, move the `ImportedXxx` class into the import method as a local class (makes the implementation much nicer because it's closed by the function call).

Misc:
- update "foreach.sh" to ignore undefined npm scripts
- update contribution guide with instructions on how to use foreach.sh

Fixes #2426 
Fixes #2409 

BREAKING CHANGE: `s3.Bucket.domainName` renamed to `s3.Bucket.bucketDomainName`.
* `codedeploy.IXxxDeploymentConfig.deploymentConfigArn` is now a property and not a method.
* `ec2.SecurityGroupBase` is now private
* `ec2.VpcNetworkBase` is now private
* `kinesis.StreamBase` is now private
* `kms.EncryptionKeyBase` is now private
* `logs.LogGroupBase` is now private
* `ssm.ParameterBase` is now private
* `eks.ClusterBase` is now private
* `codebuild.ProjectBase` is now private
* `codecommit.RepositoryBase` is now private
* `codedeploy.ServerDeploymentGroupBase` is now private
* `eks.ClusterBase` is now private
* `lambda.LayerVersionBase` is now private
* `rds.DatabaseClusterBase` is now private
* `secretsmanager.SecretBase` is now private
* `ses.ReceiptRuleSetBase` is now private
SanderKnape pushed a commit to SanderKnape/aws-cdk that referenced this issue May 14, 2019
…#2349)

Refactor the rule implementation of awslint such that the context of each linter is implemented as a `XxxReflection` class (i.e. `ConstructReflection`, `ResourceReflection`). This increases our ability to reuse the model extracted from the type system in other linters.

- `awslint:construct-base-is-private` will recommend that XxxBase are internal (required merging some files in some places)
- `awslint:resource-attribute`: implement missing attributes from several modules
- In some places, move the `ImportedXxx` class into the import method as a local class (makes the implementation much nicer because it's closed by the function call).

Misc:
- update "foreach.sh" to ignore undefined npm scripts
- update contribution guide with instructions on how to use foreach.sh

Fixes aws#2426 
Fixes aws#2409 

BREAKING CHANGE: `s3.Bucket.domainName` renamed to `s3.Bucket.bucketDomainName`.
* `codedeploy.IXxxDeploymentConfig.deploymentConfigArn` is now a property and not a method.
* `ec2.SecurityGroupBase` is now private
* `ec2.VpcNetworkBase` is now private
* `kinesis.StreamBase` is now private
* `kms.EncryptionKeyBase` is now private
* `logs.LogGroupBase` is now private
* `ssm.ParameterBase` is now private
* `eks.ClusterBase` is now private
* `codebuild.ProjectBase` is now private
* `codecommit.RepositoryBase` is now private
* `codedeploy.ServerDeploymentGroupBase` is now private
* `eks.ClusterBase` is now private
* `lambda.LayerVersionBase` is now private
* `rds.DatabaseClusterBase` is now private
* `secretsmanager.SecretBase` is now private
* `ses.ReceiptRuleSetBase` is now private
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
package/awscl Cross-cutting issues related to the AWS Construct Library
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant