/* eslint-env node */ module.exports = { root: true, parser: "@typescript-eslint/parser", plugins: ["solid"], extends: [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:solid/recommended", ], overrides: [ { files: ["**/*.tsx"], parserOptions: { ecmaFeatures: { jsx: true }, }, settings: { solid: { noImportReact: true }, }, rules: { "solid/jsx-no-undef": "error", "solid/prefer-classlist": "off", "solid/prefer-for": "error", "solid/reactivity": "warn", "solid/event-handlers": "off", "solid/no-react-specific-props": "off", "solid/no-innerhtml": "warn", "solid/no-destructure": "warn", "solid/self-closing-comp": "off", // Admin codebase uses inline string styles throughout — suppress style-prop noise "solid/style-prop": "off", }, }, ], rules: { "@typescript-eslint/explicit-function-return-type": "off", "@typescript-eslint/no-unused-vars": ["warn", { argsIgnorePattern: "^_", varsIgnorePattern: "^_", destructuredArrayIgnorePattern: "^_" }], "@typescript-eslint/no-explicit-any": "off", "arrow-body-style": ["warn", "as-needed"], curly: ["error", "multi-line"], "no-console": "off", "no-debugger": "warn", "no-unused-vars": "off", "prefer-const": "error", }, env: { browser: true }, ignorePatterns: [ "dist", ".output", "node_modules", "coverage", "storybook-static", "test-results", ], };