Oxlint (oxlint-plugin-awscdk)
⚠️ Experimental
oxlint-plugin-awscdk is in an early, experimental stage. The public API, rule set, preset contents, and config shape may change without notice prior to the first stable (1.0.0) release. It also depends on corsa-oxlint, which has not yet reached a stable release.
Install
sh
npm install -D oxlint-plugin-awscdksh
yarn add -D oxlint-plugin-awscdksh
pnpm install -D oxlint-plugin-awscdkSetting oxlint config
oxlint.config.ts
ts
// oxlint.config.ts
import { defineConfig } from "oxlint";
import cdkPlugin from "oxlint-plugin-awscdk";
export default defineConfig({
extends: [
// ✅ Add plugins
cdkPlugin.configs.recommended, // or cdkPlugin.configs.strict
],
rules: {
// ✅ Add rules (use custom rules)
"awscdk/require-jsdoc": "warn",
},
});.oxlintrc.json
jsonc
// .oxlintrc.json
{
// ✅ Add plugins
"jsPlugins": ["oxlint-plugin-awscdk"],
"rules": {
// ✅ Add rules
"awscdk/construct-constructor-property": "error",
"awscdk/no-construct-in-interface": "error",
"awscdk/no-construct-in-public-property-of-construct": "error",
"awscdk/no-construct-stack-suffix": "error",
"awscdk/no-mutable-property-of-props-interface": "warn",
"awscdk/no-mutable-public-property-of-construct": "warn",
"awscdk/no-parent-name-construct-id-match": [
"error",
{ "disallowContainingParentName": false },
],
"awscdk/no-unused-props": "error",
"awscdk/no-variable-construct-id": "error",
"awscdk/pascal-case-construct-id": "error",
"awscdk/prefer-grants-property": "warn",
"awscdk/require-passing-this": ["error", { "allowNonThisAndDisallowScope": true }],
},
}