Files
alla-allaos-fullstack/.oxlintrc.json
phaichayon 7a390cf0df init
2026-06-11 12:46:57 +07:00

70 lines
2.1 KiB
JSON

{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"plugins": ["eslint", "typescript", "unicorn", "oxc", "react", "nextjs", "import", "jsx-a11y"],
"env": {
"es6": true,
"browser": true,
"node": true
},
"ignorePatterns": [".next/**", "out/**", "build/**", "next-env.d.ts", "scripts/**"],
"settings": {
"jsx-a11y": {
"components": {
"Image": "img",
"Link": "a"
}
}
},
"categories": {
"correctness": "error",
"suspicious": "warn"
},
"rules": {
"no-console": ["warn", { "allow": ["warn", "error"] }],
"no-unused-vars": ["warn", { "argsIgnorePattern": "^_", "varsIgnorePattern": "^_" }],
"no-unused-expressions": "warn",
"@typescript-eslint/no-explicit-any": "warn",
"react/react-in-jsx-scope": "off",
"react/no-unknown-property": "off",
"react/jsx-no-target-blank": "off",
"react/no-children-prop": "off",
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "warn",
"no-shadow": "off",
"import/no-anonymous-default-export": "warn",
"import/no-unassigned-import": "off",
"jsx-a11y/alt-text": ["warn", { "elements": ["img"], "img": ["Image"] }],
"jsx-a11y/aria-props": "warn",
"jsx-a11y/aria-proptypes": "warn",
"jsx-a11y/aria-unsupported-elements": "warn",
"jsx-a11y/role-has-required-aria-props": "warn",
"jsx-a11y/role-supports-aria-props": "warn",
"jsx-a11y/prefer-tag-over-role": "off"
},
"overrides": [
{
"files": ["**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts"],
"rules": {
"constructor-super": "off",
"no-const-assign": "off",
"no-dupe-class-members": "off",
"no-dupe-keys": "off",
"no-func-assign": "off",
"no-import-assign": "off",
"no-new-native-nonconstructor": "off",
"no-obj-calls": "off",
"no-redeclare": "off",
"no-setter-return": "off",
"no-this-before-super": "off",
"no-unsafe-negation": "off",
"no-var": "error",
"prefer-rest-params": "error",
"prefer-spread": "error"
}
}
]
}