1234567891011121314151617181920212223242526272829303132333435363738 |
- module.exports = {
- parser: '@typescript-eslint/parser', // Specifies the ESLint parser
- parserOptions: {
- ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features
- sourceType: 'module', // Allows for the use of imports
- ecmaFeatures: {
- impliedStrict: true, // 开启全局严格模式
- jsx: true // Allows for the parsing of JSX
- }
- },
- settings: {
- react: {
- version: 'detect' // Tells eslint-plugin-react to automatically detect the version of React to use
- }
- },
- extends: [
- 'react-app', // default from cra?
- 'plugin:react/recommended', // Uses the recommended rules from @eslint-plugin-react
- 'plugin:@typescript-eslint/recommended', // Uses the recommended rules from @typescript-eslint/eslint-plugin
- 'plugin:react-hooks/recommended', // Uses the recommended rules from react-hooks
- 'prettier', // Uses eslint-config-prettier to disable ESLint rules from @typescript-eslint/eslint-plugin that would conflict with prettier
- 'plugin:prettier/recommended' // Enables eslint-plugin-prettier and eslint-config-prettier. This will display prettier errors as ESLint errors. Make sure this is always the last configuration in the extends array.
- ],
- rules: {
- 'react/prop-types': 0,
- 'func-style': ['error', 'expression', { allowArrowFunctions: true }] //强制要求箭头函数函数表达式而不是函数式声明
- // "react-hooks/exhaustive-deps": [
- // "warn", {
- // "additionalHooks": "useRecoilCallback"
- // }
- // ]
- //https://github.com/typescript-eslint/typescript-eslint/blob/ca41dcf6c0fbfc19975b18ffb5b44c0cbe8adb06/packages/eslint-plugin/ROADMAP.md
- // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs
- // e.g. "@typescript-eslint/explicit-function-return-type": "off",
- }
- }
- // source: https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project
|