feat(eslint): add eslint flat config

This commit is contained in:
Shintaro Jokagi 2025-05-28 13:38:11 +12:00
parent 1937be58a6
commit 01f4dac75d
No known key found for this signature in database
GPG key ID: 0DDF8FA44C9A0DA8
16 changed files with 4607 additions and 2125 deletions

28
.eslint/astro.ts Normal file
View file

@ -0,0 +1,28 @@
import type { Linter } from "eslint";
// @ts-expect-error - no types available
import jsxA11y from "eslint-plugin-jsx-a11y";
import { astroFiles } from "./shared";
export const astroConfig: Linter.Config = {
name: "eslint/astro",
files: astroFiles,
plugins: {
"jsx-a11y": jsxA11y,
},
rules: {
// Astro specific adjustments
"@typescript-eslint/no-unused-vars": "off", // Astro components can have unused props
"import/no-unresolved": "off",
"no-undef": "off", // Astro has global variables like Astro
// A11y rules for Astro
"jsx-a11y/alt-text": "error",
"jsx-a11y/anchor-has-content": "error",
"jsx-a11y/anchor-is-valid": "error",
"jsx-a11y/click-events-have-key-events": "error",
"jsx-a11y/interactive-supports-focus": "error",
"jsx-a11y/no-redundant-roles": "error",
"jsx-a11y/img-redundant-alt": "error",
"jsx-a11y/no-access-key": "error",
},
};