/** @return {import("eslint").Linter.Config} */ module.exports = function (workspaceDirPath) { return { root: true, extends: ["turbo"], plugins: [ "eslint-plugin-import", "simple-import-sort", "@typescript-eslint", ], env: { es6: true, }, ignorePatterns: ["dist/", "playwright-report/"], globals: { React: true, JSX: true, }, parserOptions: { tsconfigRootDir: workspaceDirPath, project: workspaceDirPath + "/tsconfig.json", }, overrides: [ { files: ["**/*.ts", "**/*.tsx"], parser: "@typescript-eslint/parser", plugins: ["@typescript-eslint"], extends: ["plugin:@typescript-eslint/recommended"], rules: { "@typescript-eslint/no-unused-vars": "error", "@typescript-eslint/consistent-type-imports": [ "error", { prefer: "type-imports", fixStyle: "separate-type-imports", disallowTypeAnnotations: true, }, ], }, }, ], rules: { "simple-import-sort/imports": "error", "simple-import-sort/exports": "error", "import/first": "error", "import/newline-after-import": "error", "import/no-duplicates": "error", "no-console": ["error", { allow: ["warn", "error", "info"] }], "no-unused-vars": "error", }, }; };