brackt/.oxlintrc.json
Chris Parsons 552fe28b99 Fix no-non-null-assertion lint violations and promote to error
Eliminates all 208 no-non-null-assertion warnings across 38 files.
Promotes typescript/no-non-null-assertion from warn to error in
.oxlintrc.json.

Fix patterns applied:
- Map.get(key)! after .has() check → extract with get() + null guard
- Map.get(key)! on pre-populated count maps → ?? 0 default
- .set(id, map.get(id)! + 1) increment → ?? 0 before adding
- participant1Id!/participant2Id! on DB matches → ?? "" fallback
- array.find()! in tests → guard + throw or expect().toBeDefined()
- bracketTemplateCache.get(id)! → null guard extract
- Various nullable field accesses → optional chain or ?? default

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21 10:48:48 -07:00

61 lines
1.5 KiB
JSON

{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"plugins": ["react", "typescript", "vitest", "unicorn", "import"],
"env": {
"browser": true,
"node": true,
"es2022": true
},
"categories": {
"correctness": "error",
"suspicious": "warn"
},
"rules": {
"no-console": "warn",
"no-var": "error",
"prefer-const": "error",
"eqeqeq": ["error", "always"],
"no-unused-vars": "off",
"no-undef": "off",
"typescript/no-unused-vars": [
"error",
{ "argsIgnorePattern": "^_", "varsIgnorePattern": "^_" }
],
"typescript/no-explicit-any": "error",
"typescript/no-non-null-assertion": "error",
"typescript/consistent-type-imports": [
"error",
{ "prefer": "type-imports" }
],
"react/react-in-jsx-scope": "off",
"react/rules-of-hooks": "error",
"react/exhaustive-deps": "error",
"react/jsx-key": "error",
"react/no-array-index-key": "error",
"react/self-closing-comp": "warn",
"import/no-duplicates": "error",
"no-shadow": "error",
"unicorn/consistent-function-scoping": "error"
},
"overrides": [
{
"files": ["**/__tests__/**", "**/*.test.ts", "**/*.test.tsx", "cypress/**"],
"rules": {
"no-console": "off",
"typescript/no-explicit-any": "off"
}
}
],
"ignorePatterns": [
"build/**",
"dist/**",
"node_modules/**",
"drizzle/**",
".react-router/**",
"cypress/fixtures/**"
]
}