Skip to content

no-mutable-props-interface

recommended を使用した場合、このルールが有効になります。
🔧 このルールによってエラーになるコードは ESLint の --fix コマンド で自動修正できます。

このルールは、コンストラクトまたはスタックの、Props(インターフェース)のパブリック変数を変更可能にすることを禁止します。
(readonlyでない Props 変数の定義を禁止します)

Props で変更可能なパブリック変数を指定すると、意図しない副作用を引き起こす可能性があるため推奨されません。

✅ 正しい例

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

interface MyConstructProps {
  // ✅ readonly のフィールドは使用できます
  readonly bucket: IBucket;
}

❌ 誤った例

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

interface MyConstructProps {
  // ❌ mutable なフィールドは使用すべきではありません
  bucket: IBucket;
}