configuration-oxlint/index.ts
2026-03-31 13:04:37 +02:00

48 lines
1.3 KiB
TypeScript

import { defineConfig } from "oxlint";
import type { OxlintConfig } from "oxlint";
import astroConfig from "./rules/astro";
import functionalRules from "./rules/functional";
import esLintRules from "./rules/eslint";
import jsDocRules from "./rules/jsdoc";
import sonarJsRules from "./rules/sonarjs";
import perfectionistRules from "./rules/perfectionist";
import typeScriptRules from "./rules/typescript";
import unicornRules from "./rules/unicorn";
const config: OxlintConfig = defineConfig({
categories: {
correctness: "off",
nursery: "off",
pedantic: "off",
perf: "off",
style: "off",
suspicious: "off",
},
env: {
browser: true,
builtin: true,
es2026: true,
node: true,
},
ignorePatterns: [".astro", ".cache", "dist/**/*"],
jsPlugins: ["eslint-plugin-functional", "eslint-plugin-perfectionist", "eslint-plugin-sonarjs"],
options: {
reportUnusedDisableDirectives: "warn",
typeAware: true,
typeCheck: false,
},
overrides: [astroConfig],
plugins: ["import", "jsdoc", "node", "oxc", "promise", "typescript", "unicorn"],
rules: {
...esLintRules,
...functionalRules,
...jsDocRules,
...sonarJsRules,
...perfectionistRules,
...typeScriptRules,
...unicornRules,
},
settings: {},
});
export default config;