Skip to content

require-props-default-doc

ℹ️ このルールは recommended ルールには含まれていません。

このルールは、Props (interface) で定義されるオプショナルなプロパティに対して、そのデフォルトの挙動を示す @default JSDoc タグを含むドキュメントコメントの記述を強制します。

※ Class のプロパティや、Props でない interface のプロパティには、このルールは適用されません。


🔧 使用方法

ts
// oxlint.config.ts
export default defineConfig({
  // ... some configs
  rules: {
    "awscdk/require-props-default-doc": "error",
  },
});
js
// eslint.config.mjs
export default defineConfig({
  // ... some configs
  rules: {
    "awscdk/require-props-default-doc": "error",
  },
});

✅ 正しい例

ts
import { IBucket } from "aws-cdk-lib/aws-s3";

interface MyConstructProps {
  // ✅ オプショナルなプロパティに `@default` タグを含むJSDocコメントが記載されている
  /**
   * @default - S3バケットを紐づけない
   */
  readonly bucket?: IBucket;
}

// ✅ Props ではない interface には、このルールは適用されません
interface Config {
  readonly bucket?: IBucket;
}

❌ 不正な例

ts
import { IBucket } from "aws-cdk-lib/aws-s3";

interface MyConstructProps {
  // ❌ オプショナルなプロパティにJSDocコメント自体がない
  readonly bucket?: IBucket;
}
ts
import { IBucket } from "aws-cdk-lib/aws-s3";

interface MyConstructProps {
  // ❌ JSDocコメントはあるが、`@default` タグが含まれていない
  /** デフォルト値の説明がないJSDocコメント */
  readonly bucket?: IBucket;
}