require-jsdoc
ℹ️ このルールは recommended ルールには含まれていません。
このルールは、Props (interface) のプロパティと、CDK Construct の public プロパティに JSDoc の記載を強制します。
プロパティに JSDoc コメントを追加することで、各プロパティが何を表しているのかが明確になり、コードの保守性と理解のしやすさが向上します。
🔧 使用方法
js
// eslint.config.mjs
export default defineConfig([
{
// ... some configs
rules: {
"awscdk/require-jsdoc": "error",
},
},
]);✅ 適切な例
ts
import { IBucket } from "aws-cdk-lib/aws-s3";
interface MyConstructProps {
// ✅ Props のプロパティに JSDoc コメントが記載されている
/** リソースに指定するS3バケット */
readonly bucket: IBucket;
}ts
import { Construct } from "constructs";
import { IBucket } from "aws-cdk-lib/aws-s3";
class MyConstruct extends Construct {
// ✅ Construct の public プロパティに JSDoc コメントが記載されている
/** Constructで作成されたS3バケット */
public readonly bucket: IBucket;
// ✅ public でないプロパティには、このルールは適用されない
private readonly bucketName: string;
}❌ 不適切な例
ts
import { IBucket } from "aws-cdk-lib/aws-s3";
interface MyConstructProps {
// ❌ Props のプロパティに JSDoc コメントが記載されていない
readonly bucket: IBucket;
}ts
import { Construct } from "constructs";
import { IBucket } from "aws-cdk-lib/aws-s3";
class MyConstruct extends Construct {
// ❌ Construct の public プロパティに JSDoc コメントが記載されていない
public readonly bucket: IBucket;
}