Add lint rules
This commit is contained in:
parent
295f948104
commit
20901fb26c
38
.eslintrc.js
38
.eslintrc.js
@ -25,8 +25,40 @@ module.exports = {
|
||||
},
|
||||
"plugins": [
|
||||
"@typescript-eslint",
|
||||
"react"
|
||||
"react",
|
||||
"react-hooks",
|
||||
"react-native"
|
||||
],
|
||||
"rules": {
|
||||
}
|
||||
}
|
||||
// Enforce tab width of 4 spaces
|
||||
"indent": ["error", 4, { "SwitchCase": 1 }],
|
||||
|
||||
// Best Practices
|
||||
"eqeqeq": ["error", "always"], // Enforce '===' instead of '=='
|
||||
"curly": "error", // Require curly braces for all control statements
|
||||
"no-unused-vars": "warn", // Warn about variables that are declared but not used
|
||||
|
||||
// Stylistic Issues
|
||||
"quotes": ["error", "single"], // Enforce single quotes
|
||||
"semi": ["error", "always"], // Enforce semicolons at the end of statements
|
||||
"no-multi-spaces": "error", // Disallow multiple spaces that are not used for indentation
|
||||
"comma-dangle": ["error", "always-multiline"], // Require trailing commas for multiline
|
||||
|
||||
// React Specific
|
||||
"react/jsx-filename-extension": [1, { "extensions": [".tsx"] }], // Allow jsx syntax in .tsx files
|
||||
"react/react-in-jsx-scope": "off", // Not necessary with React 17+
|
||||
"react/prop-types": "off", // Not needed with TypeScript
|
||||
|
||||
// React-Native Specific
|
||||
"react-native/no-unused-styles": "warn", // Warn about unused styles
|
||||
"react-native/split-platform-components": "warn", // Encourage splitting of React Native components into platform-specific files
|
||||
|
||||
// TypeScript Specific
|
||||
"@typescript-eslint/explicit-function-return-type": "off",
|
||||
"@typescript-eslint/no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }], // Warn about variables that are declared but not used
|
||||
|
||||
// Hooks Specific
|
||||
"react-hooks/rules-of-hooks": "error", // Checks rules of Hooks
|
||||
"react-hooks/exhaustive-deps": "warn", // Checks effect dependencies
|
||||
},
|
||||
};
|
||||
|
@ -7,7 +7,7 @@
|
||||
"android": "expo start --android",
|
||||
"ios": "expo start --ios",
|
||||
"web": "expo start --web",
|
||||
"lint": "eslint . --ext .ts,.tsx",
|
||||
"lint": "eslint . --ext .js,.ts,.tsx",
|
||||
"lint:fix": "eslint . --ext .ts,.tsx --fix"
|
||||
},
|
||||
"dependencies": {
|
||||
|
Loading…
Reference in New Issue
Block a user