import js from "@eslint/js" import tseslint from "typescript-eslint" import pluginVue from "eslint-plugin-vue" import globals from "globals" export default tseslint.config( { // Build output, generated code and vendored files are not linted. ignores: [ "**/dist/**", "**/node_modules/**", "**/*.d.ts", "**/.claude/**", "packages/database/generated/**", "packages/database/src/generated/**", "website/.astro/**", "apps/root-worker/**", ], }, js.configs.recommended, ...tseslint.configs.recommended, // `essential` = correctness/reactivity rules only. We deliberately skip the // opinionated template-formatting rules (indent, attribute order, line breaks) // that a linter shouldn't own; those are left to the editor/formatter. ...pluginVue.configs["flat/essential"], { // Vue SFCs are parsed by vue-eslint-parser with the TS parser for