Rules
Rules Reference
recommended 設定を使用した場合に有効になるルールです
--fix オプションを使用して自動的に修正できるルールです
現在は、以下のルールをサポートしております。
- pascal-case-construct-idConstruct ID に PascalCase を強制します
- require-passing-thisConstruct のコンストラクタに
this
を渡すように強制します - no-variable-construct-idConstruct ID に変数を使用しないように強制します
- no-parent-name-construct-id-matchConstruct ID に親のクラス名を使用しないように強制します
- no-construct-stack-suffixConstruct や Stack の名前に "Construct" や "Stack" サフィックスを使用しないように強制します
- no-class-in-interfaceinterface のプロパティに
Class
型を使用しないように強制します - no-public-class-fieldsConstruct または Stack の public 変数に
Class
型を指定できないように強制します - no-mutable-public-fieldsConstruct または Stack の public 変数に
readonly
を指定することを強制します - no-mutable-props-interfaceProps(interface) のプロパティに
readonly
を指定することを強制します - construct-constructor-propertyConstructを継承するクラスのコンストラクタが「scope, id」または「scope, id, props」というプロパティ名を持つことを強制します
- require-jsdocInterface のプロパティと Constructで公開する変数に JSDoc を書くことを強制します
- require-props-default-docProps(interface) のオプショナルなプロパティに
@default
JSDoc を書くことを強制します - props-name-conventionProps(interface) の名前を
${ConstructName}Props
の形式に従うように強制します - no-import-privateprivate なモジュールをインポートしないように強制します
Recommended Rules
recommended
ルールは、コードを正しく保つための推奨ルールです。
このルールを使用する場合は、以下のように設定します。
js
// eslint.config.mjs
import cdkPlugin from "eslint-cdk-plugin";
import tsEslint from "typescript-eslint";
export default [
...tsEslint.configs.recommended,
// ✅ Add plugins
cdkPlugin.configs.recommended,
{
files: ["lib/**/*.ts", "bin/*.ts"],
// ... some configs
},
];
Strict Rules
strict
ルールは、利用可能なすべてのルールを提供します。
このルールを使用する場合は、以下のように設定します。
js
// eslint.config.mjs
import cdkPlugin from "eslint-cdk-plugin";
import tsEslint from "typescript-eslint";
export default [
...tsEslint.configs.recommended,
// ✅ Add plugins
cdkPlugin.configs.strict,
{
files: ["lib/**/*.ts", "bin/*.ts"],
// ... some configs
},
];