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;