require-jsdoc
ℹ️ This rule is not included in the recommended rules.
This rule requires JSDoc comments for Construct's Props interface properties and Construct public properties.
Adding JSDoc comments to properties clarifies what each property represents, improving code maintainability and understandability.
🔧 How to use
js
// eslint.config.mjs
export default defineConfig([
{
// ... some configs
rules: {
"awscdk/require-jsdoc": "error",
},
},
]);✅ Correct Example
ts
import { IBucket } from "aws-cdk-lib/aws-s3";
interface MyConstructProps {
// ✅ JSDoc comment for interface property
/** S3 bucket to be specified for the resource */
readonly bucket: IBucket;
}ts
import { Construct } from "constructs";
import { IBucket } from "aws-cdk-lib/aws-s3";
class MyConstruct extends Construct {
// ✅ JSDoc comment for public property
/** The S3 bucket created by this construct */
public readonly bucket: IBucket;
// ✅ This rule does not apply to non-public properties
private readonly bucketName: string;
}❌ Incorrect Example
ts
import { IBucket } from "aws-cdk-lib/aws-s3";
interface MyConstructProps {
// ❌ Must write JSDoc comment
readonly bucket: IBucket;
}ts
import { Construct } from "constructs";
import { IBucket } from "aws-cdk-lib/aws-s3";
class MyConstruct extends Construct {
// ❌ Must write JSDoc comment
public readonly bucket: IBucket;
}