{ "$schema": "./node_modules/oxlint/configuration_schema.json", "jsPlugins": ["../twenty-oxlint-rules/dist/oxlint-plugin.mjs"], "plugins": ["react", "typescript", "import", "unicorn"], "categories": { "correctness": "off" }, "ignorePatterns": [ "node_modules", "dist", "src/__stories__/example-sources-built", "src/__stories__/example-sources-built-preact", "src/remote/sandbox/generated" ], "rules": { "func-style": ["error", "declaration", { "allowArrowFunctions": true }], "no-console": "off", "no-control-regex": "off", "no-debugger": "error", "no-duplicate-imports": "error", "no-undef": "off", "no-unused-vars": "off", "no-redeclare": "off", "import/no-duplicates": "error", "typescript/no-redeclare": "error", "typescript/ban-ts-comment": "error", "typescript/consistent-type-imports": [ "error", { "prefer": "type-imports", "fixStyle": "inline-type-imports" } ], "typescript/explicit-function-return-type": "off", "typescript/explicit-module-boundary-types": "off", "typescript/no-empty-object-type": [ "error", { "allowInterfaces": "with-single-extends" } ], "typescript/no-empty-function": "off", "typescript/no-explicit-any": "off", "typescript/no-unused-vars": [ "warn", { "vars": "all", "varsIgnorePattern": "^_", "args": "after-used", "argsIgnorePattern": "^_" } ], "react/no-unescaped-entities": "off", "react/prop-types": "off", "react/jsx-key": "off", "react/display-name": "off", "react/jsx-uses-react": "off", "react/react-in-jsx-scope": "off", "react/jsx-no-useless-fragment": "off", "react/jsx-props-no-spreading": ["error", { "explicitSpread": "ignore" }], "react-hooks/rules-of-hooks": "error", "react-hooks/exhaustive-deps": "warn", "twenty/effect-components": "error", "twenty/component-props-naming": "error", "twenty/styled-components-prefixed-with-styled": "error" }, "overrides": [ { "files": ["**/constants/*.ts", "**/*.constants.ts"], "rules": { "twenty/max-consts-per-file": ["error", { "max": 1 }] } }, { "files": ["src/__stories__/**"], "rules": { "twenty/styled-components-prefixed-with-styled": "off" } } ] }