interactives/eslint.config.mjs
Neeldhara Misra c5926b4213 Initial commit: Interactives site
Astro-based site with 40+ interactive math games, puzzles, and explorations.
Includes admin dashboard, todo system, blog, theme/subcategory navigation,
and embed pages for iframe embedding.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 03:09:40 +05:30

62 lines
1.5 KiB
JavaScript

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: "^_" },
],
},
},
];