48 lines
1.3 KiB
TypeScript
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;
|