import { defineConfig } from "vite-plus"; import projectLint from "./scripts/project-lint.ts"; export default defineConfig({ // Keep package.json in its hand-written order. fmt: { sortPackageJson: false }, lint: { plugins: ["typescript", "unicorn", "oxc", "import"], jsPlugins: ["./scripts/project-lint.ts"], categories: { correctness: "error", suspicious: "error", pedantic: "error", perf: "error" }, rules: projectLint.configs.project.rules, // Repo tooling, not app code: the lint plugin compares AST node `type`s, // which the AST types declare as an enum. overrides: [ { files: ["scripts/**"], rules: { "typescript/no-unsafe-enum-comparison": "off" } }, ], options: { typeAware: true, typeCheck: true, maxWarnings: 0, reportUnusedDisableDirectives: "error", }, }, });