{ "root": true, "env": { "es6": true, "browser": true, "node": true, "commonjs": true, }, "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaVersion": 2019, "sourceType": "module", "ecmaFeatures": { "impliedStrict": true, "jsx": true, }, "requireConfigFile": false, "allowImportExportEverywhere": false, }, "ignorePatterns": ["node_modules/*", "dist/*", "**/*.config.js", "**/*.config.cjs", "package.json", "tsconfig.json"], "extends": [ "eslint:recommended", "plugin:import/recommended", "plugin:import/typescript", "plugin:@typescript-eslint/recommended", "plugin:react/recommended", "taro/react", "plugin:prettier/recommended", ], "plugins": ["react", "react-hooks", "import", "@typescript-eslint", "prettier"], "rules": { "prettier/prettier": "error", "react-hooks/rules-of-hooks": "error", "react-hooks/exhaustive-deps": "warn", "react/jsx-uses-react": "off", "react/react-in-jsx-scope": "off", "@typescript-eslint/no-invalid-this": "off", "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/consistent-type-imports": ["error", { "prefer": "type-imports" }], "@typescript-eslint/no-shadow": "off", "import/first": "off", }, } // pnpm -F default-template add -D eslint-config-prettier eslint-plugin-prettier eslint-plugin-import eslint-plugin-react @typescript-eslint/eslint-plugin @typescript-eslint/parser @babel/eslint-parser @rushstack/eslint-patch @tsconfig/node20 eslint-import-resolver-typescript