Files
sciagent/fe0/eslint.config.js
T
Thinh Lam 688fac73e9
CI/CD / backend (push) Failing after 2m8s
CI/CD / frontend (push) Failing after 1m40s
CI/CD / deploy (push) Has been skipped
sciagent code + Gitea Actions CI/CD
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 09:38:30 +07:00

67 lines
2.0 KiB
JavaScript

import js from "@eslint/js";
import globals from "globals";
import reactHooks from "eslint-plugin-react-hooks";
import reactRefresh from "eslint-plugin-react-refresh";
import tseslint from "typescript-eslint";
export default tseslint.config(
{ ignores: ["dist"] },
{
extends: [js.configs.recommended, ...tseslint.configs.recommended],
files: ["**/*.{ts,tsx}"],
languageOptions: {
ecmaVersion: 2020,
globals: globals.browser,
},
plugins: {
"react-hooks": reactHooks,
"react-refresh": reactRefresh,
},
rules: {
...reactHooks.configs.recommended.rules,
"react-refresh/only-export-components": ["warn", { allowConstantExport: true }],
"@typescript-eslint/no-unused-vars": "off",
"no-restricted-imports": [
"error",
{
paths: [
{
name: "@/app/App",
message:
"Removed duplicate app shell; use src/App.tsx (see main.tsx). Do not reintroduce a second QueryClient entrypoint.",
},
{
name: "@/src/app/App",
message:
"Removed duplicate app shell; use src/App.tsx (see main.tsx). Do not reintroduce a second QueryClient entrypoint.",
},
],
},
],
},
},
/**
* Guard: JSX is not allowed in `.ts` files (rename to `.tsx`).
* The typescript-eslint parser natively refuses to parse JSX in `.ts` files,
* so this `no-restricted-syntax` rule acts as an extra safety net with a
* friendlier message when another config/plugin re-enables JSX parsing.
*/
{
files: ["**/*.ts"],
ignores: ["**/*.tsx"],
rules: {
"no-restricted-syntax": [
"error",
{
selector: "JSXElement",
message: "JSX is not allowed in .ts files. Rename the file to .tsx.",
},
{
selector: "JSXFragment",
message: "JSX is not allowed in .ts files. Rename the file to .tsx.",
},
],
},
},
);