import astroPlugin from "eslint-plugin-astro"; import astroParser from "astro-eslint-parser"; import tsPlugin from "@typescript-eslint/eslint-plugin"; import tsParser from "@typescript-eslint/parser"; import simpleImportSort from "eslint-plugin-simple-import-sort"; export default [ { ignores: [ "node_modules/**", "dist/**", ".astro/**", "src/components/ui/**", ], }, // Lint .astro files { files: ["**/*.astro"], languageOptions: { parser: astroParser, parserOptions: { parser: tsParser, ecmaVersion: "latest", sourceType: "module", }, }, plugins: { astro: astroPlugin, "simple-import-sort": simpleImportSort }, rules: { ...astroPlugin.configs.recommended.rules, "simple-import-sort/imports": "error", "simple-import-sort/exports": "error", }, }, // Lint TS/JS/React files { files: ["**/*.{ts,tsx,js,jsx}"], languageOptions: { parser: tsParser, parserOptions: { ecmaVersion: "latest", sourceType: "module", ecmaFeatures: { jsx: true }, }, }, plugins: { "@typescript-eslint": tsPlugin, "simple-import-sort": simpleImportSort, }, rules: { ...tsPlugin.configs.recommended.rules, "simple-import-sort/imports": "error", "simple-import-sort/exports": "error", // Optional: relax some noisy rules if needed "@typescript-eslint/no-unused-vars": [ "warn", { argsIgnorePattern: "^_", varsIgnorePattern: "^_" }, ], }, }, ];