Skip to content

no-mutable-public-fields

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

このルールは、クラスのパブリック変数を変更可能にすること(readonlyでないパブリック変数の定義)を禁止するものです。
(このルールは Construct または Stack を継承したクラスにのみ適用されます)

パブリック変数が変更可能である場合、意図しない副作用が発生する可能性があるため、推奨されません。

✅ 正しい例

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

export class MyConstruct extends Construct {
  // ✅ readonly のフィールドは使用できます
  public readonly bucket: IBucket;
}

❌ 不正な例

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

export class MyConstruct extends Construct {
  // ❌ mutable なフィールドは使用すべきではありません
  public bucket: IBucket;
}