48 lines
1.4 KiB
TypeScript
48 lines
1.4 KiB
TypeScript
import { defineConfig } from "oxlint";
|
|||
|
|
|
||
|
|
// Oxlint here runs only the vendored anti-slop plugin; ESLint remains the
|
||
|
|
// general-purpose linter for this repository.
|
||
|
|
export default defineConfig({
|
||
|
|
categories: {
|
||
|
|
correctness: "off",
|
||
|
|
},
|
||
|
|
ignorePatterns: [
|
||
|
|
"**/node_modules/**",
|
||
|
|
"**/dist/**",
|
||
|
|
"**/build/**",
|
||
|
|
"**/out/**",
|
||
|
|
"**/.next/**",
|
||
|
|
"**/ios/**",
|
||
|
|
"**/android/**",
|
||
|
|
".agents/**",
|
||
|
|
".claude/**",
|
||
|
|
".conductor/**",
|
||
|
|
".opencode/**",
|
||
|
|
".openchamber/**",
|
||
|
|
".tmp/**",
|
||
|
|
"patches/**",
|
||
|
|
"bun-patches/**",
|
||
|
|
"tools/oxlint/anti-slop/**",
|
||
|
|
],
|
||
|
|
jsPlugins: [
|
||
|
|
{ name: "anti-slop", specifier: "./tools/oxlint/anti-slop/index.ts" },
|
||
|
|
],
|
||
|
|
rules: {
|
||
|
|
"anti-slop/no-chained-type-assertions": "error",
|
||
|
|
"anti-slop/no-conditional-empty-object-spread": "error",
|
||
|
|
"anti-slop/no-known-value-widening": "error",
|
||
|
|
"anti-slop/no-module-mocking": "error",
|
||
|
|
"anti-slop/no-object-parameters": "error",
|
||
|
|
"anti-slop/no-reflect-apply": "error",
|
||
|
|
"anti-slop/no-reflect-get": "error",
|
||
|
|
"anti-slop/no-runtime-typeof": "error",
|
||
|
|
"anti-slop/no-shape-in-symbol-names": "error",
|
||
|
|
"anti-slop/no-unknown-parameters": "error",
|
||
|
|
"anti-slop/no-unknown-returns": "error",
|
||
|
|
"anti-slop/no-unknown-type-aliases": "error",
|
||
|
|
"anti-slop/no-unsafe-dictionary-type": "error",
|
||
|
|
"anti-slop/no-widen-then-assert": "error",
|
||
|
|
"anti-slop/require-safety-comment-for-type-assertion": "error",
|
||
|
|
},
|
||
|
|
});
|